trivial: adding more test cases
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/commons/filevault/trunk@1726930 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestBinarylessExport.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestBinarylessExport.java
index a18e534..1d078f4 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestBinarylessExport.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestBinarylessExport.java
@@ -50,20 +50,28 @@
*/
public class TestBinarylessExport extends IntegrationTestBase {
- private final String BIG_TEXT = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vel dui in elit venenatis dictum sed nec arcu. Phasellus aliquam imperdiet tincidunt. Vestibulum lacinia mollis mi. Cras non metus.";
- private final String SMALL_TEXT = "Lorem ipsum";
- private final String BINARY_NODE_PATH = "/tmp/binaryless/node";
- private final String BIG_BINARY_PROPERTY = "bigbin";
- private final String SMALL_BINARY_PROPERTY = "smallbin";
+ private final static String SMALL_TEXT = "Lorem ipsum";
+ private final static String BINARY_NODE_PATH = "/tmp/binaryless/node";
+ private final static String BIG_BINARY_PROPERTY = "bigbin";
+ private final static String SMALL_BINARY_PROPERTY = "smallbin";
- private final String FILE_NODE_PATH = "/tmp/binaryless/file";
+ private final static String FILE_NODE_PATH = "/tmp/binaryless/file";
+ private final static int BIG_TEXT_LENGTH = 0x1000 * 64;
+ private final static String BIG_TEXT;
+ static {
+ StringBuilder buffer = new StringBuilder(BIG_TEXT_LENGTH);
+ buffer.append("0123456789abcdef");
+ while (buffer.length() < BIG_TEXT_LENGTH) {
+ buffer.append(buffer, 0, buffer.length());
+ }
+ BIG_TEXT = buffer.toString();
+ }
@Before
public void setup() throws RepositoryException, PackageException, IOException {
-
Node binaryNode = JcrUtils.getOrCreateByPath(BINARY_NODE_PATH, "nt:unstructured", admin);
Binary bigBin = admin.getValueFactory().createBinary(IOUtils.toInputStream(BIG_TEXT, "UTF-8"));
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestPackageInstall.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestPackageInstall.java
index fce5464..6412fcd 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestPackageInstall.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestPackageInstall.java
@@ -20,7 +20,10 @@
import java.io.File;
import java.io.IOException;
+import javax.jcr.Binary;
import javax.jcr.NodeIterator;
+import javax.jcr.Property;
+import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
import org.apache.commons.io.FileUtils;
@@ -373,6 +376,20 @@
}
}
+ /**
+ * Installs a package that and checks if snapshot is created
+ */
+ @Test
+ public void testBinaryProperties() throws RepositoryException, IOException, PackageException {
+ JcrPackage pack = packMgr.upload(getStream("testpackages/tmp_binary.zip"), false);
+ assertNotNull(pack);
+ pack.install(getDefaultOptions());
+
+ Property p = admin.getProperty("/tmp/binary/test/jcr:data");
+ assertEquals(PropertyType.BINARY, p.getType());
+ assertEquals("this is binary data.\n", p.getString());
+ }
+
// todo: upload with version
// todo: rename
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestUserContentPackage.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestUserContentPackage.java
index 14a6e5b..a60b7fe 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestUserContentPackage.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestUserContentPackage.java
@@ -299,7 +299,7 @@
User u = mgr.createUser(ID_TEST_USER_A, "nonce");
Node node = admin.getNode(u.getPath());
- node.setProperty("mv", new String[]{"mv1"});
+ node.setProperty("mv", new String[]{"mv1", "mv2"});
Property property = node.getProperty("mv");
assertTrue(property.isMultiple());
admin.save();
@@ -325,6 +325,35 @@
}
+ @Test
+ public void install_single_mv_property() throws RepositoryException, IOException, PackageException {
+ UserManager mgr = ((JackrabbitSession) admin).getUserManager();
+ User u = mgr.createUser(ID_TEST_USER_A, "nonce");
+ Node node = admin.getNode(u.getPath());
+
+ node.setProperty("mv", new String[]{"mv1"});
+ Property property = node.getProperty("mv");
+ assertTrue(property.isMultiple());
+ admin.save();
+
+ File tmpFile = createPackage("test", "test", u.getPath());
+ u.remove();
+ u = (User) mgr.getAuthorizable(ID_TEST_USER_A);
+ assertNull(u);
+
+ JcrPackage pack = packMgr.upload(tmpFile, true, true, null);
+ assertNotNull(pack);
+ ImportOptions opts = getDefaultOptions();
+ pack.install(opts);
+
+ u = (User) mgr.getAuthorizable(ID_TEST_USER_A);
+ assertNotNull(u);
+
+ node = admin.getNode(u.getPath());
+ property = node.getProperty("mv");
+ assertTrue(property.isMultiple());
+ }
+
private User installUserA(ImportMode mode, boolean usePkgPath, boolean expectPkgPath) throws RepositoryException, IOException, PackageException {
UserManager mgr = ((JackrabbitSession) admin).getUserManager();
@@ -407,7 +436,7 @@
opts.setMetaInf(inf);
- File tmpFile = File.createTempFile("vaulttest", "zip");
+ File tmpFile = File.createTempFile("vaulttest", ".zip");
VaultPackage pkg = packMgr.assemble(admin, opts, tmpFile);
pkg.close();
diff --git a/vault-core/src/test/resources/org/apache/jackrabbit/vault/packaging/integration/testpackages/tmp_binary.zip b/vault-core/src/test/resources/org/apache/jackrabbit/vault/packaging/integration/testpackages/tmp_binary.zip
new file mode 100644
index 0000000..f9bce2d
--- /dev/null
+++ b/vault-core/src/test/resources/org/apache/jackrabbit/vault/packaging/integration/testpackages/tmp_binary.zip
Binary files differ