diff --git a/pom.xml b/pom.xml index 026144f46..5dcb4306c 100644 --- a/pom.xml +++ b/pom.xml @@ -33,23 +33,26 @@ - xSQLv12,xSQLv15,NTLM,MSI,reqExternalSetup,clientCertAuth,fedAuth,kerberos + + - - - The following test groups are that are excluded by default - - - - - - - + NTLM - For tests using NTLM Authentication mode + kerberos - - - - - For tests using Kerberos authentication + clientCertAuth - - - For tests requiring external setup + fedAuth - - - - - - For tests requiring FedAuth setup + aadIntegrated - - - For tests requiring AAD Integrated setup + reqExternalSetup - - For misc tests requiring external setup + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + + xSQLv12,xSQLv15,NTLM,MSI,reqExternalSetup,clientCertAuth,fedAuth,kerberos,aadIntegrated -preview @@ -228,7 +231,8 @@ central - https://sqlclientdrivers.pkgs.visualstudio.com/public/_packaging/mssql-jdbc/maven/v1 + + https://sqlclientdrivers.pkgs.visualstudio.com/public/_packaging/mssql-jdbc/maven/v1 true @@ -240,7 +244,8 @@ central - https://sqlclientdrivers.pkgs.visualstudio.com/public/_packaging/mssql-jdbc/maven/v1 + + https://sqlclientdrivers.pkgs.visualstudio.com/public/_packaging/mssql-jdbc/maven/v1 true @@ -253,7 +258,8 @@ jre8 - ${project.artifactId}-${project.version}.jre8${releaseExt} + + ${project.artifactId}-${project.version}.jre8${releaseExt} org.apache.maven.plugins @@ -261,14 +267,20 @@ 3.8.0 - **/com/microsoft/sqlserver/jdbc/ISQLServerConnection43.java - **/com/microsoft/sqlserver/jdbc/SQLServerConnection43.java - **/com/microsoft/sqlserver/jdbc/SQLServerJdbc43.java + + **/com/microsoft/sqlserver/jdbc/ISQLServerConnection43.java + + **/com/microsoft/sqlserver/jdbc/SQLServerConnection43.java + + **/com/microsoft/sqlserver/jdbc/SQLServerJdbc43.java - **/com/microsoft/sqlserver/jdbc/connection/ConnectionWrapper43Test.java - **/com/microsoft/sqlserver/jdbc/connection/RequestBoundaryMethodsTest.java - **/com/microsoft/sqlserver/jdbc/JDBC43Test.java + + **/com/microsoft/sqlserver/jdbc/connection/ConnectionWrapper43Test.java + + **/com/microsoft/sqlserver/jdbc/connection/RequestBoundaryMethodsTest.java + + **/com/microsoft/sqlserver/jdbc/JDBC43Test.java 1.8 1.8 @@ -287,7 +299,8 @@ 3.1.1 - ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF @@ -296,7 +309,8 @@ maven-surefire-plugin 3.0.0-M1 - + ${excludedGroups}, xJDBC42 @@ -306,7 +320,8 @@ jre11 - ${project.artifactId}-${project.version}.jre11${releaseExt} + + ${project.artifactId}-${project.version}.jre11${releaseExt} org.apache.maven.plugins @@ -314,7 +329,8 @@ 3.8.0 - **/com/microsoft/sqlserver/jdbc/SQLServerJdbc42.java + + **/com/microsoft/sqlserver/jdbc/SQLServerJdbc42.java 11 11 @@ -326,9 +342,11 @@ 3.1.1 - ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF - com.microsoft.sqlserver.jdbc + + com.microsoft.sqlserver.jdbc @@ -339,7 +357,8 @@ jre17 - ${project.artifactId}-${project.version}.jre17${releaseExt} + + ${project.artifactId}-${project.version}.jre17${releaseExt} org.apache.maven.plugins @@ -347,7 +366,8 @@ 3.8.0 - **/com/microsoft/sqlserver/jdbc/SQLServerJdbc42.java + + **/com/microsoft/sqlserver/jdbc/SQLServerJdbc42.java 17 17 @@ -359,9 +379,11 @@ 3.1.1 - ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF - com.microsoft.sqlserver.jdbc + + com.microsoft.sqlserver.jdbc @@ -372,7 +394,8 @@ jre21 - ${project.artifactId}-${project.version}.jre21${releaseExt} + + ${project.artifactId}-${project.version}.jre21${releaseExt} org.apache.maven.plugins @@ -380,7 +403,8 @@ 3.8.0 - **/com/microsoft/sqlserver/jdbc/SQLServerJdbc42.java + + **/com/microsoft/sqlserver/jdbc/SQLServerJdbc42.java 21 21 @@ -392,9 +416,11 @@ 3.1.1 - ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF - com.microsoft.sqlserver.jdbc + + com.microsoft.sqlserver.jdbc @@ -408,7 +434,8 @@ true - ${project.artifactId}-${project.version}.jre23${releaseExt} + + ${project.artifactId}-${project.version}.jre23${releaseExt} org.apache.maven.plugins @@ -416,7 +443,8 @@ 3.8.0 - **/com/microsoft/sqlserver/jdbc/SQLServerJdbc42.java + + **/com/microsoft/sqlserver/jdbc/SQLServerJdbc42.java 23 23 @@ -428,9 +456,11 @@ 3.1.1 - ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF - com.microsoft.sqlserver.jdbc + + com.microsoft.sqlserver.jdbc @@ -477,12 +507,16 @@ - + WARN - org.apache.maven.plugins:maven-verifier-plugin + + org.apache.maven.plugins:maven-verifier-plugin - Please consider using the maven-invoker-plugin + + Please consider using the + maven-invoker-plugin (http://maven.apache.org/plugins/maven-invoker-plugin/)! @@ -535,8 +569,10 @@ com.microsoft.sqlserver.jdbc.dataclassification, microsoft.sql - !microsoft.sql,jdk.net;resolution:=optional,* - com.microsoft.sqlserver.jdbc.osgi.Activator + + !microsoft.sql,jdk.net;resolution:=optional,* + + com.microsoft.sqlserver.jdbc.osgi.Activator @@ -573,7 +609,8 @@ true outdated-dependencies.txt - file:///${session.executionRootDirectory}/maven-version-rules.xml + + file:///${session.executionRootDirectory}/maven-version-rules.xml diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ConcurrentLoginTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ConcurrentLoginTest.java index 72dae99f9..20d5005d0 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ConcurrentLoginTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ConcurrentLoginTest.java @@ -102,12 +102,6 @@ public void testConcurrentLogin() throws Exception { t1.start(); t2.start(); - if (enableADIntegrated) { - Thread t3 = new Thread(r3); - t3.setUncaughtExceptionHandler(handler); - t3.start(); - t3.join(); - } t1.join(); t2.join(); @@ -115,7 +109,6 @@ public void testConcurrentLogin() throws Exception { if (throwable != null) { fail(throwable.getMessage()); } - } } } diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ConnectionSuspensionTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ConnectionSuspensionTest.java index 94e70a142..229240501 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ConnectionSuspensionTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ConnectionSuspensionTest.java @@ -46,13 +46,6 @@ public void testAccessTokenExpiredThenCreateNewStatementADPassword() throws SQLE testAccessTokenExpiredThenCreateNewStatement(SqlAuthentication.ActiveDirectoryPassword); } - @Test - public void testAccessTokenExpiredThenCreateNewStatementADIntegrated() throws SQLException { - org.junit.Assume.assumeTrue(enableADIntegrated); - - testAccessTokenExpiredThenCreateNewStatement(SqlAuthentication.ActiveDirectoryIntegrated); - } - private void testAccessTokenExpiredThenCreateNewStatement(SqlAuthentication authentication) throws SQLException { long secondsPassed = 0; long start = System.currentTimeMillis(); @@ -114,13 +107,6 @@ public void testAccessTokenExpiredThenExecuteUsingSameStatementADPassword() thro testAccessTokenExpiredThenExecuteUsingSameStatement(SqlAuthentication.ActiveDirectoryPassword); } - @Test - public void testAccessTokenExpiredThenExecuteUsingSameStatementADIntegrated() throws SQLException { - org.junit.Assume.assumeTrue(enableADIntegrated); - - testAccessTokenExpiredThenExecuteUsingSameStatement(SqlAuthentication.ActiveDirectoryIntegrated); - } - private void testAccessTokenExpiredThenExecuteUsingSameStatement( SqlAuthentication authentication) throws SQLException { long secondsPassed = 0; diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ErrorMessageTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ErrorMessageTest.java index dd4d95239..25b10bc92 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ErrorMessageTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/ErrorMessageTest.java @@ -281,19 +281,6 @@ public void testAuthenticationAgainstSQLServerWithActivedirectorypassword() thro } } - @Test - public void testAuthenticationAgainstSQLServerWithActivedirectoryIntegrated() throws SQLException { - org.junit.Assume.assumeTrue(enableADIntegrated); - - java.util.Properties info = new Properties(); - info.put("TrustServerCertificate", "true"); - info.put("Authentication", SqlAuthentication.ActiveDirectoryIntegrated.toString()); - - try (Connection connection = DriverManager.getConnection(connectionUrl, info)) {} catch (Exception e) { - fail(e.getMessage()); - } - } - @Test public void testNotSpecifiedWithConnectionStringUserName() throws SQLException { boolean retry = true; diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/FedauthCommon.java b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/FedauthCommon.java index 1270b1c94..aa1c86950 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/FedauthCommon.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/FedauthCommon.java @@ -96,8 +96,6 @@ public class FedauthCommon extends AbstractTest { static String azurePassword = null; static String azureGroupUserName = null; - static boolean enableADIntegrated = false; - static String hostNameInCertificate = null; static String applicationName = null; static String kustoServer = null; @@ -183,9 +181,6 @@ public static void getConfigs() throws Exception { // password for service principal certificate certificatePassword = getConfiguredProperty("certificatePassword"); - String prop = getConfiguredProperty("enableADIntegrated"); - enableADIntegrated = (null != prop && prop.equalsIgnoreCase("true")) ? true : false; - adPasswordConnectionStr = "jdbc:sqlserver://" + azureServer + ";database=" + azureDatabase + ";user=" + azureUserName + ";password=" + azurePassword + ";Authentication=" + SqlAuthentication.ActiveDirectoryPassword.toString(); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/FedauthTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/FedauthTest.java index f3e4e957f..6948476c5 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/FedauthTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/FedauthTest.java @@ -121,23 +121,6 @@ public void testActiveDirectoryPasswordDS() throws Exception { } } - @Test - public void testActiveDirectoryIntegratedDS() throws Exception { - org.junit.Assume.assumeTrue(enableADIntegrated); - - SQLServerDataSource ds = new SQLServerDataSource(); - ds.setServerName(azureServer); - ds.setDatabaseName(azureDatabase); - ds.setAuthentication(SqlAuthentication.ActiveDirectoryIntegrated.toString()); - - try (Connection conn = ds.getConnection()) { - testUserName(conn, azureUserName, SqlAuthentication.ActiveDirectoryIntegrated); - testCharTable(conn); - } catch (Exception e) { - fail(e.getMessage()); - } - } - @Test public void testGroupAuthentication() throws SQLException { // connection string with userName @@ -188,14 +171,6 @@ public void testNotValidSqlPassword() throws SQLException { testNotValid(SqlAuthentication.SqlPassword.toString(), Constants.TRUE, true); } - @Test - public void testNotValidActiveDirectoryIntegrated() throws SQLException { - org.junit.Assume.assumeTrue(enableADIntegrated); - - testNotValid(SqlAuthentication.ActiveDirectoryIntegrated.toString(), Constants.FALSE, true); - testNotValid(SqlAuthentication.ActiveDirectoryIntegrated.toString(), Constants.TRUE, true); - } - @Test public void testNotValidActiveDirectoryPassword() throws SQLException { testNotValid(SqlAuthentication.ActiveDirectoryPassword.toString(), Constants.FALSE, true); @@ -215,14 +190,6 @@ public void testValidSqlPassword() throws SQLException { testValid(SqlAuthentication.SqlPassword.toString(), Constants.TRUE, true); } - @Test - public void testValidActiveDirectoryIntegrated() throws SQLException { - org.junit.Assume.assumeTrue(enableADIntegrated); - - testValid(SqlAuthentication.ActiveDirectoryIntegrated.toString(), Constants.FALSE, true); - testValid(SqlAuthentication.ActiveDirectoryIntegrated.toString(), Constants.TRUE, true); - } - @Test public void testValidActiveDirectoryPassword() throws SQLException { testValid(SqlAuthentication.ActiveDirectoryPassword.toString(), Constants.FALSE, true); @@ -366,8 +333,8 @@ public void testActiveDirectoryPasswordFailureOnSubsequentConnectionsWithInvalid public void testAADServicePrincipalCertAuthFailureOnSubsequentConnectionsWithInvalidatedTokenCacheWithInvalidPassword() throws Exception { // Should succeed on valid cert field values String url = "jdbc:sqlserver://" + azureServer + ";database=" + azureDatabase + ";authentication=" - + SqlAuthentication.ActiveDirectoryServicePrincipalCertificate + ";Username=" + servicePrincipalCertificateApplicationClientId - + ";clientCertificate=" + clientCertificate; + + SqlAuthentication.ActiveDirectoryServicePrincipalCertificate + ";Username=" + + servicePrincipalCertificateApplicationClientId + ";clientCertificate=" + clientCertificate; // Should fail on invalid cert field values String invalidPasswordUrl = "jdbc:sqlserver://" + azureServer + ";database=" + azureDatabase @@ -428,8 +395,8 @@ public void testAADServicePrincipalAuthWrong() { public void testAADServicePrincipalCertAuth() { // certificate from AKV has no password String url = "jdbc:sqlserver://" + azureServer + ";database=" + azureDatabase + ";authentication=" - + SqlAuthentication.ActiveDirectoryServicePrincipalCertificate + ";Username=" + servicePrincipalCertificateApplicationClientId - + ";clientCertificate=" + clientCertificate; + + SqlAuthentication.ActiveDirectoryServicePrincipalCertificate + ";Username=" + + servicePrincipalCertificateApplicationClientId + ";clientCertificate=" + clientCertificate; String urlEncrypted = url + ";encrypt=false;trustServerCertificate=true;"; SQLServerDataSource ds = new SQLServerDataSource(); @@ -450,7 +417,8 @@ public void testAADServicePrincipalCertAuth() { @Test public void testAADServicePrincipalCertAuthWrong() { String baseUrl = "jdbc:sqlserver://" + azureServer + ";database=" + azureDatabase + ";authentication=" - + SqlAuthentication.ActiveDirectoryServicePrincipalCertificate + ";userName=" + servicePrincipalCertificateApplicationClientId; + + SqlAuthentication.ActiveDirectoryServicePrincipalCertificate + ";userName=" + + servicePrincipalCertificateApplicationClientId; // no certificate provided. String url = baseUrl; @@ -469,8 +437,8 @@ public void testAADServicePrincipalCertAuthWrong() { validateException(url, "R_readCertError"); // wrong certificate key or password - url = baseUrl + ";password=" + azurePassword + ";clientCertificate=" + clientCertificate + ";clientKey=wrongKey;" - + "clientPassword=wrongPassword"; + url = baseUrl + ";password=" + azurePassword + ";clientCertificate=" + clientCertificate + + ";clientKey=wrongKey;" + "clientPassword=wrongPassword"; validateException(url, "R_readCertError"); } diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/PooledConnectionTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/PooledConnectionTest.java index 85a232fd0..789deed8e 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/PooledConnectionTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/fedauth/PooledConnectionTest.java @@ -112,21 +112,6 @@ public void testPooledConnectionAccessTokenExpiredThenReconnectADPassword() thro testPooledConnectionAccessTokenExpiredThenReconnect(60, SqlAuthentication.ActiveDirectoryPassword); } - @Test - public void testPooledConnectionAccessTokenExpiredThenReconnectADIntegrated() throws SQLException { - org.junit.Assume.assumeTrue(enableADIntegrated); - - // suspend 60 secs - testPooledConnectionAccessTokenExpiredThenReconnect(60, SqlAuthentication.ActiveDirectoryIntegrated); - - // get another token - getFedauthInfo(); - - // suspend until access token expires - testPooledConnectionAccessTokenExpiredThenReconnect(secondsBeforeExpiration, - SqlAuthentication.ActiveDirectoryIntegrated); - } - private void testPooledConnectionAccessTokenExpiredThenReconnect(long testingTimeInSeconds, SqlAuthentication authentication) throws SQLException { SQLServerConnectionPoolDataSource ds = new SQLServerConnectionPoolDataSource(); @@ -192,13 +177,6 @@ public void testPooledConnectionMultiThreadADPassword() throws SQLException { testPooledConnectionMultiThread(secondsBeforeExpiration, SqlAuthentication.ActiveDirectoryPassword); } - @Test - public void testPooledConnectionMultiThreadADIntegrated() throws SQLException { - org.junit.Assume.assumeTrue(enableADIntegrated); - - testPooledConnectionMultiThread(secondsBeforeExpiration, SqlAuthentication.ActiveDirectoryIntegrated); - } - private void testPooledConnectionMultiThread(long testingTimeInSeconds, SqlAuthentication authentication) throws SQLException { SQLServerConnectionPoolDataSource ds = new SQLServerConnectionPoolDataSource(); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/integrated/AADIntegratedTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/integrated/AADIntegratedTest.java new file mode 100644 index 000000000..6df6075d0 --- /dev/null +++ b/src/test/java/com/microsoft/sqlserver/jdbc/integrated/AADIntegratedTest.java @@ -0,0 +1,126 @@ +/* + * Microsoft JDBC Driver for SQL Server Copyright(c) Microsoft Corporation All rights reserved. This program is made + * available under the terms of the MIT License. See the LICENSE file in the project root for more information. + */ +package com.microsoft.sqlserver.jdbc.integrated; + +import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.Properties; +import java.util.logging.LogManager; + +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; + +import com.microsoft.sqlserver.jdbc.SQLServerDataSource; +import com.microsoft.sqlserver.jdbc.TestResource; +import com.microsoft.sqlserver.jdbc.TestUtils; +import com.microsoft.sqlserver.testframework.AbstractTest; +import com.microsoft.sqlserver.testframework.Constants; + + +/** + * Tests for Active Directory Integrated authentication + */ +@Tag(Constants.aadIntegrated) +public class AADIntegratedTest extends AbstractTest { + static String azureServer = null; + static String azureDatabase = null; + static String azureUserName = null; + static String azurePassword = null; + static String azureGroupUserName = null; + + @BeforeAll + public static void getConfigs() throws Exception { + azureServer = getConfiguredProperty("azureServer"); + azureDatabase = getConfiguredProperty("azureDatabase"); + azureUserName = getConfiguredProperty("azureUserName"); + azurePassword = getConfiguredProperty("azurePassword"); + azureGroupUserName = getConfiguredProperty("azureGroupUserName"); + + // reset logging to avoid severe logs + LogManager.getLogManager().reset(); + + connectionString = "jdbc:sqlserver://" + azureServer + ";database=" + azureDatabase + ";Authentication=" + + "ActiveDirectoryIntegrated"; + + connectionString = TestUtils.addOrOverrideProperty(connectionString, "trustServerCertificate", "true"); + } + + @Test + public void testActiveDirectoryIntegrated() throws SQLException { + + java.util.Properties info = new Properties(); + info.put("TrustServerCertificate", "true"); + info.put("Authentication", "ActiveDirectoryIntegrated"); + + try (Connection connection = DriverManager.getConnection(connectionString, info)) {} catch (Exception e) { + fail(e.getMessage()); + } + } + + @Test + public void testActiveDirectoryIntegratedDS() throws Exception { + SQLServerDataSource ds = new SQLServerDataSource(); + ds.setServerName(azureServer); + ds.setDatabaseName(azureDatabase); + ds.setAuthentication("ActiveDirectoryIntegrated"); + + try (Connection conn = ds.getConnection(); Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) { + rs.next(); + if (isWindows) { + assertTrue(rs.getString(1).contains(System.getProperty("user.name")), rs.getString(1)); + } + } catch (Exception e) { + fail(e.getMessage()); + } + } + + @Test + public void testInvalidActiveDirectoryIntegrated() throws SQLException { + try { + SQLServerDataSource ds = new SQLServerDataSource(); + ds.setServerName("badServer"); + ds.setDatabaseName(azureDatabase); + + ds.setAuthentication("ActiveDirectoryIntegrated"); + ds.setEncrypt(encrypt); + ds.setTrustServerCertificate(true); + + try (Connection conn = ds.getConnection()) {} + } catch (Exception e) { + org.junit.Assert.assertTrue(TestResource.getResource("R_invalidExceptionMessage") + ": " + e.getMessage(), + e.getMessage().contains(TestResource.getResource("R_loginFailed")) + || e.getMessage().contains(TestResource.getResource("R_failedToAuthenticate"))); + } + } + + @Test + public void testActiveDirectoryIntegratedUserName() throws Exception { + SQLServerDataSource ds = new SQLServerDataSource(); + ds.setServerName(azureServer); + ds.setDatabaseName(azureDatabase); + ds.setAuthentication("ActiveDirectoryIntegrated"); + + try (Connection conn = ds.getConnection(); Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) { + rs.next(); + if (isWindows) { + assertTrue(rs.getString(1).contains(System.getProperty("user.name")), rs.getString(1)); + } else { + // cannot verify user in kerberos tickets so just check it's not empty + assertTrue(!rs.getString(1).isEmpty()); + } + } catch (Exception e) { + fail(e.getMessage()); + } + } +} diff --git a/src/test/java/com/microsoft/sqlserver/testframework/Constants.java b/src/test/java/com/microsoft/sqlserver/testframework/Constants.java index 8ed409945..d0ca82350 100644 --- a/src/test/java/com/microsoft/sqlserver/testframework/Constants.java +++ b/src/test/java/com/microsoft/sqlserver/testframework/Constants.java @@ -47,6 +47,7 @@ private Constants() {} public static final String reqExternalSetup = "reqExternalSetup"; public static final String clientCertAuth = "clientCertAuth"; public static final String fedAuth = "fedAuth"; + public static final String aadIntegrated = "aadIntegrated"; public static final ThreadLocalRandom RANDOM = ThreadLocalRandom.current(); public static final Logger LOGGER = Logger.getLogger("AbstractTest");