Hi Shashank

This commit breaks the Oak build (tests in oak-blob-cloud) once we again
change the Jackrabbit version to the latest snapshot.

I just came across this because I started working on an API
extension in Jackrabbit API and changed the Jackrabbit version
in my local Oak checkout in order to be able to implement it
in Oak.

For the time being I will exclude the oak-blob-cloud module from
my project in order not to be blocked.

May I kindly ask you to revert this commit.

Thanks & kind regards
Angela

On 04/04/15 12:31, "[email protected]" <[email protected]> wrote:

>Author: shashank
>Date: Sat Apr  4 10:31:41 2015
>New Revision: 1671261
>
>URL: http://svn.apache.org/r1671261
>Log:
>JCR-3868 Adapt TestCaseBase.java to test for FileDatastore
>
>Adapted TestCaseBase.java & test cass TestFileDataStore added.
>
>Added:
>    
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestFileDataStore.java   (with props)
>Modified:
>    
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSAsyncTouch.java
>    
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSWithSSES3.java
>    
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSWithSmallCache.java
>    
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3Ds.java
>    
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DsCacheOff.java
>    
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/InMemoryBackend.java
>    
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/InMemoryDataStore.java
>    
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestCaseBase.java
>    
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestInMemDs.java
>    
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestInMemDsCacheOff.java
>
>Modified: 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSAsyncTouch.java
>URL: 
>http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-aws-ext/src/test/
>java/org/apache/jackrabbit/aws/ext/ds/TestS3DSAsyncTouch.java?rev=1671261&
>r1=1671260&r2=1671261&view=diff
>==========================================================================
>====
>--- 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSAsyncTouch.java (original)
>+++ 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSAsyncTouch.java Sat Apr  4 10:31:41 2015
>@@ -26,27 +26,28 @@ import org.slf4j.LoggerFactory;
> 
> /**
>  * Test {@link CachingDataStore} with
>- * {@link CachingDataStore#setTouchAsync(boolean) set to true. It
>requires
>- * to pass aws config file via system property. For e.g.
>+ * {@link CachingDataStore#setTouchAsync(boolean) set to true. It
>requires to
>+ * pass aws config file via system property. For e.g.
>  * -Dconfig=/opt/cq/aws.properties. Sample aws properties located at
>  * src/test/resources/aws.properties
>  */
> public class TestS3DSAsyncTouch extends TestS3Ds {
> 
>-    protected static final Logger LOG =
>LoggerFactory.getLogger(TestS3DSAsyncTouch.class);
>+    protected static final Logger LOG =
>LoggerFactory.getLogger(TestS3DSAsyncTouch.class);
>+
>     public TestS3DSAsyncTouch() throws IOException {
>-        config = System.getProperty(CONFIG);
>-        memoryBackend = false;
>-        noCache = false;
>+
>     }
>-    
>+
>+    @Override
>     protected CachingDataStore createDataStore() throws
>RepositoryException {
>-        ds = new S3TestDataStore(props);
>-        ds.setConfig(config);
>-        ds.init(dataStoreDir);
>-        ds.setTouchAsync(true);
>-        ds.updateModifiedDateOnAccess(System.currentTimeMillis()+ 50*
>1000);
>+        S3DataStore s3ds = new S3DataStore();
>+        s3ds.setProperties(props);
>+        s3ds.setTouchAsync(true);
>+        s3ds.setSecret("123456");
>+        s3ds.init(dataStoreDir);
>+        s3ds.updateModifiedDateOnAccess(System.currentTimeMillis() + 50
>* 1000);
>         sleep(1000);
>-        return ds;
>+        return s3ds;
>     }
> }
>
>Modified: 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSWithSSES3.java
>URL: 
>http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-aws-ext/src/test/
>java/org/apache/jackrabbit/aws/ext/ds/TestS3DSWithSSES3.java?rev=1671261&r
>1=1671260&r2=1671261&view=diff
>==========================================================================
>====
>--- 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSWithSSES3.java (original)
>+++ 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSWithSSES3.java Sat Apr  4 10:31:41 2015
>@@ -36,19 +36,18 @@ public class TestS3DSWithSSES3 extends T
>     protected static final Logger LOG =
>LoggerFactory.getLogger(TestS3DSWithSSES3.class);
> 
>     public TestS3DSWithSSES3() throws IOException {
>-        config = System.getProperty(CONFIG);
>-        memoryBackend = false;
>-        noCache = true;
>     }
> 
>+    @Override
>     protected CachingDataStore createDataStore() throws
>RepositoryException {
>         props.setProperty(S3Constants.S3_ENCRYPTION,
>             S3Constants.S3_ENCRYPTION_SSE_S3);
>-        ds = new S3TestDataStore(props);
>-        ds.setConfig(config);
>-        ds.init(dataStoreDir);
>+        S3DataStore s3ds = new S3DataStore();
>+        s3ds.setProperties(props);
>+        s3ds.setSecret("123456");
>+        s3ds.init(dataStoreDir);
>         sleep(1000);
>-        return ds;
>+        return s3ds;
>     }
> 
>     /**
>@@ -57,34 +56,34 @@ public class TestS3DSWithSSES3 extends T
>     public void testDataMigration() {
>         try {
>             String bucket = props.getProperty(S3Constants.S3_BUCKET);
>-            ds = new S3TestDataStore(props);
>-            ds.setConfig(config);
>-            ds.setCacheSize(0);
>-            ds.init(dataStoreDir);
>+            S3DataStore s3ds = new S3DataStore();
>+            s3ds.setProperties(props);
>+            s3ds.setCacheSize(0);
>+            s3ds.init(dataStoreDir);
>             byte[] data = new byte[dataLength];
>             randomGen.nextBytes(data);
>-            DataRecord rec = ds.addRecord(new
>ByteArrayInputStream(data));
>+            DataRecord rec = s3ds.addRecord(new
>ByteArrayInputStream(data));
>             assertEquals(data.length, rec.getLength());
>             assertRecord(data, rec);
>-            ds.close();
>+            s3ds.close();
> 
>             // turn encryption now.
>             props.setProperty(S3Constants.S3_BUCKET, bucket);
>             props.setProperty(S3Constants.S3_ENCRYPTION,
>                 S3Constants.S3_ENCRYPTION_SSE_S3);
>             props.setProperty(S3Constants.S3_RENAME_KEYS, "true");
>-            ds = new S3TestDataStore(props);
>-            ds.setConfig(config);
>-            ds.setCacheSize(0);
>-            ds.init(dataStoreDir);
>+            s3ds = new S3DataStore();
>+            s3ds.setProperties(props);
>+            s3ds.setCacheSize(0);
>+            s3ds.init(dataStoreDir);
> 
>-            rec = ds.getRecord(rec.getIdentifier());
>+            rec = s3ds.getRecord(rec.getIdentifier());
>             assertEquals(data.length, rec.getLength());
>             assertRecord(data, rec);
> 
>             randomGen.nextBytes(data);
>-            rec = ds.addRecord(new ByteArrayInputStream(data));
>-            ds.close();
>+            rec = s3ds.addRecord(new ByteArrayInputStream(data));
>+            s3ds.close();
> 
>         } catch (Exception e) {
>             LOG.error("error:", e);
>
>Modified: 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSWithSmallCache.java
>URL: 
>http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-aws-ext/src/test/
>java/org/apache/jackrabbit/aws/ext/ds/TestS3DSWithSmallCache.java?rev=1671
>261&r1=1671260&r2=1671261&view=diff
>==========================================================================
>====
>--- 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSWithSmallCache.java (original)
>+++ 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DSWithSmallCache.java Sat Apr  4 10:31:41 2015
>@@ -34,21 +34,20 @@ import org.slf4j.LoggerFactory;
> public class TestS3DSWithSmallCache extends TestS3Ds {
> 
>     protected static final Logger LOG =
>LoggerFactory.getLogger(TestS3DSWithSmallCache.class);
>-    
>+
>     public TestS3DSWithSmallCache() throws IOException {
>-        config = System.getProperty(CONFIG);
>-        memoryBackend = false;
>-        noCache = false;
>     }
>-    
>+
>+    @Override
>     protected CachingDataStore createDataStore() throws
>RepositoryException {
>-        ds = new S3TestDataStore(props);
>-        ds.setConfig(config);
>-        ds.setCacheSize(dataLength * 10);
>-        ds.setCachePurgeTrigFactor(0.5d);
>-        ds.setCachePurgeResizeFactor(0.4d);
>-        ds.init(dataStoreDir);
>+        S3DataStore s3ds = new S3DataStore();
>+        s3ds.setProperties(props);
>+        s3ds.setCacheSize(dataLength * 10);
>+        s3ds.setCachePurgeTrigFactor(0.5d);
>+        s3ds.setCachePurgeResizeFactor(0.4d);
>+        s3ds.setSecret("123456");
>+        s3ds.init(dataStoreDir);
>         sleep(1000);
>-        return ds;
>+        return s3ds;
>     }
> }
>
>Modified: 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3Ds.java
>URL: 
>http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-aws-ext/src/test/
>java/org/apache/jackrabbit/aws/ext/ds/TestS3Ds.java?rev=1671261&r1=1671260
>&r2=1671261&view=diff
>==========================================================================
>====
>--- 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3Ds.java (original)
>+++ 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3Ds.java Sat Apr  4 10:31:41 2015
>@@ -52,40 +52,45 @@ public class TestS3Ds extends TestCaseBa
> 
>     protected Properties props;
> 
>+    protected String config;
>+
>     public TestS3Ds() throws IOException {
>-      config = System.getProperty(CONFIG);
>-      memoryBackend = false;
>-      noCache = false;
>-      props = Utils.readConfig(config);
>-  }
>+        System.setProperty(
>+            TestCaseBase.CONFIG,
>+            
>"C:/src/apache/jackrabbit-encryp-changes/jackrabbit/jackrabbit-aws-ext/src
>/test/resources/aws.properties");
>+        config = System.getProperty(CONFIG);
>+        props = Utils.readConfig(System.getProperty(CONFIG));
>+    }
> 
>+    @Override
>     protected void setUp() throws Exception {
>         startTime = new Date();
>         super.setUp();
>         String bucket = String.valueOf(randomGen.nextInt(9999)) + "-"
>-                        + String.valueOf(randomGen.nextInt(9999)) +
>"-test";
>-        props.setProperty(S3Constants.S3_BUCKET, bucket );
>+            + String.valueOf(randomGen.nextInt(9999)) + "-test";
>+        props.setProperty(S3Constants.S3_BUCKET, bucket);
>         // delete bucket if exists
>         deleteBucket(bucket);
>     }
>-    protected void tearDown()  {
>+
>+    @Override
>+    protected void tearDown() {
>         try {
>             deleteBucket();
>             super.tearDown();
>-        } catch ( Exception ignore ) {
>-            
>+        } catch (Exception ignore) {
>+
>         }
>     }
>-    
>+
>+    @Override
>     protected CachingDataStore createDataStore() throws
>RepositoryException {
>-        ds = new S3TestDataStore(props);
>-        ds.setConfig(config);
>-        if (noCache) {
>-            ds.setCacheSize(0);
>-        }
>-        ds.init(dataStoreDir);
>+        S3DataStore s3ds = new S3DataStore();
>+        s3ds.setProperties(props);
>+        s3ds.setSecret("123456");
>+        s3ds.init(dataStoreDir);
>         sleep(1000);
>-        return ds;
>+        return s3ds;
>     }
> 
>     /**
>@@ -95,11 +100,11 @@ public class TestS3Ds extends TestCaseBa
>      * Cleaning of bucket after test run.
>      */
>     public void deleteBucket() throws Exception {
>-        Backend backend = ds.getBackend();
>-        String bucket = ((S3Backend)backend).getBucket();
>+        Backend backend = ((S3DataStore) ds).getBackend();
>+        String bucket = ((S3Backend) backend).getBucket();
>         deleteBucket(bucket);
>     }
>-    
>+
>     public void deleteBucket(String bucket) throws Exception {
>         LOG.info("deleting bucket [" + bucket + "]");
>         Properties props = Utils.readConfig(config);
>
>Modified: 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DsCacheOff.java
>URL: 
>http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-aws-ext/src/test/
>java/org/apache/jackrabbit/aws/ext/ds/TestS3DsCacheOff.java?rev=1671261&r1
>=1671260&r2=1671261&view=diff
>==========================================================================
>====
>--- 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DsCacheOff.java (original)
>+++ 
>jackrabbit/trunk/jackrabbit-aws-ext/src/test/java/org/apache/jackrabbit/aw
>s/ext/ds/TestS3DsCacheOff.java Sat Apr  4 10:31:41 2015
>@@ -18,6 +18,8 @@ package org.apache.jackrabbit.aws.ext.ds
> 
> import java.io.IOException;
> 
>+import javax.jcr.RepositoryException;
>+
> import org.apache.jackrabbit.core.data.CachingDataStore;
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
>@@ -33,8 +35,16 @@ public class TestS3DsCacheOff extends Te
>     protected static final Logger LOG =
>LoggerFactory.getLogger(TestS3DsCacheOff.class);
> 
>     public TestS3DsCacheOff() throws IOException {
>-        config = System.getProperty(CONFIG);
>-        memoryBackend = false;
>-        noCache = true;
>+    }
>+
>+    @Override
>+    protected CachingDataStore createDataStore() throws
>RepositoryException {
>+        S3DataStore s3ds = new S3DataStore();
>+        s3ds.setProperties(props);
>+        s3ds.setCacheSize(0);
>+        s3ds.setSecret("123456");
>+        s3ds.init(dataStoreDir);
>+        sleep(1000);
>+        return s3ds;
>     }
> }
>
>Modified: 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/InMemoryBackend.java
>URL: 
>http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-data/src/test/jav
>a/org/apache/jackrabbit/core/data/InMemoryBackend.java?rev=1671261&r1=1671
>260&r2=1671261&view=diff
>==========================================================================
>====
>--- 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/InMemoryBackend.java (original)
>+++ 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/InMemoryBackend.java Sat Apr  4 10:31:41 2015
>@@ -27,6 +27,7 @@ import java.util.HashMap;
> import java.util.HashSet;
> import java.util.Iterator;
> import java.util.Map;
>+import java.util.Properties;
> import java.util.Set;
> 
> /**
>@@ -39,6 +40,8 @@ public class InMemoryBackend implements
>     private HashMap<DataIdentifier, Long> timeMap = new
>HashMap<DataIdentifier, Long>();
>     
>     private CachingDataStore store;
>+    
>+    private Properties properties;
> 
>     @Override
>     public void init(CachingDataStore store, String homeDir, String
>config)
>@@ -177,6 +180,16 @@ public class InMemoryBackend implements
>             callback.onSuccess(new AsyncUploadResult(identifier, file));
>         }
>     }
>+    
>+    /**
>+     * Properties used to configure the backend. If provided explicitly
>before
>+     * init is invoked then these take precedence
>+     *
>+     * @param properties to configure S3Backend
>+     */
>+    public void setProperties(Properties properties) {
>+        this.properties = properties;
>+    }
> 
>     /**
>      * Log a message if logging is enabled.
>
>Modified: 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/InMemoryDataStore.java
>URL: 
>http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-data/src/test/jav
>a/org/apache/jackrabbit/core/data/InMemoryDataStore.java?rev=1671261&r1=16
>71260&r2=1671261&view=diff
>==========================================================================
>====
>--- 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/InMemoryDataStore.java (original)
>+++ 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/InMemoryDataStore.java Sat Apr  4 10:31:41 2015
>@@ -16,6 +16,8 @@
>  */
> package org.apache.jackrabbit.core.data;
> 
>+import java.util.Properties;
>+
> import org.apache.jackrabbit.core.data.Backend;
> import org.apache.jackrabbit.core.data.CachingDataStore;
> 
>@@ -23,14 +25,27 @@ import org.apache.jackrabbit.core.data.C
>  * A caching data store that uses the in-memory backend.
>  */
> public class InMemoryDataStore extends CachingDataStore {
>+    
>+    private Properties properties;
> 
>     @Override
>     protected Backend createBackend() {
>-        return new InMemoryBackend();
>+        InMemoryBackend backend = new InMemoryBackend();
>+        if (properties != null) {
>+            backend.setProperties(properties);
>+        }
>+        return backend;
>     }
> 
>     @Override
>     protected String getMarkerFile() {
>         return "mem.init.done";
>     }
>+    
>+    /**
>+     * Properties required to configure the S3Backend
>+     */
>+    public void setProperties(Properties properties) {
>+        this.properties = properties;
>+    }
> }
>
>Modified: 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestCaseBase.java
>URL: 
>http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-data/src/test/jav
>a/org/apache/jackrabbit/core/data/TestCaseBase.java?rev=1671261&r1=1671260
>&r2=1671261&view=diff
>==========================================================================
>====
>--- 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestCaseBase.java (original)
>+++ 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestCaseBase.java Sat Apr  4 10:31:41 2015
>@@ -57,22 +57,6 @@ public abstract class TestCaseBase exten
>     public static final String CONFIG = "config";
> 
>     /**
>-     * File path of aws properties.
>-     */
>-    protected String config;
>-
>-    /**
>-     * Parameter to use in-memory backend.
>-     */
>-    protected boolean memoryBackend = true;
>-
>-    /**
>-     * Parameter to use local cache. If true local cache {@link
>LocalCache} is
>-     * not used.
>-     */
>-    protected boolean noCache;
>-
>-    /**
>      * length of record to be added
>      */
>     protected int dataLength = 123456;
>@@ -82,7 +66,7 @@ public abstract class TestCaseBase exten
>      */
>     protected String dataStoreDir;
> 
>-    protected CachingDataStore ds;
>+    protected DataStore ds;
> 
>     /**
>      * Random number generator to populate data
>@@ -287,15 +271,7 @@ public abstract class TestCaseBase exten
> 
>     }
> 
>-    protected CachingDataStore createDataStore() throws
>RepositoryException {
>-        ds = new InMemoryDataStore();
>-        ds.setConfig(config);
>-        if (noCache) {
>-            ds.setCacheSize(0);
>-        }
>-        ds.init(dataStoreDir);
>-        return ds;
>-    }
>+    protected abstract DataStore createDataStore() throws
>RepositoryException ;
> 
>     /**
>      * Test {@link DataStore#addRecord(InputStream)} and assert length
>of added
>@@ -344,7 +320,7 @@ public abstract class TestCaseBase exten
>         random.nextBytes(data3);
>         DataRecord rec3 = ds.addRecord(new ByteArrayInputStream(data3));
> 
>-        ds.deleteRecord(rec2.getIdentifier());
>+        ((MultiDataStoreAware)ds).deleteRecord(rec2.getIdentifier());
> 
>         assertNull("rec2 should be null",
>             ds.getRecordIfStored(rec2.getIdentifier()));
>@@ -409,7 +385,7 @@ public abstract class TestCaseBase exten
>         ds.updateModifiedDateOnAccess(updateTime);
> 
>         // sleep to workaround System.currentTimeMillis granularity.
>-        sleep(100);
>+        sleep(3000);
>         data = new byte[dataLength];
>         random.nextBytes(data);
>         DataRecord rec3 = ds.addRecord(new ByteArrayInputStream(data));
>@@ -420,15 +396,12 @@ public abstract class TestCaseBase exten
> 
>         rec1 = ds.getRecord(rec1.getIdentifier());
> 
>-        assertEquals("rec1 touched", true,
>-            ds.getLastModified(rec1.getIdentifier()) > updateTime);
>+        assertEquals("rec1 touched", true, rec1.getLastModified() >
>updateTime);
>         LOG.debug("rec2 timestamp=" + rec2.getLastModified());
>         assertEquals("rec2 not touched", true,
>-            ds.getLastModified(rec2.getIdentifier()) < updateTime);
>-        assertEquals("rec3 touched", true,
>-            ds.getLastModified(rec3.getIdentifier()) > updateTime);
>-        assertEquals("rec4 touched", true,
>-            ds.getLastModified(rec4.getIdentifier()) > updateTime);
>+            rec2.getLastModified() < updateTime);
>+        assertEquals("rec3 touched", true, rec3.getLastModified() >
>updateTime);
>+        assertEquals("rec4 touched", true, rec4.getLastModified() >
>updateTime);
>         ds.close();
> 
>     }
>@@ -454,7 +427,7 @@ public abstract class TestCaseBase exten
>         ds.updateModifiedDateOnAccess(updateTime);
>         
>         // sleep to workaround System.currentTimeMillis granularity.
>-        sleep(100);
>+        sleep(3000);
>         data = new byte[dataLength];
>         random.nextBytes(data);
>         DataRecord rec3 = ds.addRecord(new ByteArrayInputStream(data));
>@@ -480,12 +453,9 @@ public abstract class TestCaseBase exten
>         }
> 
>         assertEquals("touched records found", 0, list.size());
>-        assertEquals("rec1 touched", true,
>-            ds.getLastModified(rec1.getIdentifier()) > updateTime);
>-        assertEquals("rec3 touched", true,
>-            ds.getLastModified(rec3.getIdentifier()) > updateTime);
>-        assertEquals("rec4 touched", true,
>-            ds.getLastModified(rec4.getIdentifier()) > updateTime);
>+        assertEquals("rec1 touched", true, rec1.getLastModified() >
>updateTime);
>+        assertEquals("rec3 touched", true, rec3.getLastModified() >
>updateTime);
>+        assertEquals("rec4 touched", true, rec4.getLastModified() >
>updateTime);
>         ds.close();
>     }
> 
>@@ -493,9 +463,8 @@ public abstract class TestCaseBase exten
>      * Test if record can be accessed via
>      * {@link DataStore#getRecordFromReference(String)}
>      */
>-    public void doReferenceTest() throws Exception {
>+    protected void doReferenceTest() throws Exception {
>         ds = createDataStore();
>-        ds.setSecret("12345");
>         byte[] data = new byte[dataLength];
>         randomGen.nextBytes(data);
>         String reference;
>
>Added: 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestFileDataStore.java
>URL: 
>http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-data/src/test/jav
>a/org/apache/jackrabbit/core/data/TestFileDataStore.java?rev=1671261&view=
>auto
>==========================================================================
>====
>--- 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestFileDataStore.java (added)
>+++ 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestFileDataStore.java Sat Apr  4 10:31:41 2015
>@@ -0,0 +1,59 @@
>+/*
>+ * Licensed to the Apache Software Foundation (ASF) under one or more
>+ * contributor license agreements.  See the NOTICE file distributed with
>+ * this work for additional information regarding copyright ownership.
>+ * The ASF licenses this file to You under the Apache License, Version
>2.0
>+ * (the "License"); you may not use this file except in compliance with
>+ * the License.  You may obtain a copy of the License at
>+ *
>+ *      http://www.apache.org/licenses/LICENSE-2.0
>+ *
>+ * Unless required by applicable law or agreed to in writing, software
>+ * distributed under the License is distributed on an "AS IS" BASIS,
>+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>implied.
>+ * See the License for the specific language governing permissions and
>+ * limitations under the License.
>+ */
>+
>+package org.apache.jackrabbit.core.data;
>+
>+import java.io.File;
>+
>+import javax.jcr.RepositoryException;
>+
>+import org.apache.commons.io.FileUtils;
>+import org.slf4j.Logger;
>+import org.slf4j.LoggerFactory;
>+
>+/**
>+ * Test cases to test {@link FileDataStore}
>+ */
>+public class TestFileDataStore extends TestCaseBase {
>+
>+    protected static final Logger LOG =
>LoggerFactory.getLogger(TestFileDataStore.class);
>+
>+    String path;
>+
>+    @Override
>+    protected DataStore createDataStore() throws RepositoryException {
>+        FileDataStore fds = new FileDataStore();
>+        path = dataStoreDir + "/repository/datastore";
>+        fds.setPath(path);
>+        fds.init(dataStoreDir);
>+        return fds;
>+    }
>+
>+    @Override
>+    protected void tearDown() {
>+        File f = new File(path);
>+        try {
>+            for (int i = 0; i < 4 && f.exists(); i++) {
>+                FileUtils.deleteQuietly(f);
>+                Thread.sleep(2000);
>+            }
>+        } catch (Exception ignore) {
>+
>+        }
>+    }
>+
>+}
>
>Propchange: 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestFileDataStore.java
>--------------------------------------------------------------------------
>----
>    svn:eol-style = native
>
>Modified: 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestInMemDs.java
>URL: 
>http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-data/src/test/jav
>a/org/apache/jackrabbit/core/data/TestInMemDs.java?rev=1671261&r1=1671260&
>r2=1671261&view=diff
>==========================================================================
>====
>--- 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestInMemDs.java (original)
>+++ 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestInMemDs.java Sat Apr  4 10:31:41 2015
>@@ -16,6 +16,8 @@
>  */
> package org.apache.jackrabbit.core.data;
> 
>+import javax.jcr.RepositoryException;
>+
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
> 
>@@ -26,10 +28,14 @@ public class TestInMemDs extends TestCas
> 
>     protected static final Logger LOG =
>LoggerFactory.getLogger(TestInMemDs.class);
> 
>-    public TestInMemDs() {
>-        config = null;
>-        memoryBackend = true;
>-        noCache = false;
>+    
>+    protected DataStore createDataStore() throws RepositoryException {
>+        InMemoryDataStore inMemDS = new InMemoryDataStore();
>+        inMemDS.setProperties(null);
>+        inMemDS.init(dataStoreDir);
>+        inMemDS.setSecret("12345");
>+        return inMemDS;
>     }
>+    
> 
> }
>
>Modified: 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestInMemDsCacheOff.java
>URL: 
>http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-data/src/test/jav
>a/org/apache/jackrabbit/core/data/TestInMemDsCacheOff.java?rev=1671261&r1=
>1671260&r2=1671261&view=diff
>==========================================================================
>====
>--- 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestInMemDsCacheOff.java (original)
>+++ 
>jackrabbit/trunk/jackrabbit-data/src/test/java/org/apache/jackrabbit/core/
>data/TestInMemDsCacheOff.java Sat Apr  4 10:31:41 2015
>@@ -16,19 +16,25 @@
>  */
> package org.apache.jackrabbit.core.data;
> 
>+import javax.jcr.RepositoryException;
>+
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
> 
> /**
>  * Test {@link CachingDataStore} with InMemoryBackend and local cache
>off.
>  */
>+
> public class TestInMemDsCacheOff extends TestCaseBase {
> 
>     protected static final Logger LOG =
>LoggerFactory.getLogger(TestInMemDsCacheOff.class);
>-
>-    public TestInMemDsCacheOff() {
>-        config = null;
>-        memoryBackend = true;
>-        noCache = true;
>+    @Override
>+    protected DataStore createDataStore() throws RepositoryException {
>+        InMemoryDataStore inMemDS = new InMemoryDataStore();
>+        inMemDS.setProperties(null);
>+        inMemDS.init(dataStoreDir);
>+        inMemDS.setSecret("12345");
>+        inMemDS.setCacheSize(0);
>+        return inMemDS;
>     }
> }
>
>

Reply via email to