package liquibase.change.core;
import liquibase.change.AbstractChangeTest;
import liquibase.database.core.MockDatabase;
import liquibase.statement.SqlStatement;
import liquibase.statement.core.DropIndexStatement;
import static org.junit.Assert.*;
import org.junit.Test;
/**
* Tests for {@link liquibase.change.core.DropIndexChange}
*/
public class DropIndexChangeTest extends AbstractChangeTest {
@Override
@Test
public void getRefactoringName() throws Exception {
assertEquals("Drop Index", new DropIndexChange().getChangeMetaData().getDescription());
}
@Override
@Test
public void generateStatement() throws Exception {
DropIndexChange refactoring = new DropIndexChange();
refactoring.setIndexName("IDX_NAME");
refactoring.setTableName("TABLE_NAME");
refactoring.setSchemaName("SCHEMA_NAME");
SqlStatement[] sqlStatements = refactoring.generateStatements(new MockDatabase());
assertEquals(1, sqlStatements.length);
assertTrue(sqlStatements[0] instanceof DropIndexStatement);
assertEquals("SCHEMA_NAME", ((DropIndexStatement) sqlStatements[0]).getTableSchemaName());
assertEquals("TABLE_NAME", ((DropIndexStatement) sqlStatements[0]).getTableName());
assertEquals("IDX_NAME", ((DropIndexStatement) sqlStatements[0]).getIndexName());
}
@Override
@Test
public void getConfirmationMessage() throws Exception {
DropIndexChange refactoring = new DropIndexChange();
refactoring.setIndexName("IDX_NAME");
refactoring.setTableName("TABLE_NAME");
assertEquals("Index IDX_NAME dropped from table TABLE_NAME", refactoring.getConfirmationMessage());
}
}