diff --git a/x-pack/plugin/sql/jdbc/src/test/java/org/elasticsearch/xpack/sql/jdbc/JdbcConfigurationTests.java b/x-pack/plugin/sql/jdbc/src/test/java/org/elasticsearch/xpack/sql/jdbc/JdbcConfigurationTests.java index acaf6917862c6..a8495fbf57117 100644 --- a/x-pack/plugin/sql/jdbc/src/test/java/org/elasticsearch/xpack/sql/jdbc/JdbcConfigurationTests.java +++ b/x-pack/plugin/sql/jdbc/src/test/java/org/elasticsearch/xpack/sql/jdbc/JdbcConfigurationTests.java @@ -5,11 +5,15 @@ */ package org.elasticsearch.xpack.sql.jdbc; +import org.elasticsearch.SpecialPermission; import org.elasticsearch.test.ESTestCase; import org.elasticsearch.xpack.sql.client.SslConfig; +import org.elasticsearch.xpack.sql.client.SuppressForbidden; import java.net.URI; import java.net.URISyntaxException; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.sql.DriverManager; import java.sql.SQLException; import java.util.HashMap; @@ -252,14 +256,20 @@ public void testSSLPropertiesOverride() throws Exception { assertSslConfig(props, JdbcConfiguration.create("jdbc:es://test?" + sslUrlProps.toString(), props, 0).sslConfig()); } - @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/41557") + @SuppressForbidden(reason = "JDBC drivers allows logging to Sys.out") public void testDriverConfigurationWithSSLInURL() { Map urlPropMap = sslProperties(); - - Properties allProps = new Properties(); - allProps.putAll(urlPropMap); String sslUrlProps = urlPropMap.entrySet().stream().map(e -> e.getKey() + "=" + e.getValue()).collect(Collectors.joining("&")); + SecurityManager sm = System.getSecurityManager(); + if (sm != null) { + sm.checkPermission(new SpecialPermission()); + } + AccessController.doPrivileged((PrivilegedAction) () -> { + DriverManager.setLogWriter(new java.io.PrintWriter(System.out)); + return null; + }); + try { DriverManager.getDriver("jdbc:es://test?" + sslUrlProps); } catch (SQLException sqle) { diff --git a/x-pack/plugin/sql/jdbc/src/test/resources/plugin-security.policy b/x-pack/plugin/sql/jdbc/src/test/resources/plugin-security.policy index 5f16c1579b0be..577795ffb7842 100644 --- a/x-pack/plugin/sql/jdbc/src/test/resources/plugin-security.policy +++ b/x-pack/plugin/sql/jdbc/src/test/resources/plugin-security.policy @@ -1,4 +1,6 @@ grant { // Required for testing the Driver registration permission java.sql.SQLPermission "deregisterDriver"; + // Required for debug logging purposes + permission java.sql.SQLPermission "setLog"; };