SQL: [Tests] Re-enable testDriverConfigurationWithSSLInURL test with more logging (#44800)

(cherry picked from commit 5b9ccd72e9a3bb65c8b7b06979a75cb795c17111)
This commit is contained in:
Andrei Stefan 2019-07-25 09:54:04 +03:00 committed by Andrei Stefan
parent 2633d11eb7
commit ee53f7e161
2 changed files with 16 additions and 4 deletions

View File

@ -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 class JdbcConfigurationTests extends ESTestCase {
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<String, String> 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<Void>) () -> {
DriverManager.setLogWriter(new java.io.PrintWriter(System.out));
return null;
});
try {
DriverManager.getDriver("jdbc:es://test?" + sslUrlProps);
} catch (SQLException sqle) {

View File

@ -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";
};