@Test public void generate_sql_type_on_mssql() { assertThat(underTest.generateSqlType(new MsSql())).isEqualTo("NVARCHAR (MAX)"); }
@Override public void init(DatabaseMetaData metaData) throws SQLException { checkDbVersion(metaData, MIN_SUPPORTED_VERSION); } }
@Test public void should_configure() { assertThat(underTest.getId()).isEqualTo("mssql"); assertThat(underTest.getDefaultDriverClassName()).isEqualTo("com.microsoft.sqlserver.jdbc.SQLServerDriver"); assertThat(underTest.getValidationQuery()).isEqualTo("SELECT 1"); }
@Test public void testBooleanSqlValues() { assertThat(underTest.getTrueSqlValue()).isEqualTo("1"); assertThat(underTest.getFalseSqlValue()).isEqualTo("0"); }
@Test public void init_does_not_fail_if_mssql_2014() throws Exception { DatabaseMetaData metadata = newMetadata( 12, 0); underTest.init(metadata); }
@Test public void matchesJdbcURL() { assertThat(underTest.matchesJdbcUrl("jdbc:sqlserver://localhost:1433;databasename=sonar")).isTrue(); assertThat(underTest.matchesJdbcUrl("jdbc:hsql:foo")).isFalse(); assertThat(underTest.matchesJdbcUrl("jdbc:mysql:foo")).isFalse(); }
@Test public void getSqlFromDual() { assertThat(underTest.getSqlFromDual()).isEqualTo(""); }
@Test public void init_throws_MessageException_if_mssql_2012() throws Exception { expectedException.expect(MessageException.class); expectedException.expectMessage("Unsupported mssql version: 11.0. Minimal supported version is 12.0."); DatabaseMetaData metadata = newMetadata( 11, 0); underTest.init(metadata); }
@Test public void do_not_support_jtds_since_5_2() { assertThat(underTest.matchesJdbcUrl("jdbc:jtds:sqlserver://localhost;databaseName=SONAR;SelectMethod=Cursor")).isFalse(); }
@Test public void generateSqlType_for_MsSql() { assertThat(underTest.generateSqlType(new MsSql())).isEqualTo("INT"); }
@Override public void init(DatabaseMetaData metaData) throws SQLException { checkDbVersion(metaData, MIN_SUPPORTED_VERSION); } }
@Test public void generateSqlType_for_MsSql() { assertThat(underTest.generateSqlType(new MsSql())).isEqualTo("VARBINARY(MAX)"); }
@Test public void drop_tables_on_mssql() { assertThat(new DropTableBuilder(new MsSql(), "issues") .build()).containsOnly("drop table issues"); }
@Test public void drop_columns_on_mssql() { assertThat(new DropColumnsBuilder(new MsSql(), "issues", "date_in_ms", "name").build()) .containsOnly("ALTER TABLE issues DROP COLUMN date_in_ms, name"); }
@Test public void when_SQ_is_connected_to_MsSql_an_ISE_should_NOT_be_thrown() { when(database.getDialect()).thenReturn(new MsSql()); underTest.start(); }
@Test public void add_columns_on_mssql() { assertThat(createSampleBuilder(new MsSql()).build()) .isEqualTo("ALTER TABLE issues ADD date_in_ms BIGINT NULL, name NVARCHAR (10) NOT NULL, col_with_default BIT DEFAULT 0 NOT NULL, varchar_col_with_default NVARCHAR (3) DEFAULT 'foo' NOT NULL"); }
@Test public void start_runs_MigrationEngine_on_MsSQL_if_fresh_install() { start_runs_MigrationEngine_for_dialect_if_fresh_install(new MsSql()); }
@Test public void rename_table_on_mssql() { verifySql(new MsSql(), "EXEC sp_rename 'foo', 'bar'"); }
@Test public void getHandler_returns_MssqlCharsetHandler_if_mssql() { assertThat(underTest.getHandler(new MsSql())).isInstanceOf(MssqlCharsetHandler.class); }
@Test public void generate_sql_type() { TimestampColumnDef def = newTimestampColumnDefBuilder() .setColumnName("created_at") .build(); assertThat(def.generateSqlType(new H2())).isEqualTo("TIMESTAMP"); assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("TIMESTAMP"); assertThat(def.generateSqlType(new MsSql())).isEqualTo("DATETIME"); assertThat(def.generateSqlType(new MySql())).isEqualTo("DATETIME"); assertThat(def.generateSqlType(new Oracle())).isEqualTo("TIMESTAMP (6)"); }