You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2016/05/23 10:11:34 UTC

svn commit: r1745135 - /jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java

Author: mduerig
Date: Mon May 23 10:11:34 2016
New Revision: 1745135

URL: http://svn.apache.org/viewvc?rev=1745135&view=rev
Log:
OAK-4393: Decouple FileStoreStatsTest
Decouple test from implementation details by only relying on a file store when necessary and only considering size changes instead of realiny on absolut sizes.

Modified:
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java?rev=1745135&r1=1745134&r2=1745135&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java Mon May 23 10:11:34 2016
@@ -19,53 +19,40 @@
 
 package org.apache.jackrabbit.oak.segment.file;
 
+import static com.google.common.base.Charsets.UTF_8;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+
 import java.io.File;
 import java.util.UUID;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 
 import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
-import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.apache.jackrabbit.oak.segment.file.FileStoreStats;
-import org.apache.jackrabbit.oak.segment.file.TarWriter;
-import org.apache.jackrabbit.oak.spi.blob.BlobStore;
 import org.apache.jackrabbit.oak.stats.DefaultStatisticsProvider;
 import org.apache.jackrabbit.oak.stats.StatisticsProvider;
 import org.junit.After;
-import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import static com.google.common.base.Charsets.UTF_8;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.mock;
-
 public class FileStoreStatsTest {
     @Rule
     public final TemporaryFolder segmentFolder = new TemporaryFolder();
 
-    private FileStore fileStore;
-    private ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
-    private StatisticsProvider statsProvider = new DefaultStatisticsProvider(executor);
-
-    @Before
-    public void createFileStore() throws Exception {
-        BlobStore blobStore = mock(BlobStore.class);
-        fileStore = FileStore.builder(segmentFolder.newFolder())
-                .withBlobStore(blobStore)
-                .withStatisticsProvider(statsProvider).build();
-    }
+    private final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
 
     @After
     public void shutDown(){
-        fileStore.close();
         new ExecutorCloser(executor).close();
     }
 
     @Test
     public void initCall() throws Exception{
-        FileStoreStats stats = new FileStoreStats(statsProvider, fileStore, 1000);
+        FileStore store = mock(FileStore.class);
+        StatisticsProvider statsProvider = new DefaultStatisticsProvider(executor);
+
+        FileStoreStats stats = new FileStoreStats(statsProvider, store, 1000);
         assertEquals(1000, stats.getApproximateSize());
 
         stats.written(500);
@@ -79,18 +66,28 @@ public class FileStoreStatsTest {
 
     @Test
     public void tarWriterIntegration() throws Exception{
-        FileStoreStats stats = new FileStoreStats(statsProvider, fileStore, 0);
-        UUID id = UUID.randomUUID();
-        long msb = id.getMostSignificantBits();
-        long lsb = id.getLeastSignificantBits() & (-1 >>> 4); // OAK-1672
-        byte[] data = "Hello, World!".getBytes(UTF_8);
-
-        File file = segmentFolder.newFile();
-        TarWriter writer = new TarWriter(file, stats);
-        writer.writeEntry(msb, lsb, data, 0, data.length, 0);
-        writer.close();
-
-        assertEquals(stats.getApproximateSize(), file.length());
+        StatisticsProvider statsProvider = new DefaultStatisticsProvider(executor);
+        FileStore store = FileStore.builder(segmentFolder.newFolder())
+                .withStatisticsProvider(statsProvider)
+                .build();
+        try {
+            FileStoreStats stats = new FileStoreStats(statsProvider, store, 0);
+            long initialSize = stats.getApproximateSize();
+
+            UUID id = UUID.randomUUID();
+            long msb = id.getMostSignificantBits();
+            long lsb = id.getLeastSignificantBits() & (-1 >>> 4); // OAK-1672
+            byte[] data = "Hello, World!".getBytes(UTF_8);
+
+            File file = segmentFolder.newFile();
+            try (TarWriter writer = new TarWriter(file, stats)) {
+                writer.writeEntry(msb, lsb, data, 0, data.length, 0);
+            }
+
+            assertEquals(stats.getApproximateSize() - initialSize, file.length());
+        } finally {
+            store.close();
+        }
     }
 
 }