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 ad...@apache.org on 2017/03/03 15:31:46 UTC

svn commit: r1785323 - in /jackrabbit/oak/trunk: oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferenceBinaryIT.java oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/fixture/SegmentTarFixture.java

Author: adulceanu
Date: Fri Mar  3 15:31:46 2017
New Revision: 1785323

URL: http://svn.apache.org/viewvc?rev=1785323&view=rev
Log:
OAK-5888 - ReferenceBinaryIT fails after switching to oak-segment-tar

Modified:
    jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferenceBinaryIT.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/fixture/SegmentTarFixture.java

Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferenceBinaryIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferenceBinaryIT.java?rev=1785323&r1=1785322&r2=1785323&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferenceBinaryIT.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferenceBinaryIT.java Fri Mar  3 15:31:46 2017
@@ -42,8 +42,13 @@ import org.apache.jackrabbit.oak.fixture
 import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore;
 import org.apache.jackrabbit.oak.plugins.blob.datastore.OakFileDataStore;
 import org.apache.jackrabbit.oak.plugins.document.MongoUtils;
+import org.apache.jackrabbit.oak.segment.SegmentNodeStore;
+import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
+import org.apache.jackrabbit.oak.segment.file.FileStore;
+import org.apache.jackrabbit.oak.segment.file.FileStoreBuilder;
 import org.apache.jackrabbit.oak.segment.fixture.SegmentTarFixture;
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
+import org.apache.jackrabbit.oak.spi.blob.FileBlobStore;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 import org.junit.After;
 import org.junit.Before;
@@ -130,13 +135,38 @@ public class ReferenceBinaryIT {
         fixture.dispose(nodeStore);
     }
 
-    @Parameterized.Parameters
+    @Parameterized.Parameters(name="{0}")
     public static Collection<Object[]> fixtures() throws Exception {
+        File file = getTestDir("tar");
+        FileStore fileStore = FileStoreBuilder.fileStoreBuilder(file)
+                .withBlobStore(createBlobStore())
+                .withMaxFileSize(256)
+                .withMemoryMapping(true)
+                .build();
+        
+        SegmentNodeStore sns = SegmentNodeStoreBuilders.builder(fileStore).build();
+        
         List<Object[]> fixtures = Lists.newArrayList();
-        SegmentTarFixture segmentTarFixture = new SegmentTarFixture();
+        SegmentTarFixture segmentTarFixture = new SegmentTarFixture(sns);
+        
         if (segmentTarFixture.isAvailable()) {
             fixtures.add(new Object[] {segmentTarFixture});
         }
+        
+        FileBlobStore fbs = new FileBlobStore(getTestDir("fbs1").getAbsolutePath());
+        fbs.setReferenceKeyPlainText("foobar");
+        FileStore fileStoreWithFBS = FileStoreBuilder.fileStoreBuilder(getTestDir("tar2"))
+                .withBlobStore(fbs)
+                .withMaxFileSize(256)
+                .withMemoryMapping(true)
+                .build();
+        
+        SegmentNodeStore snsWithFBS = SegmentNodeStoreBuilders.builder(fileStoreWithFBS).build();
+        
+        SegmentTarFixture segmentTarFixtureFBS = new SegmentTarFixture(snsWithFBS);
+        if (segmentTarFixtureFBS.isAvailable()) {
+            fixtures.add(new Object[] {segmentTarFixtureFBS});
+        }
 
         DocumentMongoFixture documentFixture = new DocumentMongoFixture(MongoUtils.URL, createBlobStore());
         if (documentFixture.isAvailable()) {

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/fixture/SegmentTarFixture.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/fixture/SegmentTarFixture.java?rev=1785323&r1=1785322&r2=1785323&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/fixture/SegmentTarFixture.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/fixture/SegmentTarFixture.java Fri Mar  3 15:31:46 2017
@@ -22,18 +22,32 @@ package org.apache.jackrabbit.oak.segmen
 import java.io.IOException;
 
 import org.apache.jackrabbit.oak.fixture.NodeStoreFixture;
+import org.apache.jackrabbit.oak.segment.SegmentNodeStore;
 import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
 import org.apache.jackrabbit.oak.segment.memory.MemoryStore;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 
 public class SegmentTarFixture extends NodeStoreFixture {
+    private final SegmentNodeStore sns;
 
+    public SegmentTarFixture() {
+        this(null);
+    }
+    
+    public SegmentTarFixture(SegmentNodeStore sns) {
+        this.sns = sns;
+    }
+    
     @Override
     public NodeStore createNodeStore() {
-        try {
-            return SegmentNodeStoreBuilders.builder(new MemoryStore()).build();
-        } catch (IOException e) {
-            throw new RuntimeException(e);
+        if (sns == null) {
+            try {
+                return SegmentNodeStoreBuilders.builder(new MemoryStore()).build();
+            } catch (IOException e) {
+                throw new RuntimeException(e);
+            }
+        } else {
+            return sns;
         }
     }