1 package liquibase.change.core; 2 3 import liquibase.change.AbstractChangeTest; 4 import liquibase.database.Database; 5 import liquibase.database.core.MockDatabase; 6 import liquibase.database.core.SQLiteDatabase; 7 import liquibase.statement.SqlStatement; 8 import liquibase.statement.core.DropPrimaryKeyStatement; 9 import static org.junit.Assert.*; 10 import org.junit.Test; 11 12 public class DropPrimaryKeyChangeTest extends AbstractChangeTest { 13 @Override 14 @Test 15 public void getRefactoringName() throws Exception { 16 assertEquals("Drop Primary Key", new DropPrimaryKeyChange().getChangeMetaData().getDescription()); 17 } 18 19 @Override 20 @Test 21 public void generateStatement() throws Exception { 22 DropPrimaryKeyChange change = new DropPrimaryKeyChange(); 23 change.setSchemaName("SCHEMA_NAME"); 24 change.setTableName("TABLE_NAME"); 25 change.setConstraintName("PK_NAME"); 26 27 SqlStatement[] sqlStatements = change.generateStatements(new MockDatabase()); 28 assertEquals(1, sqlStatements.length); 29 assertTrue(sqlStatements[0] instanceof DropPrimaryKeyStatement); 30 assertEquals("SCHEMA_NAME", ((DropPrimaryKeyStatement) sqlStatements[0]).getSchemaName()); 31 assertEquals("TABLE_NAME", ((DropPrimaryKeyStatement) sqlStatements[0]).getTableName()); 32 assertEquals("PK_NAME", ((DropPrimaryKeyStatement) sqlStatements[0]).getConstraintName()); 33 } 34 35 @Override 36 @Test 37 public void getConfirmationMessage() throws Exception { 38 DropPrimaryKeyChange change = new DropPrimaryKeyChange(); 39 change.setSchemaName("SCHEMA_NAME"); 40 change.setTableName("TABLE_NAME"); 41 change.setConstraintName("PK_NAME"); 42 assertEquals("Primary key dropped from TABLE_NAME", change.getConfirmationMessage()); 43 44 } 45 46 @Override 47 protected boolean changeIsUnsupported(Database database) { 48 return database instanceof SQLiteDatabase; 49 } 50 }