This is an automated email from the git hooks/post-receive script. New commit to branch feature/2892 in repository topia. See http://git.nuiton.org/topia.git commit b70dfa1fac85cc08849302d33789e0ed58be28b8 Author: Arnaud Thimel <thimel@codelutin.com> Date: Wed Dec 17 14:05:22 2014 +0100 Fix build of topia migration service --- .../topia/persistence/jdbc/JdbcH2Helper.java | 2 - .../topia/migration/TopiaMigrationEngineTest.java | 118 ++++++--------------- 2 files changed, 32 insertions(+), 88 deletions(-) diff --git a/topia-persistence/src/main/java/org/nuiton/topia/persistence/jdbc/JdbcH2Helper.java b/topia-persistence/src/main/java/org/nuiton/topia/persistence/jdbc/JdbcH2Helper.java index 8b5c875..1eabbe6 100644 --- a/topia-persistence/src/main/java/org/nuiton/topia/persistence/jdbc/JdbcH2Helper.java +++ b/topia-persistence/src/main/java/org/nuiton/topia/persistence/jdbc/JdbcH2Helper.java @@ -16,8 +16,6 @@ public class JdbcH2Helper extends JdbcHelper { try { connection = openConnection(); resultSet = connection.getMetaData().getTables(null, null, tableName, null); -// resultSet = connection.getMetaData().getTables(null, null, tableName.toUpperCase(), null); -// resultSet = connection.getMetaData().getTables(null, null, null, null); boolean result = resultSet.next(); return result; } catch (SQLException e) { diff --git a/topia-service-migration/src/test/java/org/nuiton/topia/migration/TopiaMigrationEngineTest.java b/topia-service-migration/src/test/java/org/nuiton/topia/migration/TopiaMigrationEngineTest.java index 38286c4..3b7f414 100644 --- a/topia-service-migration/src/test/java/org/nuiton/topia/migration/TopiaMigrationEngineTest.java +++ b/topia-service-migration/src/test/java/org/nuiton/topia/migration/TopiaMigrationEngineTest.java @@ -25,18 +25,13 @@ package org.nuiton.topia.migration; */ import com.google.common.collect.ImmutableMap; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.hibernate.HibernateException; import org.junit.Assert; -import org.junit.Rule; import org.junit.Test; import org.nuiton.topia.it.TopiaSchemaHelper; import org.nuiton.topia.it.mapping.TopiaItMappingTopiaApplicationContext; import org.nuiton.topia.it.mapping.TopiaItMappingTopiaPersistenceContext; -import org.nuiton.topia.junit.AbstractDatabaseResource; import org.nuiton.topia.persistence.BeanTopiaConfiguration; -import org.nuiton.topia.persistence.TopiaConfiguration; import org.nuiton.topia.persistence.TopiaConfigurationBuilder; import org.nuiton.topia.persistence.jdbc.JdbcConfiguration; import org.nuiton.topia.persistence.jdbc.JdbcH2Helper; @@ -47,19 +42,6 @@ import org.nuiton.topia.persistence.jdbc.JdbcHelper; */ public class TopiaMigrationEngineTest { - private static final Log log = LogFactory.getLog(TopiaMigrationEngineTest.class); - - @Rule - public final AbstractDatabaseResource<TopiaItMappingTopiaPersistenceContext, TopiaItMappingTopiaApplicationContext> db = - new AbstractDatabaseResource<TopiaItMappingTopiaPersistenceContext, TopiaItMappingTopiaApplicationContext>() { - - @Override - protected TopiaItMappingTopiaApplicationContext createApplicationContext(TopiaConfiguration topiaConfiguration) { - TopiaSchemaHelper.createMappingDataBaseSchemas(topiaConfiguration); - return new TopiaItMappingTopiaApplicationContext(topiaConfiguration); - } - }; - /** * Tests if a given table exists. WARNING : this may not work is the tableName is not exactly the same. * @@ -81,68 +63,27 @@ public class TopiaMigrationEngineTest { return runSelectOnString(jdbcConfiguration, "SELECT VERSION FROM TMS_VERSION"); } -// @Test -// public void testTMSTableCreatedOnInit() throws Exception { -// -// File testSpecificDirectory = ConfigurationHelper.getTestSpecificDirectory(TopiaMigrationEngineTest.class, "testTMSTableCreatedOnInit"); -// -// String dbPath = new File(testSpecificDirectory, "db").getAbsolutePath(); -// if (log.isDebugEnabled()) { -// log.debug("dbPath = " + dbPath); -// } -// -// Map<String, String> config = Maps.newHashMap(); -// config.put(TopiaConfigurationConstants.CONFIG_DRIVER, Driver.class.getName()); -// config.put(TopiaConfigurationConstants.CONFIG_DIALECT, H2Dialect.class.getName()); -// config.put(TopiaConfigurationConstants.CONFIG_USER, "sa"); -// config.put(TopiaConfigurationConstants.CONFIG_PASS, ""); -// config.put(TopiaConfigurationConstants.CONFIG_URL, "jdbc:h2:file:" + dbPath); -// config.put(TopiaConfigurationConstants.CONFIG_HBM2DDL_AUTO, "validate"); -// config.put(TopiaConfigurationConstants.CONFIG_PERSISTENCE_INIT_SCHEMA, "true"); -// -// config.put("topia.service.migration", TopiaMigrationEngine.class.getName()); -// config.put("topia.service.migration.callback", TestMigrationCallbackCreateWhateverTable.class.getName()); -// -// Assert.assertFalse(isTableExist(config, "tms_version")); -// Assert.assertFalse(isTableExist(config, "a6")); -// -// TopiaSchemaHelper.createMappingDataBaseSchemas(config); -// -// // new application context will init database schema because of topia.persistence.initSchema=true -// TopiaItMappingTopiaApplicationContext applicationContext = new TopiaItMappingTopiaApplicationContext(config); -// -// Assert.assertTrue(isTableExist(config, "tms_version")); -// Assert.assertTrue(isTableExist(config, "a6")); -// -// applicationContext.close(); -// -// // Schema has been created, TMSVersion should contains the model's version -// String actual = readVersion(config); -// Assert.assertEquals(applicationContext.getModelVersion(), actual); -// -// } - @Test public void testMigrationHasRan() throws Exception { - TopiaItMappingTopiaApplicationContext applicationContext = db.getApplicationContext(); - BeanTopiaConfiguration config = TopiaConfigurationBuilder.copyOf(applicationContext.getConfiguration()); - - config.addDeclaredService("migration", TopiaMigrationEngine.class, ImmutableMap.of(TopiaMigrationService.MIGRATION_CALLBACK, TestMigrationCallbackCreateWhateverTable.class.getName())); + BeanTopiaConfiguration config = TopiaConfigurationBuilder.forTest(getClass(), "testMigrationHasRan"); + config.addDeclaredService("migration", TopiaMigrationEngine.class, + ImmutableMap.of(TopiaMigrationService.MIGRATION_CALLBACK, TestMigrationCallbackCreateWhateverTable.class.getName())); - //TopiaSchemaHelper.createMappingDataBaseSchemas(config); + // Create schemas for tables A.A and B.B + TopiaSchemaHelper.createMappingDataBaseSchemas(config); { // Create database - Assert.assertFalse(isTableExist(config, "tms_version")); - Assert.assertFalse(isTableExist(config, "a6")); + Assert.assertFalse(isTableExist(config, "TMS_VERSION")); + Assert.assertFalse(isTableExist(config, "A6")); // new application context will init database schema because of topia.persistence.initSchema=true - applicationContext = new TopiaItMappingTopiaApplicationContext(config); + TopiaItMappingTopiaApplicationContext applicationContext = new TopiaItMappingTopiaApplicationContext(config); - Assert.assertTrue(isTableExist(config, "tms_version")); - Assert.assertTrue(isTableExist(config, "a6")); - Assert.assertFalse(isTableExist(config, "puet")); // Created by the migration process + Assert.assertTrue(isTableExist(config, "TMS_VERSION")); + Assert.assertTrue(isTableExist(config, "A6")); + Assert.assertFalse(isTableExist(config, "PUET")); // Created by the migration process applicationContext.close(); @@ -159,16 +100,16 @@ public class TopiaMigrationEngineTest { { // start again context database - Assert.assertTrue(isTableExist(config, "tms_version")); - Assert.assertTrue(isTableExist(config, "a6")); - Assert.assertFalse(isTableExist(config, "whatever")); + Assert.assertTrue(isTableExist(config, "TMS_VERSION")); + Assert.assertTrue(isTableExist(config, "A6")); + Assert.assertFalse(isTableExist(config, "WHATEVER")); // new application context will init database schema because of topia.persistence.initSchema=true - applicationContext = new TopiaItMappingTopiaApplicationContext(config); + TopiaItMappingTopiaApplicationContext applicationContext = new TopiaItMappingTopiaApplicationContext(config); - Assert.assertTrue(isTableExist(config, "tms_version")); - Assert.assertTrue(isTableExist(config, "a6")); - Assert.assertTrue(isTableExist(config, "whatever")); // Created by the migration process + Assert.assertTrue(isTableExist(config, "TMS_VERSION")); + Assert.assertTrue(isTableExist(config, "A6")); + Assert.assertTrue(isTableExist(config, "WHATEVER")); // Created by the migration process applicationContext.close(); @@ -185,11 +126,15 @@ public class TopiaMigrationEngineTest { public void testValidateAfterMigration() throws Exception { // new application context will init database schema because of topia.persistence.initSchema=true - TopiaItMappingTopiaApplicationContext applicationContext = db.getApplicationContext(); - BeanTopiaConfiguration config = TopiaConfigurationBuilder.copyOf(applicationContext.getConfiguration()); + BeanTopiaConfiguration config = TopiaConfigurationBuilder.forTest(getClass(), "testValidateAfterMigration"); + + // Create schemas for tables A.A and B.B + TopiaSchemaHelper.createMappingDataBaseSchemas(config); - Assert.assertFalse(isTableExist(config, "tms_version")); - Assert.assertTrue(isTableExist(config, "a6")); + TopiaItMappingTopiaApplicationContext applicationContext = new TopiaItMappingTopiaApplicationContext(config); + + Assert.assertFalse(isTableExist(config, "TMS_VERSION")); + Assert.assertTrue(isTableExist(config, "A6")); applicationContext.close(); @@ -197,7 +142,8 @@ public class TopiaMigrationEngineTest { runUpdate(config, "ALTER TABLE B71 DROP COLUMN name"); // Declare some dummy migration service (does nothing) - config.addDeclaredService("migration", TopiaMigrationEngine.class, ImmutableMap.of(TopiaMigrationService.MIGRATION_CALLBACK, TestMigrationCallbackDoNothing.class.getName())); + config.addDeclaredService("migration", TopiaMigrationEngine.class, + ImmutableMap.of(TopiaMigrationService.MIGRATION_CALLBACK, TestMigrationCallbackDoNothing.class.getName())); { // Start again context, will fail because of validation @@ -210,7 +156,6 @@ public class TopiaMigrationEngineTest { Assert.assertEquals("1.0.5", actual); try { - TopiaItMappingTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext(); persistenceContext.close(); Assert.fail("Validation should have failed"); @@ -223,7 +168,8 @@ public class TopiaMigrationEngineTest { } // Declare the migration service - config.addDeclaredService("migration", TopiaMigrationEngine.class.getName(), ImmutableMap.of(TopiaMigrationService.MIGRATION_CALLBACK, TestMigrationCallbackAddB71NameColumn.class.getName())); + config.addDeclaredService("migration", TopiaMigrationEngine.class.getName(), + ImmutableMap.of(TopiaMigrationService.MIGRATION_CALLBACK, TestMigrationCallbackAddB71NameColumn.class.getName())); runUpdate(config, "UPDATE TMS_VERSION SET VERSION='1.0.4'"); Assert.assertEquals("1.0.4", readVersion(config)); @@ -233,8 +179,8 @@ public class TopiaMigrationEngineTest { // new application context will init database schema because of topia.persistence.initSchema=true applicationContext = new TopiaItMappingTopiaApplicationContext(config); - Assert.assertTrue(isTableExist(config, "tms_version")); - Assert.assertTrue(isTableExist(config, "a6")); + Assert.assertTrue(isTableExist(config, "TMS_VERSION")); + Assert.assertTrue(isTableExist(config, "A6")); applicationContext.close(); -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.