Clover Coverage Report - Liquibase Core 2.0.2
Coverage timestamp: Wed Aug 3 2011 19:29:16 EDT
32   83   5   6.4
0   63   0.16   5
5     1  
1    
 
  ValidatingVisitorTest       Line # 15 32 0% 5 0 100% 1.0
 
  (3)
 
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   
 
15    public class ValidatingVisitorTest {
16   
17    private ChangeSet changeSet1;
18    private ChangeSet changeSet2;
19   
 
20  3 toggle @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   
 
27  1 toggle @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   
 
54  1 toggle @Test
55    public void visit_setupException() {
56  1 changeSet1.addChange(new CreateTableChange() {
 
57  1 toggle @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   
 
72  1 toggle @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    }