From 908180be8627168a51a47199e37d262bf71a81bd Mon Sep 17 00:00:00 2001 From: Zorglube Date: Thu, 7 Jul 2022 15:08:46 +0200 Subject: [PATCH] @nvoxland review --- .../database/AbstractJdbcDatabaseTest.java | 25 +++--- .../core/AbstractDb2DatabaseTest.java | 21 ++--- .../database/core/DB2DatabaseTest.java | 17 ++-- .../database/core/DB2zDatabaseTest.java | 17 ++-- .../database/core/DerbyDatabaseTest.java | 86 +++++++++---------- .../database/core/MSSQLDatabaseTest.java | 43 +++++----- .../database/core/MySQLDatabaseTest.java | 27 +++--- .../database/core/OracleDatabaseTest.java | 48 +++++------ .../database/core/PostgresDatabaseTest.java | 20 ++--- .../core/UnsupportedDatabaseTest.java | 20 ++--- 10 files changed, 154 insertions(+), 170 deletions(-) diff --git a/liquibase-core/src/test/java/liquibase/database/AbstractJdbcDatabaseTest.java b/liquibase-core/src/test/java/liquibase/database/AbstractJdbcDatabaseTest.java index da4f96d13b7..bb9c5e1fb6e 100644 --- a/liquibase-core/src/test/java/liquibase/database/AbstractJdbcDatabaseTest.java +++ b/liquibase-core/src/test/java/liquibase/database/AbstractJdbcDatabaseTest.java @@ -1,7 +1,14 @@ package liquibase.database; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import java.util.ArrayList; +import java.util.List; +import org.junit.Test; import liquibase.Scope; import liquibase.change.core.CreateTableChange; +import liquibase.exception.DatabaseException; import liquibase.executor.ExecutorService; import liquibase.sdk.executor.MockExecutor; import liquibase.sql.visitor.AppendSqlVisitor; @@ -9,14 +16,6 @@ import liquibase.statement.SqlStatement; import liquibase.statement.core.DropTableStatement; import liquibase.structure.core.Table; -import org.junit.Test; - -import java.util.ArrayList; -import java.util.List; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertFalse; /** * Base test class for database-specific tests @@ -88,14 +87,14 @@ public void defaultsWorkWithoutAConnection() { // } @Test - public void escapeTableName_noSchema() { - Database database = getDatabase(); + public void escapeTableName_noSchema() throws DatabaseException { + final Database database = getDatabase(); assertEquals("tableName", database.escapeTableName(null, null, "tableName")); } @Test - public void escapeTableName_withSchema() { - Database database = getDatabase(); + public void escapeTableName_withSchema() throws DatabaseException { + final Database database = getDatabase(); if (database.supportsCatalogInObjectName(Table.class)) { assertEquals("catalogName.schemaName.tableName", database.escapeTableName("catalogName", "schemaName", "tableName")); } else { @@ -283,7 +282,7 @@ public void test_escapeObjectName() { assertTrue(tableName.matches("[\\[\\\"`]?My Table [\\]\\\"`]?")); tableName = database.escapeObjectName("MyTable", Table.class); - assertTrue(tableName.equals("MyTable")); + assertEquals("MyTable", tableName); tableName = database.escapeObjectName("My Table", Table.class); assertTrue(tableName.matches("[\\[\\\"`]?My Table[\\]\\\"`]?")); diff --git a/liquibase-core/src/test/java/liquibase/database/core/AbstractDb2DatabaseTest.java b/liquibase-core/src/test/java/liquibase/database/core/AbstractDb2DatabaseTest.java index 40c287c94e9..e7248a67e8e 100644 --- a/liquibase-core/src/test/java/liquibase/database/core/AbstractDb2DatabaseTest.java +++ b/liquibase-core/src/test/java/liquibase/database/core/AbstractDb2DatabaseTest.java @@ -4,15 +4,16 @@ import liquibase.exception.DatabaseException; public class AbstractDb2DatabaseTest extends TestCase { - public void testGetDateLiteral() { - try (AbstractDb2Database database = new DB2Database()) { - assertEquals("DATE('2018-12-31')", database.getDateLiteral("2018-12-31")); - assertEquals("TIME('23:58:59')", database.getDateLiteral("23:58:59")); - assertEquals("TIMESTAMP('2018-12-31 23:58:59')", database.getDateLiteral("2018-12-31 23:58:59")); - assertEquals("UNSUPPORTED:foo", database.getDateLiteral("foo")); - } catch (DatabaseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + + public void testGetDateLiteral() throws DatabaseException { + try (AbstractDb2Database database = new DB2Database()) { + assertEquals("DATE('2018-12-31')", database.getDateLiteral("2018-12-31")); + assertEquals("TIME('23:58:59')", database.getDateLiteral("23:58:59")); + assertEquals("TIMESTAMP('2018-12-31 23:58:59')", database.getDateLiteral("2018-12-31 23:58:59")); + assertEquals("UNSUPPORTED:foo", database.getDateLiteral("foo")); + } catch (final DatabaseException e) { + throw e; } + } + } diff --git a/liquibase-core/src/test/java/liquibase/database/core/DB2DatabaseTest.java b/liquibase-core/src/test/java/liquibase/database/core/DB2DatabaseTest.java index 4c7429524d8..9b5d84531c3 100644 --- a/liquibase-core/src/test/java/liquibase/database/core/DB2DatabaseTest.java +++ b/liquibase-core/src/test/java/liquibase/database/core/DB2DatabaseTest.java @@ -5,16 +5,15 @@ import liquibase.exception.DatabaseException; public class DB2DatabaseTest extends TestCase { - public void testGetDefaultDriver() { - try (Database database = new DB2Database()) { - assertEquals("com.ibm.db2.jcc.DB2Driver", database.getDefaultDriver("jdbc:db2://localhost:50000/liquibas")); - assertNull(database.getDefaultDriver("jdbc:oracle://localhost;databaseName=liquibase")); - } catch (DatabaseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } + public void testGetDefaultDriver() throws DatabaseException { + try (Database database = new DB2Database()) { + assertEquals("com.ibm.db2.jcc.DB2Driver", database.getDefaultDriver("jdbc:db2://localhost:50000/liquibas")); + assertNull(database.getDefaultDriver("jdbc:oracle://localhost;databaseName=liquibase")); + } catch (final DatabaseException e) { + throw e; + } + } } diff --git a/liquibase-core/src/test/java/liquibase/database/core/DB2zDatabaseTest.java b/liquibase-core/src/test/java/liquibase/database/core/DB2zDatabaseTest.java index 9d19a6255b8..5c883eedd6e 100644 --- a/liquibase-core/src/test/java/liquibase/database/core/DB2zDatabaseTest.java +++ b/liquibase-core/src/test/java/liquibase/database/core/DB2zDatabaseTest.java @@ -5,16 +5,15 @@ import liquibase.exception.DatabaseException; public class DB2zDatabaseTest extends TestCase { - public void testGetDefaultDriver() { - try (Database database = new Db2zDatabase()) { - assertEquals("com.ibm.db2.jcc.DB2Driver", database.getDefaultDriver("jdbc:db2://localhost:50000/liquibas")); - assertNull(database.getDefaultDriver("jdbc:oracle://localhost;databaseName=liquibase")); - } catch (DatabaseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } + public void testGetDefaultDriver() throws DatabaseException { + try (Database database = new Db2zDatabase()) { + assertEquals("com.ibm.db2.jcc.DB2Driver", database.getDefaultDriver("jdbc:db2://localhost:50000/liquibas")); + assertNull(database.getDefaultDriver("jdbc:oracle://localhost;databaseName=liquibase")); + } catch (final DatabaseException e) { + throw e; + } + } } diff --git a/liquibase-core/src/test/java/liquibase/database/core/DerbyDatabaseTest.java b/liquibase-core/src/test/java/liquibase/database/core/DerbyDatabaseTest.java index 9285cc55e22..043dc4f3df0 100644 --- a/liquibase-core/src/test/java/liquibase/database/core/DerbyDatabaseTest.java +++ b/liquibase-core/src/test/java/liquibase/database/core/DerbyDatabaseTest.java @@ -17,59 +17,59 @@ import liquibase.exception.DatabaseException; public class DerbyDatabaseTest extends TestCase { - public void testGetDefaultDriver() { - try (Database database = new DerbyDatabase()) { - assertEquals("org.apache.derby.jdbc.EmbeddedDriver", database.getDefaultDriver("java:derby:liquibase;create=true")); - assertNull(database.getDefaultDriver("jdbc:oracle://localhost;databaseName=liquibase")); - } catch (DatabaseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } + public void testGetDefaultDriver() throws DatabaseException { + try (Database database = new DerbyDatabase()) { + assertEquals("org.apache.derby.jdbc.EmbeddedDriver", database.getDefaultDriver("java:derby:liquibase;create=true")); - public void testGetDateLiteral() { - assertEquals("TIMESTAMP('2008-01-25 13:57:41')", new DerbyDatabase().getDateLiteral("2008-01-25 13:57:41")); - assertEquals("TIMESTAMP('2008-01-25 13:57:41.300000')", new DerbyDatabase().getDateLiteral("2008-01-25 13:57:41.3")); - assertEquals("TIMESTAMP('2008-01-25 13:57:41.340000')", new DerbyDatabase().getDateLiteral("2008-01-25 13:57:41.34")); - assertEquals("TIMESTAMP('2008-01-25 13:57:41.347000')", new DerbyDatabase().getDateLiteral("2008-01-25 13:57:41.347")); + assertNull(database.getDefaultDriver("jdbc:oracle://localhost;databaseName=liquibase")); + } catch (final DatabaseException e) { + throw e; } + } - public void testCloseShutsEmbeddedDerbyDown() throws Exception { - Connection con = mockConnection(); - DerbyDatabase database = spyDatabase(con); + public void testGetDateLiteral() { + assertEquals("TIMESTAMP('2008-01-25 13:57:41')", new DerbyDatabase().getDateLiteral("2008-01-25 13:57:41")); + assertEquals("TIMESTAMP('2008-01-25 13:57:41.300000')", new DerbyDatabase().getDateLiteral("2008-01-25 13:57:41.3")); + assertEquals("TIMESTAMP('2008-01-25 13:57:41.340000')", new DerbyDatabase().getDateLiteral("2008-01-25 13:57:41.34")); + assertEquals("TIMESTAMP('2008-01-25 13:57:41.347000')", new DerbyDatabase().getDateLiteral("2008-01-25 13:57:41.347")); + } - database.close(); + public void testCloseShutsEmbeddedDerbyDown() throws Exception { + Connection con = mockConnection(); + DerbyDatabase database = spyDatabase(con); - verify(database).shutdownDerby(anyString(), anyString()); - verify(con).close(); - } + database.close(); - public void testCloseDoesNotShutEmbeddedDerbyDown() throws Exception { - Connection con = mockConnection(); - DerbyDatabase database = spyDatabase(con); - database.setShutdownEmbeddedDerby(false); + verify(database).shutdownDerby(anyString(), anyString()); + verify(con).close(); + } - database.close(); + public void testCloseDoesNotShutEmbeddedDerbyDown() throws Exception { + Connection con = mockConnection(); + DerbyDatabase database = spyDatabase(con); + database.setShutdownEmbeddedDerby(false); - verify(database, never()).shutdownDerby(anyString(), anyString()); - verify(con).close(); - } + database.close(); - private static DerbyDatabase spyDatabase(Connection con) throws DatabaseException { - DerbyDatabase database = spy(new DerbyDatabase()); - doNothing().when(database).shutdownDerby(anyString(), anyString()); - database.setConnection(new JdbcConnection(con)); - return database; - } + verify(database, never()).shutdownDerby(anyString(), anyString()); + verify(con).close(); + } - private static Connection mockConnection() throws SQLException { - Connection con = mock(Connection.class); - DatabaseMetaData metaData = mock(DatabaseMetaData.class, RETURNS_SMART_NULLS); - when(metaData.getURL()).thenReturn("jdbc:derby:memory:foo"); - when(metaData.getDriverName()).thenReturn("org.apache.derby.jdbc.EmbeddedDriver"); - when(con.getMetaData()).thenReturn(metaData); - return con; - } + private static DerbyDatabase spyDatabase(Connection con) throws DatabaseException { + DerbyDatabase database = spy(new DerbyDatabase()); + doNothing().when(database).shutdownDerby(anyString(), anyString()); + database.setConnection(new JdbcConnection(con)); + return database; + } + + private static Connection mockConnection() throws SQLException { + Connection con = mock(Connection.class); + DatabaseMetaData metaData = mock(DatabaseMetaData.class, RETURNS_SMART_NULLS); + when(metaData.getURL()).thenReturn("jdbc:derby:memory:foo"); + when(metaData.getDriverName()).thenReturn("org.apache.derby.jdbc.EmbeddedDriver"); + when(con.getMetaData()).thenReturn(metaData); + return con; + } } diff --git a/liquibase-core/src/test/java/liquibase/database/core/MSSQLDatabaseTest.java b/liquibase-core/src/test/java/liquibase/database/core/MSSQLDatabaseTest.java index c68a9ea8083..cf1a0f91925 100644 --- a/liquibase-core/src/test/java/liquibase/database/core/MSSQLDatabaseTest.java +++ b/liquibase-core/src/test/java/liquibase/database/core/MSSQLDatabaseTest.java @@ -24,7 +24,6 @@ protected String getProductNameString() { return "Microsoft SQL Server"; } - @Override @Test public void supportsInitiallyDeferrableColumns() { @@ -38,40 +37,38 @@ public void getCurrentDateTimeFunction() { } @Test - public void getDefaultDriver() { + public void getDefaultDriver() throws DatabaseException { try (Database database = new MSSQLDatabase()) { - assertEquals("com.microsoft.sqlserver.jdbc.SQLServerDriver", database.getDefaultDriver("jdbc:sqlserver://localhost;databaseName=liquibase")); - - assertNull(database.getDefaultDriver("jdbc:oracle:thin://localhost;databaseName=liquibase")); - } catch (DatabaseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + assertEquals("com.microsoft.sqlserver.jdbc.SQLServerDriver", database.getDefaultDriver("jdbc:sqlserver://localhost;databaseName=liquibase")); + + assertNull(database.getDefaultDriver("jdbc:oracle:thin://localhost;databaseName=liquibase")); + } catch (final DatabaseException e) { + throw e; } } @Override @Test - public void escapeTableName_noSchema() { + public void escapeTableName_noSchema() throws DatabaseException { try (Database database = new MSSQLDatabase()) { - assertEquals("tableName", database.escapeTableName(null, null, "tableName")); - assertEquals("[tableName€]", database.escapeTableName(null, null, "tableName€")); - } catch (DatabaseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + assertEquals("tableName", database.escapeTableName(null, null, "tableName")); + assertEquals("[tableName€]", database.escapeTableName(null, null, "tableName€")); + } catch (final DatabaseException e) { + throw e; } } @Override @Test - public void escapeTableName_withSchema() { + public void escapeTableName_withSchema() throws DatabaseException { try (Database database = new MSSQLDatabase()) { - assertEquals("catalogName.schemaName.tableName", database.escapeTableName("catalogName", "schemaName", "tableName")); - assertEquals("[catalogName€].[schemaName€].[tableName€]", database.escapeTableName("catalogName€", "schemaName€", "tableName€")); - } catch (DatabaseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + assertEquals("catalogName.schemaName.tableName", database.escapeTableName("catalogName", "schemaName", "tableName")); + assertEquals("[catalogName€].[schemaName€].[tableName€]", database.escapeTableName("catalogName€", "schemaName€", "tableName€")); + } catch (final DatabaseException e) { + throw e; } } + private Database createOfflineDatabase(String url) throws Exception { return DatabaseFactory.getInstance().openDatabase(url, null, null, null, null); } @@ -81,15 +78,15 @@ public void setDefaultSchemaName() throws Exception { // // No exception should be thrown by call to setDefaultSchemaName // - Database database = createOfflineDatabase("offline:mssql"); + final Database database = createOfflineDatabase("offline:mssql"); database.setDefaultSchemaName("MySchema"); } @Test public void isUnmodifiable() throws Exception { - Database database = createOfflineDatabase("offline:mssql"); + final Database database = createOfflineDatabase("offline:mssql"); assertTrue(database instanceof MSSQLDatabase); - MSSQLDatabase mssqlDatabase = (MSSQLDatabase)database; + final MSSQLDatabase mssqlDatabase = (MSSQLDatabase) database; assertTrue(mssqlDatabase.dataTypeIsNotModifiable("datetime")); } diff --git a/liquibase-core/src/test/java/liquibase/database/core/MySQLDatabaseTest.java b/liquibase-core/src/test/java/liquibase/database/core/MySQLDatabaseTest.java index 2f5979fb5fc..467c03917a1 100644 --- a/liquibase-core/src/test/java/liquibase/database/core/MySQLDatabaseTest.java +++ b/liquibase-core/src/test/java/liquibase/database/core/MySQLDatabaseTest.java @@ -21,7 +21,7 @@ public MySQLDatabaseTest() throws Exception { @Override protected String getProductNameString() { - return "MySQL"; + return "MySQL"; } @Override @@ -30,8 +30,6 @@ public void supportsInitiallyDeferrableColumns() { assertFalse(getDatabase().supportsInitiallyDeferrableColumns()); } - - @Override @Test public void getCurrentDateTimeFunction() { @@ -40,7 +38,7 @@ public void getCurrentDateTimeFunction() { @Test public void getCurrentDateTimeFunctionWithPrecision() { - MySQLDatabase mySQLDatabase = (MySQLDatabase) getDatabase(); + final MySQLDatabase mySQLDatabase = (MySQLDatabase) getDatabase(); Assert.assertEquals("NOW(1)", mySQLDatabase.getCurrentDateTimeFunction(1)); Assert.assertEquals("NOW(2)", mySQLDatabase.getCurrentDateTimeFunction(2)); Assert.assertEquals("NOW(5)", mySQLDatabase.getCurrentDateTimeFunction(5)); @@ -48,46 +46,45 @@ public void getCurrentDateTimeFunctionWithPrecision() { @Test public void generateDatabaseFunctionValue() { - MySQLDatabase mySQLDatabase = (MySQLDatabase) getDatabase(); + final MySQLDatabase mySQLDatabase = (MySQLDatabase) getDatabase(); assertEquals("NOW()", mySQLDatabase.generateDatabaseFunctionValue(new DatabaseFunction("CURRENT_TIMESTAMP()"))); assertNull(mySQLDatabase.generateDatabaseFunctionValue(new DatabaseFunction(null))); } @Test public void generateDatabaseFunctionValueWithPrecision() { - MySQLDatabase mySQLDatabase = (MySQLDatabase) getDatabase(); + final MySQLDatabase mySQLDatabase = (MySQLDatabase) getDatabase(); assertEquals("NOW(2)", mySQLDatabase.generateDatabaseFunctionValue(new DatabaseFunction("CURRENT_TIMESTAMP(2)"))); assertEquals("NOW(3)", mySQLDatabase.generateDatabaseFunctionValue(new DatabaseFunction("CURRENT_TIMESTAMP(3)"))); } @Test public void generateDatabaseFunctionValueWithIncorrectPrecision() { - MySQLDatabase mySQLDatabase = (MySQLDatabase) getDatabase(); + final MySQLDatabase mySQLDatabase = (MySQLDatabase) getDatabase(); assertEquals("NOW()", mySQLDatabase.generateDatabaseFunctionValue(new DatabaseFunction("CURRENT_TIMESTAMP(string)"))); } - public void testGetDefaultDriver() { + public void testGetDefaultDriver() throws DatabaseException { try (Database database = new MySQLDatabase()) { - assertEquals("com.mysql.cj.jdbc.Driver", database.getDefaultDriver("jdbc:mysql://localhost/liquibase")); + assertEquals("com.mysql.cj.jdbc.Driver", database.getDefaultDriver("jdbc:mysql://localhost/liquibase")); - assertNull(database.getDefaultDriver("jdbc:db2://localhost;databaseName=liquibase")); - } catch (DatabaseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + assertNull(database.getDefaultDriver("jdbc:db2://localhost;databaseName=liquibase")); + } catch (final DatabaseException e) { + throw e; } } @Override @Test public void escapeTableName_noSchema() { - Database database = getDatabase(); + final Database database = getDatabase(); assertEquals("tableName", database.escapeTableName(null, null, "tableName")); } @Override @Test public void escapeTableName_withSchema() { - Database database = getDatabase(); + final Database database = getDatabase(); assertEquals("catalogName.tableName", database.escapeTableName("catalogName", "schemaName", "tableName")); } diff --git a/liquibase-core/src/test/java/liquibase/database/core/OracleDatabaseTest.java b/liquibase-core/src/test/java/liquibase/database/core/OracleDatabaseTest.java index cbe9cef134d..655366e6dd5 100644 --- a/liquibase-core/src/test/java/liquibase/database/core/OracleDatabaseTest.java +++ b/liquibase-core/src/test/java/liquibase/database/core/OracleDatabaseTest.java @@ -47,75 +47,67 @@ protected String getProductNameString() { @Override @Test public void escapeTableName_noSchema() { - Database database = getDatabase(); - assertEquals("table name without schema is correctly escaped as simply tableName", - "tableName", database.escapeTableName(null, null, "tableName")); + final Database database = getDatabase(); + assertEquals("table name without schema is correctly escaped as simply tableName", "tableName", database.escapeTableName(null, null, "tableName")); } @Test public void saveNlsEnvironment() throws Exception { - Database database = getDatabase(); - ResourceAccessor junitResourceAccessor = new JUnitResourceAccessor(); - OfflineConnection offlineConnection = new OfflineConnection("offline:oracle", junitResourceAccessor); + final Database database = getDatabase(); + final ResourceAccessor junitResourceAccessor = new JUnitResourceAccessor(); + final OfflineConnection offlineConnection = new OfflineConnection("offline:oracle", junitResourceAccessor); database.setConnection(offlineConnection); } @Override @Test public void escapeTableName_withSchema() { - Database database = getDatabase(); - assertEquals("table name without schema but with catalog is correctly escaped as catalogName.tableName", - "catalogName.tableName", database.escapeTableName("catalogName", "schemaName", "tableName")); + final Database database = getDatabase(); + assertEquals("table name without schema but with catalog is correctly escaped as catalogName.tableName", "catalogName.tableName", database.escapeTableName("catalogName", "schemaName", "tableName")); } @Override @Test public void supportsInitiallyDeferrableColumns() { - assertTrue("Oracle Database is correctly reported as being able to do INITIALLY DEFERRED column constraints.", - getDatabase().supportsInitiallyDeferrableColumns()); + assertTrue("Oracle Database is correctly reported as being able to do INITIALLY DEFERRED column constraints.", getDatabase().supportsInitiallyDeferrableColumns()); } - @Override @Test public void getCurrentDateTimeFunction() { - Assert.assertEquals("Oracle Database's 'give me the current timestamp' function is correctly reported.", - "SYSTIMESTAMP", getDatabase().getCurrentDateTimeFunction()); + Assert.assertEquals("Oracle Database's 'give me the current timestamp' function is correctly reported.", "SYSTIMESTAMP", getDatabase().getCurrentDateTimeFunction()); } @Test public void verifyTimestampDataTypeWhenWithoutClauseIsPresent() { - TimestampType ts = new TimestampType(); + final TimestampType ts = new TimestampType(); ts.setAdditionalInformation("WITHOUT TIME ZONE"); - DatabaseDataType oracleDataType = ts.toDatabaseDataType(getDatabase()); + final DatabaseDataType oracleDataType = ts.toDatabaseDataType(getDatabase()); assertThat(oracleDataType.getType(), CoreMatchers.is("TIMESTAMP")); } - public void testGetDefaultDriver() { + public void testGetDefaultDriver() throws DatabaseException { try (Database database = new OracleDatabase()) { - assertEquals("The correct JDBC driver class name is reported if the URL is a Oracle JDBC URL", - "oracle.jdbc.OracleDriver", database.getDefaultDriver("jdbc:oracle:thin:@localhost/XE")); - - assertNull("No JDBC driver class is returned if the URL is NOT an Oracle Database JDBC URL.", - database.getDefaultDriver("jdbc:db2://localhost;databaseName=liquibase")); - } catch (DatabaseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + assertEquals("The correct JDBC driver class name is reported if the URL is a Oracle JDBC URL", "oracle.jdbc.OracleDriver", database.getDefaultDriver("jdbc:oracle:thin:@localhost/XE")); + + assertNull("No JDBC driver class is returned if the URL is NOT an Oracle Database JDBC URL.", database.getDefaultDriver("jdbc:db2://localhost;databaseName=liquibase")); + } catch (final DatabaseException e) { + throw e; } } @Test public void validateCore2953WrongSqlOnValueSequenceNext() throws LiquibaseException { - Database database = getDatabase(); + final Database database = getDatabase(); database.setObjectQuotingStrategy(ObjectQuotingStrategy.QUOTE_ALL_OBJECTS); database.setDefaultSchemaName("sampleschema"); - MockExecutor mockExecutor = new MockExecutor(); + final MockExecutor mockExecutor = new MockExecutor(); mockExecutor.setDatabase(database); Scope.getCurrentScope().getSingleton(ExecutorService.class).setExecutor("jdbc", database, mockExecutor); - UpdateStatement updateStatement = new UpdateStatement(null, null, "test_table"); + final UpdateStatement updateStatement = new UpdateStatement(null, null, "test_table"); updateStatement.addNewColumnValue("id", new SequenceNextValueFunction("test_table_id_seq")); database.execute(new SqlStatement[]{updateStatement}, new ArrayList()); diff --git a/liquibase-core/src/test/java/liquibase/database/core/PostgresDatabaseTest.java b/liquibase-core/src/test/java/liquibase/database/core/PostgresDatabaseTest.java index 45881ea2175..a0e18536b5d 100644 --- a/liquibase-core/src/test/java/liquibase/database/core/PostgresDatabaseTest.java +++ b/liquibase-core/src/test/java/liquibase/database/core/PostgresDatabaseTest.java @@ -1,5 +1,10 @@ package liquibase.database.core; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import org.junit.Assert; +import org.junit.Test; import liquibase.GlobalConfiguration; import liquibase.changelog.column.LiquibaseColumn; import liquibase.database.AbstractJdbcDatabaseTest; @@ -8,10 +13,6 @@ import liquibase.exception.DatabaseException; import liquibase.structure.core.Table; import liquibase.util.StringUtil; -import org.junit.Assert; -import org.junit.Test; - -import static org.junit.Assert.*; /** * Tests for {@link PostgresDatabase} @@ -50,14 +51,13 @@ public void testCheckDatabaseChangeLogTable() throws Exception { ; //TODO: test has troubles, fix later } - public void testGetDefaultDriver() { + public void testGetDefaultDriver() throws DatabaseException { try (Database database = new PostgresDatabase()) { - assertEquals("org.postgresql.Driver", database.getDefaultDriver("jdbc:postgresql://localhost/liquibase")); + assertEquals("org.postgresql.Driver", database.getDefaultDriver("jdbc:postgresql://localhost/liquibase")); - assertNull(database.getDefaultDriver("jdbc:db2://localhost;databaseName=liquibase")); - } catch (DatabaseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + assertNull(database.getDefaultDriver("jdbc:db2://localhost;databaseName=liquibase")); + } catch (final DatabaseException e) { + throw e; } } diff --git a/liquibase-core/src/test/java/liquibase/database/core/UnsupportedDatabaseTest.java b/liquibase-core/src/test/java/liquibase/database/core/UnsupportedDatabaseTest.java index 2ab897b0ef0..eb0bb10ae39 100644 --- a/liquibase-core/src/test/java/liquibase/database/core/UnsupportedDatabaseTest.java +++ b/liquibase-core/src/test/java/liquibase/database/core/UnsupportedDatabaseTest.java @@ -5,17 +5,17 @@ import liquibase.exception.DatabaseException; public class UnsupportedDatabaseTest extends TestCase { - public void testGetDefaultDriver() { + + public void testGetDefaultDriver() throws DatabaseException { try (Database database = new UnsupportedDatabase()) { - assertNull(database.getDefaultDriver("jdbc:oracle://localhost;databaseName=liquibase")); - assertNull(database.getDefaultDriver("jdbc:db2://localhost;databaseName=liquibase")); - assertNull(database.getDefaultDriver("jdbc:hsqldb://localhost;databaseName=liquibase")); - assertNull(database.getDefaultDriver("jdbc:derby://localhost;databaseName=liquibase")); - assertNull(database.getDefaultDriver("jdbc:sqlserver://localhost;databaseName=liquibase")); - assertNull(database.getDefaultDriver("jdbc:postgresql://localhost;databaseName=liquibase")); - } catch (DatabaseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + assertNull(database.getDefaultDriver("jdbc:oracle://localhost;databaseName=liquibase")); + assertNull(database.getDefaultDriver("jdbc:db2://localhost;databaseName=liquibase")); + assertNull(database.getDefaultDriver("jdbc:hsqldb://localhost;databaseName=liquibase")); + assertNull(database.getDefaultDriver("jdbc:derby://localhost;databaseName=liquibase")); + assertNull(database.getDefaultDriver("jdbc:sqlserver://localhost;databaseName=liquibase")); + assertNull(database.getDefaultDriver("jdbc:postgresql://localhost;databaseName=liquibase")); + } catch (final DatabaseException e) { + throw e; } }