package io.ebean.dbmigration.model.build; import io.ebean.BaseTestCase; import io.ebean.EbeanServerFactory; import io.ebean.config.ServerConfig; import io.ebean.dbmigration.ddlgeneration.Helper; import io.ebean.dbmigration.model.CurrentModel; import io.ebeaninternal.api.SpiEbeanServer; import org.tests.model.basic.Person; import org.tests.model.basic.Phone; import org.junit.Test; import java.io.IOException; import static org.assertj.core.api.Assertions.assertThat; public class ModelBuild_explicitSequencesTest extends BaseTestCase { private SpiEbeanServer getServer(boolean postgres) { System.setProperty("ebean.ignoreExtraDdl", "true"); ServerConfig config = new ServerConfig(); config.setName("h2"); config.loadFromProperties(); config.setName("h2other"); config.setH2ProductionMode(true); config.setDdlGenerate(false); config.setDdlRun(false); config.setDefaultServer(false); config.setRegister(false); config.setDatabasePlatformName(postgres ? "postgres" : "h2"); config.addClass(Person.class); config.addClass(Phone.class); return (SpiEbeanServer) EbeanServerFactory.create(config); } @Test public void test() throws IOException { SpiEbeanServer ebeanServer = getServer(false); CurrentModel currentModel = new CurrentModel(ebeanServer); String apply = currentModel.getCreateDdl(); assertThat(apply).isEqualTo(Helper.asText(this, "/assert/ModelBuild_explicitSequencesTest/apply.sql")); } @Test public void test_asPostgres() throws IOException { SpiEbeanServer ebeanServer = getServer(true); CurrentModel currentModel = new CurrentModel(ebeanServer); String apply = currentModel.getCreateDdl(); assertThat(apply).isEqualTo(Helper.asText(this, "/assert/ModelBuild_explicitSequencesTest/pg-apply.sql")); } }