View Javadoc

1   package liquibase.change.core;
2   
3   import liquibase.change.AbstractChangeTest;
4   import liquibase.database.Database;
5   import liquibase.database.core.SQLiteDatabase;
6   import static org.junit.Assert.*;
7   import org.junit.Test;
8   
9   public class AddUniqueConstraintChangeTest extends AbstractChangeTest {
10  
11      @Override
12      @Test
13      public void getRefactoringName() throws Exception {
14          assertEquals("Add Unique Constraint", new AddUniqueConstraintChange().getChangeMetaData().getDescription());
15      }
16  
17      @Override
18      @Test
19      public void generateStatement() throws Exception {
20  
21  //        new DatabaseTestTemplate().testOnAllDatabases(new DatabaseTest() {
22  //            public void performTest(Database database) throws Exception {
23  //                AddUniqueConstraintChange change = new AddUniqueConstraintChange();
24  //                change.setSchemaName("SCHEMA_NAME");
25  //                change.setTableName("TABLE_NAME");
26  //                change.setColumnNames("COL_HERE");
27  //                change.setConstraintName("PK_NAME");
28  //                change.setTablespace("TABLESPACE_NAME");
29  //
30  //                SqlStatement[] sqlStatements = change.generateStatements(database);
31  //                assertEquals(1, sqlStatements.length);
32  //                assertTrue(sqlStatements[0] instanceof AddUniqueConstraintStatement);
33  //
34  //                assertEquals("SCHEMA_NAME", ((AddUniqueConstraintStatement) sqlStatements[0]).getSchemaName());
35  //                assertEquals("TABLE_NAME", ((AddUniqueConstraintStatement) sqlStatements[0]).getTableName());
36  //                assertEquals("COL_HERE", ((AddUniqueConstraintStatement) sqlStatements[0]).getColumnNames());
37  //                assertEquals("PK_NAME", ((AddUniqueConstraintStatement) sqlStatements[0]).getConstraintName());
38  //                assertEquals("TABLESPACE_NAME", ((AddUniqueConstraintStatement) sqlStatements[0]).getTablespace());
39  //
40  //            }
41  //        });
42      }
43  
44      @Override
45      @Test
46      public void getConfirmationMessage() throws Exception {
47          AddUniqueConstraintChange change = new AddUniqueConstraintChange();
48          change.setTableName("TABLE_NAME");
49          change.setColumnNames("COL_HERE");
50  
51          assertEquals("Unique constraint added to TABLE_NAME(COL_HERE)", change.getConfirmationMessage());
52      }
53  
54      @Override
55      protected boolean changeIsUnsupported(Database database) {
56          return database instanceof SQLiteDatabase;
57      }
58  }