UpdateVisitorTest.java :  » Database-Client » LiquiBase » liquibase » parser » visitor » Java Open Source

Java Open Source » Database Client » LiquiBase 
LiquiBase » liquibase » parser » visitor » UpdateVisitorTest.java
package liquibase.parser.visitor;

import liquibase.ChangeSet;
import liquibase.database.Database;
import static org.easymock.classextension.EasyMock.*;
import org.junit.Test;

public class UpdateVisitorTest {

    @Test
    public void visit_unrun() throws Exception {
        Database database = createMock(Database.class);

        ChangeSet changeSet = createMock(ChangeSet.class);
        changeSet.execute(database);
        expectLastCall();


        expect(database.getRunStatus(changeSet)).andReturn(ChangeSet.RunStatus.NOT_RAN);


        database.markChangeSetAsRan(changeSet);
        expectLastCall();

        database.commit();
        expectLastCall();


        replay(changeSet);
        replay(database);

        UpdateVisitor visitor = new UpdateVisitor(database);
        visitor.visit(changeSet);

        verify(database);
        verify(changeSet);
    }

    @Test
    public void visit_rerun() throws Exception {
        ChangeSet changeSet = createMock(ChangeSet.class);
        Database database = createMock(Database.class);

        changeSet.execute(database);
        expectLastCall();


        expect(database.getRunStatus(changeSet)).andReturn(ChangeSet.RunStatus.ALREADY_RAN);

        database.markChangeSetAsReRan(changeSet);
        expectLastCall();

        database.commit();
        expectLastCall();
        
        replay(changeSet);
        replay(database);

        UpdateVisitor visitor = new UpdateVisitor(database);
        visitor.visit(changeSet);

        verify(database);
        verify(changeSet);
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.