package liquibase.changelog.visitor; import liquibase.changelog.ChangeSet; import liquibase.changelog.DatabaseChangeLog; import liquibase.changelog.filter.ChangeSetFilterResult; import liquibase.database.Database; import liquibase.exception.LiquibaseException; import org.junit.Before; import org.junit.Test; import java.util.Collections; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; public class ChangeLogSyncVisitorTest { private ChangeSet changeSet; private DatabaseChangeLog databaseChangeLog; @Before public void setUp() { changeSet = new ChangeSet("1", "testAuthor", false, false, "path/changelog", null, null, null); databaseChangeLog = new DatabaseChangeLog(); } @Test public void testVisitDatabaseConstructor() throws LiquibaseException { Database mockDatabase = mock(Database.class); ChangeLogSyncVisitor visitor = new ChangeLogSyncVisitor(mockDatabase); visitor.visit(changeSet, databaseChangeLog, mockDatabase, Collections.<ChangeSetFilterResult>emptySet()); verify(mockDatabase).markChangeSetExecStatus(changeSet, ChangeSet.ExecType.EXECUTED); } @Test public void testVisitListenerConstructor() throws LiquibaseException { Database mockDatabase = mock(Database.class); ChangeLogSyncListener mockListener = mock(ChangeLogSyncListener.class); ChangeLogSyncVisitor visitor = new ChangeLogSyncVisitor(mockDatabase, mockListener); visitor.visit(changeSet, databaseChangeLog, mockDatabase, Collections.<ChangeSetFilterResult>emptySet()); verify(mockDatabase).markChangeSetExecStatus(changeSet, ChangeSet.ExecType.EXECUTED); verify(mockListener).markedRan(changeSet, databaseChangeLog, mockDatabase); } }