diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyColumnMappingTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyColumnMappingTest.java index 0da47193c..e6b96f183 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyColumnMappingTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyColumnMappingTest.java @@ -5,6 +5,7 @@ package com.microsoft.sqlserver.jdbc.bulkCopy; import static org.junit.jupiter.api.Assertions.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.sql.ResultSet; import java.sql.ResultSetMetaData; @@ -21,6 +22,7 @@ import com.microsoft.sqlserver.jdbc.ComparisonUtil; import com.microsoft.sqlserver.jdbc.TestResource; +import com.microsoft.sqlserver.jdbc.TestUtils; import com.microsoft.sqlserver.testframework.DBConnection; import com.microsoft.sqlserver.testframework.DBResultSet; import com.microsoft.sqlserver.testframework.DBStatement; @@ -385,10 +387,10 @@ private void validateValuesRepetitiveCM(DBConnection con, DBTable sourceTable, int totalColumns = sourceMeta.getColumnCount(); // verify data from sourceType and resultSet + int numRows = 0; while (srcResultSet.next() && dstResultSet.next()) { + numRows++; for (int i = 1; i <= totalColumns; i++) { - // TODO: check row and column count in both the tables - Object srcValue, dstValue; srcValue = srcResultSet.getObject(i); dstValue = dstResultSet.getObject(i); @@ -403,6 +405,11 @@ private void validateValuesRepetitiveCM(DBConnection con, DBTable sourceTable, } } } + + // verify number of rows and columns + assertTrue(((ResultSet) dstResultSet.product()).getMetaData().getColumnCount() == totalColumns + 1); + assertTrue(sourceTable.getTotalRows() == numRows); + assertTrue(destinationTable.getTotalRows() == numRows); } } diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyTestUtil.java b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyTestUtil.java index 73e77c885..8a942a64a 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyTestUtil.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyTestUtil.java @@ -4,6 +4,7 @@ */ package com.microsoft.sqlserver.jdbc.bulkCopy; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; import java.sql.Connection; @@ -280,10 +281,10 @@ static void validateValues(DBConnection con, DBTable sourceTable, DBTable destin int totalColumns = destMeta.getColumnCount(); // verify data from sourceType and resultSet + int numRows = 0; while (srcResultSet.next() && dstResultSet.next()) { + numRows++; for (int i = 1; i <= totalColumns; i++) { - // TODO: check row and column count in both the tables - Object srcValue, dstValue; srcValue = srcResultSet.getObject(i); dstValue = dstResultSet.getObject(i); @@ -291,6 +292,14 @@ static void validateValues(DBConnection con, DBTable sourceTable, DBTable destin ComparisonUtil.compareExpectedAndActual(destMeta.getColumnType(i), srcValue, dstValue); } } + + // verify number of rows and columns + assertTrue(((ResultSet) srcResultSet.product()).getMetaData().getColumnCount() == totalColumns); + + if (numRows > 0) { + assertTrue(sourceTable.getTotalRows() == numRows); + assertTrue(destinationTable.getTotalRows() == numRows); + } } } diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/databasemetadata/DatabaseMetaDataTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/databasemetadata/DatabaseMetaDataTest.java index 07485bb8a..3a4a054e2 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/databasemetadata/DatabaseMetaDataTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/databasemetadata/DatabaseMetaDataTest.java @@ -419,9 +419,7 @@ public void testGetColumnPrivileges() throws SQLException { } /** - * TODO: Check JDBC Specs: Can we have any tables/functions without category? - * - * Testing {@link SQLServerDatabaseMetaData#getFunctions(String, String, String)} with sending wrong category. + * Testing {@link SQLServerDatabaseMetaData#getFunctions(String, String, String)} with sending wrong catalog. * * @throws SQLException */ @@ -430,9 +428,7 @@ public void testGetFunctionsWithWrongParams() throws SQLException { try (Connection conn = DriverManager.getConnection(connectionString)) { conn.getMetaData().getFunctions("", null, "xp_%"); assertTrue(false, TestResource.getResource("R_noSchemaShouldFail")); - } catch (Exception ae) { - - } + } catch (Exception ae) {} } /** diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/BulkCopyWithSqlVariantTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/BulkCopyWithSqlVariantTest.java index 681462715..b6345e438 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/BulkCopyWithSqlVariantTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/BulkCopyWithSqlVariantTest.java @@ -609,7 +609,7 @@ public void bulkCopyTestVarbinary8000() throws SQLException { * * @throws SQLException */ - @Test // TODO: check bitnull + @Test public void bulkCopyTestBitNull() throws SQLException { try (Connection con = DriverManager.getConnection(connectionString); Statement stmt = con.createStatement()) { diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/TVPWithSqlVariantTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/TVPWithSqlVariantTest.java index d58c5dd15..307bbdcdf 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/TVPWithSqlVariantTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/TVPWithSqlVariantTest.java @@ -353,8 +353,10 @@ public void testDateTime() throws SQLException { * * @throws SQLException * @throws SQLTimeoutException + * https://msdn.microsoft.com/en-ca/library/dd303302.aspx?f=255&MSPPError=-2147217396 + * Data types cannot be NULL when inside a sql_variant */ - @Test // TODO We need to check this later. Right now sending null with TVP is not supported + @Test public void testNull() throws SQLException { tvp = new SQLServerDataTable(); tvp.addColumnMetadata("c1", microsoft.sql.Types.SQL_VARIANT); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/fips/FipsEnvTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/fips/FipsEnvTest.java index 46b593730..32e40b507 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/fips/FipsEnvTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/fips/FipsEnvTest.java @@ -55,16 +55,13 @@ public static void populateProperties() { currentJVM = IBM_JVM; } - // TODO: Need to check this. if (p.getProperty("java.vendor").startsWith("SAP")) { currentJVM = SAP_JVM; } } /** - * After stabilizing parameterized test case TODO: Enable FIPS can be done in two ways. - *