This is an automated email from the ASF dual-hosted git repository.
stoty pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite-avatica.git
The following commit(s) were added to refs/heads/main by this push:
new ab8e0a141 [CALCITE-5136] Avatica build (or CI) must fail if there are
deprecation warnings
ab8e0a141 is described below
commit ab8e0a141ae22f70c429097f71bd573b09b22d6d
Author: Chris Dennis <[email protected]>
AuthorDate: Tue Jan 28 12:28:34 2025 -0500
[CALCITE-5136] Avatica build (or CI) must fail if there are deprecation
warnings
Fixes applied are:
* move `new URL(...)` to `new URI(...).toUrl()`
* move `Assert.assertThat(...)` to `MatcherAssert.assertThat(...)`
* move `ExpectedException` to `Assert.assertThrows(...)`
* in all other cases either propagate the deprecation or suppress it.
---
build.gradle.kts | 1 +
.../calcite/avatica/BuiltInConnectionProperty.java | 10 ++++++---
.../apache/calcite/avatica/ConnectionConfig.java | 5 +++--
.../calcite/avatica/ConnectionConfigImpl.java | 8 +++++---
.../remote/AvaticaCommonsHttpClientImpl.java | 24 +++++++++++++++-------
.../remote/AvaticaHttpClientFactoryImpl.java | 1 +
.../avatica/remote/CommonsHttpClientPoolCache.java | 9 +++++---
.../org/apache/calcite/avatica/remote/Driver.java | 6 ++++--
.../org/apache/calcite/avatica/util/Sources.java | 10 +++------
.../calcite/avatica/AvaticaClosedTestBase.java | 2 +-
.../avatica/AvaticaResultSetConversionsTest.java | 2 +-
.../AvaticaResultSetThrowsSqlExceptionTest.java | 15 ++++----------
.../calcite/avatica/ConnectionConfigImplTest.java | 2 +-
.../avatica/ConnectionPropertiesImplTest.java | 2 +-
.../avatica/MetaImplCreateIterableTest.java | 2 ++
.../calcite/avatica/UnregisteredDriverTest.java | 24 ++++++++++------------
.../remote/AvaticaCommonsHttpClientImplTest.java | 10 ++++-----
.../remote/AvaticaHttpClientFactoryTest.java | 7 ++++---
.../avatica/remote/AvaticaHttpClientTest.java | 5 +++--
.../calcite/avatica/remote/TypedValueTest.java | 2 +-
.../calcite/avatica/test/AvaticaUtilsTest.java | 2 +-
.../calcite/avatica/test/JsonHandlerTest.java | 2 +-
.../calcite/avatica/util/ArrayAccessorTest.java | 2 +-
.../apache/calcite/avatica/util/ArrayImplTest.java | 10 ++++-----
.../server/PropertyBasedSpnegoLoginService.java | 3 +--
.../SubjectPreservingPrivilegedThreadFactory.java | 1 +
.../calcite/avatica/RemoteDriverMockTest.java | 2 +-
.../apache/calcite/avatica/RemoteDriverTest.java | 2 +-
.../apache/calcite/avatica/jdbc/JdbcMetaTest.java | 2 +-
.../avatica/remote/AlternatingRemoteMetaTest.java | 22 +++++++++++---------
.../calcite/avatica/remote/RemoteMetaTest.java | 7 ++++---
.../avatica/server/BasicAuthHttpServerTest.java | 5 +++--
.../avatica/server/CustomAuthHttpServerTest.java | 2 +-
.../avatica/server/DigestAuthHttpServerTest.java | 5 +++--
...ueryStringParameterRemoteUserExtractorTest.java | 2 +-
.../avatica/server/HttpServerCustomizerTest.java | 22 +++++++++-----------
.../server/HttpServerSpnegoWithoutJaasTest.java | 20 +++++++++---------
37 files changed, 138 insertions(+), 120 deletions(-)
diff --git a/build.gradle.kts b/build.gradle.kts
index 16aa37330..b5275cb41 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -404,6 +404,7 @@ allprojects {
withType<JavaCompile>().configureEach {
options.encoding = "UTF-8"
+
options.compilerArgs.addAll(listOf("-Xlint:deprecation,-options", "-Werror"))
}
withType<Test>().configureEach {
testLogging {
diff --git
a/core/src/main/java/org/apache/calcite/avatica/BuiltInConnectionProperty.java
b/core/src/main/java/org/apache/calcite/avatica/BuiltInConnectionProperty.java
index 9500f8bea..56112045e 100644
---
a/core/src/main/java/org/apache/calcite/avatica/BuiltInConnectionProperty.java
+++
b/core/src/main/java/org/apache/calcite/avatica/BuiltInConnectionProperty.java
@@ -18,7 +18,6 @@
import org.apache.calcite.avatica.ha.ShuffledRoundRobinLBStrategy;
import org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl;
-import
org.apache.calcite.avatica.remote.HostnameVerificationConfigurable.HostnameVerification;
import org.apache.hc.core5.util.Timeout;
@@ -92,8 +91,13 @@ public enum BuiltInConnectionProperty implements
ConnectionProperty {
/** Password for the key inside keystore */
KEY_PASSWORD("key_password", Type.STRING, "", false),
- HOSTNAME_VERIFICATION("hostname_verification", Type.ENUM,
HostnameVerification.STRICT,
- HostnameVerification.class, false),
+ @SuppressWarnings("deprecation")
+ HOSTNAME_VERIFICATION("hostname_verification", Type.ENUM,
+ org.apache.calcite.avatica.remote.
+ HostnameVerificationConfigurable.HostnameVerification.STRICT,
+ org.apache.calcite.avatica.remote.
+ HostnameVerificationConfigurable.HostnameVerification.class,
+ false),
TRANSPARENT_RECONNECTION("transparent_reconnection", Type.BOOLEAN,
Boolean.FALSE, false),
diff --git
a/core/src/main/java/org/apache/calcite/avatica/ConnectionConfig.java
b/core/src/main/java/org/apache/calcite/avatica/ConnectionConfig.java
index 9698d13e9..69b98f54d 100644
--- a/core/src/main/java/org/apache/calcite/avatica/ConnectionConfig.java
+++ b/core/src/main/java/org/apache/calcite/avatica/ConnectionConfig.java
@@ -18,7 +18,6 @@
import org.apache.calcite.avatica.ha.LBStrategy;
import org.apache.calcite.avatica.remote.AvaticaHttpClientFactory;
-import
org.apache.calcite.avatica.remote.HostnameVerificationConfigurable.HostnameVerification;
import org.apache.calcite.avatica.remote.Service;
import java.io.File;
@@ -64,7 +63,9 @@ public interface ConnectionConfig {
/** @see BuiltInConnectionProperty#KEY_PASSWORD */
String keyPassword();
/** @see BuiltInConnectionProperty#HOSTNAME_VERIFICATION */
- HostnameVerification hostnameVerification();
+ @SuppressWarnings("deprecation")
+ org.apache.calcite.avatica.remote.
+ HostnameVerificationConfigurable.HostnameVerification
hostnameVerification();
/** @see BuiltInConnectionProperty#TRANSPARENT_RECONNECTION */
boolean transparentReconnectionEnabled();
/** @see BuiltInConnectionProperty#FETCH_SIZE */
diff --git
a/core/src/main/java/org/apache/calcite/avatica/ConnectionConfigImpl.java
b/core/src/main/java/org/apache/calcite/avatica/ConnectionConfigImpl.java
index 773fb24d6..6326de55d 100644
--- a/core/src/main/java/org/apache/calcite/avatica/ConnectionConfigImpl.java
+++ b/core/src/main/java/org/apache/calcite/avatica/ConnectionConfigImpl.java
@@ -18,7 +18,6 @@
import org.apache.calcite.avatica.ha.LBStrategy;
import org.apache.calcite.avatica.remote.AvaticaHttpClientFactory;
-import
org.apache.calcite.avatica.remote.HostnameVerificationConfigurable.HostnameVerification;
import org.apache.calcite.avatica.remote.Service;
import java.io.File;
@@ -130,9 +129,12 @@ public String keyPassword() {
}
- public HostnameVerification hostnameVerification() {
+ @SuppressWarnings("deprecation")
+ public org.apache.calcite.avatica.remote.
+ HostnameVerificationConfigurable.HostnameVerification
hostnameVerification() {
return BuiltInConnectionProperty.HOSTNAME_VERIFICATION.wrap(properties)
- .getEnum(HostnameVerification.class);
+ .getEnum(org.apache.calcite.avatica.remote.
+ HostnameVerificationConfigurable.HostnameVerification.class);
}
@Override public boolean transparentReconnectionEnabled() {
diff --git
a/core/src/main/java/org/apache/calcite/avatica/remote/AvaticaCommonsHttpClientImpl.java
b/core/src/main/java/org/apache/calcite/avatica/remote/AvaticaCommonsHttpClientImpl.java
index 7b4cb74b5..18a7e32cf 100644
---
a/core/src/main/java/org/apache/calcite/avatica/remote/AvaticaCommonsHttpClientImpl.java
+++
b/core/src/main/java/org/apache/calcite/avatica/remote/AvaticaCommonsHttpClientImpl.java
@@ -24,8 +24,6 @@
import org.apache.hc.client5.http.auth.AuthScope;
import org.apache.hc.client5.http.auth.Credentials;
import org.apache.hc.client5.http.auth.CredentialsProvider;
-import org.apache.hc.client5.http.auth.KerberosConfig;
-import org.apache.hc.client5.http.auth.KerberosCredentials;
import org.apache.hc.client5.http.auth.StandardAuthScheme;
import org.apache.hc.client5.http.auth.UsernamePasswordCredentials;
import org.apache.hc.client5.http.classic.methods.HttpPost;
@@ -34,7 +32,6 @@
import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider;
import org.apache.hc.client5.http.impl.auth.BasicSchemeFactory;
import org.apache.hc.client5.http.impl.auth.DigestSchemeFactory;
-import org.apache.hc.client5.http.impl.auth.SPNegoSchemeFactory;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.client5.http.impl.classic.HttpClients;
@@ -78,8 +75,10 @@ public class AvaticaCommonsHttpClientImpl implements
AvaticaHttpClient, HttpClie
private static final boolean USE_CANONICAL_HOSTNAME = Boolean
.parseBoolean(System.getProperty("avatica.http.spnego.use_canonical_hostname",
"true"));
private static final boolean STRIP_PORT_ON_SERVER_LOOKUP = true;
- private static final KerberosConfig KERBEROS_CONFIG =
- KerberosConfig.custom().setStripPort(STRIP_PORT_ON_SERVER_LOOKUP)
+ @SuppressWarnings("deprecation")
+ private static final org.apache.hc.client5.http.auth.KerberosConfig
KERBEROS_CONFIG =
+ org.apache.hc.client5.http.auth.KerberosConfig.custom()
+ .setStripPort(STRIP_PORT_ON_SERVER_LOOKUP)
.setUseCanonicalHostname(USE_CANONICAL_HOSTNAME)
.build();
private static AuthScope anyAuthScope = new AuthScope(null, -1);
@@ -98,10 +97,15 @@ public class AvaticaCommonsHttpClientImpl implements
AvaticaHttpClient, HttpClie
protected long connectTimeout;
protected long responseTimeout;
+ @Deprecated
public AvaticaCommonsHttpClientImpl(URL url) {
this.uri = toURI(Objects.requireNonNull(url));
}
+ public AvaticaCommonsHttpClientImpl(URI uri) {
+ this.uri = uri;
+ }
+
protected void initializeClient(PoolingHttpClientConnectionManager pool,
ConnectionConfig config) {
this.authCache = new BasicAuthCache();
@@ -128,6 +132,7 @@ protected void
initializeClient(PoolingHttpClientConnectionManager pool,
}
// This is needed because we initialize the client object too early.
+ @SuppressWarnings("deprecation")
private RequestConfig createRequestConfig() {
RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
requestConfigBuilder
@@ -225,11 +230,14 @@ ClassicHttpResponse executeOpen(HttpHost httpHost,
HttpPost post, HttpClientCont
context.setRequestConfig(createRequestConfig());
}
+ @SuppressWarnings("deprecation")
@Override public void setGSSCredential(GSSCredential credential) {
this.authRegistry = RegistryBuilder.<AuthSchemeFactory>create()
.register(StandardAuthScheme.SPNEGO,
- new SPNegoSchemeFactory(KERBEROS_CONFIG,
SystemDefaultDnsResolver.INSTANCE))
+ new org.apache.hc.client5.http.impl.auth.SPNegoSchemeFactory(
+ KERBEROS_CONFIG,
+ SystemDefaultDnsResolver.INSTANCE))
.build();
this.credentialsProvider = new BasicCredentialsProvider();
@@ -237,7 +245,8 @@ ClassicHttpResponse executeOpen(HttpHost httpHost, HttpPost
post, HttpClientCont
// Non-null credential should be used directly with KerberosCredentials.
// This is never set by the JDBC driver, nor the tests
((BasicCredentialsProvider) this.credentialsProvider)
- .setCredentials(anyAuthScope, new
KerberosCredentials(credential));
+ .setCredentials(anyAuthScope,
+ new
org.apache.hc.client5.http.auth.KerberosCredentials(credential));
} else {
// A null credential implies that the user is logged in via JAAS using
the
// java.security.auth.login.config system property
@@ -255,6 +264,7 @@ ClassicHttpResponse executeOpen(HttpHost httpHost, HttpPost
post, HttpClientCont
private static class EmptyCredentials implements Credentials {
public static final EmptyCredentials INSTANCE = new EmptyCredentials();
+ @Deprecated
@Override public char[] getPassword() {
return null;
}
diff --git
a/core/src/main/java/org/apache/calcite/avatica/remote/AvaticaHttpClientFactoryImpl.java
b/core/src/main/java/org/apache/calcite/avatica/remote/AvaticaHttpClientFactoryImpl.java
index 0b9d66c07..e8fcb77dc 100644
---
a/core/src/main/java/org/apache/calcite/avatica/remote/AvaticaHttpClientFactoryImpl.java
+++
b/core/src/main/java/org/apache/calcite/avatica/remote/AvaticaHttpClientFactoryImpl.java
@@ -53,6 +53,7 @@ public static AvaticaHttpClientFactoryImpl getInstance() {
return INSTANCE;
}
+ @SuppressWarnings("deprecation")
@Override public AvaticaHttpClient getClient(URL url, ConnectionConfig
config,
KerberosConnection kerberosUtil) {
String className = config.httpClientClass();
diff --git
a/core/src/main/java/org/apache/calcite/avatica/remote/CommonsHttpClientPoolCache.java
b/core/src/main/java/org/apache/calcite/avatica/remote/CommonsHttpClientPoolCache.java
index c2a304f82..5611e54a7 100644
---
a/core/src/main/java/org/apache/calcite/avatica/remote/CommonsHttpClientPoolCache.java
+++
b/core/src/main/java/org/apache/calcite/avatica/remote/CommonsHttpClientPoolCache.java
@@ -17,7 +17,6 @@
package org.apache.calcite.avatica.remote;
import org.apache.calcite.avatica.ConnectionConfig;
-import
org.apache.calcite.avatica.remote.HostnameVerificationConfigurable.HostnameVerification;
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
import
org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
@@ -128,11 +127,15 @@ private static void loadTrustStore(SSLContextBuilder
sslContextBuilder, Connecti
* @throws IllegalArgumentException if the provided verification cannot be
* handled.
*/
- private static HostnameVerifier getHostnameVerifier(HostnameVerification
verification) {
+ @SuppressWarnings("deprecation")
+ private static HostnameVerifier getHostnameVerifier(
+ org.apache.calcite.avatica.remote.
+ HostnameVerificationConfigurable.HostnameVerification verification) {
// Normally, the configuration logic would give us a default of STRICT if
it was
// not provided by the user. It's easy for us to do a double-check.
if (verification == null) {
- verification = HostnameVerification.STRICT;
+ verification = org.apache.calcite.avatica.remote.
+ HostnameVerificationConfigurable.HostnameVerification.STRICT;
}
switch (verification) {
case STRICT:
diff --git a/core/src/main/java/org/apache/calcite/avatica/remote/Driver.java
b/core/src/main/java/org/apache/calcite/avatica/remote/Driver.java
index 064a2a79b..59137ae54 100644
--- a/core/src/main/java/org/apache/calcite/avatica/remote/Driver.java
+++ b/core/src/main/java/org/apache/calcite/avatica/remote/Driver.java
@@ -28,6 +28,8 @@
import org.slf4j.LoggerFactory;
import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import java.sql.Connection;
import java.sql.SQLException;
@@ -156,8 +158,8 @@ AvaticaHttpClient getHttpClient(AvaticaConnection
connection, ConnectionConfig c
urlStr = config.url();
}
try {
- url = new URL(urlStr);
- } catch (MalformedURLException e) {
+ url = new URI(urlStr).toURL();
+ } catch (MalformedURLException | URISyntaxException e) {
throw new RuntimeException(e);
}
diff --git a/core/src/main/java/org/apache/calcite/avatica/util/Sources.java
b/core/src/main/java/org/apache/calcite/avatica/util/Sources.java
index 46762ea25..8f9dc19e1 100644
--- a/core/src/main/java/org/apache/calcite/avatica/util/Sources.java
+++ b/core/src/main/java/org/apache/calcite/avatica/util/Sources.java
@@ -59,8 +59,8 @@ public static Source file(File baseDirectory, String
fileName) {
public static Source url(String url) {
try {
- return of(new URL(url));
- } catch (MalformedURLException | IllegalArgumentException e) {
+ return of(new URI(url).toURL());
+ } catch (MalformedURLException | IllegalArgumentException |
URISyntaxException e) {
throw new RuntimeException("Malformed URL: '" + url + "'", e);
}
}
@@ -133,11 +133,7 @@ private static URL fileToUrl(File file) {
filePath += "/";
}
try {
- // We need to encode path. For instance, " " should become "%20"
- // That is why java.net.URLEncoder.encode(java.lang.String,
java.lang.String) is not
- // suitable because it replaces " " with "+".
- String encodedPath = new URI(null, null, filePath,
null).getRawPath();
- return new URL("file", null, 0, encodedPath);
+ return new URI("file", filePath, null).toURL();
} catch (MalformedURLException | URISyntaxException e) {
throw new IllegalArgumentException("Unable to create URL for file "
+ filePath, e);
}
diff --git
a/core/src/test/java/org/apache/calcite/avatica/AvaticaClosedTestBase.java
b/core/src/test/java/org/apache/calcite/avatica/AvaticaClosedTestBase.java
index 00dcb1c43..5df7a9c9d 100644
--- a/core/src/test/java/org/apache/calcite/avatica/AvaticaClosedTestBase.java
+++ b/core/src/test/java/org/apache/calcite/avatica/AvaticaClosedTestBase.java
@@ -35,7 +35,7 @@
import static org.hamcrest.CoreMatchers.endsWith;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.fail;
/**
diff --git
a/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetConversionsTest.java
b/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetConversionsTest.java
index edc6ad514..065ebf43b 100644
---
a/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetConversionsTest.java
+++
b/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetConversionsTest.java
@@ -60,9 +60,9 @@
import java.util.TimeZone;
import static org.hamcrest.CoreMatchers.isA;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
diff --git
a/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetThrowsSqlExceptionTest.java
b/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetThrowsSqlExceptionTest.java
index 675dca0c6..1eebdd979 100644
---
a/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetThrowsSqlExceptionTest.java
+++
b/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetThrowsSqlExceptionTest.java
@@ -16,9 +16,7 @@
*/
package org.apache.calcite.avatica;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
import java.sql.Connection;
import java.sql.ResultSet;
@@ -27,6 +25,7 @@
import java.util.Properties;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
/**
@@ -36,9 +35,6 @@
*/
public class AvaticaResultSetThrowsSqlExceptionTest {
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
/**
* A fake test driver for test.
*/
@@ -81,8 +77,7 @@ private ResultSet getResultSet() throws SQLException {
try (Connection connection = driver.connect("jdbc:test", properties);
ResultSet resultSet =
connection.createStatement().executeQuery("SELECT * FROM TABLE"))
{
- thrown.expect(SQLFeatureNotSupportedException.class);
- resultSet.previous();
+ assertThrows(SQLFeatureNotSupportedException.class, resultSet::previous);
}
}
@@ -94,8 +89,7 @@ private ResultSet getResultSet() throws SQLException {
try (Connection connection = driver.connect("jdbc:test", properties);
ResultSet resultSet =
connection.createStatement().executeQuery("SELECT * FROM TABLE"))
{
- thrown.expect(SQLFeatureNotSupportedException.class);
- resultSet.updateNull(1);
+ assertThrows(SQLFeatureNotSupportedException.class, () ->
resultSet.updateNull(1));
}
}
@@ -119,8 +113,7 @@ private ResultSet getResultSet() throws SQLException {
assertTrue(resultSet.isClosed());
// once closed, next should fail
- thrown.expect(SQLException.class);
- resultSet.next();
+ assertThrows(SQLException.class, resultSet::next);
}
/**
diff --git
a/core/src/test/java/org/apache/calcite/avatica/ConnectionConfigImplTest.java
b/core/src/test/java/org/apache/calcite/avatica/ConnectionConfigImplTest.java
index aecb5ef38..919f3c02b 100644
---
a/core/src/test/java/org/apache/calcite/avatica/ConnectionConfigImplTest.java
+++
b/core/src/test/java/org/apache/calcite/avatica/ConnectionConfigImplTest.java
@@ -22,10 +22,10 @@
import java.nio.file.Paths;
import java.util.Properties;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
/**
* Test class for {@link ConnectionConfigImpl}.
diff --git
a/core/src/test/java/org/apache/calcite/avatica/ConnectionPropertiesImplTest.java
b/core/src/test/java/org/apache/calcite/avatica/ConnectionPropertiesImplTest.java
index ed9b60974..a54722d71 100644
---
a/core/src/test/java/org/apache/calcite/avatica/ConnectionPropertiesImplTest.java
+++
b/core/src/test/java/org/apache/calcite/avatica/ConnectionPropertiesImplTest.java
@@ -20,8 +20,8 @@
import java.util.Objects;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
/**
* Test class for {@link ConnectionPropertiesImpl}.
diff --git
a/core/src/test/java/org/apache/calcite/avatica/MetaImplCreateIterableTest.java
b/core/src/test/java/org/apache/calcite/avatica/MetaImplCreateIterableTest.java
index 70edfb80a..8cb78af38 100644
---
a/core/src/test/java/org/apache/calcite/avatica/MetaImplCreateIterableTest.java
+++
b/core/src/test/java/org/apache/calcite/avatica/MetaImplCreateIterableTest.java
@@ -52,6 +52,7 @@ private static class MetaImplWithHardCodedResult extends
MetaImpl {
return null;
}
+ @Deprecated
@Override public ExecuteResult prepareAndExecute(StatementHandle h, String
sql,
long maxRowCount,
PrepareCallback callback) {
@@ -87,6 +88,7 @@ private static class MetaImplWithHardCodedResult extends
MetaImpl {
return new Frame(offset, done, next);
}
+ @Deprecated
@Override public ExecuteResult execute(StatementHandle h, List<TypedValue>
parameterValues,
long maxRowCount)
throws NoSuchStatementException {
diff --git
a/core/src/test/java/org/apache/calcite/avatica/UnregisteredDriverTest.java
b/core/src/test/java/org/apache/calcite/avatica/UnregisteredDriverTest.java
index e5958f0ce..c434ad217 100644
--- a/core/src/test/java/org/apache/calcite/avatica/UnregisteredDriverTest.java
+++ b/core/src/test/java/org/apache/calcite/avatica/UnregisteredDriverTest.java
@@ -16,34 +16,32 @@
*/
package org.apache.calcite.avatica;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
import java.sql.Driver;
import java.sql.SQLException;
import java.util.Properties;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertThrows;
+
/**
* Test class for {@link UnregisteredDriver}.
*/
public class UnregisteredDriverTest {
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- @Test public void testAcceptsURLWithNull() throws SQLException {
+ @Test public void testAcceptsURLWithNull() {
final Driver driver = new UnregisteredTestDriver();
- thrown.expect(SQLException.class);
- thrown.expectMessage("url can not be null!");
- driver.acceptsURL(null);
+ SQLException thrown = assertThrows(SQLException.class, () ->
driver.acceptsURL(null));
+ assertThat(thrown.getMessage(), containsString("url can not be null!"));
}
- @Test public void testConnectWithNullURL() throws SQLException {
+ @Test public void testConnectWithNullURL() {
final Driver driver = new UnregisteredTestDriver();
- thrown.expect(SQLException.class);
- thrown.expectMessage("url can not be null!");
- driver.connect(null, new Properties());
+ SQLException thrown = assertThrows(SQLException.class,
+ () -> driver.connect(null, new Properties()).close());
+ assertThat(thrown.getMessage(), containsString("url can not be null!"));
}
private static final class UnregisteredTestDriver extends UnregisteredDriver
{
diff --git
a/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaCommonsHttpClientImplTest.java
b/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaCommonsHttpClientImplTest.java
index a0247e1f4..437b85b95 100644
---
a/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaCommonsHttpClientImplTest.java
+++
b/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaCommonsHttpClientImplTest.java
@@ -33,7 +33,7 @@
import java.io.ByteArrayInputStream;
import java.net.HttpURLConnection;
-import java.net.URL;
+import java.net.URI;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
@@ -72,7 +72,7 @@ public class AvaticaCommonsHttpClientImplTest {
};
final AvaticaCommonsHttpClientImpl client =
- spy(new AvaticaCommonsHttpClientImpl(new URL("http://127.0.0.1")));
+ spy(new AvaticaCommonsHttpClientImpl(new URI("http://127.0.0.1")));
client.setHttpClientPool(mock(PoolingHttpClientConnectionManager.class),
mock(
ConnectionConfig.class));
@@ -106,7 +106,7 @@ public class AvaticaCommonsHttpClientImplTest {
};
final AvaticaCommonsHttpClientImpl client =
- spy(new AvaticaCommonsHttpClientImpl(new URL("http://127.0.0.1")));
+ spy(new AvaticaCommonsHttpClientImpl(new URI("http://127.0.0.1")));
client.setHttpClientPool(mock(PoolingHttpClientConnectionManager.class),
mock(
ConnectionConfig.class));
@@ -125,7 +125,7 @@ public class AvaticaCommonsHttpClientImplTest {
@Test
public void testPersistentContextReusedAcrossRequests() throws Exception {
final AvaticaCommonsHttpClientImpl client =
- spy(new AvaticaCommonsHttpClientImpl(new URL("http://127.0.0.1")));
+ spy(new AvaticaCommonsHttpClientImpl(new URI("http://127.0.0.1")));
client.setHttpClientPool(mock(PoolingHttpClientConnectionManager.class),
mock(
ConnectionConfig.class));
@@ -150,7 +150,7 @@ public void testPersistentContextReusedAcrossRequests()
throws Exception {
@Test
public void testPersistentContextThreadSafety() throws Exception {
final AvaticaCommonsHttpClientImpl client =
- spy(new AvaticaCommonsHttpClientImpl(new URL("http://127.0.0.1")));
+ spy(new AvaticaCommonsHttpClientImpl(new URI("http://127.0.0.1")));
client.setHttpClientPool(mock(PoolingHttpClientConnectionManager.class),
mock(
ConnectionConfig.class));
diff --git
a/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaHttpClientFactoryTest.java
b/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaHttpClientFactoryTest.java
index 27c9bcbd6..7dae31401 100644
---
a/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaHttpClientFactoryTest.java
+++
b/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaHttpClientFactoryTest.java
@@ -22,6 +22,7 @@
import org.junit.Test;
+import java.net.URI;
import java.net.URL;
import java.util.Properties;
@@ -34,7 +35,7 @@ public class AvaticaHttpClientFactoryTest {
@Test public void testDefaultHttpClient() throws Exception {
Properties props = new Properties();
- URL url = new URL("http://localhost:8765");
+ URL url = new URI("http://localhost:8765").toURL();
ConnectionConfig config = new ConnectionConfigImpl(props);
AvaticaHttpClientFactory httpClientFactory = new
AvaticaHttpClientFactoryImpl();
@@ -47,7 +48,7 @@ public class AvaticaHttpClientFactoryTest {
Properties props = new Properties();
props.setProperty(BuiltInConnectionProperty.HTTP_CLIENT_IMPL.name(),
AvaticaHttpClientImpl.class.getName());
- URL url = new URL("http://localhost:8765");
+ URL url = new URI("http://localhost:8765").toURL();
ConnectionConfig config = new ConnectionConfigImpl(props);
AvaticaHttpClientFactory httpClientFactory = new
AvaticaHttpClientFactoryImpl();
@@ -60,7 +61,7 @@ public class AvaticaHttpClientFactoryTest {
Properties props = new Properties();
props.setProperty(BuiltInConnectionProperty.HTTP_CLIENT_IMPL.name(),
Properties.class.getName()); // Properties is intentionally *not* a
valid class
- URL url = new URL("http://localhost:8765");
+ URL url = new URI("http://localhost:8765").toURL();
ConnectionConfig config = new ConnectionConfigImpl(props);
AvaticaHttpClientFactory httpClientFactory = new
AvaticaHttpClientFactoryImpl();
diff --git
a/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaHttpClientTest.java
b/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaHttpClientTest.java
index 33369d2da..9025f69d4 100644
---
a/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaHttpClientTest.java
+++
b/core/src/test/java/org/apache/calcite/avatica/remote/AvaticaHttpClientTest.java
@@ -23,6 +23,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
+import java.net.URI;
import java.net.URL;
import java.nio.charset.StandardCharsets;
@@ -41,7 +42,7 @@ public class AvaticaHttpClientTest {
@Test
public void testRetryOnUnavailable() throws Exception {
// HTTP-503, try again
- URL url = new URL("http://127.0.0.1:8765");
+ URL url = new URI("http://127.0.0.1:8765").toURL();
final HttpURLConnection cnxn = Mockito.mock(HttpURLConnection.class);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ByteArrayInputStream bais = new
ByteArrayInputStream(RESPONSE.getBytes(StandardCharsets.UTF_8));
@@ -68,7 +69,7 @@ public void testRetryOnUnavailable() throws Exception {
@Test(expected = RuntimeException.class)
public void testServerError() throws Exception {
// HTTP 500 should error out
- URL url = new URL("http://127.0.0.1:8765");
+ URL url = new URI("http://127.0.0.1:8765").toURL();
final HttpURLConnection cnxn = Mockito.mock(HttpURLConnection.class);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
diff --git
a/core/src/test/java/org/apache/calcite/avatica/remote/TypedValueTest.java
b/core/src/test/java/org/apache/calcite/avatica/remote/TypedValueTest.java
index cce081dde..b27256565 100644
--- a/core/src/test/java/org/apache/calcite/avatica/remote/TypedValueTest.java
+++ b/core/src/test/java/org/apache/calcite/avatica/remote/TypedValueTest.java
@@ -45,10 +45,10 @@
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static java.nio.charset.StandardCharsets.UTF_8;
diff --git
a/core/src/test/java/org/apache/calcite/avatica/test/AvaticaUtilsTest.java
b/core/src/test/java/org/apache/calcite/avatica/test/AvaticaUtilsTest.java
index fb026e3a7..355702256 100644
--- a/core/src/test/java/org/apache/calcite/avatica/test/AvaticaUtilsTest.java
+++ b/core/src/test/java/org/apache/calcite/avatica/test/AvaticaUtilsTest.java
@@ -40,10 +40,10 @@
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
/**
diff --git
a/core/src/test/java/org/apache/calcite/avatica/test/JsonHandlerTest.java
b/core/src/test/java/org/apache/calcite/avatica/test/JsonHandlerTest.java
index 7afa00029..f65c140b1 100644
--- a/core/src/test/java/org/apache/calcite/avatica/test/JsonHandlerTest.java
+++ b/core/src/test/java/org/apache/calcite/avatica/test/JsonHandlerTest.java
@@ -38,7 +38,7 @@
import java.util.UUID;
import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
/**
* Tests JSON encoding/decoding in the remote service.
diff --git
a/core/src/test/java/org/apache/calcite/avatica/util/ArrayAccessorTest.java
b/core/src/test/java/org/apache/calcite/avatica/util/ArrayAccessorTest.java
index c6ed6b7b7..aeaab217a 100644
--- a/core/src/test/java/org/apache/calcite/avatica/util/ArrayAccessorTest.java
+++ b/core/src/test/java/org/apache/calcite/avatica/util/ArrayAccessorTest.java
@@ -33,7 +33,7 @@
import static org.apache.calcite.avatica.AvaticaMatchers.isArrayAccessorResult;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
/**
* Test class for verifying functionality in array accessor from abstract
cursor.
diff --git
a/core/src/test/java/org/apache/calcite/avatica/util/ArrayImplTest.java
b/core/src/test/java/org/apache/calcite/avatica/util/ArrayImplTest.java
index 7e44e365b..0a5db95ae 100644
--- a/core/src/test/java/org/apache/calcite/avatica/util/ArrayImplTest.java
+++ b/core/src/test/java/org/apache/calcite/avatica/util/ArrayImplTest.java
@@ -24,7 +24,6 @@
import org.apache.calcite.avatica.MetaImpl;
import org.apache.calcite.avatica.util.Cursor.Accessor;
-import org.junit.Assert;
import org.junit.Test;
import java.sql.Array;
@@ -37,6 +36,7 @@
import static org.apache.calcite.avatica.AvaticaMatchers.isArrayAccessorResult;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -61,7 +61,7 @@ public class ArrayImplTest {
int rowid = 0;
while (cursor.next()) {
List<Object> expectedArray = rowsValues.get(rowid);
- Assert.assertThat(accessor, isArrayAccessorResult(expectedArray,
Integer.class));
+ assertThat(accessor, isArrayAccessorResult(expectedArray,
Integer.class));
rowid++;
}
}
@@ -82,7 +82,7 @@ public class ArrayImplTest {
int rowid = 0;
while (cursor.next()) {
List<Object> expectedArray = rowsValues.get(rowid);
- Assert.assertThat(accessor, isArrayAccessorResult(expectedArray,
Float.class));
+ assertThat(accessor, isArrayAccessorResult(expectedArray,
Float.class));
rowid++;
}
}
@@ -103,7 +103,7 @@ public class ArrayImplTest {
int rowid = 0;
while (cursor.next()) {
List<Object> expectedArray = rowsValues.get(rowid);
- Assert.assertThat(accessor, isArrayAccessorResult(expectedArray,
Double.class));
+ assertThat(accessor, isArrayAccessorResult(expectedArray,
Double.class));
rowid++;
}
}
@@ -124,7 +124,7 @@ public class ArrayImplTest {
int rowid = 0;
while (cursor.next()) {
List<Object> expectedArray = rowsValues.get(rowid);
- Assert.assertThat(accessor, isArrayAccessorResult(expectedArray,
Double.class));
+ assertThat(accessor, isArrayAccessorResult(expectedArray,
Double.class));
rowid++;
}
}
diff --git
a/server/src/main/java/org/apache/calcite/avatica/server/PropertyBasedSpnegoLoginService.java
b/server/src/main/java/org/apache/calcite/avatica/server/PropertyBasedSpnegoLoginService.java
index 2e19b8e31..813cfada1 100644
---
a/server/src/main/java/org/apache/calcite/avatica/server/PropertyBasedSpnegoLoginService.java
+++
b/server/src/main/java/org/apache/calcite/avatica/server/PropertyBasedSpnegoLoginService.java
@@ -18,7 +18,6 @@
import org.eclipse.jetty.security.SpnegoUserPrincipal;
import org.eclipse.jetty.server.UserIdentity;
-import org.eclipse.jetty.util.B64Code;
import org.ietf.jgss.GSSContext;
import org.ietf.jgss.GSSCredential;
import org.ietf.jgss.GSSException;
@@ -65,7 +64,7 @@ public PropertyBasedSpnegoLoginService(String realm, String
serverPrincipal) {
@Override public UserIdentity login(String username, Object credentials,
ServletRequest request) {
String encodedAuthToken = (String) credentials;
- byte[] authToken = B64Code.decode(encodedAuthToken);
+ byte[] authToken = org.eclipse.jetty.util.B64Code.decode(encodedAuthToken);
GSSManager manager = GSSManager.getInstance();
try {
diff --git
a/server/src/main/java/org/apache/calcite/avatica/server/SubjectPreservingPrivilegedThreadFactory.java
b/server/src/main/java/org/apache/calcite/avatica/server/SubjectPreservingPrivilegedThreadFactory.java
index b0df42a2b..416b076ae 100644
---
a/server/src/main/java/org/apache/calcite/avatica/server/SubjectPreservingPrivilegedThreadFactory.java
+++
b/server/src/main/java/org/apache/calcite/avatica/server/SubjectPreservingPrivilegedThreadFactory.java
@@ -47,6 +47,7 @@ public Thread newThread(Runnable runnable) {
return SecurityUtils.doPrivileged(new PrivilegedAction<Thread>() {
@Override public Thread run() {
return SecurityUtils.callAs(subject, new Callable<Thread>() {
+ @SuppressWarnings("deprecation")
@Override public Thread call() {
Thread thread = new Thread(runnable);
thread.setDaemon(true);
diff --git
a/server/src/test/java/org/apache/calcite/avatica/RemoteDriverMockTest.java
b/server/src/test/java/org/apache/calcite/avatica/RemoteDriverMockTest.java
index 96e524a1d..a22005fcb 100644
--- a/server/src/test/java/org/apache/calcite/avatica/RemoteDriverMockTest.java
+++ b/server/src/test/java/org/apache/calcite/avatica/RemoteDriverMockTest.java
@@ -39,9 +39,9 @@
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
/**
diff --git
a/server/src/test/java/org/apache/calcite/avatica/RemoteDriverTest.java
b/server/src/test/java/org/apache/calcite/avatica/RemoteDriverTest.java
index 61c4b3846..c3d616a69 100644
--- a/server/src/test/java/org/apache/calcite/avatica/RemoteDriverTest.java
+++ b/server/src/test/java/org/apache/calcite/avatica/RemoteDriverTest.java
@@ -72,6 +72,7 @@
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.StringContains.containsString;
import static org.hamcrest.core.StringStartsWith.startsWith;
import static org.junit.Assert.assertArrayEquals;
@@ -79,7 +80,6 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
diff --git
a/server/src/test/java/org/apache/calcite/avatica/jdbc/JdbcMetaTest.java
b/server/src/test/java/org/apache/calcite/avatica/jdbc/JdbcMetaTest.java
index 7b6787ff7..393607277 100644
--- a/server/src/test/java/org/apache/calcite/avatica/jdbc/JdbcMetaTest.java
+++ b/server/src/test/java/org/apache/calcite/avatica/jdbc/JdbcMetaTest.java
@@ -38,8 +38,8 @@
import java.util.concurrent.atomic.AtomicInteger;
import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
/**
diff --git
a/server/src/test/java/org/apache/calcite/avatica/remote/AlternatingRemoteMetaTest.java
b/server/src/test/java/org/apache/calcite/avatica/remote/AlternatingRemoteMetaTest.java
index 41c84fe3d..70fd69f9f 100644
---
a/server/src/test/java/org/apache/calcite/avatica/remote/AlternatingRemoteMetaTest.java
+++
b/server/src/test/java/org/apache/calcite/avatica/remote/AlternatingRemoteMetaTest.java
@@ -38,6 +38,8 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -52,9 +54,9 @@
import java.util.Random;
import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
/**
@@ -157,8 +159,8 @@ List<URL> parseUrls(String urlStr) {
int index = urlStr.indexOf(comma);
if (-1 == index) {
try {
- return Collections.singletonList(new URL(urlStr));
- } catch (MalformedURLException e) {
+ return Collections.singletonList(new URI(urlStr).toURL());
+ } catch (MalformedURLException | URISyntaxException e) {
throw new RuntimeException(e);
}
}
@@ -166,8 +168,8 @@ List<URL> parseUrls(String urlStr) {
// String split w/o regex
while (-1 != index) {
try {
- urls.add(new URL(urlStr.substring(prevIndex, index)));
- } catch (MalformedURLException e) {
+ urls.add(new URI(urlStr.substring(prevIndex, index)).toURL());
+ } catch (MalformedURLException | URISyntaxException e) {
throw new RuntimeException(e);
}
prevIndex = index + 1;
@@ -176,8 +178,8 @@ List<URL> parseUrls(String urlStr) {
// Get the last one
try {
- urls.add(new URL(urlStr.substring(prevIndex)));
- } catch (MalformedURLException e) {
+ urls.add(new URI(urlStr.substring(prevIndex)).toURL());
+ } catch (MalformedURLException | URISyntaxException e) {
throw new RuntimeException(e);
}
@@ -382,15 +384,15 @@ private static String longString(String fragment, int
length) {
@Test public void testSingleUrlParsing() throws Exception {
AlternatingDriver d = new AlternatingDriver();
List<URL> urls = d.parseUrls("http://localhost:1234");
- assertEquals(Arrays.asList(new URL("http://localhost:1234")), urls);
+ assertEquals(Arrays.asList(new URI("http://localhost:1234").toURL()),
urls);
}
@Test public void testMultipleUrlParsing() throws Exception {
AlternatingDriver d = new AlternatingDriver();
List<URL> urls = d.parseUrls("http://localhost:1234,http://localhost:2345,"
+ "http://localhost:3456");
- List<URL> expectedUrls = Arrays.asList(new URL("http://localhost:1234"),
- new URL("http://localhost:2345"), new URL("http://localhost:3456"));
+ List<URL> expectedUrls = Arrays.asList(new
URI("http://localhost:1234").toURL(),
+ new URI("http://localhost:2345").toURL(), new
URI("http://localhost:3456").toURL());
assertEquals(expectedUrls, urls);
}
}
diff --git
a/server/src/test/java/org/apache/calcite/avatica/remote/RemoteMetaTest.java
b/server/src/test/java/org/apache/calcite/avatica/remote/RemoteMetaTest.java
index 00450a3fb..dac5045d5 100644
--- a/server/src/test/java/org/apache/calcite/avatica/remote/RemoteMetaTest.java
+++ b/server/src/test/java/org/apache/calcite/avatica/remote/RemoteMetaTest.java
@@ -51,6 +51,7 @@
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.InetAddress;
+import java.net.URI;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.sql.Array;
@@ -73,12 +74,12 @@
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.StringContains.containsString;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -504,7 +505,7 @@ private static String longString(String fragment, int
length) {
@Test public void testServerAddressInResponse() throws Exception {
ConnectionSpec.getDatabaseLock().lock();
try {
- URL url = new URL("http://localhost:" + this.port);
+ URL url = new URI("http://localhost:" + this.port).toURL();
AvaticaHttpClient httpClient = new AvaticaHttpClientImpl(url);
byte[] request;
@@ -671,7 +672,7 @@ private int getSales(Connection conn, String salesTable,
int productId) throws E
}
@Test public void testMalformedRequest() throws Exception {
- URL url = new URL("http://localhost:" + this.port);
+ URL url = new URI("http://localhost:" + this.port).toURL();
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
diff --git
a/server/src/test/java/org/apache/calcite/avatica/server/BasicAuthHttpServerTest.java
b/server/src/test/java/org/apache/calcite/avatica/server/BasicAuthHttpServerTest.java
index a88079dbc..949385ed5 100644
---
a/server/src/test/java/org/apache/calcite/avatica/server/BasicAuthHttpServerTest.java
+++
b/server/src/test/java/org/apache/calcite/avatica/server/BasicAuthHttpServerTest.java
@@ -27,14 +27,15 @@
import org.junit.Test;
import java.net.HttpURLConnection;
+import java.net.URI;
import java.net.URL;
import java.util.Properties;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.StringContains.containsString;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
/**
@@ -165,7 +166,7 @@ public class BasicAuthHttpServerTest extends HttpAuthBase {
@Test
public void testServerVersionNotReturnedForUnauthorisedAccess() throws
Exception {
- URL httpServerUrl = new URL("http://localhost:" + server.getPort());
+ URL httpServerUrl = new URI("http://localhost:" +
server.getPort()).toURL();
HttpURLConnection conn = (HttpURLConnection)
httpServerUrl.openConnection();
conn.setRequestMethod("GET");
assertEquals("Unauthorized response status code", 401,
conn.getResponseCode());
diff --git
a/server/src/test/java/org/apache/calcite/avatica/server/CustomAuthHttpServerTest.java
b/server/src/test/java/org/apache/calcite/avatica/server/CustomAuthHttpServerTest.java
index 5a9ee0391..9944de99f 100644
---
a/server/src/test/java/org/apache/calcite/avatica/server/CustomAuthHttpServerTest.java
+++
b/server/src/test/java/org/apache/calcite/avatica/server/CustomAuthHttpServerTest.java
@@ -45,8 +45,8 @@
import java.util.concurrent.Callable;
import javax.servlet.http.HttpServletRequest;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.StringContains.containsString;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
/**
diff --git
a/server/src/test/java/org/apache/calcite/avatica/server/DigestAuthHttpServerTest.java
b/server/src/test/java/org/apache/calcite/avatica/server/DigestAuthHttpServerTest.java
index 7b911ccc5..6a95d2df4 100644
---
a/server/src/test/java/org/apache/calcite/avatica/server/DigestAuthHttpServerTest.java
+++
b/server/src/test/java/org/apache/calcite/avatica/server/DigestAuthHttpServerTest.java
@@ -27,14 +27,15 @@
import org.junit.Test;
import java.net.HttpURLConnection;
+import java.net.URI;
import java.net.URL;
import java.util.Properties;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.StringContains.containsString;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
/**
@@ -177,7 +178,7 @@ public class DigestAuthHttpServerTest extends HttpAuthBase {
}
@Test
public void testServerVersionNotReturnedForUnauthorisedAccess() throws
Exception {
- URL httpServerUrl = new URL("http://localhost:" + server.getPort());
+ URL httpServerUrl = new URI("http://localhost:" +
server.getPort()).toURL();
HttpURLConnection conn = (HttpURLConnection)
httpServerUrl.openConnection();
conn.setRequestMethod("GET");
assertEquals("Unauthorized response status code", 401,
conn.getResponseCode());
diff --git
a/server/src/test/java/org/apache/calcite/avatica/server/HttpQueryStringParameterRemoteUserExtractorTest.java
b/server/src/test/java/org/apache/calcite/avatica/server/HttpQueryStringParameterRemoteUserExtractorTest.java
index b6d992bc6..a6ceda770 100644
---
a/server/src/test/java/org/apache/calcite/avatica/server/HttpQueryStringParameterRemoteUserExtractorTest.java
+++
b/server/src/test/java/org/apache/calcite/avatica/server/HttpQueryStringParameterRemoteUserExtractorTest.java
@@ -33,8 +33,8 @@
import java.util.Properties;
import java.util.concurrent.Callable;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.StringContains.containsString;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
/**
diff --git
a/server/src/test/java/org/apache/calcite/avatica/server/HttpServerCustomizerTest.java
b/server/src/test/java/org/apache/calcite/avatica/server/HttpServerCustomizerTest.java
index 9adea7929..1cda83502 100644
---
a/server/src/test/java/org/apache/calcite/avatica/server/HttpServerCustomizerTest.java
+++
b/server/src/test/java/org/apache/calcite/avatica/server/HttpServerCustomizerTest.java
@@ -22,17 +22,19 @@
import org.apache.calcite.avatica.remote.Service;
import org.eclipse.jetty.server.Server;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
import java.net.HttpURLConnection;
+import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -44,9 +46,6 @@ public class HttpServerCustomizerTest {
private static Meta mockMeta = mock(Meta.class);
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
@SuppressWarnings("unchecked") // needed for the mocked customizers, not the
builder
@Test public void serverCustomizersInvoked() {
ServerCustomizer<Server> mockCustomizer1 =
@@ -68,17 +67,16 @@ public class HttpServerCustomizerTest {
}
@Test public void onlyJettyCustomizersAllowed() {
- Service service = new LocalService(mockMeta);
List<ServerCustomizer<UnsupportedServer>> unsupportedCustomizers = new
ArrayList<>();
unsupportedCustomizers.add(new ServerCustomizer<UnsupportedServer>() {
@Override public void customize(UnsupportedServer server) {
}
});
- thrown.expect(IllegalArgumentException.class);
- thrown.expectMessage("Only Jetty Server customizers are supported");
- HttpServer.Builder.<UnsupportedServer>newBuilder()
- .withHandler(service, Driver.Serialization.PROTOBUF)
- .withServerCustomizers(unsupportedCustomizers,
UnsupportedServer.class).withPort(0).build();
+
+ HttpServer.Builder<UnsupportedServer> builder =
HttpServer.Builder.newBuilder();
+ IllegalArgumentException thrown =
assertThrows(IllegalArgumentException.class,
+ () -> builder.withServerCustomizers(unsupportedCustomizers,
UnsupportedServer.class));
+ assertThat(thrown.getMessage(), containsString("Only Jetty Server
customizers are supported"));
}
/**
@@ -102,7 +100,7 @@ public void
testServerVersionNotReturnedForUnauthorisedAccess() throws Exception
.withPort(0).build();
try {
server.start();
- URL httpServerUrl = new URL("http://localhost:" + server.getPort());
+ URL httpServerUrl = new URI("http://localhost:" +
server.getPort()).toURL();
HttpURLConnection conn = (HttpURLConnection)
httpServerUrl.openConnection();
conn.setRequestMethod("GET");
assertNull("Server information was not expected",
conn.getHeaderField("server"));
diff --git
a/server/src/test/java/org/apache/calcite/avatica/server/HttpServerSpnegoWithoutJaasTest.java
b/server/src/test/java/org/apache/calcite/avatica/server/HttpServerSpnegoWithoutJaasTest.java
index 8481971e2..18209398d 100644
---
a/server/src/test/java/org/apache/calcite/avatica/server/HttpServerSpnegoWithoutJaasTest.java
+++
b/server/src/test/java/org/apache/calcite/avatica/server/HttpServerSpnegoWithoutJaasTest.java
@@ -45,7 +45,7 @@
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
-import java.net.URL;
+import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.security.Principal;
import java.util.Properties;
@@ -81,7 +81,7 @@ public class HttpServerSpnegoWithoutJaasTest {
private static boolean isKdcStarted = false;
private static boolean isHttpServerStarted = false;
- private static URL httpServerUrl;
+ private static URI httpServerUri;
@BeforeClass public static void setupKdc() throws Exception {
kdc = new SimpleKdcServer();
@@ -144,13 +144,13 @@ public class HttpServerSpnegoWithoutJaasTest {
httpServer.start();
isHttpServerStarted = true;
- httpServerUrl = new URL("http://" + SpnegoTestUtil.KDC_HOST + ":" +
httpServer.getPort());
- LOG.info("HTTP server running at {}", httpServerUrl);
+ httpServerUri = new URI("http://" + SpnegoTestUtil.KDC_HOST + ":" +
httpServer.getPort());
+ LOG.info("HTTP server running at {}", httpServerUri);
}
@AfterClass public static void stopKdc() throws Exception {
if (isHttpServerStarted) {
- LOG.info("Stopping HTTP server at {}", httpServerUrl);
+ LOG.info("Stopping HTTP server at {}", httpServerUri);
httpServer.stop();
}
@@ -181,16 +181,16 @@ private static void setupUsers(File keytabDir) throws
KrbException {
}
@Test public void testNormalClientsDisallowed() throws Exception {
- LOG.info("Connecting to {}", httpServerUrl.toString());
- HttpURLConnection conn = (HttpURLConnection)
httpServerUrl.openConnection();
+ LOG.info("Connecting to {}", httpServerUri.toString());
+ HttpURLConnection conn = (HttpURLConnection)
httpServerUri.toURL().openConnection();
conn.setRequestMethod("GET");
// Authentication should fail because we didn't provide anything
assertEquals(401, conn.getResponseCode());
}
@Test public void testServerVersionNotReturnedForUnauthorisedAccess() throws
Exception {
- LOG.info("Connecting to {}", httpServerUrl.toString());
- HttpURLConnection conn = (HttpURLConnection)
httpServerUrl.openConnection();
+ LOG.info("Connecting to {}", httpServerUri.toString());
+ HttpURLConnection conn = (HttpURLConnection)
httpServerUri.toURL().openConnection();
conn.setRequestMethod("GET");
assertEquals("Unauthorized response status code", 401,
conn.getResponseCode());
assertNull("Server information was not expected",
conn.getHeaderField("server"));
@@ -233,7 +233,7 @@ private static void setupUsers(File keytabDir) throws
KrbException {
// Passes the GSSCredential into the HTTP client implementation
final AvaticaCommonsHttpClientImpl httpClient =
- new AvaticaCommonsHttpClientImpl(httpServerUrl);
+ new AvaticaCommonsHttpClientImpl(httpServerUri);
httpClient.setHttpClientPool(pool, config);
httpClient.setGSSCredential(credential);