From: Stephane Gamard Date: Wed, 18 Jun 2014 14:10:07 +0000 (+0200) Subject: SONAR-5329 - Fixing Test isolation X-Git-Tag: 4.4-RC1~350 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e887723ebc5c02fc657dff3d33f77e922fca49f3;p=sonarqube.git SONAR-5329 - Fixing Test isolation --- diff --git a/sonar-server/src/main/java/org/sonar/server/component/persistence/ComponentDao.java b/sonar-server/src/main/java/org/sonar/server/component/persistence/ComponentDao.java index cf64e3f423b..d6618173c35 100644 --- a/sonar-server/src/main/java/org/sonar/server/component/persistence/ComponentDao.java +++ b/sonar-server/src/main/java/org/sonar/server/component/persistence/ComponentDao.java @@ -29,6 +29,8 @@ import org.sonar.core.persistence.DaoComponent; import org.sonar.core.persistence.DbSession; import org.sonar.server.db.BaseDao; +import java.util.Date; + /** * @since 4.3 */ @@ -77,7 +79,7 @@ public class ComponentDao extends BaseDao } @Override - public void synchronizeAfter(DbSession session, long timestamp) { + public void synchronizeAfter(DbSession session, Date timestamp) { throw notImplemented(); } diff --git a/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ChangeLogMigration.java b/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ChangeLogMigration.java index 395d504daea..96806962324 100644 --- a/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ChangeLogMigration.java +++ b/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ChangeLogMigration.java @@ -19,6 +19,7 @@ */ package org.sonar.server.db.migrations.v44; +import org.apache.commons.dbutils.DbUtils; import org.apache.commons.lang.StringUtils; import org.sonar.api.rule.RuleKey; import org.sonar.core.activity.Activity; @@ -135,17 +136,21 @@ public class ChangeLogMigration implements DatabaseMigration { @Override public void execute() { - this.session = db.openSession(false); - executeUpsert(ActiveRuleChange.Type.ACTIVATED, allActivation); - executeUpsert(ActiveRuleChange.Type.UPDATED, allUpdates); - executeUpsert(ActiveRuleChange.Type.DEACTIVATED, allDeactivation); - session.commit(); - session.close(); + try { + this.session = db.openSession(false); + executeUpsert(ActiveRuleChange.Type.ACTIVATED, allActivation); + executeUpsert(ActiveRuleChange.Type.UPDATED, allUpdates); + executeUpsert(ActiveRuleChange.Type.DEACTIVATED, allDeactivation); + session.commit(); + } finally { + session.close(); + } } private void executeUpsert(ActiveRuleChange.Type type, String sql) { + Connection connection = null; try { - Connection connection = db.database().getDataSource().getConnection(); + connection = db.database().getDataSource().getConnection(); ResultSet result = connection.createStatement().executeQuery(sql); //startCase @@ -172,6 +177,8 @@ public class ChangeLogMigration implements DatabaseMigration { } catch (Exception e) { e.printStackTrace(); + } finally { + DbUtils.closeQuietly(connection); } } diff --git a/sonar-server/src/test/java/org/sonar/server/component/persistence/ComponentDaoTest.java b/sonar-server/src/test/java/org/sonar/server/component/persistence/ComponentDaoTest.java index e05ac4ca6b0..4d794a8c9ad 100644 --- a/sonar-server/src/test/java/org/sonar/server/component/persistence/ComponentDaoTest.java +++ b/sonar-server/src/test/java/org/sonar/server/component/persistence/ComponentDaoTest.java @@ -28,6 +28,8 @@ import org.sonar.core.component.ComponentDto; import org.sonar.core.persistence.AbstractDaoTestCase; import org.sonar.core.persistence.DbSession; +import java.util.Date; + import static org.fest.assertions.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -146,6 +148,6 @@ public class ComponentDaoTest extends AbstractDaoTestCase { @Test(expected = IllegalStateException.class) public void synchronize_after() { - dao.synchronizeAfter(session, 1L); + dao.synchronizeAfter(session, new Date(0L)); } }