View Javadoc

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  }