public Dialect getDialect() { return new H2(); }
@Test public void should_configure() { assertThat(underTest.getId()).isEqualTo("h2"); assertThat(underTest.getDefaultDriverClassName()).isEqualTo("org.h2.Driver"); assertThat(underTest.getValidationQuery()).isEqualTo("SELECT 1"); }
@Test public void testBooleanSqlValues() { assertThat(underTest.getTrueSqlValue()).isEqualTo("true"); assertThat(underTest.getFalseSqlValue()).isEqualTo("false"); }
@Test public void testFetchSizeForScrolling() { assertThat(underTest.getScrollDefaultFetchSize()).isEqualTo(200); }
@Test public void getSqlFromDual() { assertThat(underTest.getSqlFromDual()).isEqualTo(""); }
@Test public void init_logs_warning() { underTest.init(mock(DatabaseMetaData.class)); assertThat(logs.logs(LoggerLevel.WARN)).contains("H2 database should be used for evaluation purpose only."); }
@Test public void generate_sql_type_on_h2() { assertThat(underTest.generateSqlType(new H2())).isEqualTo("CLOB(2147483647)"); }
@Before public void setUp() { when(db.getDialect()).thenReturn(new H2()); }
@Test public void generateSqlType_for_H2() { assertThat(underTest.generateSqlType(new H2())).isEqualTo("BLOB"); }
@Before public void setUp() { when(db.getDialect()).thenReturn(new H2()); }
@Test public void generateSqlType_for_H2() { assertThat(underTest.generateSqlType(new H2())).isEqualTo("INTEGER"); }
@Test public void drop_columns_on_h2() { assertThat(new DropColumnsBuilder(new H2(), "issues", "date_in_ms", "name").build()) .containsOnly( "ALTER TABLE issues DROP COLUMN date_in_ms", "ALTER TABLE issues DROP COLUMN name"); }
@Test public void drop_tables_on_h2() { assertThat(new DropTableBuilder(new H2(), "issues") .build()).containsOnly("drop table if exists issues"); }
@Test public void rename_table_on_h2() { verifySql(new H2(), "ALTER TABLE foo RENAME TO bar"); }
@Test public void create_unique_index() throws Exception { when(db.getDialect()).thenReturn(new H2()); AddUniqueIndexOnUuidOfSnapshots underTest = new AddUniqueIndexOnUuidOfSnapshots(db); underTest.execute(context); verify(context).execute(asList("CREATE UNIQUE INDEX analyses_uuid ON snapshots (uuid)")); verifyNoMoreInteractions(context); } }
@Test public void add_columns_on_h2() { assertThat(createSampleBuilder(new H2()).build()) .isEqualTo("ALTER TABLE issues ADD (date_in_ms BIGINT NULL, name VARCHAR (10) NOT NULL, col_with_default BOOLEAN DEFAULT false NOT NULL, varchar_col_with_default VARCHAR (3) DEFAULT 'foo' NOT NULL)"); }
@Test public void add_index_to_measures() throws Exception { when(db.getDialect()).thenReturn(new H2()); AddIndexOnComponentUuidOfMeasures underTest = new AddIndexOnComponentUuidOfMeasures(db); underTest.execute(context); verify(context).execute(asList("CREATE INDEX measures_component_uuid ON project_measures (component_uuid)")); verifyNoMoreInteractions(context); }
@Test public void does_nothing_if_h2() { assertThat(underTest.getHandler(new H2())).isNull(); }
@Test public void fail_with_ISE_if_no_column() { thrown.expect(IllegalStateException.class); thrown.expectMessage("No column has been defined"); new AddColumnsBuilder(new H2(), TABLE_NAME).build(); }
@Test public void fail_with_ISE_if_no_column() { thrown.expect(IllegalStateException.class); thrown.expectMessage("No column has been defined"); new AlterColumnsBuilder(new H2(), TABLE_NAME).build(); }