package io.ebean.config.dbplatform; import io.ebean.config.DbTypeConfig; import io.ebean.config.ServerConfig; import io.ebean.config.dbplatform.oracle.OraclePlatform; import io.ebean.dbmigration.ddlgeneration.platform.PlatformDdl; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; public class OraclePlatformTest { OraclePlatform platform = new OraclePlatform(); @Test public void testTypeConversion() { PlatformDdl ddl = platform.getPlatformDdl(); assertThat(ddl.convert("clob", false)).isEqualTo("clob"); assertThat(ddl.convert("blob", false)).isEqualTo("blob"); assertThat(ddl.convert("json", false)).isEqualTo("clob"); assertThat(ddl.convert("jsonb", false)).isEqualTo("clob"); assertThat(ddl.convert("double", false)).isEqualTo("number(19,4)"); assertThat(ddl.convert("varchar(20)", false)).isEqualTo("varchar2(20)"); assertThat(ddl.convert("decimal(10)", false)).isEqualTo("number(10)"); assertThat(ddl.convert("decimal(8,4)", false)).isEqualTo("number(8,4)"); assertThat(ddl.convert("boolean", false)).isEqualTo("number(1) default 0"); assertThat(ddl.convert("bit", false)).isEqualTo("bit"); assertThat(ddl.convert("tinyint", false)).isEqualTo("number(3)"); assertThat(ddl.convert("binary(16)", false)).isEqualTo("raw(16)"); } @Test public void uuid_default() { OraclePlatform platform = new OraclePlatform(); platform.configure(new DbTypeConfig()); DbPlatformType dbType = platform.getDbTypeMap().get(DbPlatformType.UUID); assertThat(dbType.renderType(0, 0)).isEqualTo("varchar2(40)"); } @Test public void uuid_as_binary() { OraclePlatform platform = new OraclePlatform(); DbTypeConfig config = new DbTypeConfig(); config.setDbUuid(ServerConfig.DbUuid.AUTO_BINARY); platform.configure(config); DbPlatformType dbType = platform.getDbTypeMap().get(DbPlatformType.UUID); assertThat(dbType.renderType(0, 0)).isEqualTo("raw(16)"); } }