1 |
|
package liquibase.changelog.visitor; |
2 |
|
|
3 |
|
import liquibase.change.ColumnConfig; |
4 |
|
import liquibase.change.core.CreateTableChange; |
5 |
|
import liquibase.changelog.ChangeSet; |
6 |
|
import liquibase.changelog.RanChangeSet; |
7 |
|
import liquibase.changelog.DatabaseChangeLog; |
8 |
|
import liquibase.exception.SetupException; |
9 |
|
import static org.junit.Assert.*; |
10 |
|
import org.junit.Before; |
11 |
|
import org.junit.Test; |
12 |
|
|
13 |
|
import java.util.ArrayList; |
14 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (37) |
Complexity: 5 |
Complexity Density: 0.16 |
|
15 |
|
public class ValidatingVisitorTest { |
16 |
|
|
17 |
|
private ChangeSet changeSet1; |
18 |
|
private ChangeSet changeSet2; |
19 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
|
20 |
3
|
@Before... |
21 |
|
public void setup() { |
22 |
3
|
changeSet1 = new ChangeSet("1", "testAuthor", false, false, "path/changelog", null, null); |
23 |
3
|
changeSet2 = new ChangeSet("2", "testAuthor", false, false, "path/changelog", null, null); |
24 |
|
} |
25 |
|
|
26 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (18) |
Complexity: 1 |
Complexity Density: 0.06 |
1
PASS
|
|
27 |
1
|
@Test... |
28 |
|
public void visit_successful() { |
29 |
1
|
CreateTableChange change1 = new CreateTableChange(); |
30 |
1
|
change1.setTableName("table1"); |
31 |
1
|
ColumnConfig column1 = new ColumnConfig(); |
32 |
1
|
change1.addColumn(column1); |
33 |
1
|
column1.setName("col1"); |
34 |
1
|
column1.setType("int"); |
35 |
|
|
36 |
1
|
CreateTableChange change2 = new CreateTableChange(); |
37 |
1
|
change2.setTableName("table2"); |
38 |
1
|
ColumnConfig column2 = new ColumnConfig(); |
39 |
1
|
change2.addColumn(column2); |
40 |
1
|
column2.setName("col2"); |
41 |
1
|
column2.setType("int"); |
42 |
|
|
43 |
1
|
changeSet1.addChange(change1); |
44 |
1
|
changeSet2.addChange(change2); |
45 |
|
|
46 |
1
|
ValidatingVisitor handler = new ValidatingVisitor(new ArrayList<RanChangeSet>()); |
47 |
1
|
handler.visit(changeSet1, new DatabaseChangeLog(), null); |
48 |
1
|
handler.visit(changeSet2, new DatabaseChangeLog(), null); |
49 |
|
|
50 |
1
|
assertTrue(handler.validationPassed()); |
51 |
|
|
52 |
|
} |
53 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0.17 |
1
PASS
|
|
54 |
1
|
@Test... |
55 |
|
public void visit_setupException() { |
56 |
1
|
changeSet1.addChange(new CreateTableChange() { |
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
57 |
1
|
@Override... |
58 |
|
public void init() throws SetupException { |
59 |
1
|
throw new SetupException("Test message"); |
60 |
|
} |
61 |
|
}); |
62 |
|
|
63 |
1
|
ValidatingVisitor handler = new ValidatingVisitor(new ArrayList<RanChangeSet>()); |
64 |
1
|
handler.visit(changeSet1, new DatabaseChangeLog(), null); |
65 |
|
|
66 |
1
|
assertEquals(1, handler.getSetupExceptions().size()); |
67 |
1
|
assertEquals("Test message", handler.getSetupExceptions().get(0).getMessage()); |
68 |
|
|
69 |
1
|
assertFalse(handler.validationPassed()); |
70 |
|
} |
71 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
1
PASS
|
|
72 |
1
|
@Test... |
73 |
|
public void visit_duplicate() { |
74 |
|
|
75 |
1
|
ValidatingVisitor handler = new ValidatingVisitor(new ArrayList<RanChangeSet>()); |
76 |
1
|
handler.visit(changeSet1, new DatabaseChangeLog(), null); |
77 |
1
|
handler.visit(changeSet1, new DatabaseChangeLog(), null); |
78 |
|
|
79 |
1
|
assertEquals(1, handler.getDuplicateChangeSets().size()); |
80 |
|
|
81 |
1
|
assertFalse(handler.validationPassed()); |
82 |
|
} |
83 |
|
} |