From 29ec9b1c99268d310a8893fb3bcd61c5e2927a54 Mon Sep 17 00:00:00 2001 From: lilgreenbird Date: Wed, 23 Jun 2021 18:28:10 -0700 Subject: [PATCH 1/4] fix --- .../jdbc/AlwaysEncrypted/AESetup.java | 29 +++++----- .../jdbc/AlwaysEncrypted/MSITest.java | 57 +------------------ 2 files changed, 18 insertions(+), 68 deletions(-) diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/AESetup.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/AESetup.java index 49a435a68e..96aefe33a9 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/AESetup.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/AESetup.java @@ -310,8 +310,9 @@ private static void readFromFile(String inputFile, String lookupValue) throws IO * 2d array containing table column definitions * @throws SQLException */ - protected static void createTable(String tableName, String cekName, String table[][]) throws SQLException { - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + protected static void createTable(String connStr, String tableName, String cekName, + String table[][]) throws SQLException { + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String sql = ""; for (int i = 0; i < table.length; i++) { @@ -1286,12 +1287,12 @@ protected static void populateDateNullCase() throws SQLException { * @param values * @throws SQLException */ - protected static void populateNumeric(String[] values) throws SQLException { + protected static void populateNumeric(String connStr, String[] values) throws SQLException { String sql = "insert into " + NUMERIC_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -1395,12 +1396,12 @@ protected static void populateNumeric(String[] values) throws SQLException { * @param values * @throws SQLException */ - protected static void populateNumericSetObject(String[] values) throws SQLException { + protected static void populateNumericSetObject(String connStr, String[] values) throws SQLException { String sql = "insert into " + NUMERIC_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -1504,12 +1505,12 @@ protected static void populateNumericSetObject(String[] values) throws SQLExcept * @param values * @throws SQLException */ - protected static void populateNumericSetObjectWithJDBCTypes(String[] values) throws SQLException { + protected static void populateNumericSetObjectWithJDBCTypes(String connStr, String[] values) throws SQLException { String sql = "insert into " + NUMERIC_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -1612,12 +1613,12 @@ protected static void populateNumericSetObjectWithJDBCTypes(String[] values) thr * * @throws SQLException */ - protected static void populateNumericSetObjectNull() throws SQLException { + protected static void populateNumericSetObjectNull(String connStr) throws SQLException { String sql = "insert into " + NUMERIC_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -1711,14 +1712,14 @@ protected static void populateNumericSetObjectNull() throws SQLException { * @param values * @throws SQLException */ - protected static void populateNumericNullCase(String[] values) throws SQLException { + protected static void populateNumericNullCase(String connStr, String[] values) throws SQLException { String sql = "insert into " + NUMERIC_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -1811,14 +1812,14 @@ protected static void populateNumericNullCase(String[] values) throws SQLExcepti * @param numericValues * @throws SQLException */ - protected static void populateNumericNormalCase(String[] numericValues) throws SQLException { + protected static void populateNumericNormalCase(String connStr, String[] numericValues) throws SQLException { String sql = "insert into " + NUMERIC_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/MSITest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/MSITest.java index 306e23e004..92c25c5f31 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/MSITest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/MSITest.java @@ -44,9 +44,6 @@ public class MSITest extends AESetup { @Tag(Constants.xSQLv15) @Test public void testMSIAuth() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - String connStr = connectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.USER, ""); connStr = TestUtils.addOrOverrideProperty(connStr, Constants.PASSWORD, ""); @@ -65,9 +62,6 @@ public void testMSIAuth() throws SQLException { @Tag(Constants.xSQLv15) @Test public void testMSIAuthWithMSIClientId() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - String connStr = connectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.USER, ""); connStr = TestUtils.addOrOverrideProperty(connStr, Constants.PASSWORD, ""); @@ -87,9 +81,6 @@ public void testMSIAuthWithMSIClientId() throws SQLException { @Tag(Constants.xSQLv15) @Test public void testDSMSIAuth() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - String connStr = connectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.USER, ""); connStr = TestUtils.addOrOverrideProperty(connStr, Constants.PASSWORD, ""); @@ -111,9 +102,6 @@ public void testDSMSIAuth() throws SQLException { @Tag(Constants.xSQLv15) @Test public void testDSMSIAuthWithMSIClientId() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - String connStr = connectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.USER, ""); connStr = TestUtils.addOrOverrideProperty(connStr, Constants.PASSWORD, ""); @@ -133,9 +121,6 @@ public void testDSMSIAuthWithMSIClientId() throws SQLException { */ @Test public void testDSAkvWithMSI() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_AUTHENTICATION, "KeyVaultManagedIdentity"); @@ -149,9 +134,6 @@ public void testDSAkvWithMSI() throws SQLException { */ @Test public void testCharAkvWithCred() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // add credentials to connection string String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_AUTHENTICATION, "KeyVaultClientSecret"); @@ -165,9 +147,6 @@ public void testCharAkvWithCred() throws SQLException { */ @Test public void testCharAkvWithCredDeprecated() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // add deprecated connection properties String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYVAULTPROVIDER_CLIENTID, keyStorePrincipalId); @@ -180,9 +159,6 @@ public void testCharAkvWithCredDeprecated() throws SQLException { */ @Test public void testCharAkvWithMSI() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // set to use Managed Identity for keystore auth String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_AUTHENTICATION, @@ -195,9 +171,6 @@ public void testCharAkvWithMSI() throws SQLException { */ @Test public void testCharAkvWithMSIandPrincipalId() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // set to use Managed Identity for keystore auth and principal id String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_AUTHENTICATION, @@ -211,9 +184,6 @@ public void testCharAkvWithMSIandPrincipalId() throws SQLException { */ @Test public void testNumericAkvMissingCred() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // set auth type to key vault client secret but do not provide secret String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_AUTHENTICATION, "KeyVaultClientSecret"); @@ -230,9 +200,6 @@ public void testNumericAkvMissingCred() throws SQLException { */ @Test public void testNumericAkvSecretNoAuth() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // set key store secret but do not specify authentication type String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_SECRET, keyStoreSecret); @@ -250,9 +217,6 @@ public void testNumericAkvSecretNoAuth() throws SQLException { */ @Test public void testNumericAkvPrincipalIdNoAuth() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // set principal id but do not specify authentication type String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_PRINCIPALID, keyStorePrincipalId); @@ -270,9 +234,6 @@ public void testNumericAkvPrincipalIdNoAuth() throws SQLException { */ @Test public void testNumericAkvLocationNoAuth() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // set key store location but do not specify authentication type String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_LOCATION, "location"); @@ -290,9 +251,6 @@ public void testNumericAkvLocationNoAuth() throws SQLException { */ @Test public void testNumericAkvWithBadCred() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // add credentials to connection string String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_AUTHENTICATION, "KeyVaultClientSecret"); @@ -312,9 +270,6 @@ public void testNumericAkvWithBadCred() throws SQLException { */ @Test public void testNumericAkvWithCred() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // add credentials to connection string String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_AUTHENTICATION, "KeyVaultClientSecret"); @@ -328,9 +283,6 @@ public void testNumericAkvWithCred() throws SQLException { */ @Test public void testNumericAkvWithMSI() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // set to use Managed Identity for keystore auth String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_AUTHENTICATION, @@ -343,9 +295,6 @@ public void testNumericAkvWithMSI() throws SQLException { */ @Test public void testNumericAkvWithMSIandPrincipalId() throws SQLException { - // unregister the custom providers registered in AESetup - SQLServerConnection.unregisterColumnEncryptionKeyStoreProviders(); - // set to use Managed Identity for keystore auth and principal id String connStr = AETestConnectionString; connStr = TestUtils.addOrOverrideProperty(connStr, Constants.KEYSTORE_AUTHENTICATION, @@ -361,7 +310,7 @@ private void testCharAkv(String connStr) throws SQLException { SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { TestUtils.dropTableIfExists(CHAR_TABLE_AE, stmt); - createTable(CHAR_TABLE_AE, cekAkv, charTable); + createTable(connStr, CHAR_TABLE_AE, cekAkv, charTable); String[] values = createCharValues(false); populateCharNormalCase(values); @@ -382,9 +331,9 @@ private void testNumericAKV(String connStr) throws SQLException { SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { TestUtils.dropTableIfExists(NUMERIC_TABLE_AE, stmt); - createTable(NUMERIC_TABLE_AE, cekAkv, numericTable); + createTable(connStr, NUMERIC_TABLE_AE, cekAkv, numericTable); String[] values = createNumericValues(false); - populateNumeric(values); + populateNumeric(connStr, values); try (SQLServerResultSet rs = (stmt == null) ? (SQLServerResultSet) pstmt.executeQuery() : (SQLServerResultSet) stmt.executeQuery(sql)) { From 7c284b1ebc475f36c2e78ad71f36a6dab6ea65bd Mon Sep 17 00:00:00 2001 From: lilgreenbird Date: Wed, 23 Jun 2021 22:29:19 -0700 Subject: [PATCH 2/4] fixed AE tests --- .../AlwaysEncrypted/CallableStatementTest.java | 18 +++++++++--------- .../jdbc/AlwaysEncrypted/EnclaveTest.java | 16 ++++++++-------- .../JDBCEncryptionDecryptionTest.java | 18 +++++++++--------- .../AlwaysEncrypted/PrecisionScaleTest.java | 2 +- .../RegressionAlwaysEncryptedTest.java | 12 ++++++------ 5 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java index b7e7881ab1..33ad8a0cfa 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java @@ -138,17 +138,17 @@ public static void initValues() throws Exception { populateTable3(); populateTable4(); - createTable(CHAR_TABLE_AE, cekJks, charTable); - createTable(NUMERIC_TABLE_AE, cekJks, numericTable); - createTable(BINARY_TABLE_AE, cekJks, binaryTable); + createTable(AETestConnectionString, CHAR_TABLE_AE, cekJks, charTable); + createTable(AETestConnectionString, NUMERIC_TABLE_AE, cekJks, numericTable); + createTable(AETestConnectionString, BINARY_TABLE_AE, cekJks, binaryTable); createDateTableCallableStatement(cekJks); populateCharNormalCase(charValues); - populateNumericSetObject(numericValues); + populateNumericSetObject(AETestConnectionString, numericValues); populateBinaryNormalCase(byteValues); populateDateNormalCase(); - createTable(SCALE_DATE_TABLE_AE, cekJks, dateScaleTable); + createTable(AETestConnectionString, SCALE_DATE_TABLE_AE, cekJks, dateScaleTable); populateDateScaleNormalCase(dateValues); } @@ -347,10 +347,10 @@ private static void dropTables() throws SQLException { } private static void createSPTables(String cekName) throws SQLException { - createTable(table1, cekJks, SP_table1); - createTable(table2, cekJks, SP_table2); - createTable(table3, cekJks, SP_table3); - createTable(table4, cekJks, SP_table4); + createTable(AETestConnectionString, table1, cekJks, SP_table1); + createTable(AETestConnectionString, table2, cekJks, SP_table2); + createTable(AETestConnectionString, table3, cekJks, SP_table3); + createTable(AETestConnectionString, table4, cekJks, SP_table4); String sql = "create table " + table5 + " (" + "c1 int ENCRYPTED WITH (ENCRYPTION_TYPE = DETERMINISTIC, ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256', COLUMN_ENCRYPTION_KEY = " diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/EnclaveTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/EnclaveTest.java index 8937085f12..c532cc9280 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/EnclaveTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/EnclaveTest.java @@ -183,7 +183,7 @@ public void testAEv2Disabled(String serverName, String url, String protocol) thr SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = createCharValues(false); TestUtils.dropTableIfExists(CHAR_TABLE_AE, stmt); - createTable(CHAR_TABLE_AE, cekJks, charTable); + createTable(AETestConnectionString, CHAR_TABLE_AE, cekJks, charTable); populateCharNormalCase(values); testAlterColumnEncryption(stmt, CHAR_TABLE_AE, charTable, cekJks); fail(TestResource.getResource("R_expectedExceptionNotThrown")); @@ -203,7 +203,7 @@ public void testChar(String serverName, String url, String protocol) throws Exce try (SQLServerConnection con = PrepUtil.getConnection(AETestConnectionString, AEInfo); SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { TestUtils.dropTableIfExists(CHAR_TABLE_AE, stmt); - createTable(CHAR_TABLE_AE, cekJks, charTable); + createTable(AETestConnectionString, CHAR_TABLE_AE, cekJks, charTable); populateCharNormalCase(createCharValues(false)); testAlterColumnEncryption(stmt, CHAR_TABLE_AE, charTable, cekJks); } @@ -219,7 +219,7 @@ public void testCharAkv(String serverName, String url, String protocol) throws E try (SQLServerConnection con = PrepUtil.getConnection(AETestConnectionString, AEInfo); SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { TestUtils.dropTableIfExists(CHAR_TABLE_AE, stmt); - createTable(CHAR_TABLE_AE, cekAkv, charTable); + createTable(AETestConnectionString, CHAR_TABLE_AE, cekAkv, charTable); populateCharNormalCase(createCharValues(false)); testAlterColumnEncryption(stmt, CHAR_TABLE_AE, charTable, cekAkv); } @@ -236,7 +236,7 @@ public void testAEFMTOnly(String serverName, String url, String protocol) throws setAEConnectionString(serverName, url, protocol); try (SQLServerConnection c = PrepUtil.getConnection(AETestConnectionString + ";useFmtOnly=true", AEInfo); Statement s = c.createStatement()) { - createTable(NUMERIC_TABLE_AE, cekJks, numericTable); + createTable(AETestConnectionString, NUMERIC_TABLE_AE, cekJks, numericTable); String sql = "insert into " + NUMERIC_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; @@ -256,7 +256,7 @@ public void testAlter(String serverName, String url, String protocol) throws Exc setAEConnectionString(serverName, url, protocol); try (SQLServerConnection c = PrepUtil.getConnection(AETestConnectionString, AEInfo); Statement s = c.createStatement()) { - createTable(CHAR_TABLE_AE, cekJks, varcharTableSimple); + createTable(AETestConnectionString, CHAR_TABLE_AE, cekJks, varcharTableSimple); PreparedStatement pstmt = c.prepareStatement("INSERT INTO " + CHAR_TABLE_AE + " VALUES (?,?,?)"); pstmt.setString(1, "a"); pstmt.setString(2, "b"); @@ -277,7 +277,7 @@ public void testNumericRichQuery(String serverName, String url, String protocol) setAEConnectionString(serverName, url, protocol); try (SQLServerConnection c = PrepUtil.getConnection(AETestConnectionString, AEInfo); Statement s = c.createStatement()) { - createTable(NUMERIC_TABLE_AE, cekJks, numericTableSimple); + createTable(AETestConnectionString, NUMERIC_TABLE_AE, cekJks, numericTableSimple); PreparedStatement pstmt = c.prepareStatement("INSERT INTO " + NUMERIC_TABLE_AE + " VALUES (?,?,?)"); pstmt.setInt(1, 1); pstmt.setInt(2, 2); @@ -304,7 +304,7 @@ public void testStringRichQuery(String serverName, String url, String protocol) setAEConnectionString(serverName, url, protocol); try (SQLServerConnection c = PrepUtil.getConnection(AETestConnectionString, AEInfo); Statement s = c.createStatement()) { - createTable(CHAR_TABLE_AE, cekJks, varcharTableSimple); + createTable(AETestConnectionString, CHAR_TABLE_AE, cekJks, varcharTableSimple); PreparedStatement pstmt = c.prepareStatement("INSERT INTO " + CHAR_TABLE_AE + " VALUES (?,?,?)"); pstmt.setString(1, "a"); pstmt.setString(2, "b"); @@ -331,7 +331,7 @@ public void testAlterNoEncrypt(String serverName, String url, String protocol) t setAEConnectionString(serverName, url, protocol); try (SQLServerConnection c = PrepUtil.getConnection(AETestConnectionString, AEInfo); Statement s = c.createStatement()) { - createTable(CHAR_TABLE_AE, cekJks, varcharTableSimple); + createTable(AETestConnectionString, CHAR_TABLE_AE, cekJks, varcharTableSimple); PreparedStatement pstmt = c.prepareStatement("INSERT INTO " + CHAR_TABLE_AE + " VALUES (?,?,?)"); pstmt.setString(1, "a"); pstmt.setString(2, "b"); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java index 4829af347e..4efbd6af0e 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java @@ -1562,7 +1562,7 @@ public void testAEFMTOnly(String serverName, String url, String protocol) throws try (SQLServerConnection c = PrepUtil.getConnection(AETestConnectionString + ";useFmtOnly=true", AEInfo); Statement s = c.createStatement()) { - createTable(NUMERIC_TABLE_AE, cekJks, numericTable); + createTable(AETestConnectionString + ";useFmtOnly=true", NUMERIC_TABLE_AE, cekJks, numericTable); String sql = "insert into " + NUMERIC_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; @@ -2112,7 +2112,7 @@ private void testRichQuery(SQLServerStatement stmt, String tableName, String tab void testChars(SQLServerStatement stmt, String cekName, String[][] table, String[] values, TestCase testCase, boolean isTestEnclave) throws SQLException { TestUtils.dropTableIfExists(CHAR_TABLE_AE, stmt); - createTable(CHAR_TABLE_AE, cekName, table); + createTable(AETestConnectionString, CHAR_TABLE_AE, cekName, table); switch (testCase) { case NORMAL: @@ -2151,7 +2151,7 @@ void testChars(SQLServerStatement stmt, String cekName, String[][] table, String void testBinaries(SQLServerStatement stmt, String cekName, String[][] table, LinkedList values, TestCase testCase, boolean isTestEnclave) throws SQLException { TestUtils.dropTableIfExists(BINARY_TABLE_AE, stmt); - createTable(BINARY_TABLE_AE, cekName, table); + createTable(AETestConnectionString, BINARY_TABLE_AE, cekName, table); switch (testCase) { case NORMAL: @@ -2189,7 +2189,7 @@ void testBinaries(SQLServerStatement stmt, String cekName, String[][] table, Lin void testDates(SQLServerStatement stmt, String cekName, String[][] table, LinkedList values, TestCase testCase, boolean isTestEnclave) throws SQLException { TestUtils.dropTableIfExists(DATE_TABLE_AE, stmt); - createTable(DATE_TABLE_AE, cekName, table); + createTable(AETestConnectionString, DATE_TABLE_AE, cekName, table); switch (testCase) { case NORMAL: @@ -2231,21 +2231,21 @@ void testDates(SQLServerStatement stmt, String cekName, String[][] table, Linked void testNumerics(SQLServerStatement stmt, String cekName, String[][] table, String[] values1, String[] values2, TestCase testCase, boolean isTestEnclave) throws SQLException { TestUtils.dropTableIfExists(NUMERIC_TABLE_AE, stmt); - createTable(NUMERIC_TABLE_AE, cekName, table); + createTable(AETestConnectionString, NUMERIC_TABLE_AE, cekName, table); boolean isNull = false; switch (testCase) { case NORMAL: - populateNumeric(values1); + populateNumeric(AETestConnectionString, values1); break; case SETOBJECT: - populateNumericSetObject(values1); + populateNumericSetObject(AETestConnectionString, values1); break; case SETOBJECT_WITH_JDBCTYPES: - populateNumericSetObjectWithJDBCTypes(values1); + populateNumericSetObjectWithJDBCTypes(AETestConnectionString, values1); break; case NULL: - populateNumericNullCase(values1); + populateNumericNullCase(AETestConnectionString, values1); isNull = true; break; default: diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/PrecisionScaleTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/PrecisionScaleTest.java index e5265a2786..b09f5f994a 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/PrecisionScaleTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/PrecisionScaleTest.java @@ -263,7 +263,7 @@ public void testMultiBatch(String serverName, String url, String protocol) throw String.format(insert_sql1, NUMERIC_TABLE_AE), stmtColEncSetting)) { dropTables(stmt); - createTable(NUMERIC_TABLE_AE, cekJks, numericTableSimple); + createTable(AETestConnectionString, NUMERIC_TABLE_AE, cekJks, numericTableSimple); pstmt.setInt(1, 1); pstmt.setInt(2, 2); pstmt.setInt(3, 3); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/RegressionAlwaysEncryptedTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/RegressionAlwaysEncryptedTest.java index d1656eef37..ead2310d55 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/RegressionAlwaysEncryptedTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/RegressionAlwaysEncryptedTest.java @@ -47,19 +47,19 @@ public void alwaysEncrypted1(String serverName, String url, String protocol) thr Statement stmt = connection.createStatement()) { dropTables(stmt); - createTable(NUMERIC_TABLE_AE, cekJks, numericTable); + createTable(AETestConnectionString, NUMERIC_TABLE_AE, cekJks, numericTable); populateNumericTable(connection); verifyNumericTable(connection, false); dropTables(stmt); - createTable(DATE_TABLE_AE, cekJks, dateTable); + createTable(AETestConnectionString, DATE_TABLE_AE, cekJks, dateTable); populateDateTable(connection); verifyDateTable(connection); dropTables(stmt); - createTable(NUMERIC_TABLE_AE, cekJks, numericTable); + createTable(AETestConnectionString, NUMERIC_TABLE_AE, cekJks, numericTable); populateNumericTableWithNull(connection); verifyNumericTable(connection, true); @@ -77,17 +77,17 @@ public void alwaysEncrypted2(String serverName, String url, String protocol) thr Statement stmt = connection.createStatement()) { dropTables(stmt); - createTable(CHAR_TABLE_AE, cekJks, charTable); + createTable(AETestConnectionString, CHAR_TABLE_AE, cekJks, charTable); populateCharTable(connection); verifyCharTable(connection); dropTables(stmt); - createTable(DATE_TABLE_AE, cekJks, dateTable); + createTable(AETestConnectionString, DATE_TABLE_AE, cekJks, dateTable); populateDateTable(connection); verifyDateTable(connection); dropTables(stmt); - createTable(NUMERIC_TABLE_AE, cekJks, numericTable); + createTable(AETestConnectionString, NUMERIC_TABLE_AE, cekJks, numericTable); populateNumericTableSpecificSetter(connection); verifyNumericTable(connection, false); From 9d0bbd30f14f7b9d0f5a6ead878bb4efe0b49050 Mon Sep 17 00:00:00 2001 From: lilgreenbird Date: Thu, 24 Jun 2021 12:52:30 -0700 Subject: [PATCH 3/4] test fix --- .../jdbc/AlwaysEncrypted/AESetup.java | 94 +++++---- .../CallableStatementTest.java | 6 +- .../jdbc/AlwaysEncrypted/EnclaveTest.java | 12 +- .../JDBCEncryptionDecryptionTest.java | 194 ++++++++++-------- .../jdbc/AlwaysEncrypted/MSITest.java | 2 +- .../AlwaysEncrypted/PrecisionScaleTest.java | 18 +- 6 files changed, 172 insertions(+), 154 deletions(-) diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/AESetup.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/AESetup.java index 96aefe33a9..a45be12c1b 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/AESetup.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/AESetup.java @@ -218,17 +218,20 @@ public static void setupAETest() throws Exception { setAEConnectionString(serverName, url, protocol); - createCMK(cmkJks, Constants.JAVA_KEY_STORE_NAME, javaKeyAliases, Constants.CMK_SIGNATURE); - createCEK(cmkJks, cekJks, jksProvider); + createCMK(AETestConnectionString, cmkJks, Constants.JAVA_KEY_STORE_NAME, javaKeyAliases, + Constants.CMK_SIGNATURE); + createCEK(AETestConnectionString, cmkJks, cekJks, jksProvider); if (null != keyIDs && !keyIDs[0].isEmpty()) { - createCMK(cmkAkv, Constants.AZURE_KEY_VAULT_NAME, keyIDs[0], Constants.CMK_SIGNATURE_AKV); - createCEK(cmkAkv, cekAkv, akvProvider); + createCMK(AETestConnectionString, cmkAkv, Constants.AZURE_KEY_VAULT_NAME, keyIDs[0], + Constants.CMK_SIGNATURE_AKV); + createCEK(AETestConnectionString, cmkAkv, cekAkv, akvProvider); } if (null != windowsKeyPath) { - createCMK(cmkWin, Constants.WINDOWS_KEY_STORE_NAME, windowsKeyPath, Constants.CMK_SIGNATURE); - createCEK(cmkWin, cekWin, null); + createCMK(AETestConnectionString, cmkWin, Constants.WINDOWS_KEY_STORE_NAME, windowsKeyPath, + Constants.CMK_SIGNATURE); + createCEK(AETestConnectionString, cmkWin, cekWin, null); } } } @@ -331,9 +334,9 @@ protected static void createTable(String connStr, String tableName, String cekNa } } - protected static void createPrecisionTable(String tableName, String table[][], String cekName, int floatPrecision, - int precision, int scale) throws SQLException { - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + protected static void createPrecisionTable(String connStr, String tableName, String table[][], String cekName, + int floatPrecision, int precision, int scale) throws SQLException { + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String sql = ""; for (int i = 0; i < table.length; i++) { @@ -365,9 +368,9 @@ protected static void createPrecisionTable(String tableName, String table[][], S } } - protected static void createScaleTable(String tableName, String table[][], String cekName, + protected static void createScaleTable(String connStr, String tableName, String table[][], String cekName, int scale) throws SQLException { - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String sql = ""; for (int i = 0; i < table.length; i++) { @@ -506,10 +509,10 @@ protected static LinkedList createTemporalTypes(boolean nullable) { * @param keyPath * @throws SQLException */ - private static void createCMK(String cmkName, String keyStoreName, String keyPath, + private static void createCMK(String connStr, String cmkName, String keyStoreName, String keyPath, String signature) throws SQLException { try (SQLServerConnection con = (SQLServerConnection) PrepUtil - .getConnection(AETestConnectionString + ";sendTimeAsDateTime=false", AEInfo); + .getConnection(connStr + ";sendTimeAsDateTime=false"); SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String sql = " if not exists (SELECT name from sys.column_master_keys where name='" + cmkName + "')" + " begin" + " CREATE COLUMN MASTER KEY " + cmkName + " WITH (KEY_STORE_PROVIDER_NAME = '" @@ -526,10 +529,10 @@ private static void createCMK(String cmkName, String keyStoreName, String keyPat * @param certStore * @throws SQLException */ - private static void createCEK(String cmkName, String cekName, + private static void createCEK(String connStr, String cmkName, String cekName, SQLServerColumnEncryptionKeyStoreProvider storeProvider) throws SQLException { try (SQLServerConnection con = (SQLServerConnection) PrepUtil - .getConnection(AETestConnectionString + ";sendTimeAsDateTime=false", AEInfo); + .getConnection(connStr + ";sendTimeAsDateTime=false"); SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { byte[] valuesDefault = Constants.CEK_STRING.getBytes(); String encryptedValue; @@ -572,12 +575,12 @@ protected static void dropTables(Statement stmt) throws SQLException { * @param byteValues * @throws SQLException */ - protected static void populateBinaryNormalCase(LinkedList byteValues) throws SQLException { + protected static void populateBinaryNormalCase(String connStr, LinkedList byteValues) throws SQLException { String sql = "insert into " + BINARY_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; try (SQLServerConnection con = (SQLServerConnection) PrepUtil - .getConnection(AETestConnectionString + ";sendTimeAsDateTime=false", AEInfo); + .getConnection(connStr + ";sendTimeAsDateTime=false"); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -636,10 +639,10 @@ protected static void populateBinaryNormalCase(LinkedList byteValues) th * @param byteValues * @throws SQLException */ - protected static void populateBinarySetObject(LinkedList byteValues) throws SQLException { + protected static void populateBinarySetObject(String connStr, LinkedList byteValues) throws SQLException { String sql = "insert into " + BINARY_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -698,11 +701,12 @@ protected static void populateBinarySetObject(LinkedList byteValues) thr * @param byteValues * @throws SQLException */ - protected static void populateBinarySetObjectWithJDBCType(LinkedList byteValues) throws SQLException { + protected static void populateBinarySetObjectWithJDBCType(String connStr, + LinkedList byteValues) throws SQLException { String sql = "insert into " + BINARY_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -760,11 +764,11 @@ protected static void populateBinarySetObjectWithJDBCType(LinkedList byt * * @throws SQLException */ - protected static void populateBinaryNullCase() throws SQLException { + protected static void populateBinaryNullCase(String connStr) throws SQLException { String sql = "insert into " + BINARY_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -798,11 +802,11 @@ protected static void populateBinaryNullCase() throws SQLException { * @param charValues * @throws SQLException */ - protected static void populateCharNormalCase(String[] charValues) throws SQLException { + protected static void populateCharNormalCase(String connStr, String[] charValues) throws SQLException { String sql = "insert into " + CHAR_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -865,11 +869,11 @@ protected static void populateCharNormalCase(String[] charValues) throws SQLExce * @param charValues * @throws SQLException */ - protected static void populateCharSetObject(String[] charValues) throws SQLException { + protected static void populateCharSetObject(String connStr, String[] charValues) throws SQLException { String sql = "insert into " + CHAR_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -928,11 +932,11 @@ protected static void populateCharSetObject(String[] charValues) throws SQLExcep * @param charValues * @throws SQLException */ - protected static void populateCharSetObjectWithJDBCTypes(String[] charValues) throws SQLException { + protected static void populateCharSetObjectWithJDBCTypes(String connStr, String[] charValues) throws SQLException { String sql = "insert into " + CHAR_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -990,11 +994,11 @@ protected static void populateCharSetObjectWithJDBCTypes(String[] charValues) th * * @throws SQLException */ - protected static void populateCharNullCase() throws SQLException { + protected static void populateCharNullCase(String connStr) throws SQLException { String sql = "insert into " + CHAR_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -1044,11 +1048,11 @@ protected static void populateCharNullCase() throws SQLException { * @param dateValues * @throws SQLException */ - protected static void populateDateNormalCase(LinkedList dateValues) throws SQLException { + protected static void populateDateNormalCase(String connStr, LinkedList dateValues) throws SQLException { String sql = "insert into " + DATE_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { // date @@ -1091,10 +1095,11 @@ protected static void populateDateNormalCase(LinkedList dateValues) thro * @param dateValues * @throws SQLException */ - protected static void populateDateScaleNormalCase(LinkedList dateValues) throws SQLException { + protected static void populateDateScaleNormalCase(String connStr, + LinkedList dateValues) throws SQLException { String sql = "insert into " + SCALE_DATE_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -1124,12 +1129,13 @@ protected static void populateDateScaleNormalCase(LinkedList dateValues) * @param setter * @throws SQLException */ - protected static void populateDateSetObject(LinkedList dateValues, String setter) throws SQLException { + protected static void populateDateSetObject(String connStr, LinkedList dateValues, + String setter) throws SQLException { String sql = "insert into " + DATE_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -1192,11 +1198,11 @@ else if (setter.equalsIgnoreCase("setwithJDBCType")) * * @throws SQLException */ - protected void populateDateSetObjectNull() throws SQLException { + protected void populateDateSetObjectNull(String connStr) throws SQLException { String sql = "insert into " + DATE_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -1239,11 +1245,11 @@ protected void populateDateSetObjectNull() throws SQLException { * * @throws SQLException */ - protected static void populateDateNullCase() throws SQLException { + protected static void populateDateNullCase(String connStr) throws SQLException { String sql = "insert into " + DATE_TABLE_AE + " values( " + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?," + "?,?,?" + ")"; - try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(AETestConnectionString, AEInfo); + try (SQLServerConnection con = (SQLServerConnection) PrepUtil.getConnection(connStr); SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement) TestUtils.getPreparedStmt(con, sql, stmtColEncSetting)) { @@ -1950,9 +1956,9 @@ private static void dropCMK(String cmkName, Statement stmt) throws SQLException * @param cekName * @throws SQLException */ - protected void testAlterColumnEncryption(SQLServerStatement stmt, String tableName, String table[][], - String cekName) throws SQLException { - try (SQLServerConnection con = PrepUtil.getConnection(AETestConnectionString, AEInfo)) { + protected void testAlterColumnEncryption(String connStr, SQLServerStatement stmt, String tableName, + String table[][], String cekName) throws SQLException { + try (SQLServerConnection con = PrepUtil.getConnection(connStr)) { for (int i = 0; i < table.length; i++) { // alter deterministic to randomized String sql = "ALTER TABLE " + tableName + " ALTER COLUMN " + ColumnType.DETERMINISTIC.name() diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java index 33ad8a0cfa..32a74c498a 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java @@ -143,13 +143,13 @@ public static void initValues() throws Exception { createTable(AETestConnectionString, BINARY_TABLE_AE, cekJks, binaryTable); createDateTableCallableStatement(cekJks); - populateCharNormalCase(charValues); + populateCharNormalCase(AETestConnectionString, charValues); populateNumericSetObject(AETestConnectionString, numericValues); - populateBinaryNormalCase(byteValues); + populateBinaryNormalCase(AETestConnectionString, byteValues); populateDateNormalCase(); createTable(AETestConnectionString, SCALE_DATE_TABLE_AE, cekJks, dateScaleTable); - populateDateScaleNormalCase(dateValues); + populateDateScaleNormalCase(AETestConnectionString, dateValues); } @AfterAll diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/EnclaveTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/EnclaveTest.java index c532cc9280..4b235ac447 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/EnclaveTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/EnclaveTest.java @@ -184,8 +184,8 @@ public void testAEv2Disabled(String serverName, String url, String protocol) thr String[] values = createCharValues(false); TestUtils.dropTableIfExists(CHAR_TABLE_AE, stmt); createTable(AETestConnectionString, CHAR_TABLE_AE, cekJks, charTable); - populateCharNormalCase(values); - testAlterColumnEncryption(stmt, CHAR_TABLE_AE, charTable, cekJks); + populateCharNormalCase(AETestConnectionString, values); + testAlterColumnEncryption(AETestConnectionString, stmt, CHAR_TABLE_AE, charTable, cekJks); fail(TestResource.getResource("R_expectedExceptionNotThrown")); } catch (Throwable e) { // testChars called fail() @@ -204,8 +204,8 @@ public void testChar(String serverName, String url, String protocol) throws Exce SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { TestUtils.dropTableIfExists(CHAR_TABLE_AE, stmt); createTable(AETestConnectionString, CHAR_TABLE_AE, cekJks, charTable); - populateCharNormalCase(createCharValues(false)); - testAlterColumnEncryption(stmt, CHAR_TABLE_AE, charTable, cekJks); + populateCharNormalCase(AETestConnectionString, createCharValues(false)); + testAlterColumnEncryption(AETestConnectionString, stmt, CHAR_TABLE_AE, charTable, cekJks); } } @@ -220,8 +220,8 @@ public void testCharAkv(String serverName, String url, String protocol) throws E SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { TestUtils.dropTableIfExists(CHAR_TABLE_AE, stmt); createTable(AETestConnectionString, CHAR_TABLE_AE, cekAkv, charTable); - populateCharNormalCase(createCharValues(false)); - testAlterColumnEncryption(stmt, CHAR_TABLE_AE, charTable, cekAkv); + populateCharNormalCase(AETestConnectionString, createCharValues(false)); + testAlterColumnEncryption(AETestConnectionString, stmt, CHAR_TABLE_AE, charTable, cekAkv); } } diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java index 4efbd6af0e..83cc81008d 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java @@ -371,7 +371,7 @@ public void testCharSpecificSetter(String serverName, String url, String protoco SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = createCharValues(nullable); - testChars(stmt, cekJks, charTable, values, TestCase.NORMAL, false); + testChars(AETestConnectionString, stmt, cekJks, charTable, values, TestCase.NORMAL, false); } } @@ -390,7 +390,7 @@ public void testCharSpecificSetterAkv(String serverName, String url, String prot SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = createCharValues(nullable); - testChars(stmt, cekAkv, charTable, values, TestCase.NORMAL, false); + testChars(AETestConnectionString, stmt, cekAkv, charTable, values, TestCase.NORMAL, false); } } @@ -411,7 +411,7 @@ public void testCharSpecificSetterWindows(String serverName, String url, String SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = createCharValues(nullable); - testChars(stmt, cekWin, charTable, values, TestCase.NORMAL, false); + testChars(AETestConnectionString, stmt, cekWin, charTable, values, TestCase.NORMAL, false); } } @@ -430,7 +430,7 @@ public void testCharSetObjectAkv(String serverName, String url, String protocol) SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = createCharValues(nullable); - testChars(stmt, cekAkv, charTable, values, TestCase.SETOBJECT, false); + testChars(AETestConnectionString, stmt, cekAkv, charTable, values, TestCase.SETOBJECT, false); } } @@ -448,7 +448,7 @@ public void testCharSetObject(String serverName, String url, String protocol) th SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = createCharValues(nullable); - testChars(stmt, cekJks, charTable, values, TestCase.SETOBJECT, false); + testChars(AETestConnectionString, stmt, cekJks, charTable, values, TestCase.SETOBJECT, false); } } @@ -467,7 +467,8 @@ public void testCharSetObjectWithJDBCTypesAkv(String serverName, String url, Str SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = createCharValues(nullable); - testChars(stmt, cekAkv, charTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, false); + testChars(AETestConnectionString, stmt, cekAkv, charTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, + false); } } @@ -485,7 +486,8 @@ public void testCharSetObjectWithJDBCTypes(String serverName, String url, String SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = createCharValues(nullable); - testChars(stmt, cekJks, charTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, false); + testChars(AETestConnectionString, stmt, cekJks, charTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, + false); } } @@ -504,7 +506,7 @@ public void testCharSpecificSetterNullAkv(String serverName, String url, String SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = {null, null, null, null, null, null, null, null, null}; - testChars(stmt, cekAkv, charTable, values, TestCase.NORMAL, false); + testChars(AETestConnectionString, stmt, cekAkv, charTable, values, TestCase.NORMAL, false); } } @@ -522,7 +524,7 @@ public void testCharSpecificSetterNull(String serverName, String url, String pro SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = {null, null, null, null, null, null, null, null, null}; - testChars(stmt, cekJks, charTable, values, TestCase.NORMAL, false); + testChars(AETestConnectionString, stmt, cekJks, charTable, values, TestCase.NORMAL, false); } } @@ -541,7 +543,7 @@ public void testCharSetObjectNullAkv(String serverName, String url, String proto SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = {null, null, null, null, null, null, null, null, null}; - testChars(stmt, cekAkv, charTable, values, TestCase.SETOBJECT, false); + testChars(AETestConnectionString, stmt, cekAkv, charTable, values, TestCase.SETOBJECT, false); } } @@ -559,7 +561,7 @@ public void testCharSetObjectNull(String serverName, String url, String protocol SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = {null, null, null, null, null, null, null, null, null}; - testChars(stmt, cekJks, charTable, values, TestCase.SETOBJECT, false); + testChars(AETestConnectionString, stmt, cekJks, charTable, values, TestCase.SETOBJECT, false); } } @@ -578,7 +580,7 @@ public void testCharSetNullAkv(String serverName, String url, String protocol) t SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = {null, null, null, null, null, null, null, null, null}; - testChars(stmt, cekAkv, charTable, values, TestCase.NULL, false); + testChars(AETestConnectionString, stmt, cekAkv, charTable, values, TestCase.NULL, false); } } @@ -596,7 +598,7 @@ public void testCharSetNull(String serverName, String url, String protocol) thro SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { String[] values = {null, null, null, null, null, null, null, null, null}; - testChars(stmt, cekJks, charTable, values, TestCase.NULL, false); + testChars(AETestConnectionString, stmt, cekJks, charTable, values, TestCase.NULL, false); } } @@ -615,7 +617,7 @@ public void testBinarySpecificSetterAkv(String serverName, String url, String pr SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(false); - testBinaries(stmt, cekAkv, binaryTable, values, TestCase.NORMAL, false); + testBinaries(AETestConnectionString, stmt, cekAkv, binaryTable, values, TestCase.NORMAL, false); } } @@ -633,7 +635,7 @@ public void testBinarySpecificSetter(String serverName, String url, String proto SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(false); - testBinaries(stmt, cekJks, binaryTable, values, TestCase.NORMAL, false); + testBinaries(AETestConnectionString, stmt, cekJks, binaryTable, values, TestCase.NORMAL, false); } } @@ -654,7 +656,7 @@ public void testBinarySpecificSetterWindows(String serverName, String url, Strin SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(false); - testBinaries(stmt, cekWin, binaryTable, values, TestCase.NORMAL, false); + testBinaries(AETestConnectionString, stmt, cekWin, binaryTable, values, TestCase.NORMAL, false); } } @@ -673,7 +675,7 @@ public void testBinarySetobjectAkv(String serverName, String url, String protoco SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(false); - testBinaries(stmt, cekAkv, binaryTable, values, TestCase.SETOBJECT, false); + testBinaries(AETestConnectionString, stmt, cekAkv, binaryTable, values, TestCase.SETOBJECT, false); } } @@ -691,7 +693,7 @@ public void testBinarySetobject(String serverName, String url, String protocol) SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(false); - testBinaries(stmt, cekJks, binaryTable, values, TestCase.SETOBJECT, false); + testBinaries(AETestConnectionString, stmt, cekJks, binaryTable, values, TestCase.SETOBJECT, false); } } @@ -710,7 +712,7 @@ public void testBinarySetNullAkv(String serverName, String url, String protocol) SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(true); - testBinaries(stmt, cekAkv, binaryTable, values, TestCase.NULL, false); + testBinaries(AETestConnectionString, stmt, cekAkv, binaryTable, values, TestCase.NULL, false); } } @@ -728,7 +730,7 @@ public void testBinarySetNull(String serverName, String url, String protocol) th SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(true); - testBinaries(stmt, cekJks, binaryTable, values, TestCase.NULL, false); + testBinaries(AETestConnectionString, stmt, cekJks, binaryTable, values, TestCase.NULL, false); } } @@ -747,7 +749,7 @@ public void testBinarySpecificSetterNullAkv(String serverName, String url, Strin SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(true); - testBinaries(stmt, cekAkv, binaryTable, values, TestCase.NORMAL, false); + testBinaries(AETestConnectionString, stmt, cekAkv, binaryTable, values, TestCase.NORMAL, false); } } @@ -765,7 +767,7 @@ public void testBinarySpecificSetterNull(String serverName, String url, String p SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(true); - testBinaries(stmt, cekJks, binaryTable, values, TestCase.NORMAL, false); + testBinaries(AETestConnectionString, stmt, cekJks, binaryTable, values, TestCase.NORMAL, false); } } @@ -784,7 +786,7 @@ public void testBinarysetObjectNullAkv(String serverName, String url, String pro SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(true); - testBinaries(stmt, cekAkv, binaryTable, values, TestCase.SETOBJECT_NULL, false); + testBinaries(AETestConnectionString, stmt, cekAkv, binaryTable, values, TestCase.SETOBJECT_NULL, false); } } @@ -802,7 +804,7 @@ public void testBinarysetObjectNull(String serverName, String url, String protoc SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(true); - testBinaries(stmt, cekJks, binaryTable, values, TestCase.SETOBJECT_NULL, false); + testBinaries(AETestConnectionString, stmt, cekJks, binaryTable, values, TestCase.SETOBJECT_NULL, false); } } @@ -820,7 +822,8 @@ public void testBinarySetObjectWithJDBCTypesAkv(String serverName, String url, S SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(false); - testBinaries(stmt, cekAkv, binaryTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, false); + testBinaries(AETestConnectionString, stmt, cekAkv, binaryTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, + false); } } @@ -837,7 +840,8 @@ public void testBinarySetObjectWithJDBCTypes(String serverName, String url, Stri SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createBinaryValues(false); - testBinaries(stmt, cekJks, binaryTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, false); + testBinaries(AETestConnectionString, stmt, cekJks, binaryTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, + false); } } @@ -856,7 +860,7 @@ public void testDateSpecificSetterAkv(String serverName, String url, String prot SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekAkv, dateTable, values, TestCase.NORMAL, false); + testDates(AETestConnectionString, stmt, cekAkv, dateTable, values, TestCase.NORMAL, false); } } @@ -874,7 +878,7 @@ public void testDateSpecificSetter(String serverName, String url, String protoco SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekJks, dateTable, values, TestCase.NORMAL, false); + testDates(AETestConnectionString, stmt, cekJks, dateTable, values, TestCase.NORMAL, false); } } @@ -895,7 +899,7 @@ public void testDateSpecificSetterWindows(String serverName, String url, String SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekWin, dateTable, values, TestCase.NORMAL, false); + testDates(AETestConnectionString, stmt, cekWin, dateTable, values, TestCase.NORMAL, false); } } @@ -914,7 +918,7 @@ public void testDateSetObjectAkv(String serverName, String url, String protocol) SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekAkv, dateTable, values, TestCase.SETOBJECT, false); + testDates(AETestConnectionString, stmt, cekAkv, dateTable, values, TestCase.SETOBJECT, false); } } @@ -932,7 +936,7 @@ public void testDateSetObject(String serverName, String url, String protocol) th SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekJks, dateTable, values, TestCase.SETOBJECT, false); + testDates(AETestConnectionString, stmt, cekJks, dateTable, values, TestCase.SETOBJECT, false); } } @@ -951,7 +955,8 @@ public void testDateSetObjectWithJavaTypeAkv(String serverName, String url, Stri SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekAkv, dateTable, values, TestCase.SETOBJECT_WITH_JAVATYPES, false); + testDates(AETestConnectionString, stmt, cekAkv, dateTable, values, TestCase.SETOBJECT_WITH_JAVATYPES, + false); } } @@ -969,7 +974,8 @@ public void testDateSetObjectWithJavaType(String serverName, String url, String SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekJks, dateTable, values, TestCase.SETOBJECT_WITH_JAVATYPES, false); + testDates(AETestConnectionString, stmt, cekJks, dateTable, values, TestCase.SETOBJECT_WITH_JAVATYPES, + false); } } @@ -988,7 +994,8 @@ public void testDateSetObjectWithJDBCTypeAkv(String serverName, String url, Stri SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekAkv, dateTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, false); + testDates(AETestConnectionString, stmt, cekAkv, dateTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, + false); } } @@ -1006,7 +1013,8 @@ public void testDateSetObjectWithJDBCType(String serverName, String url, String SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekJks, dateTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, false); + testDates(AETestConnectionString, stmt, cekJks, dateTable, values, TestCase.SETOBJECT_WITH_JDBCTYPES, + false); } } @@ -1026,7 +1034,7 @@ public void testDateSpecificSetterMinMaxValueAkv(String serverName, String url, RandomData.returnMinMax = true; LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekAkv, dateTable, values, TestCase.NORMAL, false); + testDates(AETestConnectionString, stmt, cekAkv, dateTable, values, TestCase.NORMAL, false); } } @@ -1045,7 +1053,7 @@ public void testDateSpecificSetterMinMaxValue(String serverName, String url, Str RandomData.returnMinMax = true; LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekJks, dateTable, values, TestCase.NORMAL, false); + testDates(AETestConnectionString, stmt, cekJks, dateTable, values, TestCase.NORMAL, false); } } @@ -1066,7 +1074,7 @@ public void testDateSetNullAkv(String serverName, String url, String protocol) t nullable = true; LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekAkv, dateTable, values, TestCase.NULL, false); + testDates(AETestConnectionString, stmt, cekAkv, dateTable, values, TestCase.NULL, false); } nullable = false; @@ -1089,7 +1097,7 @@ public void testDateSetNull(String serverName, String url, String protocol) thro nullable = true; LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekJks, dateTable, values, TestCase.NULL, false); + testDates(AETestConnectionString, stmt, cekJks, dateTable, values, TestCase.NULL, false); } nullable = false; @@ -1114,7 +1122,7 @@ public void testDateSetObjectNullAkv(String serverName, String url, String proto SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekAkv, dateTable, values, TestCase.SETOBJECT_NULL, false); + testDates(AETestConnectionString, stmt, cekAkv, dateTable, values, TestCase.SETOBJECT_NULL, false); } nullable = false; @@ -1138,7 +1146,7 @@ public void testDateSetObjectNull(String serverName, String url, String protocol SQLServerStatement stmt = (SQLServerStatement) con.createStatement()) { LinkedList values = createTemporalTypes(nullable); - testDates(stmt, cekJks, dateTable, values, TestCase.SETOBJECT_NULL, false); + testDates(AETestConnectionString, stmt, cekJks, dateTable, values, TestCase.SETOBJECT_NULL, false); } nullable = false; @@ -1163,7 +1171,7 @@ public void testNumericSpecificSetterAkv(String serverName, String url, String p String[] values2 = new String[values1.length]; System.arraycopy(values1, 0, values2, 0, values1.length); - testNumerics(stmt, cekAkv, numericTable, values1, values2, TestCase.NORMAL, false); + testNumerics(AETestConnectionString, stmt, cekAkv, numericTable, values1, values2, TestCase.NORMAL, false); } } @@ -1184,7 +1192,7 @@ public void testNumericSpecificSetter(String serverName, String url, String prot String[] values2 = new String[values1.length]; System.arraycopy(values1, 0, values2, 0, values1.length); - testNumerics(stmt, cekJks, numericTable, values1, values2, TestCase.NORMAL, false); + testNumerics(AETestConnectionString, stmt, cekJks, numericTable, values1, values2, TestCase.NORMAL, false); } } @@ -1208,7 +1216,7 @@ public void testNumericSpecificSetterWindows(String serverName, String url, Stri String[] values2 = new String[values1.length]; System.arraycopy(values1, 0, values2, 0, values1.length); - testNumerics(stmt, cekWin, numericTable, values1, values2, TestCase.NORMAL, false); + testNumerics(AETestConnectionString, stmt, cekWin, numericTable, values1, values2, TestCase.NORMAL, false); } } @@ -1229,7 +1237,8 @@ public void testNumericSetObjectAkv(String serverName, String url, String protoc String[] values2 = new String[values1.length]; System.arraycopy(values1, 0, values2, 0, values1.length); - testNumerics(stmt, cekAkv, numericTable, values1, values2, TestCase.SETOBJECT, false); + testNumerics(AETestConnectionString, stmt, cekAkv, numericTable, values1, values2, TestCase.SETOBJECT, + false); } } @@ -1249,7 +1258,8 @@ public void testNumericSetObject(String serverName, String url, String protocol) String[] values2 = new String[values1.length]; System.arraycopy(values1, 0, values2, 0, values1.length); - testNumerics(stmt, cekJks, numericTable, values1, values2, TestCase.SETOBJECT, false); + testNumerics(AETestConnectionString, stmt, cekJks, numericTable, values1, values2, TestCase.SETOBJECT, + false); } } @@ -1270,7 +1280,8 @@ public void testNumericSetObjectWithJDBCTypesAkv(String serverName, String url, String[] values2 = new String[values1.length]; System.arraycopy(values1, 0, values2, 0, values1.length); - testNumerics(stmt, cekAkv, numericTable, values1, values2, TestCase.SETOBJECT_WITH_JDBCTYPES, false); + testNumerics(AETestConnectionString, stmt, cekAkv, numericTable, values1, values2, + TestCase.SETOBJECT_WITH_JDBCTYPES, false); } } @@ -1290,7 +1301,8 @@ public void testNumericSetObjectWithJDBCTypes(String serverName, String url, Str String[] values2 = new String[values1.length]; System.arraycopy(values1, 0, values2, 0, values1.length); - testNumerics(stmt, cekJks, numericTable, values1, values2, TestCase.SETOBJECT_WITH_JDBCTYPES, false); + testNumerics(AETestConnectionString, stmt, cekJks, numericTable, values1, values2, + TestCase.SETOBJECT_WITH_JDBCTYPES, false); } } @@ -1317,7 +1329,7 @@ public void testNumericSpecificSetterMaxValueAkv(String serverName, String url, "567812.78", "214748.3647", "922337203685477.5807", "999999999999999999999999.9999", "999999999999999999999999.9999"}; - testNumerics(stmt, cekAkv, numericTable, values1, values2, TestCase.NORMAL, false); + testNumerics(AETestConnectionString, stmt, cekAkv, numericTable, values1, values2, TestCase.NORMAL, false); } } @@ -1343,7 +1355,7 @@ public void testNumericSpecificSetterMaxValue(String serverName, String url, Str "567812.78", "214748.3647", "922337203685477.5807", "999999999999999999999999.9999", "999999999999999999999999.9999"}; - testNumerics(stmt, cekJks, numericTable, values1, values2, TestCase.NORMAL, false); + testNumerics(AETestConnectionString, stmt, cekJks, numericTable, values1, values2, TestCase.NORMAL, false); } } @@ -1369,7 +1381,7 @@ public void testNumericSpecificSetterMinValueAkv(String serverName, String url, "567812.78", "-214748.3648", "-922337203685477.5808", "999999999999999999999999.9999", "999999999999999999999999.9999"}; - testNumerics(stmt, cekAkv, numericTable, values1, values2, TestCase.NORMAL, false); + testNumerics(AETestConnectionString, stmt, cekAkv, numericTable, values1, values2, TestCase.NORMAL, false); } } @@ -1394,7 +1406,7 @@ public void testNumericSpecificSetterMinValue(String serverName, String url, Str "567812.78", "-214748.3648", "-922337203685477.5808", "999999999999999999999999.9999", "999999999999999999999999.9999"}; - testNumerics(stmt, cekJks, numericTable, values1, values2, TestCase.NORMAL, false); + testNumerics(AETestConnectionString, stmt, cekJks, numericTable, values1, values2, TestCase.NORMAL, false); } } @@ -1417,7 +1429,7 @@ public void testNumericSpecificSetterNullAkv(String serverName, String url, Stri String[] values2 = new String[values1.length]; System.arraycopy(values1, 0, values2, 0, values1.length); - testNumerics(stmt, cekAkv, numericTable, values1, values2, TestCase.NULL, false); + testNumerics(AETestConnectionString, stmt, cekAkv, numericTable, values1, values2, TestCase.NULL, false); } nullable = false; @@ -1442,7 +1454,7 @@ public void testNumericSpecificSetterNull(String serverName, String url, String String[] values2 = new String[values1.length]; System.arraycopy(values1, 0, values2, 0, values1.length); - testNumerics(stmt, cekJks, numericTable, values1, values2, TestCase.NULL, false); + testNumerics(AETestConnectionString, stmt, cekJks, numericTable, values1, values2, TestCase.NULL, false); } nullable = false; @@ -1468,7 +1480,7 @@ public void testNumericSpecificSetterSetObjectNullAkv(String serverName, String String[] values2 = new String[values1.length]; System.arraycopy(values1, 0, values2, 0, values1.length); - testNumerics(stmt, cekAkv, numericTable, values1, values2, TestCase.NULL, false); + testNumerics(AETestConnectionString, stmt, cekAkv, numericTable, values1, values2, TestCase.NULL, false); } nullable = false; @@ -1493,7 +1505,7 @@ public void testNumericSpecificSetterSetObjectNull(String serverName, String url String[] values2 = new String[values1.length]; System.arraycopy(values1, 0, values2, 0, values1.length); - testNumerics(stmt, cekJks, numericTable, values1, values2, TestCase.NULL, false); + testNumerics(AETestConnectionString, stmt, cekJks, numericTable, values1, values2, TestCase.NULL, false); } nullable = false; @@ -1520,7 +1532,7 @@ public void testNumericNormalizationAkv(String serverName, String url, String pr "123456789123456789", "12345.12345", "987654321123456789", "567812.78", "7812.7812", "7812.7812", "999999999999999999999999.9999", "999999999999999999999999.9999"}; - testNumerics(stmt, cekAkv, numericTable, values1, values2, TestCase.NORMAL, false); + testNumerics(AETestConnectionString, stmt, cekAkv, numericTable, values1, values2, TestCase.NORMAL, false); } } @@ -1543,7 +1555,7 @@ public void testNumericNormalization(String serverName, String url, String proto "123456789123456789", "12345.12345", "987654321123456789", "567812.78", "7812.7812", "7812.7812", "999999999999999999999999.9999", "999999999999999999999999.9999"}; - testNumerics(stmt, cekJks, numericTable, values1, values2, TestCase.NORMAL, false); + testNumerics(AETestConnectionString, stmt, cekJks, numericTable, values1, values2, TestCase.NORMAL, false); } } @@ -2109,26 +2121,26 @@ private void testRichQuery(SQLServerStatement stmt, String tableName, String tab } } - void testChars(SQLServerStatement stmt, String cekName, String[][] table, String[] values, TestCase testCase, - boolean isTestEnclave) throws SQLException { + void testChars(String connStr, SQLServerStatement stmt, String cekName, String[][] table, String[] values, + TestCase testCase, boolean isTestEnclave) throws SQLException { TestUtils.dropTableIfExists(CHAR_TABLE_AE, stmt); createTable(AETestConnectionString, CHAR_TABLE_AE, cekName, table); switch (testCase) { case NORMAL: - populateCharNormalCase(values); + populateCharNormalCase(connStr, values); break; case SETOBJECT: - populateCharSetObject(values); + populateCharSetObject(connStr, values); break; case SETOBJECT_NULL: - populateDateSetObjectNull(); + populateDateSetObjectNull(connStr); break; case SETOBJECT_WITH_JDBCTYPES: - populateCharSetObjectWithJDBCTypes(values); + populateCharSetObjectWithJDBCTypes(connStr, values); break; case NULL: - populateCharNullCase(); + populateCharNullCase(connStr); break; default: fail(TestResource.getResource("R_switchFailed")); @@ -2143,30 +2155,30 @@ void testChars(SQLServerStatement stmt, String cekName, String[][] table, String fail(TestResource.getResource("R_reqExternalSetup")); } - testAlterColumnEncryption(stmt, CHAR_TABLE_AE, table, cekName); + testAlterColumnEncryption(connStr, stmt, CHAR_TABLE_AE, table, cekName); testRichQuery(stmt, CHAR_TABLE_AE, table, values); } } - void testBinaries(SQLServerStatement stmt, String cekName, String[][] table, LinkedList values, - TestCase testCase, boolean isTestEnclave) throws SQLException { + void testBinaries(String connStr, SQLServerStatement stmt, String cekName, String[][] table, + LinkedList values, TestCase testCase, boolean isTestEnclave) throws SQLException { TestUtils.dropTableIfExists(BINARY_TABLE_AE, stmt); - createTable(AETestConnectionString, BINARY_TABLE_AE, cekName, table); + createTable(connStr, BINARY_TABLE_AE, cekName, table); switch (testCase) { case NORMAL: - populateBinaryNormalCase(values); + populateBinaryNormalCase(connStr, values); break; case SETOBJECT: - populateBinarySetObject(values); + populateBinarySetObject(connStr, values); case SETOBJECT_WITH_JDBCTYPES: - populateBinarySetObjectWithJDBCType(values); + populateBinarySetObjectWithJDBCType(connStr, values); break; case SETOBJECT_NULL: - populateBinarySetObject(null); + populateBinarySetObject(connStr, null); break; case NULL: - populateBinaryNullCase(); + populateBinaryNullCase(connStr); break; default: fail(TestResource.getResource("R_switchFailed")); @@ -2181,34 +2193,34 @@ void testBinaries(SQLServerStatement stmt, String cekName, String[][] table, Lin fail(TestResource.getResource("R_reqExternalSetup")); } - testAlterColumnEncryption(stmt, BINARY_TABLE_AE, table, cekName); + testAlterColumnEncryption(connStr, stmt, BINARY_TABLE_AE, table, cekName); testRichQuery(stmt, BINARY_TABLE_AE, table, values); } } - void testDates(SQLServerStatement stmt, String cekName, String[][] table, LinkedList values, + void testDates(String connStr, SQLServerStatement stmt, String cekName, String[][] table, LinkedList values, TestCase testCase, boolean isTestEnclave) throws SQLException { TestUtils.dropTableIfExists(DATE_TABLE_AE, stmt); - createTable(AETestConnectionString, DATE_TABLE_AE, cekName, table); + createTable(connStr, DATE_TABLE_AE, cekName, table); switch (testCase) { case NORMAL: - populateDateNormalCase(values); + populateDateNormalCase(connStr, values); break; case SETOBJECT: - populateDateSetObject(values, ""); + populateDateSetObject(connStr, values, ""); break; case SETOBJECT_WITH_JDBCTYPES: - populateDateSetObject(values, "setwithJDBCType"); + populateDateSetObject(connStr, values, "setwithJDBCType"); break; case SETOBJECT_WITH_JAVATYPES: - populateDateSetObject(values, "setwithJavaType"); + populateDateSetObject(connStr, values, "setwithJavaType"); break; case SETOBJECT_NULL: - populateDateNullCase(); + populateDateNullCase(connStr); break; case NULL: - populateDateNullCase(); + populateDateNullCase(connStr); break; default: fail(TestResource.getResource("R_switchFailed")); @@ -2223,29 +2235,29 @@ void testDates(SQLServerStatement stmt, String cekName, String[][] table, Linked fail(TestResource.getResource("R_reqExternalSetup")); } - testAlterColumnEncryption(stmt, DATE_TABLE_AE, table, cekName); + testAlterColumnEncryption(connStr, stmt, DATE_TABLE_AE, table, cekName); testRichQueryDate(stmt, DATE_TABLE_AE, table, values); } } - void testNumerics(SQLServerStatement stmt, String cekName, String[][] table, String[] values1, String[] values2, - TestCase testCase, boolean isTestEnclave) throws SQLException { + void testNumerics(String connStr, SQLServerStatement stmt, String cekName, String[][] table, String[] values1, + String[] values2, TestCase testCase, boolean isTestEnclave) throws SQLException { TestUtils.dropTableIfExists(NUMERIC_TABLE_AE, stmt); createTable(AETestConnectionString, NUMERIC_TABLE_AE, cekName, table); boolean isNull = false; switch (testCase) { case NORMAL: - populateNumeric(AETestConnectionString, values1); + populateNumeric(connStr, values1); break; case SETOBJECT: - populateNumericSetObject(AETestConnectionString, values1); + populateNumericSetObject(connStr, values1); break; case SETOBJECT_WITH_JDBCTYPES: - populateNumericSetObjectWithJDBCTypes(AETestConnectionString, values1); + populateNumericSetObjectWithJDBCTypes(connStr, values1); break; case NULL: - populateNumericNullCase(AETestConnectionString, values1); + populateNumericNullCase(connStr, values1); isNull = true; break; default: @@ -2261,7 +2273,7 @@ void testNumerics(SQLServerStatement stmt, String cekName, String[][] table, Str fail(TestResource.getResource("R_reqExternalSetup")); } - testAlterColumnEncryption(stmt, NUMERIC_TABLE_AE, table, cekName); + testAlterColumnEncryption(connStr, stmt, NUMERIC_TABLE_AE, table, cekName); testRichQuery(stmt, NUMERIC_TABLE_AE, table, values1); testRichQuery(stmt, NUMERIC_TABLE_AE, table, values2); } diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/MSITest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/MSITest.java index 92c25c5f31..48ef823d80 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/MSITest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/MSITest.java @@ -312,7 +312,7 @@ private void testCharAkv(String connStr) throws SQLException { TestUtils.dropTableIfExists(CHAR_TABLE_AE, stmt); createTable(connStr, CHAR_TABLE_AE, cekAkv, charTable); String[] values = createCharValues(false); - populateCharNormalCase(values); + populateCharNormalCase(connStr, values); try (ResultSet rs = (stmt == null) ? pstmt.executeQuery() : stmt.executeQuery(sql)) { int numberOfColumns = rs.getMetaData().getColumnCount(); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/PrecisionScaleTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/PrecisionScaleTest.java index b09f5f994a..4b5b793e52 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/PrecisionScaleTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/PrecisionScaleTest.java @@ -88,7 +88,7 @@ public void testNumericPrecision8Scale2(String serverName, String url, String pr dropTables(stmt); String[] numeric = {"1.12345", "12345.12", "567.70"}; - createPrecisionTable(NUMERIC_TABLE_AE, numericPrecisionTable, cekJks, 30, 8, 2); + createPrecisionTable(AETestConnectionString, NUMERIC_TABLE_AE, numericPrecisionTable, cekJks, 30, 8, 2); populateNumeric(pstmt, numeric, 8, 2); testNumeric(numeric); } @@ -111,7 +111,7 @@ public void testDateScale2(String serverName, String url, String protocol) throw String[] dateSetObject = {GMTDate + ".18", GMTDate + ".177", dateTimeOffsetExpectedValue + ".18 +00:01", dateTimeOffsetExpectedValue + ".177 +00:01", GMTDateWithoutDate, GMTDateWithoutDate,}; - createScaleTable(DATE_TABLE_AE, datePrecisionTable, cekJks, 2); + createScaleTable(AETestConnectionString, DATE_TABLE_AE, datePrecisionTable, cekJks, 2); populateDate(pstmt, 2); testDate(dateNormalCase, dateSetObject); } @@ -129,7 +129,7 @@ public void testNumericPrecision8Scale0(String serverName, String url, String pr dropTables(stmt); String[] numeric2 = {"1.12345", "12345", "567"}; - createPrecisionTable(NUMERIC_TABLE_AE, numericPrecisionTable, cekJks, 30, 8, 0); + createPrecisionTable(AETestConnectionString, NUMERIC_TABLE_AE, numericPrecisionTable, cekJks, 30, 8, 0); populateNumeric(pstmt, numeric2, 8, 0); testNumeric(numeric2); } @@ -152,7 +152,7 @@ public void testDateScale0(String serverName, String url, String protocol) throw String[] dateSetObject2 = {GMTDate + ".0", GMTDate + ".177", dateTimeOffsetExpectedValue + " +00:01", dateTimeOffsetExpectedValue + ".177 +00:01", GMTDateWithoutDate, GMTDateWithoutDate,}; - createScaleTable(DATE_TABLE_AE, datePrecisionTable, cekJks, 0); + createScaleTable(AETestConnectionString, DATE_TABLE_AE, datePrecisionTable, cekJks, 0); populateDate(pstmt, 0); testDate(dateNormalCase2, dateSetObject2); } @@ -169,7 +169,7 @@ public void testNumericPrecision8Scale2Null(String serverName, String url, Strin dropTables(stmt); String[] numericNull = {"null", "null", "null"}; - createPrecisionTable(NUMERIC_TABLE_AE, numericPrecisionTable, cekJks, 30, 8, 2); + createPrecisionTable(AETestConnectionString, NUMERIC_TABLE_AE, numericPrecisionTable, cekJks, 30, 8, 2); populateNumericSetObjectNull(pstmt, 8, 2); testNumeric(numericNull); } @@ -186,7 +186,7 @@ public void testDateScale2Null(String serverName, String url, String protocol) t dropTables(stmt); String[] dateSetObjectNull = {"null", "null", "null", "null", "null", "null"}; - createScaleTable(DATE_TABLE_AE, datePrecisionTable, cekJks, 2); + createScaleTable(AETestConnectionString, DATE_TABLE_AE, datePrecisionTable, cekJks, 2); populateDateSetObjectNull(pstmt, 2); testDate(dateSetObjectNull, dateSetObjectNull); } @@ -203,7 +203,7 @@ public void testDateScale5Null(String serverName, String url, String protocol) t dropTables(stmt); String[] dateSetObjectNull = {"null", "null", "null", "null", "null", "null"}; - createScaleTable(DATE_TABLE_AE, datePrecisionTable, cekJks, 5); + createScaleTable(AETestConnectionString, DATE_TABLE_AE, datePrecisionTable, cekJks, 5); populateDateNormalCaseNull(pstmt, 5); testDate(dateSetObjectNull, dateSetObjectNull); } @@ -224,7 +224,7 @@ public void testMultiBatchNumeric(String serverName, String url, String protocol dropTables(stmt); String[] numeric = {"1.12345", "12345.12", "567.70"}; - createPrecisionTable(NUMERIC_TABLE_AE, numericPrecisionTable, cekJks, 30, 8, 2); + createPrecisionTable(AETestConnectionString, NUMERIC_TABLE_AE, numericPrecisionTable, cekJks, 30, 8, 2); populateNumeric(pstmt, numeric, 8, 2); populateNumeric(pstmt, numeric, 8, 2); } @@ -244,7 +244,7 @@ public void testMultiBatchDate(String serverName, String url, String protocol) t String.format(insert_sql3, DATE_TABLE_AE), stmtColEncSetting)) { dropTables(stmt); - createScaleTable(DATE_TABLE_AE, datePrecisionTable, cekJks, 2); + createScaleTable(AETestConnectionString, DATE_TABLE_AE, datePrecisionTable, cekJks, 2); populateDate(pstmt, 2); populateDate(pstmt, 2); } From bc8cde7f7b94076aacccd2e2c16bb5fbf28a1bf9 Mon Sep 17 00:00:00 2001 From: lilgreenbird Date: Thu, 24 Jun 2021 14:03:24 -0700 Subject: [PATCH 4/4] fix --- .../jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java index 83cc81008d..24acc5017a 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/JDBCEncryptionDecryptionTest.java @@ -2124,7 +2124,7 @@ private void testRichQuery(SQLServerStatement stmt, String tableName, String tab void testChars(String connStr, SQLServerStatement stmt, String cekName, String[][] table, String[] values, TestCase testCase, boolean isTestEnclave) throws SQLException { TestUtils.dropTableIfExists(CHAR_TABLE_AE, stmt); - createTable(AETestConnectionString, CHAR_TABLE_AE, cekName, table); + createTable(connStr, CHAR_TABLE_AE, cekName, table); switch (testCase) { case NORMAL: @@ -2243,7 +2243,7 @@ void testDates(String connStr, SQLServerStatement stmt, String cekName, String[] void testNumerics(String connStr, SQLServerStatement stmt, String cekName, String[][] table, String[] values1, String[] values2, TestCase testCase, boolean isTestEnclave) throws SQLException { TestUtils.dropTableIfExists(NUMERIC_TABLE_AE, stmt); - createTable(AETestConnectionString, NUMERIC_TABLE_AE, cekName, table); + createTable(connStr, NUMERIC_TABLE_AE, cekName, table); boolean isNull = false; switch (testCase) {