]> source.dussan.org Git - sonarqube.git/commitdiff
More stable dao tests
authorDavid Gageot <david@gageot.net>
Wed, 4 Jul 2012 11:06:57 +0000 (13:06 +0200)
committerDavid Gageot <david@gageot.net>
Wed, 4 Jul 2012 11:06:57 +0000 (13:06 +0200)
sonar-core/src/test/java/org/sonar/core/persistence/DaoTestCase.java
sonar-core/src/test/java/org/sonar/jpa/test/AbstractDbUnitTestCase.java

index bd26337937a5f6459abf96951845fafba7635189..0a6c5dc8712c24e49c0edaf2989ee412876e26c2 100644 (file)
@@ -62,19 +62,17 @@ public abstract class DaoTestCase {
     settings.setProperties(Maps.fromProperties(System.getProperties()));
     boolean hasDialect = settings.hasKey("sonar.jdbc.dialect");
 
-    if ((null == database) || (hasDialect)) { // Create database only once per vm (Only for in mempry database)
-      if (hasDialect) {
-        database = new DefaultDatabase(settings);
-      } else {
-        database = new H2Database();
-      }
-      database.start();
+    if (hasDialect) {
+      database = new DefaultDatabase(settings);
+    } else {
+      database = new H2Database();
+    }
+    database.start();
 
-      myBatis = new MyBatis(database);
-      myBatis.start();
+    myBatis = new MyBatis(database);
+    myBatis.start();
 
-      databaseCommands = DatabaseCommands.forDialect(database.getDialect());
-    }
+    databaseCommands = DatabaseCommands.forDialect(database.getDialect());
   }
 
   @Before
index 732da687b799298ce2b878e6c1ca5b5ee6fef6e8..58afe6240ce84acb331ed5a1da2da9612ea1ee24 100644 (file)
@@ -66,15 +66,13 @@ public abstract class AbstractDbUnitTestCase {
 
   @BeforeClass
   public static void startDatabase() throws Exception {
-    if (null == database) { // Create only once per vm
-      database = new H2Database();
-      database.start();
+    database = new H2Database();
+    database.start();
 
-      dbConnector = new MemoryDatabaseConnector(database);
-      dbConnector.start();
+    dbConnector = new MemoryDatabaseConnector(database);
+    dbConnector.start();
 
-      databaseCommands = DatabaseCommands.forDialect(database.getDialect());
-    }
+    databaseCommands = DatabaseCommands.forDialect(database.getDialect());
   }
 
   @Before
@@ -88,12 +86,15 @@ public abstract class AbstractDbUnitTestCase {
 
   @After
   public void stopConnection() throws Exception {
-    databaseTester.onTearDown();
-    // Important: close the connection and session, otherwise tests can stuck
+    if (databaseTester != null) {
+      databaseTester.onTearDown();
+    }
     if (connection != null) {
       connection.close();
     }
-    session.stop();
+    if (session != null) {
+      session.stop();
+    }
   }
 
   public DatabaseSession getSession() {