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 am...@apache.org on 2018/09/12 10:24:31 UTC

svn commit: r1840651 - /jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java

Author: amitj
Date: Wed Sep 12 10:24:30 2018
New Revision: 1840651

URL: http://svn.apache.org/viewvc?rev=1840651&view=rev
Log:
OAK-7737: Add edge cases checks and tests for metadata related methods S3/FileDataStore

- Superseded by SharedDataStoreTest which covers all SharedDataStore tests

Modified:
    jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java

Modified: jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java?rev=1840651&r1=1840650&r2=1840651&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java Wed Sep 12 10:24:30 2018
@@ -19,28 +19,17 @@
 
 package org.apache.jackrabbit.oak.plugins.blob.datastore;
 
-import java.io.ByteArrayInputStream;
 import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 
 import com.google.common.base.Function;
-import com.google.common.base.Strings;
 import com.google.common.collect.Iterators;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.core.data.DataIdentifier;
-import org.apache.jackrabbit.core.data.DataRecord;
-import org.apache.jackrabbit.core.data.DataStoreException;
 import org.apache.jackrabbit.core.data.FileDataStore;
 import org.jetbrains.annotations.Nullable;
 import org.junit.Rule;
@@ -48,12 +37,8 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.junit.rules.TemporaryFolder;
 
-import static org.apache.commons.io.FileUtils.copyInputStreamToFile;
-import static org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreUtils.randomStream;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 public class OakFileDataStoreTest {
     @Rule
@@ -112,236 +97,6 @@ public class OakFileDataStoreTest {
         assertTrue(noop.isEmpty());
     }
 
-
-    // AddMetadataRecord (Backend)
-
-    @Test
-    public void testBackendAddMetadataRecordsFromInputStream() throws Exception {
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-
-        for (boolean fromInputStream : Lists.newArrayList(false, true)) {
-            String prefix = String.format("%s.META.", getClass().getSimpleName());
-            for (int count : Lists.newArrayList(1, 3)) {
-                Map<String, String> records = Maps.newHashMap();
-                for (int i = 0; i < count; i++) {
-                    String recordName = String.format("%sname.%d", prefix, i);
-                    String data = String.format("testData%d", i);
-                    records.put(recordName, data);
-
-                    if (fromInputStream) {
-                        fds.addMetadataRecord(new ByteArrayInputStream(data.getBytes()), recordName);
-                    }
-                    else {
-                        File testFile = folder.newFile();
-                        copyInputStreamToFile(new ByteArrayInputStream(data.getBytes()), testFile);
-                        fds.addMetadataRecord(testFile, recordName);
-                    }
-                }
-
-                assertEquals(count, fds.getAllMetadataRecords(prefix).size());
-
-                for (Map.Entry<String, String> entry : records.entrySet()) {
-                    DataRecord record = fds.getMetadataRecord(entry.getKey());
-                    StringWriter writer = new StringWriter();
-                    IOUtils.copy(record.getStream(), writer);
-                    fds.deleteMetadataRecord(entry.getKey());
-                    assertTrue(writer.toString().equals(entry.getValue()));
-                }
-
-                assertEquals(0, fds.getAllMetadataRecords(prefix).size());
-            }
-        }
-    }
-
-    @Test
-    public void testBackendAddMetadataRecordFileNotFoundThrowsDataStoreException() throws IOException {
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-
-        File testFile = folder.newFile();
-        copyInputStreamToFile(randomStream(0, 10), testFile);
-        testFile.delete();
-        try {
-            fds.addMetadataRecord(testFile, "name");
-            fail();
-        }
-        catch (DataStoreException e) {
-            assertTrue(e.getCause() instanceof FileNotFoundException);
-        }
-    }
-
-    @Test
-    public void testBackendAddMetadataRecordNullInputStreamThrowsNullPointerException() throws DataStoreException {
-        expectedEx.expect(IllegalArgumentException.class);
-        expectedEx.expectMessage("input should not be null");
-
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-        fds.addMetadataRecord((InputStream)null, "name");
-    }
-
-    @Test
-    public void testBackendAddMetadataRecordNullFileThrowsNullPointerException() throws DataStoreException {
-        expectedEx.expect(IllegalArgumentException.class);
-        expectedEx.expectMessage("input should not be null");
-
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-
-        fds.addMetadataRecord((File)null, "name");
-    }
-
-    @Test
-    public void testBackendAddMetadataRecordNullEmptyNameThrowsIllegalArgumentException() throws DataStoreException, IOException {
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-
-        final String data = "testData";
-        for (boolean fromInputStream : Lists.newArrayList(false, true)) {
-            for (String name : Lists.newArrayList(null, "")) {
-                try {
-                    if (fromInputStream) {
-                        fds.addMetadataRecord(new ByteArrayInputStream(data.getBytes()), name);
-                    } else {
-                        File testFile = folder.newFile();
-                        copyInputStreamToFile(new ByteArrayInputStream(data.getBytes()), testFile);
-                        fds.addMetadataRecord(testFile, name);
-                    }
-                    fail();
-                } catch (IllegalArgumentException e) {
-                    assertTrue("name should not be empty".equals(e.getMessage()));
-                }
-            }
-        }
-    }
-
-    // GetMetadataRecord (Backend)
-
-    @Test
-    public void testBackendGetMetadataRecordInvalidName() throws DataStoreException {
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-
-        fds.addMetadataRecord(randomStream(0, 10), "testRecord");
-        assertNull(fds.getMetadataRecord("invalid"));
-        for (String name : Lists.newArrayList("", null)) {
-            try {
-                fds.getMetadataRecord(name);
-                fail("Expect to throw");
-            } catch(Exception e) {}
-        }
-
-        fds.deleteMetadataRecord("testRecord");
-    }
-
-    // GetAllMetadataRecords (Backend)
-
-    @Test
-    public void testBackendGetAllMetadataRecordsPrefixMatchesAll() throws DataStoreException {
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-
-        assertEquals(0, fds.getAllMetadataRecords("").size());
-
-        String prefixAll = "prefix1";
-        String prefixSome = "prefix1.prefix2";
-        String prefixOne = "prefix1.prefix3";
-        String prefixNone = "prefix4";
-
-        fds.addMetadataRecord(randomStream(1, 10), String.format("%s.testRecord1", prefixAll));
-        fds.addMetadataRecord(randomStream(2, 10), String.format("%s.testRecord2", prefixSome));
-        fds.addMetadataRecord(randomStream(3, 10), String.format("%s.testRecord3", prefixSome));
-        fds.addMetadataRecord(randomStream(4, 10), String.format("%s.testRecord4", prefixOne));
-        fds.addMetadataRecord(randomStream(5, 10), "prefix5.testRecord5");
-
-        assertEquals(5, fds.getAllMetadataRecords("").size());
-        assertEquals(4, fds.getAllMetadataRecords(prefixAll).size());
-        assertEquals(2, fds.getAllMetadataRecords(prefixSome).size());
-        assertEquals(1, fds.getAllMetadataRecords(prefixOne).size());
-        assertEquals(0, fds.getAllMetadataRecords(prefixNone).size());
-
-        fds.deleteAllMetadataRecords("");
-        assertEquals(0, fds.getAllMetadataRecords("").size());
-    }
-
-    @Test
-    public void testBackendGetAllMetadataRecordsNullPrefixThrowsNullPointerException() {
-        expectedEx.expect(IllegalArgumentException.class);
-        expectedEx.expectMessage("prefix should not be null");
-
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-        fds.getAllMetadataRecords(null);
-    }
-
-    // DeleteMetadataRecord (Backend)
-
-    @Test
-    public void testBackendDeleteMetadataRecord() throws DataStoreException {
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-
-        fds.addMetadataRecord(randomStream(0, 10), "name");
-        for (String name : Lists.newArrayList("", null)) {
-            if (Strings.isNullOrEmpty(name)) {
-                try {
-                    fds.deleteMetadataRecord(name);
-                }
-                catch (IllegalArgumentException e) { }
-            }
-            else {
-                fds.deleteMetadataRecord(name);
-                fail();
-            }
-        }
-        assertTrue(fds.deleteMetadataRecord("name"));
-    }
-
-    // DeleteAllMetadataRecords (Backend)
-
-    @Test
-    public void testBackendDeleteAllMetadataRecordsPrefixMatchesAll() throws DataStoreException {
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-
-        String prefixAll = "prefix1";
-        String prefixSome = "prefix1.prefix2";
-        String prefixOne = "prefix1.prefix3";
-        String prefixNone = "prefix4";
-
-        Map<String, Integer> prefixCounts = Maps.newHashMap();
-        prefixCounts.put(prefixAll, 4);
-        prefixCounts.put(prefixSome, 2);
-        prefixCounts.put(prefixOne, 1);
-        prefixCounts.put(prefixNone, 0);
-
-        for (Map.Entry<String, Integer> entry : prefixCounts.entrySet()) {
-            fds.addMetadataRecord(randomStream(1, 10), String.format("%s.testRecord1", prefixAll));
-            fds.addMetadataRecord(randomStream(2, 10), String.format("%s.testRecord2", prefixSome));
-            fds.addMetadataRecord(randomStream(3, 10), String.format("%s.testRecord3", prefixSome));
-            fds.addMetadataRecord(randomStream(4, 10), String.format("%s.testRecord4", prefixOne));
-
-            int preCount = fds.getAllMetadataRecords("").size();
-
-            fds.deleteAllMetadataRecords(entry.getKey());
-
-            int deletedCount = preCount - fds.getAllMetadataRecords("").size();
-            assertEquals(entry.getValue().intValue(), deletedCount);
-
-            fds.deleteAllMetadataRecords("");
-        }
-    }
-
-    @Test
-    public void testBackendDeleteAllMetadataRecordsNoRecordsNoChange() {
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-
-        assertEquals(0, fds.getAllMetadataRecords("").size());
-
-        fds.deleteAllMetadataRecords("");
-
-        assertEquals(0, fds.getAllMetadataRecords("").size());
-    }
-
-    @Test
-    public void testBackendDeleteAllMetadataRecordsNullPrefixThrowsNullPointerException() {
-        expectedEx.expect(IllegalArgumentException.class);
-
-        OakFileDataStore fds = datastore(folder.getRoot().getAbsolutePath());
-        fds.deleteAllMetadataRecords(null);
-    }
-
     private static OakFileDataStore datastore(String path) {
         OakFileDataStore fds = new OakFileDataStore();
         fds.setPath(path);