You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2009/05/19 16:36:09 UTC
svn commit: r776332 -
/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/RepositoryConfigTest.java
Author: jukka
Date: Tue May 19 14:36:09 2009
New Revision: 776332
URL: http://svn.apache.org/viewvc?rev=776332&view=rev
Log:
JCR-2119: Method to create default RepositoryConfig from just the repository directory
Use the new configuration methods also in the test case
Modified:
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/RepositoryConfigTest.java
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/RepositoryConfigTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/RepositoryConfigTest.java?rev=776332&r1=776331&r2=776332&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/RepositoryConfigTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/RepositoryConfigTest.java Tue May 19 14:36:09 2009
@@ -16,16 +16,16 @@
*/
package org.apache.jackrabbit.core.config;
-import junit.framework.TestCase;
+ import junit.framework.TestCase;
import org.xml.sax.InputSource;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.input.ClosedInputStream;
import org.apache.jackrabbit.core.security.authorization.WorkspaceAccessManager;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;
@@ -34,54 +34,58 @@
*/
public class RepositoryConfigTest extends TestCase {
- private static final String REPOSITORY_XML = "target/repository_for_test.xml";
- private static final String REPOSITORY_HOME = "target/repository_for_test";
+ private static final File DIR =
+ new File("target", "RepositoryConfigTest");
- private static void deleteAll(File file) {
- if (file.exists()) {
- if (file.isDirectory()) {
- File[] children = file.listFiles();
- for (int i = 0; i < children.length; i++) {
- deleteAll(children[i]);
- }
- }
- file.delete();
- }
- }
+ private static final File XML =
+ new File(DIR, "repository.xml");
+
+ private RepositoryConfig config;
/**
* Sets up the test case by creating the repository home directory
* and copying the repository configuration file in place.
*/
protected void setUp() throws Exception {
- // Create the repository directory
- File home = new File(REPOSITORY_HOME);
- home.mkdirs();
-
- // Copy the repository configuration file in place
- ClassLoader loader = getClass().getClassLoader();
- InputStream input = loader.getResourceAsStream("org/apache/jackrabbit/core/repository.xml");
- try {
- OutputStream output = new FileOutputStream(REPOSITORY_XML);
- try {
- int n;
- byte[] buffer = new byte[1024];
- while ((n = input.read(buffer)) != -1) {
- output.write(buffer, 0, n);
- }
- } finally {
- output.close();
- }
- } finally {
- input.close();
- }
+ config = RepositoryConfig.install(DIR);
}
protected void tearDown() {
- File home = new File(REPOSITORY_HOME);
- deleteAll(home);
- File config = new File(REPOSITORY_XML);
- config.delete();
+ FileUtils.deleteQuietly(DIR);
+ }
+
+ public void testCreateWithRepositoryDirectory() {
+ try {
+ RepositoryConfig.create(DIR);
+ } catch (ConfigurationException e) {
+ fail("Valid repository directory");
+ }
+
+ try {
+ RepositoryConfig.create(new File(DIR, "invalid-repo-dir"));
+ fail("Invalid repository directory");
+ } catch (ConfigurationException e) {
+ }
+ }
+
+ public void testCreateWithRepositoryConfigAndDirectory() {
+ try {
+ RepositoryConfig.create(XML, DIR);
+ } catch (ConfigurationException e) {
+ fail("Valid repository configuration and directory");
+ }
+
+ try {
+ RepositoryConfig.create(XML, new File(DIR, "invalid-repo-dir"));
+ fail("Invalid repository directory");
+ } catch (ConfigurationException e) {
+ }
+
+ try {
+ RepositoryConfig.create(new File(DIR, "invalid.xml"), DIR);
+ fail("Invalid repository configuration");
+ } catch (ConfigurationException e) {
+ }
}
/**
@@ -89,12 +93,15 @@
*/
public void testRepositoryConfigCreateWithFileName() {
try {
- RepositoryConfig.create(REPOSITORY_XML, REPOSITORY_HOME);
+ RepositoryConfig.create(XML.getPath(), DIR.getPath());
} catch (ConfigurationException e) {
fail("Valid configuration file name");
}
+
try {
- RepositoryConfig.create("invalid-config-file", REPOSITORY_HOME);
+ RepositoryConfig.create(
+ new File(DIR, "invalid-config-file.xml").getPath(),
+ DIR.getPath());
fail("Invalid configuration file name");
} catch (ConfigurationException e) {
}
@@ -105,14 +112,23 @@
*/
public void testRepositoryConfigCreateWithURI() throws URISyntaxException {
try {
- URI uri = new File(REPOSITORY_XML).toURI();
- RepositoryConfig.create(uri, REPOSITORY_HOME);
+ RepositoryConfig.create(XML.toURI(), DIR.getPath());
} catch (ConfigurationException e) {
fail("Valid configuration URI");
}
+
+ try {
+ RepositoryConfig.create(
+ new File(DIR, "invalid-config-file.xml").toURI(),
+ DIR.getPath());
+ fail("Invalid configuration URI");
+ } catch (ConfigurationException e) {
+ }
+
try {
- URI uri = new URI("invalid://config/uri");
- RepositoryConfig.create(uri, REPOSITORY_HOME);
+ RepositoryConfig.create(
+ new URI("invalid://config/uri"),
+ DIR.getPath());
fail("Invalid configuration URI");
} catch (ConfigurationException e) {
}
@@ -122,25 +138,33 @@
* Tests that an input stream can be used for the configuration.
*/
public void testRepositoryConfigCreateWithInputStream() throws IOException {
- InputStream input = new FileInputStream(REPOSITORY_XML);
+ InputStream input = new FileInputStream(XML);
try {
- RepositoryConfig.create(input, REPOSITORY_HOME);
+ RepositoryConfig.create(input, DIR.getPath());
} catch (ConfigurationException e) {
fail("Valid configuration input stream");
} finally {
input.close();
}
- input = new InputStream() {
- public int read() throws IOException {
- throw new IOException("invalid input stream");
- }
- };
+
try {
- RepositoryConfig.create(input, REPOSITORY_HOME);
+ RepositoryConfig.create(
+ new InputStream() {
+ public int read() throws IOException {
+ throw new IOException("invalid input stream");
+ }
+ },
+ DIR.getPath());
+ fail("Invalid configuration input stream");
+ } catch (ConfigurationException e) {
+ }
+
+ try {
+ RepositoryConfig.create(
+ new ClosedInputStream(),
+ DIR.getPath());
fail("Invalid configuration input stream");
} catch (ConfigurationException e) {
- } finally {
- input.close();
}
}
@@ -149,16 +173,16 @@
*/
public void testRepositoryConfigCreateWithInputSource() throws IOException {
try {
- URI uri = new File(REPOSITORY_XML).toURI();
- InputSource source = new InputSource(uri.toString());
- RepositoryConfig.create(source, REPOSITORY_HOME);
+ InputSource source = new InputSource(XML.toURI().toString());
+ RepositoryConfig.create(source, DIR.getPath());
} catch (ConfigurationException e) {
fail("Valid configuration input source with file URI");
}
- InputStream stream = new FileInputStream(REPOSITORY_XML);
+
+ InputStream stream = new FileInputStream(XML);
try {
InputSource source = new InputSource(stream);
- RepositoryConfig.create(source, REPOSITORY_HOME);
+ RepositoryConfig.create(source, DIR.getPath());
} catch (ConfigurationException e) {
fail("Valid configuration input source with input stream");
} finally {
@@ -170,18 +194,16 @@
* Test that the repository configuration file is correctly parsed.
*/
public void testRepositoryConfig() throws Exception {
- RepositoryConfig config =
- RepositoryConfig.create(REPOSITORY_XML, REPOSITORY_HOME);
- assertEquals(REPOSITORY_HOME, config.getHomeDir());
+ assertEquals(DIR.getPath(), config.getHomeDir());
assertEquals("default", config.getDefaultWorkspaceName());
assertEquals(
- new File(REPOSITORY_HOME, "workspaces").getPath(),
+ new File(DIR, "workspaces").getPath(),
new File(config.getWorkspacesConfigRootDir()).getPath());
- assertEquals("Jackrabbit", config.getAppName());
assertEquals("Jackrabbit", config.getSecurityConfig().getAppName());
// SecurityManagerConfig
- SecurityManagerConfig smc = config.getSecurityConfig().getSecurityManagerConfig();
+ SecurityManagerConfig smc =
+ config.getSecurityConfig().getSecurityManagerConfig();
assertEquals(
"org.apache.jackrabbit.core.security.simple.SimpleSecurityManager",
smc.getClassName());
@@ -195,33 +217,30 @@
}
// AccessManagerConfig
- AccessManagerConfig amc = config.getAccessManagerConfig();
- amc = config.getSecurityConfig().getAccessManagerConfig();
+ AccessManagerConfig amc =
+ config.getSecurityConfig().getAccessManagerConfig();
assertEquals(
"org.apache.jackrabbit.core.security.simple.SimpleAccessManager",
amc.getClassName());
assertTrue(amc.getParameters().isEmpty());
VersioningConfig vc = config.getVersioningConfig();
- assertEquals(new File(REPOSITORY_HOME, "version"), vc.getHomeDir());
+ assertEquals(new File(DIR, "version"), vc.getHomeDir());
assertEquals(
"org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager",
vc.getPersistenceManagerConfig().getClassName());
}
public void testInit() throws Exception {
- RepositoryConfig.create(REPOSITORY_XML, REPOSITORY_HOME);
- File workspaces_dir = new File(REPOSITORY_HOME, "workspaces");
+ File workspaces_dir = new File(DIR, "workspaces");
File workspace_dir = new File(workspaces_dir, "default");
File workspace_xml = new File(workspace_dir, "workspace.xml");
assertTrue("Default workspace is created", workspace_xml.exists());
}
public void testCreateWorkspaceConfig() throws Exception {
- RepositoryConfig config =
- RepositoryConfig.create(REPOSITORY_XML, REPOSITORY_HOME);
- config.createWorkspaceConfig("test-workspace", (StringBuffer)null);
- File workspaces_dir = new File(REPOSITORY_HOME, "workspaces");
+ config.createWorkspaceConfig("test-workspace", (StringBuffer) null);
+ File workspaces_dir = new File(DIR, "workspaces");
File workspace_dir = new File(workspaces_dir, "test-workspace");
File workspace_xml = new File(workspace_dir, "workspace.xml");
assertTrue(workspace_xml.exists());
@@ -229,9 +248,7 @@
public void testCreateDuplicateWorkspaceConfig() throws Exception {
try {
- RepositoryConfig config =
- RepositoryConfig.create(REPOSITORY_XML, REPOSITORY_HOME);
- config.createWorkspaceConfig("default", (StringBuffer)null);
+ config.createWorkspaceConfig("default", (StringBuffer) null);
fail("No exception thrown when creating a duplicate workspace");
} catch (ConfigurationException e) {
// test passed
@@ -247,10 +264,11 @@
InputStream in = getClass().getResourceAsStream(
"/org/apache/jackrabbit/core/cluster/repository.xml");
- RepositoryConfig config = RepositoryConfig.create(in, REPOSITORY_HOME);
+ RepositoryConfig config = RepositoryConfig.create(in, DIR.getPath());
ClusterConfig clusterConfig = config.getClusterConfig();
assertEquals(id, clusterConfig.getId());
assertEquals(syncDelay, clusterConfig.getSyncDelay());
}
+
}