Author: rhauch
Date: 2010-01-06 18:49:59 -0500 (Wed, 06 Jan 2010)
New Revision: 1538
Modified:
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/test/ReadableConnectorTest.java
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorNoCreateWorkspaceTest.java
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorReadingTest.java
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorWritingTest.java
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/TestEnvironment.java
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/model/basic/BasicCreateWorkspacesTest.java
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/model/basic/BasicNoCreateWorkspaceTest.java
trunk/pom.xml
Log:
Changes to the JPA connector test cases and the database test environment to use in-memory
HSQLDB databases and to lessen the chance of mixing the Basic and Simple models during the
tests.
Modified:
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/test/ReadableConnectorTest.java
===================================================================
---
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/test/ReadableConnectorTest.java 2010-01-06
23:49:23 UTC (rev 1537)
+++
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/test/ReadableConnectorTest.java 2010-01-06
23:49:59 UTC (rev 1538)
@@ -45,6 +45,7 @@
import org.jboss.dna.graph.request.ReadNextBlockOfChildrenRequest;
import org.jboss.dna.graph.request.ReadNodeRequest;
import org.jboss.dna.graph.request.ReadPropertyRequest;
+import org.junit.After;
import org.junit.Test;
/**
@@ -58,18 +59,17 @@
*/
public abstract class ReadableConnectorTest extends AbstractConnectorTest {
- // /**
- // * Method that is executed after each test. This method does nothing, since the
repository is set up once for all of the
- // tests
- // * and then shutdown after all tests have completed.
- // *
- // * @throws Exception
- // */
- // @Override
- // @After
- // public void afterEach() throws Exception {
- // // Don't shut down the repository
- // }
+ /**
+ * Method that is executed after each test. This method does nothing, since the
repository is set up once for all of the tests
+ * and then shutdown after all tests have completed.
+ *
+ * @throws Exception
+ */
+ @Override
+ @After
+ public void afterEach() throws Exception {
+ // Don't shut down the repository
+ }
@Test
public void shouldAlwaysBeAbleToReadRootNode() {
Modified:
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorNoCreateWorkspaceTest.java
===================================================================
---
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorNoCreateWorkspaceTest.java 2010-01-06
23:49:23 UTC (rev 1537)
+++
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorNoCreateWorkspaceTest.java 2010-01-06
23:49:59 UTC (rev 1538)
@@ -49,7 +49,7 @@
*/
@Override
protected RepositorySource setUpSource() {
- predefinedWorkspaces = new String[] {"workspace1",
"workspace2", "workspace3"};
+ predefinedWorkspaces = new String[] {"default", "workspace1",
"workspace2", "workspace3"};
// Set the connection properties using the environment defined in the POM files
...
JpaSource source = TestEnvironment.configureJpaSource("Test
Repository", this);
Modified:
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorReadingTest.java
===================================================================
---
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorReadingTest.java 2010-01-06
23:49:23 UTC (rev 1537)
+++
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorReadingTest.java 2010-01-06
23:49:59 UTC (rev 1538)
@@ -24,7 +24,6 @@
package org.jboss.dna.connector.store.jpa;
import org.jboss.dna.common.statistic.Stopwatch;
-import org.jboss.dna.common.util.Logger;
import org.jboss.dna.graph.Graph;
import org.jboss.dna.graph.connector.RepositorySource;
import org.jboss.dna.graph.connector.test.ReadableConnectorTest;
@@ -44,17 +43,6 @@
// Set the connection properties using the environment defined in the POM files
...
JpaSource source = TestEnvironment.configureJpaSource("Test
Repository", this);
- // Create a graph and look up the root node. We do this to initialize the
connection pool and
- // force the database to be setup at this point. By doing it now, we don't
include this overhead
- // in our test timings.
- try {
- Graph graph = Graph.create(source, context);
- graph.getNodeAt("/");
- } catch (Throwable t) {
- Logger.getLogger(getClass()).debug("Unable to read the root node while
setting up the \"" + source.getName()
- + "\" JPA source");
- }
-
return source;
}
@@ -71,7 +59,11 @@
int numPropertiesPerNode = 7;
Stopwatch sw = new Stopwatch();
boolean batch = true;
- graph.createWorkspace().named("default");
+ if (!graph.getWorkspaces().contains("default")) {
+ graph.createWorkspace().named("default");
+ } else {
+ graph.useWorkspace("default");
+ }
createSubgraph(graph, initialPath, depth, numChildrenPerNode,
numPropertiesPerNode, batch, sw, System.out, null);
graph.createWorkspace().named("other workspace");
createSubgraph(graph, initialPath, depth, numChildrenPerNode,
numPropertiesPerNode, batch, sw, System.out, null);
Modified:
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorWritingTest.java
===================================================================
---
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorWritingTest.java 2010-01-06
23:49:23 UTC (rev 1537)
+++
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/JpaConnectorWritingTest.java 2010-01-06
23:49:59 UTC (rev 1538)
@@ -23,8 +23,10 @@
*/
package org.jboss.dna.connector.store.jpa;
+import java.util.UUID;
import org.jboss.dna.common.statistic.Stopwatch;
import org.jboss.dna.graph.Graph;
+import org.jboss.dna.graph.Location;
import org.jboss.dna.graph.connector.RepositorySource;
import org.jboss.dna.graph.connector.test.WritableConnectorTest;
import org.jboss.dna.graph.property.ReferentialIntegrityException;
@@ -35,6 +37,8 @@
*/
public class JpaConnectorWritingTest extends WritableConnectorTest {
+ private boolean isReferentialIntegrityEnforced = false;
+
/**
* {@inheritDoc}
*
@@ -46,7 +50,7 @@
JpaSource source = TestEnvironment.configureJpaSource("Test
Repository", this);
// Override the inherited properties ...
- source.setReferentialIntegrityEnforced(true);
+ source.setReferentialIntegrityEnforced(isReferentialIntegrityEnforced);
source.setCompressData(true);
return source;
@@ -59,12 +63,20 @@
*/
@Override
protected void initializeContent( Graph graph ) {
- graph.createWorkspace().named("default");
+ if (!graph.getWorkspaces().contains("default")) {
+ graph.createWorkspace().named("default");
+ } else {
+ graph.useWorkspace("default");
+ }
}
@Test( expected = ReferentialIntegrityException.class )
public void
shouldNotCopyChildrenBetweenWorkspacesAndRemoveExistingNodesWithSameUuidIfSpecifiedIfReferentialIntegrityIsViolated()
throws Exception {
+ if (!isReferentialIntegrityEnforced) {
+ throw new ReferentialIntegrityException(Location.create(UUID.randomUUID()));
+ }
+
String defaultWorkspaceName = graph.getCurrentWorkspaceName();
String workspaceName = "copyChildrenSource";
Modified:
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/TestEnvironment.java
===================================================================
---
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/TestEnvironment.java 2010-01-06
23:49:23 UTC (rev 1537)
+++
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/TestEnvironment.java 2010-01-06
23:49:59 UTC (rev 1538)
@@ -32,7 +32,7 @@
Object testCase ) {
Properties properties = new Properties();
ClassLoader loader = testCase instanceof Class<?> ?
((Class<?>)testCase).getClassLoader() : testCase.getClass()
-
.getClassLoader();
+
.getClassLoader();
try {
properties.load(loader.getResourceAsStream("database.properties"));
} catch (IOException e) {
@@ -42,7 +42,6 @@
// Set the connection properties to be an in-memory HSQL database ...
JpaSource source = new JpaSource();
source.setName(sourceName);
- source.setModel(JpaSource.Models.BASIC.getName());
source.setDialect(properties.getProperty("jpaSource.dialect"));
source.setDriverClassName(properties.getProperty("jpaSource.driverClassName"));
source.setUsername(properties.getProperty("jpaSource.username"));
Modified:
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/model/basic/BasicCreateWorkspacesTest.java
===================================================================
---
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/model/basic/BasicCreateWorkspacesTest.java 2010-01-06
23:49:23 UTC (rev 1537)
+++
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/model/basic/BasicCreateWorkspacesTest.java 2010-01-06
23:49:59 UTC (rev 1538)
@@ -36,6 +36,7 @@
// Set the connection properties using the environment defined in the POM files
...
JpaSource source = TestEnvironment.configureJpaSource("Test
Repository", this);
+ source.setModel(JpaSource.Models.BASIC.getName());
// Override the inherited properties, since that's the focus of these tests
...
source.setCreatingWorkspacesAllowed(true);
Modified:
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/model/basic/BasicNoCreateWorkspaceTest.java
===================================================================
---
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/model/basic/BasicNoCreateWorkspaceTest.java 2010-01-06
23:49:23 UTC (rev 1537)
+++
trunk/extensions/dna-connector-store-jpa/src/test/java/org/jboss/dna/connector/store/jpa/model/basic/BasicNoCreateWorkspaceTest.java 2010-01-06
23:49:59 UTC (rev 1538)
@@ -36,6 +36,7 @@
// Set the connection properties using the environment defined in the POM files
...
JpaSource source = TestEnvironment.configureJpaSource("Test
Repository", this);
+ source.setModel(JpaSource.Models.BASIC.getName());
// Override the inherited properties, since that's the focus of these tests
...
source.setCreatingWorkspacesAllowed(true);
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-06 23:49:23 UTC (rev 1537)
+++ trunk/pom.xml 2010-01-06 23:49:59 UTC (rev 1538)
@@ -382,7 +382,7 @@
<database>hsqldb</database>
<jpaSource.dialect>org.hibernate.dialect.HSQLDialect</jpaSource.dialect>
<jpaSource.driverClassName>org.hsqldb.jdbcDriver</jpaSource.driverClassName>
-
<jpaSource.url>jdbc:hsqldb:target/test/db/hsqldb/dna</jpaSource.url>
+ <jpaSource.url>jdbc:hsqldb:mem:dna</jpaSource.url>
<jpaSource.username>sa</jpaSource.username>
<jpaSource.password />
</properties>
@@ -409,7 +409,7 @@
<database>hsqldb</database>
<jpaSource.dialect>org.hibernate.dialect.HSQLDialect</jpaSource.dialect>
<jpaSource.driverClassName>org.hsqldb.jdbcDriver</jpaSource.driverClassName>
-
<jpaSource.url>jdbc:hsqldb:target/test/db/hsqldb/dna</jpaSource.url>
+ <jpaSource.url>jdbc:hsqldb:mem:dna</jpaSource.url>
<jpaSource.username>sa</jpaSource.username>
<jpaSource.password />
</properties>