| 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 |
|
} |