package liquibase.database.core; import liquibase.database.AbstractDatabaseTest; import liquibase.database.Database; import org.junit.Assert; import static org.junit.Assert.*; import org.junit.Test; /** * Tests for {@link MySQLDatabase} */ public class MySQLDatabaseTest extends AbstractDatabaseTest { public MySQLDatabaseTest() throws Exception { super(new MySQLDatabase()); } @Override protected String getProductNameString() { return "MySQL"; } @Override @Test public void supportsInitiallyDeferrableColumns() { assertFalse(getDatabase().supportsInitiallyDeferrableColumns()); } @Override @Test public void getCurrentDateTimeFunction() { Assert.assertEquals("NOW()", getDatabase().getCurrentDateTimeFunction()); } public void testGetDefaultDriver() { Database database = new MySQLDatabase(); assertEquals("com.mysql.jdbc.Driver", database.getDefaultDriver("jdbc:mysql://localhost/liquibase")); assertNull(database.getDefaultDriver("jdbc:db2://localhost;databaseName=liquibase")); } @Override @Test public void escapeTableName_noSchema() { Database database = getDatabase(); assertEquals("`tableName`", database.escapeTableName(null, "tableName")); } @Override @Test public void escapeTableName_withSchema() { Database database = getDatabase(); assertEquals("`schemaName`.`tableName`", database.escapeTableName("schemaName", "tableName")); } }