[dna-commits] DNA SVN: r1538 - in trunk: dna-graph/src/test/java/org/jboss/dna/graph/connector/test and 2 other directories.

dna-commits at lists.jboss.org dna-commits at lists.jboss.org
Wed Jan 6 18:49:59 EST 2010


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>



More information about the dna-commits mailing list