From 348704b6b829c2054d512f12933720283696ceec Mon Sep 17 00:00:00 2001 From: Muskan Gupta Date: Wed, 19 Nov 2025 15:48:44 +0530 Subject: [PATCH 1/2] Add xSQL17 tags to test incompatible with SQL Server 2025 --- pom.xml | 1 + .../com/microsoft/sqlserver/jdbc/SQLServerConnectionTest.java | 2 ++ .../sqlserver/jdbc/resultset/DataClassificationTest.java | 1 + .../java/com/microsoft/sqlserver/testframework/Constants.java | 3 +++ 4 files changed, 7 insertions(+) diff --git a/pom.xml b/pom.xml index 758bcce1f0..47d939ba70 100644 --- a/pom.xml +++ b/pom.xml @@ -39,6 +39,7 @@ xSQLv14 - - - - - - For tests not compatible with SQL Server 2016 - 2017 xSQLv15 - - - - - - For tests not compatible with SQL Server 2019 - - - - xSQLv16 - - - - - - For tests not compatible with SQL Server 2022 - - - - + xSQLv17 - - - - - - For tests not compatible with SQL Server 2025 - - - - xAzureSQLDB - - - - For tests not compatible with Azure SQL Database - - xAzureSQLDW - - - - For tests not compatible with Azure Data Warehouse - xAzureSQLMI - - - - For tests not compatible with Azure SQL Managed Instance diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/SQLServerConnectionTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/SQLServerConnectionTest.java index 77378d0521..0d9cae701e 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/SQLServerConnectionTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/SQLServerConnectionTest.java @@ -392,6 +392,7 @@ public void testEncryptedConnection() throws SQLException { @Tag(Constants.xSQLv12) @Tag(Constants.xSQLv14) @Tag(Constants.xSQLv15) + @Tag(Constants.xSQLv17) @Tag(Constants.xAzureSQLDW) @Tag(Constants.xAzureSQLDB) @Test @@ -1537,6 +1538,7 @@ public void testGetSqlFedAuthTokenFailureNagativeWaiting() throws SQLException { @Tag(Constants.xSQLv14) @Tag(Constants.xSQLv15) @Tag(Constants.xSQLv16) + @Tag(Constants.xSQLv17) public void testManagedIdentityWithEncryptStrict() { SQLServerDataSource ds = new SQLServerDataSource(); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/resultset/DataClassificationTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/resultset/DataClassificationTest.java index 5b876e3e9f..6b434092b1 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/resultset/DataClassificationTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/resultset/DataClassificationTest.java @@ -168,6 +168,7 @@ public void testDataClassificationMetadata() throws Exception { @Tag(Constants.xAzureSQLDW) @Tag(Constants.xSQLv15) @Tag(Constants.xSQLv16) + @Tag(Constants.xSQLv17) @Test public void testDataClassificationNotSupported() throws Exception { try (Statement stmt = connection.createStatement();) { diff --git a/src/test/java/com/microsoft/sqlserver/testframework/Constants.java b/src/test/java/com/microsoft/sqlserver/testframework/Constants.java index e47defff67..8beddd8adc 100644 --- a/src/test/java/com/microsoft/sqlserver/testframework/Constants.java +++ b/src/test/java/com/microsoft/sqlserver/testframework/Constants.java @@ -21,6 +21,7 @@ private Constants() {} * xSQLv14 - - - - - - For tests not compatible with SQL Server 2016 - 2017 * xSQLv15 - - - - - - For tests not compatible with SQL Server 2019 * xSQLv16 - - - - - - For tests not compatible with SQL Server 2022 + * xSQLv17 - - - - - - For tests not compatible with SQL Server 2025 * xAzureSQLDB - - - - For tests not compatible with Azure SQL Database * xAzureSQLDW - - - - For tests not compatible with Azure Data Warehouse * xAzureSQLMI - - - - For tests not compatible with Azure SQL Managed Instance @@ -29,6 +30,7 @@ private Constants() {} * reqExternalSetup - For tests requiring external setup * clientCertAuth - - For tests requiring client certificate authentication setup * Fedauth - - - - - - For Fedauth tests + * vectorTest - - - - -For tests requiring vector setup * JSONTest - - - - - For tests requiring JSON setup * CodeCov - - - - - - For tests tracked in coverage-only runs * @@ -40,6 +42,7 @@ private Constants() {} public static final String xSQLv14 = "xSQLv14"; public static final String xSQLv15 = "xSQLv15"; public static final String xSQLv16 = "xSQLv16"; + public static final String xSQLv17 = "xSQLv17"; public static final String xAzureSQLDB = "xAzureSQLDB"; public static final String xAzureSQLDW = "xAzureSQLDW"; public static final String xAzureSQLMI = "xAzureSQLMI"; From 417d2a25cccd7960e917a15c7a83b63d8b92c0e1 Mon Sep 17 00:00:00 2001 From: Muskan Gupta Date: Thu, 20 Nov 2025 10:23:04 +0530 Subject: [PATCH 2/2] Added proper tag for running vector and json test on sql server 2025 --- .../jdbc/bulkCopy/BulkCopyCSVTest.java | 12 +++--- .../BulkCopyISQLServerBulkRecordTest.java | 38 +++++++++---------- .../CallableStatementTest.java | 4 +- .../DatabaseMetaDataTest.java | 6 +-- .../jdbc/datatypes/JSONFunctionTest.java | 4 +- .../sqlserver/jdbc/datatypes/VectorTest.java | 4 +- .../BatchExecutionWithBulkCopyTest.java | 12 +++--- .../jdbc/resultset/ResultSetTest.java | 6 +-- .../sqlserver/jdbc/tvp/TVPTypesTest.java | 8 ++-- .../jdbc/unit/statement/RegressionTest.java | 4 +- .../sqlserver/testframework/AzureDB.java | 1 + .../testframework/vectorJsonTest.java | 23 +++++++++++ 12 files changed, 73 insertions(+), 49 deletions(-) create mode 100644 src/test/java/com/microsoft/sqlserver/testframework/vectorJsonTest.java diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java index 4269a91da9..62caec3622 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java @@ -44,12 +44,12 @@ import com.microsoft.sqlserver.jdbc.TestUtils; import com.microsoft.sqlserver.testframework.AbstractSQLGenerator; import com.microsoft.sqlserver.testframework.AbstractTest; -import com.microsoft.sqlserver.testframework.AzureDB; import com.microsoft.sqlserver.testframework.Constants; import com.microsoft.sqlserver.testframework.DBConnection; import com.microsoft.sqlserver.testframework.DBResultSet; import com.microsoft.sqlserver.testframework.DBStatement; import com.microsoft.sqlserver.testframework.DBTable; +import com.microsoft.sqlserver.testframework.vectorJsonTest; import com.microsoft.sqlserver.testframework.sqlType.SqlType; import microsoft.sql.Vector; @@ -525,7 +525,7 @@ public void testBulkCopyTabDelimitedWithQuotes() throws Exception { * It verifies that the data is copied correctly by comparing the values in the table with the expected values. */ @Test - @AzureDB + @vectorJsonTest @DisplayName("Test Bulk Copy with JSON Data") @Tag(Constants.JSONTest) public void testBulkCopyWithJson() throws Exception { @@ -685,7 +685,7 @@ public void testBulkCopyWithComputedColumnNotAsLastColumn() throws SQLException * BulkCopyCSVTestInputWithVector.csv file */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyVectorFromCSV() throws SQLException { String dstTable = AbstractSQLGenerator.escapeIdentifier(RandomUtil.getIdentifier("dstTableBulkCopyVectorCsv")); @@ -763,7 +763,7 @@ public void testBulkCopyVectorFromCSV() throws SQLException { * BulkCopyCSVTestInputWithMultipleVectorColumn.csv file */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyVectorFromCSVWithMultipleColumns() throws SQLException { String dstTable = AbstractSQLGenerator.escapeIdentifier(RandomUtil.getIdentifier("dstTableVectorCsvMulti")); @@ -831,7 +831,7 @@ public void testBulkCopyVectorFromCSVWithMultipleColumns() throws SQLException { * BulkCopyCSVTestWithMultipleVectorColumnWithPipeDelimiter.csv file */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyVectorFromCSVWithMultipleColumnsWithPipeDelimiter() throws SQLException { String dstTable = AbstractSQLGenerator.escapeIdentifier(RandomUtil.getIdentifier("dstTableBulkCopyVectorCsvMultiPipe")); @@ -899,7 +899,7 @@ public void testBulkCopyVectorFromCSVWithMultipleColumnsWithPipeDelimiter() thro * metadata. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyVectorFromCSVWithIncorrectDimension() throws SQLException { String dstTable = AbstractSQLGenerator.escapeIdentifier(RandomUtil.getIdentifier("dstTableBulkCopyVectorCsvBadDim")); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyISQLServerBulkRecordTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyISQLServerBulkRecordTest.java index f418533209..a28efaa00d 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyISQLServerBulkRecordTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyISQLServerBulkRecordTest.java @@ -42,11 +42,11 @@ import com.microsoft.sqlserver.jdbc.TestUtils; import com.microsoft.sqlserver.testframework.AbstractSQLGenerator; import com.microsoft.sqlserver.testframework.AbstractTest; -import com.microsoft.sqlserver.testframework.AzureDB; import com.microsoft.sqlserver.testframework.Constants; import com.microsoft.sqlserver.testframework.DBConnection; import com.microsoft.sqlserver.testframework.DBStatement; import com.microsoft.sqlserver.testframework.DBTable; +import com.microsoft.sqlserver.testframework.vectorJsonTest; import com.microsoft.sqlserver.testframework.sqlType.SqlType; import microsoft.sql.Vector; @@ -162,7 +162,7 @@ public void testBulkCopyDateTimePrecision() throws SQLException { * Test bulk copy with a single Vector row. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyVector() throws SQLException { String dstTable = TestUtils @@ -201,7 +201,7 @@ public void testBulkCopyVector() throws SQLException { * Test bulk copy with a single JSON row. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testBulkCopyJSON() throws SQLException { String dstTable = TestUtils @@ -236,7 +236,7 @@ public void testBulkCopyJSON() throws SQLException { * Test bulk copy with empty JSON document */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testBulkCopyWithEmptyJsonDocument() throws SQLException { String dstTable = TestUtils @@ -276,7 +276,7 @@ public void testBulkCopyWithEmptyJsonDocument() throws SQLException { * and compared using getString(columnIndex) */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testBulkCopyMultipleJsonRowsWithDifferentStructures() throws SQLException { String dstTable = TestUtils @@ -319,7 +319,7 @@ public void testBulkCopyMultipleJsonRowsWithDifferentStructures() throws SQLExce * Test bulk copy with multiple JSON rows. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testBulkCopyMultipleJsonRows() throws SQLException { String dstTable = TestUtils @@ -362,7 +362,7 @@ public void testBulkCopyMultipleJsonRows() throws SQLException { * Test bulk copy with multiple JSON rows and columns. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testBulkCopyMultipleJsonRowsAndColumns() throws SQLException { String dstTable = TestUtils @@ -405,7 +405,7 @@ public void testBulkCopyMultipleJsonRowsAndColumns() throws SQLException { * Test bulk copy with sendStringParametersAsUnicode set to true and false for JSON column. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testBulkCopyWithSendStringParametersAsUnicode() throws SQLException { // Unicode scenario @@ -465,7 +465,7 @@ public void testBulkCopyWithSendStringParametersAsUnicode() throws SQLException * Test bulk copy with nested JSON documents. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testBulkCopyNestedJsonRows() throws SQLException { String dstTable = TestUtils @@ -508,7 +508,7 @@ public void testBulkCopyNestedJsonRows() throws SQLException { * Test bulk copy with various data types in JSON. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testBulkCopyWithVariousDataTypes() throws SQLException { String dstTable = TestUtils @@ -547,7 +547,7 @@ public void testBulkCopyWithVariousDataTypes() throws SQLException { * Test bulk copy with count verification. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testBulkCopyWithCountVerification() throws SQLException { String dstTable = TestUtils @@ -597,7 +597,7 @@ public void testBulkCopyWithCountVerification() throws SQLException { * to destination table with VECTOR column. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyTableToTableJsonToVector() throws Exception { String srcTable = TestUtils.escapeSingleQuotes( @@ -669,7 +669,7 @@ private static Object[] parseJsonArrayToFloatArray(String json) { * Test bulk copy with null Vector data. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyVectorNull() throws SQLException { String dstTable = TestUtils @@ -715,7 +715,7 @@ public void testBulkCopyVectorNull() throws SQLException { * incompatible with vector". */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyVectorUsingBulkCopySourceAsVarBinary() { String varbinaryTable = TestUtils @@ -777,7 +777,7 @@ public void testBulkCopyVectorUsingBulkCopySourceAsVarBinary() { * incompatible with varbinary(max)". */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyVectorUsingBulkCopyDestinationAsVarBinary() { String vectorTable = TestUtils.escapeSingleQuotes(AbstractSQLGenerator.escapeIdentifier("testVectorTable")); @@ -845,7 +845,7 @@ public void testBulkCopyVectorUsingBulkCopyDestinationAsVarBinary() { * The operation should succeed, and the data should be validated. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyVectorUsingBulkCopySourceAsVarchar() { String varcharTable = TestUtils.escapeSingleQuotes(AbstractSQLGenerator.escapeIdentifier("testVarcharTable")); @@ -913,7 +913,7 @@ public void testBulkCopyVectorUsingBulkCopySourceAsVarchar() { * The operation should succeed, and the data should be validated. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyVectorUsingBulkCopyDestinationAsVarchar() { String vectorTable = TestUtils.escapeSingleQuotes(AbstractSQLGenerator.escapeIdentifier("testVectorTable")); @@ -984,7 +984,7 @@ public void testBulkCopyVectorUsingBulkCopyDestinationAsVarchar() { * The operation should fail with an error: "The vector dimensions 3 and 4 do not match." */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyVectorWithMismatchedDimensions() { String srcTable = TestUtils.escapeSingleQuotes(AbstractSQLGenerator.escapeIdentifier("testSrcTable")); @@ -1043,7 +1043,7 @@ public void testBulkCopyVectorWithMismatchedDimensions() { * Test bulk copy with a large number of records to check performance. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testBulkCopyPerformance() throws SQLException { String tableName = AbstractSQLGenerator.escapeIdentifier("srcTable"); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/callablestatement/CallableStatementTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/callablestatement/CallableStatementTest.java index b5cac7e72d..79bb6dbbc0 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/callablestatement/CallableStatementTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/callablestatement/CallableStatementTest.java @@ -54,9 +54,9 @@ import com.microsoft.sqlserver.jdbc.TestUtils; import com.microsoft.sqlserver.testframework.AbstractSQLGenerator; import com.microsoft.sqlserver.testframework.AbstractTest; -import com.microsoft.sqlserver.testframework.AzureDB; import com.microsoft.sqlserver.testframework.Constants; import com.microsoft.sqlserver.testframework.PrepUtil; +import com.microsoft.sqlserver.testframework.vectorJsonTest; /** @@ -670,7 +670,7 @@ public void testTimestampStringConversion() throws SQLException { * @throws SQLException */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testJSONColumnInTableWithSetObject() throws SQLException { 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 7df3a670f5..7a891be4db 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/databasemetadata/DatabaseMetaDataTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/databasemetadata/DatabaseMetaDataTest.java @@ -56,8 +56,8 @@ import com.microsoft.sqlserver.jdbc.TestUtils; import com.microsoft.sqlserver.testframework.AbstractSQLGenerator; import com.microsoft.sqlserver.testframework.AbstractTest; -import com.microsoft.sqlserver.testframework.AzureDB; import com.microsoft.sqlserver.testframework.Constants; +import com.microsoft.sqlserver.testframework.vectorJsonTest; /** @@ -1092,7 +1092,7 @@ public void testGetSchemasWithAndWithoutCatalog() throws SQLException { * @throws SQLException */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testVectorMetaData() throws SQLException { String vectorTableName = RandomUtil.getIdentifier("vectorTable"); @@ -1160,7 +1160,7 @@ public void testVectorMetaData() throws SQLException { * @throws SQLException */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testJSONMetaData() throws SQLException { String jsonTableName = RandomUtil.getIdentifier("try_SQLJSON_Table"); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/JSONFunctionTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/JSONFunctionTest.java index bf613d8323..6141167a19 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/JSONFunctionTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/JSONFunctionTest.java @@ -42,12 +42,12 @@ import com.microsoft.sqlserver.jdbc.TestUtils; import com.microsoft.sqlserver.testframework.AbstractSQLGenerator; import com.microsoft.sqlserver.testframework.AbstractTest; -import com.microsoft.sqlserver.testframework.AzureDB; import com.microsoft.sqlserver.testframework.Constants; +import com.microsoft.sqlserver.testframework.vectorJsonTest; @RunWith(JUnitPlatform.class) @DisplayName("Test Json Functions") -@AzureDB +@vectorJsonTest @Tag(Constants.JSONTest) public class JSONFunctionTest extends AbstractTest { diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/VectorTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/VectorTest.java index e3748d2920..eca39c1b3c 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/VectorTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/datatypes/VectorTest.java @@ -40,15 +40,15 @@ import com.microsoft.sqlserver.jdbc.TestUtils; import com.microsoft.sqlserver.testframework.AbstractSQLGenerator; import com.microsoft.sqlserver.testframework.AbstractTest; -import com.microsoft.sqlserver.testframework.AzureDB; import com.microsoft.sqlserver.testframework.Constants; +import com.microsoft.sqlserver.testframework.vectorJsonTest; import microsoft.sql.Vector; import microsoft.sql.Vector.VectorDimensionType; @RunWith(JUnitPlatform.class) @DisplayName("Test Vector Data Type") -@AzureDB +@vectorJsonTest @Tag(Constants.vectorTest) public class VectorTest extends AbstractTest { diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/preparedStatement/BatchExecutionWithBulkCopyTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/preparedStatement/BatchExecutionWithBulkCopyTest.java index 6fb7b9d3dc..b783883754 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/preparedStatement/BatchExecutionWithBulkCopyTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/preparedStatement/BatchExecutionWithBulkCopyTest.java @@ -57,9 +57,9 @@ import com.microsoft.sqlserver.jdbc.TestUtils; import com.microsoft.sqlserver.testframework.AbstractSQLGenerator; import com.microsoft.sqlserver.testframework.AbstractTest; -import com.microsoft.sqlserver.testframework.AzureDB; import com.microsoft.sqlserver.testframework.Constants; import com.microsoft.sqlserver.testframework.PrepUtil; +import com.microsoft.sqlserver.testframework.vectorJsonTest; import microsoft.sql.DateTimeOffset; import microsoft.sql.Vector; @@ -822,7 +822,7 @@ public void testComputedCols() throws Exception { * Test inserting complex JSON data using prepared statement with bulk copy enabled. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testInsertJsonWithBulkCopy() throws Exception { String tableName = RandomUtil.getIdentifier("BulkCopyComplexJsonTest"); @@ -873,7 +873,7 @@ public void testInsertJsonWithBulkCopy() throws Exception { * Test select, update, create, and delete operations on JSON data and verify at each step. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testCRUDOperationsWithJson() throws Exception { String tableName = RandomUtil.getIdentifier("CRUDJsonTest"); @@ -1272,7 +1272,7 @@ public void testBulkInsertWithNullDataForAllTemporalTypesAndMoney() throws Excep * Test inserting vector data using prepared statement with bulk copy enabled. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testInsertVectorWithBulkCopy() throws Exception { String tableName = RandomUtil.getIdentifier("BulkCopyVectorTest"); @@ -1311,7 +1311,7 @@ public void testInsertVectorWithBulkCopy() throws Exception { * Test inserting null vector data using prepared statement with bulk copy enabled. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testInsertNullVectorWithBulkCopy() throws Exception { String tableName = RandomUtil.getIdentifier("BulkCopyVectorTest"); @@ -1351,7 +1351,7 @@ public void testInsertNullVectorWithBulkCopy() throws Exception { * Test inserting vector data using prepared statement with bulk copy enabled for performance. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.vectorTest) public void testInsertWithBulkCopyPerformance() throws SQLException { String tableName = AbstractSQLGenerator.escapeIdentifier("BulkCopyVectorPerformanceTest"); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/resultset/ResultSetTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/resultset/ResultSetTest.java index 72435bdfd6..e83df5c1f4 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/resultset/ResultSetTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/resultset/ResultSetTest.java @@ -48,9 +48,9 @@ import com.microsoft.sqlserver.jdbc.TestUtils; import com.microsoft.sqlserver.testframework.AbstractSQLGenerator; import com.microsoft.sqlserver.testframework.AbstractTest; -import com.microsoft.sqlserver.testframework.AzureDB; import com.microsoft.sqlserver.testframework.Constants; import com.microsoft.sqlserver.testframework.PrepUtil; +import com.microsoft.sqlserver.testframework.vectorJsonTest; @RunWith(JUnitPlatform.class) public class ResultSetTest extends AbstractTest { @@ -715,7 +715,7 @@ public void testResultSetClientCursorInitializerSqlErrorState() { * Test casting JSON data and retrieving it as various data types. */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testCastOnJSON() throws SQLException { String dstTable = TestUtils.escapeSingleQuotes( @@ -767,7 +767,7 @@ public void testCastOnJSON() throws SQLException { * @throws SQLException */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.xAzureSQLDW) @Tag(Constants.JSONTest) public void testJdbc41ResultSetJsonColumn() throws SQLException { diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/tvp/TVPTypesTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/tvp/TVPTypesTest.java index 1d90fd467d..e33f19a974 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/tvp/TVPTypesTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/tvp/TVPTypesTest.java @@ -34,8 +34,8 @@ import com.microsoft.sqlserver.jdbc.TestUtils; import com.microsoft.sqlserver.testframework.AbstractSQLGenerator; import com.microsoft.sqlserver.testframework.AbstractTest; -import com.microsoft.sqlserver.testframework.AzureDB; import com.microsoft.sqlserver.testframework.Constants; +import com.microsoft.sqlserver.testframework.vectorJsonTest; @RunWith(JUnitPlatform.class) @@ -156,7 +156,7 @@ public void testXML() throws SQLException { * @throws SQLException */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testJSON() throws SQLException { createTables("json"); @@ -388,7 +388,7 @@ public void testTVPXMLStoredProcedure() throws SQLException { * @throws SQLException */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testTVPJSONStoredProcedure() throws SQLException { createTables("json"); @@ -762,7 +762,7 @@ public String toString() { } @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testJSONTVPCallableAPI() throws SQLException { createTables("json"); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/RegressionTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/RegressionTest.java index ce7c2710ec..6f0e5bec52 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/RegressionTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/RegressionTest.java @@ -27,8 +27,8 @@ import com.microsoft.sqlserver.jdbc.TestUtils; import com.microsoft.sqlserver.testframework.AbstractSQLGenerator; import com.microsoft.sqlserver.testframework.AbstractTest; -import com.microsoft.sqlserver.testframework.AzureDB; import com.microsoft.sqlserver.testframework.Constants; +import com.microsoft.sqlserver.testframework.vectorJsonTest; @RunWith(JUnitPlatform.class) @@ -245,7 +245,7 @@ public void testXmlQuery() throws SQLException { * @throws SQLException */ @Test - @AzureDB + @vectorJsonTest @Tag(Constants.JSONTest) public void testJsonQuery() throws SQLException { try (Connection connection = getConnection(); Statement stmt = connection.createStatement()) { diff --git a/src/test/java/com/microsoft/sqlserver/testframework/AzureDB.java b/src/test/java/com/microsoft/sqlserver/testframework/AzureDB.java index 402d6fdb68..d473ea88bf 100644 --- a/src/test/java/com/microsoft/sqlserver/testframework/AzureDB.java +++ b/src/test/java/com/microsoft/sqlserver/testframework/AzureDB.java @@ -22,6 +22,7 @@ @Tag(Constants.xSQLv14) @Tag(Constants.xSQLv15) @Tag(Constants.xSQLv16) +@Tag(Constants.xSQLv17) @Tag(Constants.xAzureSQLDW) @Tag(Constants.xAzureSQLMI) public @interface AzureDB {} diff --git a/src/test/java/com/microsoft/sqlserver/testframework/vectorJsonTest.java b/src/test/java/com/microsoft/sqlserver/testframework/vectorJsonTest.java new file mode 100644 index 0000000000..d038b8bb61 --- /dev/null +++ b/src/test/java/com/microsoft/sqlserver/testframework/vectorJsonTest.java @@ -0,0 +1,23 @@ +package com.microsoft.sqlserver.testframework; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.junit.jupiter.api.Tag; + +/* + * Custom annotation to run vector and json tests on supported SQL Server versions + * Currently, vector and json feature is supported to run on SQL Server 2025 and Azure SQL DB + */ +@Target({ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Tag(Constants.xSQLv11) +@Tag(Constants.xSQLv12) +@Tag(Constants.xSQLv14) +@Tag(Constants.xSQLv15) +@Tag(Constants.xSQLv16) +@Tag(Constants.xAzureSQLDW) +@Tag(Constants.xAzureSQLMI) +public @interface vectorJsonTest {}