package liquibase.sqlgenerator.core;
import liquibase.database.Database;
import liquibase.database.core.*;
import liquibase.exception.ValidationErrors;
import liquibase.sqlgenerator.MockSqlGeneratorChain;
import liquibase.statement.AutoIncrementConstraint;
import liquibase.statement.core.AddColumnStatement;
import static org.junit.Assert.*;
import org.junit.Test;
public class AddColumnGeneratorDefaultClauseBeforeNotNullTest extends AddColumnGeneratorTest {
public AddColumnGeneratorDefaultClauseBeforeNotNullTest() throws Exception {
super(new AddColumnGeneratorDefaultClauseBeforeNotNull());
}
@Test
public void validate_noAutoIncrementWithDerby() {
ValidationErrors validationErrors = generatorUnderTest.validate(new AddColumnStatement(null, "table_name", "column_name", "int", null, new AutoIncrementConstraint("column_name")), new DerbyDatabase(), new MockSqlGeneratorChain());
assertTrue(validationErrors.getErrorMessages().contains("Cannot add an identity column to a database"));
}
@Override
protected boolean shouldBeImplementation(Database database) {
return database instanceof OracleDatabase
|| database instanceof HsqlDatabase
|| database instanceof H2Database
|| database instanceof DerbyDatabase
|| database instanceof DB2Database
|| database instanceof FirebirdDatabase
|| database instanceof SybaseASADatabase
|| database instanceof SybaseDatabase
|| database instanceof InformixDatabase;
}
}