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 al...@apache.org on 2013/12/04 15:32:05 UTC
svn commit: r1547805 -
/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java
Author: alexparvulescu
Date: Wed Dec 4 14:32:04 2013
New Revision: 1547805
URL: http://svn.apache.org/r1547805
Log:
OAK-1159 Backup and restore
- added size check test for shared binaries
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java?rev=1547805&r1=1547804&r2=1547805&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java Wed Dec 4 14:32:04 2013
@@ -20,12 +20,18 @@ package org.apache.jackrabbit.oak.plugin
import static org.apache.commons.io.FileUtils.deleteQuietly;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import java.io.File;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.commons.lang.RandomStringUtils;
import org.apache.jackrabbit.oak.Oak;
+import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.api.CommitFailedException;
+import org.apache.jackrabbit.oak.plugins.memory.StringBasedBlob;
import org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent;
import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore;
import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
@@ -95,4 +101,45 @@ public class FileStoreBackupTest {
.with(new InitialContent()).createContentRepository();
}
+ @Test
+ public void testSharedContent() throws Exception {
+ FileStore source = new FileStore(src, 256, false);
+
+ NodeStore store = new SegmentNodeStore(source);
+
+ // ~60k
+ Blob blob = new StringBasedBlob(RandomStringUtils.random(10240));
+
+ NodeBuilder builder = store.getRoot().builder();
+ NodeBuilder c1 = builder.child("test-backup");
+ c1.setProperty("blob", blob);
+ NodeBuilder c2 = builder.child("test-backup2");
+ c2.setProperty("blob", blob);
+ store.merge(builder, EmptyHook.INSTANCE, null);
+
+ FileStoreBackup.backup(store, destination);
+ compare(store, destination);
+ source.close();
+
+ Map<String, Long> expected = new HashMap<String, Long>();
+ for (File f : src.listFiles()) {
+ if (f.getName().endsWith(".tar")) {
+ expected.put(f.getName(), f.length());
+ }
+ }
+
+ for (File f : destination.listFiles()) {
+ if(!f.getName().endsWith(".tar")){
+ continue;
+ }
+ assertTrue(f.getName() + " is missing from the backup",
+ expected.containsKey(f.getName()));
+ assertTrue(
+ f.getName() + " is expected to have size < "
+ + expected.get(f.getName()) + " actually is "
+ + f.length(),
+ f.length() <= expected.get(f.getName()));
+ }
+
+ }
}