1 |
|
package liquibase.changelog; |
2 |
|
|
3 |
|
import liquibase.changelog.filter.ContextChangeSetFilter; |
4 |
|
import liquibase.changelog.filter.DbmsChangeSetFilter; |
5 |
|
import liquibase.changelog.visitor.ChangeSetVisitor; |
6 |
|
import liquibase.database.Database; |
7 |
|
import liquibase.database.core.MySQLDatabase; |
8 |
|
import static org.junit.Assert.*; |
9 |
|
import org.junit.Before; |
10 |
|
import org.junit.Test; |
11 |
|
|
12 |
|
import java.util.ArrayList; |
13 |
|
import java.util.List; |
14 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (34) |
Complexity: 5 |
Complexity Density: 0.17 |
|
15 |
|
public class ChangeLogIteratorTest { |
16 |
|
private DatabaseChangeLog changeLog; |
17 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 1 |
Complexity Density: 0.14 |
|
18 |
4
|
@Before... |
19 |
|
public void setUp() { |
20 |
4
|
changeLog = new DatabaseChangeLog(); |
21 |
4
|
changeLog.addChangeSet(new ChangeSet("1", "nvoxland", false, false, "/path/to/changelog", "test1", "mysql")); |
22 |
4
|
changeLog.addChangeSet(new ChangeSet("2", "nvoxland", false, false, "/path/to/changelog", "test1", "oracle")); |
23 |
4
|
changeLog.addChangeSet(new ChangeSet("3", "nvoxland", false, false, "/path/to/changelog", "test2", "mysql")); |
24 |
4
|
changeLog.addChangeSet(new ChangeSet("4", "nvoxland", false, false, "/path/to/changelog", null, null)); |
25 |
4
|
changeLog.addChangeSet(new ChangeSet("5", "nvoxland", false, false, "/path/to/changelog", null, "mysql")); |
26 |
4
|
changeLog.addChangeSet(new ChangeSet("6", "nvoxland", false, false, "/path/to/changelog", "test2", null)); |
27 |
|
} |
28 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1
PASS
|
|
29 |
1
|
@Test... |
30 |
|
public void runChangeSet_emptyFiltersIterator() throws Exception { |
31 |
1
|
TestChangeSetVisitor testChangeLogVisitor = new TestChangeSetVisitor(); |
32 |
|
|
33 |
1
|
ChangeLogIterator iterator = new ChangeLogIterator(changeLog); |
34 |
1
|
iterator.run(testChangeLogVisitor, null); |
35 |
1
|
assertEquals(6, testChangeLogVisitor.visitedChangeSets.size()); |
36 |
|
} |
37 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1
PASS
|
|
38 |
1
|
@Test... |
39 |
|
public void runChangeSet_singleFilterIterator() throws Exception { |
40 |
1
|
TestChangeSetVisitor testChangeLogVisitor = new TestChangeSetVisitor(); |
41 |
|
|
42 |
1
|
ChangeLogIterator iterator = new ChangeLogIterator(changeLog, new ContextChangeSetFilter("test1")); |
43 |
1
|
iterator.run(testChangeLogVisitor, null); |
44 |
1
|
assertEquals(4, testChangeLogVisitor.visitedChangeSets.size()); |
45 |
|
} |
46 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 1 |
Complexity Density: 0.14 |
1
PASS
|
|
47 |
1
|
@Test... |
48 |
|
public void runChangeSet_doubleFilterIterator() throws Exception { |
49 |
1
|
TestChangeSetVisitor testChangeLogVisitor = new TestChangeSetVisitor(); |
50 |
|
|
51 |
1
|
ChangeLogIterator iterator = new ChangeLogIterator(changeLog, new ContextChangeSetFilter("test1"), new DbmsChangeSetFilter(new MySQLDatabase())); |
52 |
1
|
iterator.run(testChangeLogVisitor, null); |
53 |
1
|
assertEquals(3, testChangeLogVisitor.visitedChangeSets.size()); |
54 |
1
|
assertEquals("1", testChangeLogVisitor.visitedChangeSets.get(0).getId()); |
55 |
1
|
assertEquals("4", testChangeLogVisitor.visitedChangeSets.get(1).getId()); |
56 |
1
|
assertEquals("5", testChangeLogVisitor.visitedChangeSets.get(2).getId()); |
57 |
|
|
58 |
|
} |
59 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 1 |
Complexity Density: 0.14 |
1
PASS
|
|
60 |
1
|
@Test... |
61 |
|
public void runChangeSet_reverseVisitor() throws Exception { |
62 |
1
|
TestChangeSetVisitor testChangeLogVisitor = new ReverseChangeSetVisitor(); |
63 |
|
|
64 |
1
|
ChangeLogIterator iterator = new ChangeLogIterator(changeLog, new ContextChangeSetFilter("test1"), new DbmsChangeSetFilter(new MySQLDatabase())); |
65 |
1
|
iterator.run(testChangeLogVisitor, null); |
66 |
1
|
assertEquals(3, testChangeLogVisitor.visitedChangeSets.size()); |
67 |
1
|
assertEquals("5", testChangeLogVisitor.visitedChangeSets.get(0).getId()); |
68 |
1
|
assertEquals("4", testChangeLogVisitor.visitedChangeSets.get(1).getId()); |
69 |
1
|
assertEquals("1", testChangeLogVisitor.visitedChangeSets.get(2).getId()); |
70 |
|
} |
71 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 2 |
Complexity Density: 1 |
|
72 |
|
private static class TestChangeSetVisitor implements ChangeSetVisitor { |
73 |
|
|
74 |
|
public List<ChangeSet> visitedChangeSets = new ArrayList<ChangeSet>(); |
75 |
|
|
76 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
77 |
3
|
public Direction getDirection() {... |
78 |
3
|
return ChangeSetVisitor.Direction.FORWARD; |
79 |
|
} |
80 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
81 |
16
|
public void visit(ChangeSet changeSet, DatabaseChangeLog databaseChangeLog, Database database) {... |
82 |
16
|
visitedChangeSets.add(changeSet); |
83 |
|
} |
84 |
|
} |
85 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 1 |
|
86 |
|
private static class ReverseChangeSetVisitor extends TestChangeSetVisitor { |
87 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
88 |
1
|
@Override... |
89 |
|
public Direction getDirection() { |
90 |
1
|
return ChangeSetVisitor.Direction.REVERSE; |
91 |
|
} |
92 |
|
} |
93 |
|
} |