package liquibase.change.core; import liquibase.change.AbstractChangeTest; import liquibase.database.core.MockDatabase; import liquibase.statement.SqlStatement; import liquibase.statement.core.TagDatabaseStatement; import static org.junit.Assert.*; import org.junit.Before; import org.junit.Test; public class TagDatabaseChangeTest extends AbstractChangeTest { private TagDatabaseChange refactoring; @Before public void setUp() throws Exception { refactoring = new TagDatabaseChange(); } @Override @Test public void getRefactoringName() throws Exception { assertEquals("Tag Database", refactoring.getChangeMetaData().getDescription()); } @Override @Test public void generateStatement() throws Exception { TagDatabaseChange refactoring = new TagDatabaseChange(); refactoring.setTag("TAG_NAME"); SqlStatement[] sqlStatements = refactoring.generateStatements(new MockDatabase()); assertEquals(1, sqlStatements.length); assertTrue(sqlStatements[0] instanceof TagDatabaseStatement); assertEquals("TAG_NAME", ((TagDatabaseStatement) sqlStatements[0]).getTag()); } @Override @Test public void getConfirmationMessage() throws Exception { refactoring.setTag("TAG_NAME"); assertEquals("Tag 'TAG_NAME' applied to database", refactoring.getConfirmationMessage()); } }