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();
+ }
}
}