Oracle extends DatabaseClient { public static OracleBuilder builder() { return new OracleBuilder(); } private  Oracle(Builder builder); static OracleBuilder builder(); @Override String getDialect(); @Override String[] getDropDdl(); @Override String[] getCreateDdl(); @Override String getSelectConnectionIdsSql(); @Override String getKillConnectionSql(String processID);  }
@Test public void testBuilder() { Oracle oracle = Oracle.builder() .setDropAndCreate(false) .setDriverClassName("org.oracle.OtherDriver") .setRootLogin("hello").setRootPassword("world") .setDriverFile(driverFile) .build(); assertThat(oracle.getDialect()).isEqualTo("oracle"); assertThat(oracle.getDriverClassName()).isEqualTo("org.oracle.OtherDriver"); assertThat(oracle.isDropAndCreate()).isEqualTo(false); assertThat(oracle.getRootLogin()).isEqualTo("hello"); assertThat(oracle.getRootPassword()).isEqualTo("world"); }
@Test(expected = IllegalArgumentException.class) public void pathToDriverShouldBeMandatory() { Oracle.builder().build(); }
@Test public void noDefaultValueForSchemaProperty() { Oracle oracle = Oracle.builder().setDriverFile(driverFile).build(); assertThat(oracle.getSchema()).isNull(); }