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 }