diff --git a/pom.xml b/pom.xml
index bf2b891a..a6abd115 100644
--- a/pom.xml
+++ b/pom.xml
@@ -297,8 +297,8 @@
com.squareup.okhttp3
- mockwebserver
- 4.12.0
+ mockwebserver3-junit5
+ 5.1.0
test
diff --git a/src/test/java/com/influxdb/v3/client/AbstractMockServerTest.java b/src/test/java/com/influxdb/v3/client/AbstractMockServerTest.java
index 66f98a2d..44b05560 100644
--- a/src/test/java/com/influxdb/v3/client/AbstractMockServerTest.java
+++ b/src/test/java/com/influxdb/v3/client/AbstractMockServerTest.java
@@ -22,11 +22,13 @@
package com.influxdb.v3.client;
import java.io.IOException;
+import java.util.HashMap;
import java.util.Map;
import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
-import okhttp3.mockwebserver.MockResponse;
-import okhttp3.mockwebserver.MockWebServer;
+import mockwebserver3.MockResponse;
+import mockwebserver3.MockWebServer;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -50,32 +52,42 @@ protected void startMockServer() {
@AfterEach
protected void shutdownMockServer() throws IOException {
- mockServer.shutdown();
+ mockServer.close();
}
@Nonnull
protected MockResponse createEmptyResponse(final int responseCode) {
- return new MockResponse().setResponseCode(responseCode);
+ return new MockResponse.Builder().code(responseCode).build();
}
@Nonnull
- protected MockResponse createResponse(final int responseCode) {
+ protected MockResponse createResponse(final int responseCode,
+ @Nullable final Map headers,
+ @Nullable final String body) {
+
+ MockResponse.Builder mrb = new MockResponse.Builder();
+ mrb.code(responseCode);
+ Map effectiveHeaders = new HashMap<>(Map.of("Content-Type", "text/csv; charset=utf-8",
+ "Date", "Tue, 26 Jun 2018 13:15:01 GMT"));
+ if (headers != null) {
+ effectiveHeaders.putAll(headers);
+ }
+ for (Map.Entry entry : effectiveHeaders.entrySet()) {
+ mrb.addHeader(entry.getKey(), entry.getValue());
+ }
+ if (body != null) {
+ mrb.body(body);
+ }
- return createResponseWithHeaders(responseCode, Map.of(
- "Content-Type", "text/csv; charset=utf-8",
- "Date", "Tue, 26 Jun 2018 13:15:01 GMT"
- ));
+ return mrb.build();
}
@Nonnull
- protected MockResponse createResponseWithHeaders(final int responseCode, final Map headers) {
-
- final MockResponse response = new MockResponse()
- .setResponseCode(responseCode);
- for (Map.Entry entry : headers.entrySet()) {
- response.addHeader(entry.getKey(), entry.getValue());
- }
+ protected MockResponse createResponse(final int responseCode) {
- return response;
+ return createResponse(responseCode, Map.of(
+ "Content-Type", "text/csv; charset=utf-8",
+ "Date", "Tue, 26 Jun 2018 13:15:01 GMT"
+ ), null);
}
}
diff --git a/src/test/java/com/influxdb/v3/client/InfluxDBClientWriteTest.java b/src/test/java/com/influxdb/v3/client/InfluxDBClientWriteTest.java
index 49e513da..5164c3a2 100644
--- a/src/test/java/com/influxdb/v3/client/InfluxDBClientWriteTest.java
+++ b/src/test/java/com/influxdb/v3/client/InfluxDBClientWriteTest.java
@@ -27,8 +27,8 @@
import java.util.Map;
import io.netty.handler.codec.http.HttpResponseStatus;
+import mockwebserver3.RecordedRequest;
import okhttp3.HttpUrl;
-import okhttp3.mockwebserver.RecordedRequest;
import org.assertj.core.api.Assertions;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.AfterEach;
@@ -103,8 +103,8 @@ void databaseParameter() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getRequestUrl()).isNotNull();
- assertThat(request.getRequestUrl().queryParameter("bucket")).isEqualTo("my-database");
+ assertThat(request.getUrl()).isNotNull();
+ assertThat(request.getUrl().queryParameter("bucket")).isEqualTo("my-database");
}
@Test
@@ -116,8 +116,8 @@ void databaseParameterSpecified() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getRequestUrl()).isNotNull();
- assertThat(request.getRequestUrl().queryParameter("bucket")).isEqualTo("my-database-2");
+ assertThat(request.getUrl()).isNotNull();
+ assertThat(request.getUrl().queryParameter("bucket")).isEqualTo("my-database-2");
}
@Test
@@ -144,8 +144,8 @@ void precisionParameter() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getRequestUrl()).isNotNull();
- assertThat(request.getRequestUrl().queryParameter("precision")).isEqualTo("ns");
+ assertThat(request.getUrl()).isNotNull();
+ assertThat(request.getUrl().queryParameter("precision")).isEqualTo("ns");
}
@Test
@@ -157,8 +157,8 @@ void precisionParameterSpecified() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getRequestUrl()).isNotNull();
- assertThat(request.getRequestUrl().queryParameter("precision")).isEqualTo("s");
+ assertThat(request.getUrl()).isNotNull();
+ assertThat(request.getUrl().queryParameter("precision")).isEqualTo("s");
}
@Test
@@ -170,9 +170,9 @@ void gzipParameter() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getRequestUrl()).isNotNull();
- assertThat(request.getHeader("Content-Type")).isEqualTo("text/plain; charset=utf-8");
- assertThat(request.getHeader("Content-Encoding")).isNotEqualTo("gzip");
+ assertThat(request.getUrl()).isNotNull();
+ assertThat(request.getHeaders().get("Content-Type")).isEqualTo("text/plain; charset=utf-8");
+ assertThat(request.getHeaders().get("Content-Encoding")).isNotEqualTo("gzip");
}
@Test
@@ -184,9 +184,9 @@ void gzipParameterSpecified() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getRequestUrl()).isNotNull();
- assertThat(request.getHeader("Content-Type")).isEqualTo("text/plain; charset=utf-8");
- assertThat(request.getHeader("Content-Encoding")).isEqualTo("gzip");
+ assertThat(request.getUrl()).isNotNull();
+ assertThat(request.getHeaders().get("Content-Type")).isEqualTo("text/plain; charset=utf-8");
+ assertThat(request.getHeaders().get("Content-Encoding")).isEqualTo("gzip");
}
@Test
@@ -199,10 +199,10 @@ void writeNoSyncFalseUsesV2API() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getRequestUrl()).isNotNull();
- assertThat(request.getRequestUrl().encodedPath()).isEqualTo("/api/v2/write");
- assertThat(request.getRequestUrl().queryParameter("no_sync")).isNull();
- assertThat(request.getRequestUrl().queryParameter("precision")).isEqualTo("ns");
+ assertThat(request.getUrl()).isNotNull();
+ assertThat(request.getUrl().encodedPath()).isEqualTo("/api/v2/write");
+ assertThat(request.getUrl().queryParameter("no_sync")).isNull();
+ assertThat(request.getUrl().queryParameter("precision")).isEqualTo("ns");
}
@@ -216,10 +216,10 @@ void writeNoSyncTrueUsesV3API() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getRequestUrl()).isNotNull();
- assertThat(request.getRequestUrl().encodedPath()).isEqualTo("/api/v3/write_lp");
- assertThat(request.getRequestUrl().queryParameter("no_sync")).isEqualTo("true");
- assertThat(request.getRequestUrl().queryParameter("precision")).isEqualTo("nanosecond");
+ assertThat(request.getUrl()).isNotNull();
+ assertThat(request.getUrl().encodedPath()).isEqualTo("/api/v3/write_lp");
+ assertThat(request.getUrl().queryParameter("no_sync")).isEqualTo("true");
+ assertThat(request.getUrl().queryParameter("precision")).isEqualTo("nanosecond");
}
@Test
@@ -234,10 +234,10 @@ void writeNoSyncTrueOnV2ServerThrowsException() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getRequestUrl()).isNotNull();
- assertThat(request.getRequestUrl().encodedPath()).isEqualTo("/api/v3/write_lp");
- assertThat(request.getRequestUrl().queryParameter("no_sync")).isEqualTo("true");
- assertThat(request.getRequestUrl().queryParameter("precision")).isEqualTo("millisecond");
+ assertThat(request.getUrl()).isNotNull();
+ assertThat(request.getUrl().encodedPath()).isEqualTo("/api/v3/write_lp");
+ assertThat(request.getUrl().queryParameter("no_sync")).isEqualTo("true");
+ assertThat(request.getUrl().queryParameter("precision")).isEqualTo("millisecond");
assertThat(ae.statusCode()).isEqualTo(HttpResponseStatus.METHOD_NOT_ALLOWED.code());
assertThat(ae.getMessage()).contains("Server doesn't support write with NoSync=true"
@@ -376,7 +376,7 @@ private void checkWriteCalled(final String expectedPath, final String expectedDB
final String expectedPrecision, final boolean expectedNoSync,
final boolean expectedGzip) throws InterruptedException {
RecordedRequest request = assertThatServerRequested();
- HttpUrl requestUrl = request.getRequestUrl();
+ HttpUrl requestUrl = request.getUrl();
assertThat(requestUrl).isNotNull();
assertThat(requestUrl.encodedPath()).isEqualTo(expectedPath);
if (expectedNoSync) {
@@ -391,9 +391,9 @@ private void checkWriteCalled(final String expectedPath, final String expectedDB
assertThat(requestUrl.queryParameter("no_sync")).isNull();
}
if (expectedGzip) {
- assertThat(request.getHeader("Content-Encoding")).isEqualTo("gzip");
+ assertThat(request.getHeaders().get("Content-Encoding")).isEqualTo("gzip");
} else {
- assertThat(request.getHeader("Content-Encoding")).isNull();
+ assertThat(request.getHeaders().get("Content-Encoding")).isNull();
}
}
@@ -415,11 +415,11 @@ void allParameterSpecified() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getRequestUrl()).isNotNull();
- assertThat(request.getHeader("Content-Type")).isEqualTo("text/plain; charset=utf-8");
- assertThat(request.getHeader("Content-Encoding")).isEqualTo("gzip");
- assertThat(request.getRequestUrl().queryParameter("precision")).isEqualTo("s");
- assertThat(request.getRequestUrl().queryParameter("bucket")).isEqualTo("your-database");
+ assertThat(request.getUrl()).isNotNull();
+ assertThat(request.getHeaders().get("Content-Type")).isEqualTo("text/plain; charset=utf-8");
+ assertThat(request.getHeaders().get("Content-Encoding")).isEqualTo("gzip");
+ assertThat(request.getUrl().queryParameter("precision")).isEqualTo("s");
+ assertThat(request.getUrl().queryParameter("bucket")).isEqualTo("your-database");
}
@Test
@@ -431,8 +431,8 @@ void contentHeaders() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getHeader("Content-Type")).isEqualTo("text/plain; charset=utf-8");
- assertThat(request.getHeader("Content-Encoding")).isNull();
+ assertThat(request.getHeaders().get("Content-Type")).isEqualTo("text/plain; charset=utf-8");
+ assertThat(request.getHeaders().get("Content-Encoding")).isNull();
}
@Test
@@ -444,7 +444,10 @@ void bodyRecord() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getBody().readUtf8()).isEqualTo("mem,tag=one value=1.0");
+// assertThat(request.getBody().readUtf8()).isEqualTo("mem,tag=one value=1.0");
+// assertThat(request.getBody().getUtf8$okio()).isEqualTo("mem,tag=one value=1.0");
+ assertThat(request.getBody().utf8()).isEqualTo("mem,tag=one value=1.0");
+
}
@Test
@@ -460,7 +463,8 @@ void bodyPoint() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getBody().readUtf8()).isEqualTo("mem,tag=one value=1.0");
+ // assertThat(request.getBody().readUtf8()).isEqualTo("mem,tag=one value=1.0");
+ assertThat(request.getBody().utf8()).isEqualTo("mem,tag=one value=1.0");
}
@Test
@@ -480,7 +484,8 @@ void bodyConcat() throws InterruptedException {
assertThat(mockServer.getRequestCount()).isEqualTo(1);
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getBody().readUtf8()).isEqualTo("mem,tag=one value=1.0\ncpu,tag=two value=2.0");
+ // assertThat(request.getBody().readUtf8()).isEqualTo("mem,tag=one value=1.0\ncpu,tag=two value=2.0");
+ assertThat(request.getBody().utf8()).isEqualTo("mem,tag=one value=1.0\ncpu,tag=two value=2.0");
}
@@ -502,17 +507,16 @@ void defaultTags() throws InterruptedException {
RecordedRequest request = mockServer.takeRequest();
assertThat(request).isNotNull();
- assertThat(request.getBody().readUtf8()).isEqualTo("mem,model=M5,tag=one,unit=U2 value=1.0");
+ // assertThat(request.getBody().readUtf8()).isEqualTo("mem,model=M5,tag=one,unit=U2 value=1.0");
+ assertThat(request.getBody().utf8()).isEqualTo("mem,model=M5,tag=one,unit=U2 value=1.0");
}
@Test
public void retryHandled429Test() {
- mockServer.enqueue(createResponse(429)
- .setBody("{ \"message\" : \"Too Many Requests\" }")
- .setHeader("retry-after", "42")
- .setHeader("content-type", "application/json")
- );
+ mockServer.enqueue(createResponse(429,
+ Map.of("retry-after", "42", "content-type", "application/json"),
+ "{ \"message\" : \"Too Many Requests\" }"));
Point point = Point.measurement("mem")
.setTag("tag", "one")
diff --git a/src/test/java/com/influxdb/v3/client/internal/RestClientTest.java b/src/test/java/com/influxdb/v3/client/internal/RestClientTest.java
index ab927888..10cbd110 100644
--- a/src/test/java/com/influxdb/v3/client/internal/RestClientTest.java
+++ b/src/test/java/com/influxdb/v3/client/internal/RestClientTest.java
@@ -36,8 +36,9 @@
import java.util.Optional;
import io.netty.handler.codec.http.HttpMethod;
-import okhttp3.mockwebserver.MockResponse;
-import okhttp3.mockwebserver.RecordedRequest;
+import mockwebserver3.MockResponse;
+import mockwebserver3.RecordedRequest;
+import okhttp3.Headers;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -114,7 +115,7 @@ public void authenticationHeader() throws InterruptedException {
RecordedRequest recordedRequest = mockServer.takeRequest();
- String authorization = recordedRequest.getHeader("Authorization");
+ String authorization = recordedRequest.getHeaders().get("Authorization");
Assertions.assertThat(authorization).isEqualTo("Token my-token");
}
@@ -132,7 +133,7 @@ public void authenticationHeaderCustomAuthScheme() throws InterruptedException {
RecordedRequest recordedRequest = mockServer.takeRequest();
- String authorization = recordedRequest.getHeader("Authorization");
+ String authorization = recordedRequest.getHeaders().get("Authorization");
Assertions.assertThat(authorization).isEqualTo("my-auth-scheme my-token");
}
@@ -148,7 +149,7 @@ public void authenticationHeaderNotDefined() throws InterruptedException {
RecordedRequest recordedRequest = mockServer.takeRequest();
- String authorization = recordedRequest.getHeader("Authorization");
+ String authorization = recordedRequest.getHeaders().get("Authorization");
Assertions.assertThat(authorization).isNull();
}
@@ -164,7 +165,7 @@ public void userAgent() throws InterruptedException {
RecordedRequest recordedRequest = mockServer.takeRequest();
- String userAgent = recordedRequest.getHeader("User-Agent");
+ String userAgent = recordedRequest.getHeaders().get("User-Agent");
Assertions.assertThat(userAgent).startsWith("influxdb3-java/");
}
@@ -182,7 +183,7 @@ public void customHeader() throws InterruptedException {
RecordedRequest recordedRequest = mockServer.takeRequest();
- String authorization = recordedRequest.getHeader("X-device");
+ String authorization = recordedRequest.getHeaders().get("X-device");
Assertions.assertThat(authorization).isEqualTo("ab-01");
}
@@ -200,9 +201,9 @@ public void customHeaderRequest() throws InterruptedException {
RecordedRequest recordedRequest = mockServer.takeRequest();
- String header = recordedRequest.getHeader("X-device");
+ String header = recordedRequest.getHeaders().get("X-device");
Assertions.assertThat(header).isEqualTo("ab-01");
- header = recordedRequest.getHeader("X-Request-Trace-Id");
+ header = recordedRequest.getHeaders().get("X-Request-Trace-Id");
Assertions.assertThat(header).isEqualTo("123");
}
@@ -220,7 +221,7 @@ public void useCustomHeaderFromRequest() throws InterruptedException {
RecordedRequest recordedRequest = mockServer.takeRequest();
- String header = recordedRequest.getHeader("X-device");
+ String header = recordedRequest.getHeaders().get("X-device");
Assertions.assertThat(header).isEqualTo("ab-02");
}
@@ -243,7 +244,7 @@ public void useParamsFromWriteConfig() throws Exception {
RecordedRequest recordedRequest = mockServer.takeRequest();
- String header = recordedRequest.getHeader("X-Tracing-Id");
+ String header = recordedRequest.getHeaders().get("X-Tracing-Id");
Assertions.assertThat(header).isEqualTo("852");
}
@@ -259,8 +260,8 @@ public void uri() throws InterruptedException {
RecordedRequest recordedRequest = mockServer.takeRequest();
- Assertions.assertThat(recordedRequest.getRequestUrl()).isNotNull();
- Assertions.assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(baseURL + "ping");
+ Assertions.assertThat(recordedRequest.getUrl()).isNotNull();
+ Assertions.assertThat(recordedRequest.getUrl().toString()).isEqualTo(baseURL + "ping");
}
@Test
@@ -280,18 +281,23 @@ public void proxy() throws InterruptedException {
restClient = new RestClient(new ClientConfig.Builder()
.host("http://foo.com:8086")
- .proxy(ProxySelector.of((InetSocketAddress) mockServer.toProxyAddress().address()))
+ .proxy(ProxySelector.of((InetSocketAddress) mockServer.getProxyAddress().address()))
.build());
restClient.request("ping", HttpMethod.GET, null, null, null);
RecordedRequest recordedRequest = mockServer.takeRequest();
- Assertions.assertThat(recordedRequest.getRequestUrl()).isNotNull();
- Assertions.assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(baseURL); // server is used as proxy
- Assertions.assertThat(recordedRequest.getRequestLine()).isEqualTo("GET http://foo.com:8086/ping HTTP/1.1");
+ Assertions.assertThat(recordedRequest.getUrl()).isNotNull();
+ // with mockwebserver3 getUrl() returns target URL not proxy URL
+ // successful return implies proxy was used correctly.
+ Assertions.assertThat(recordedRequest.getUrl().toString())
+ .isEqualTo("http://foo.com:8086/ping"); // server is used as proxy
+ Assertions.assertThat(recordedRequest.getRequestLine())
+ .isEqualTo("GET http://foo.com:8086/ping HTTP/1.1");
}
+
@Test
public void proxyUrl() throws InterruptedException {
mockServer.enqueue(createResponse(200));
@@ -305,14 +311,19 @@ public void proxyUrl() throws InterruptedException {
RecordedRequest recordedRequest = mockServer.takeRequest();
- Assertions.assertThat(recordedRequest.getRequestUrl()).isNotNull();
- Assertions.assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(baseURL); // server is used as proxy
- Assertions.assertThat(recordedRequest.getRequestLine()).isEqualTo("GET http://foo.com:8086/ping HTTP/1.1");
+ Assertions.assertThat(recordedRequest.getUrl()).isNotNull();
+ // with mockwebserver3 getUrl() returns target URL not proxy URL
+ // successful return implies proxy was used correctly.
+ Assertions.assertThat(recordedRequest.getUrl().toString())
+ .isEqualTo("http://foo.com:8086/ping"); // server is used as proxy
+ Assertions.assertThat(recordedRequest.getRequestLine())
+ .isEqualTo("GET http://foo.com:8086/ping HTTP/1.1");
}
+
@Test
public void proxyWithAuthentication() throws InterruptedException {
- mockServer.enqueue(createResponseWithHeaders(407, Map.of("Proxy-Authenticate", "Basic")));
+ mockServer.enqueue(createResponse(407, Map.of("Proxy-Authenticate", "Basic"), null));
mockServer.enqueue(createResponse(200));
restClient = new RestClient(new ClientConfig.Builder()
@@ -331,12 +342,14 @@ protected PasswordAuthentication getPasswordAuthentication() {
RecordedRequest recordedRequest = mockServer.takeRequest();
RecordedRequest proxyAuthRequest = mockServer.takeRequest();
- Assertions.assertThat(recordedRequest.getRequestUrl()).isNotNull();
- Assertions.assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(baseURL); // server is used as proxy
+ Assertions.assertThat(recordedRequest.getUrl()).isNotNull();
+ // with mockwebserver3 getUrl() returns target URL not proxy URL
+ // successful return implies proxy was used correctly.
+ Assertions.assertThat(recordedRequest.getUrl().toString()).isEqualTo("http://foo.com:8086/ping");
Assertions.assertThat(recordedRequest.getRequestLine()).isEqualTo("GET http://foo.com:8086/ping HTTP/1.1");
Assertions.assertThat(mockServer.getRequestCount()).isEqualTo(2);
- String proxyAuthorization = proxyAuthRequest.getHeader("Proxy-Authorization");
+ String proxyAuthorization = proxyAuthRequest.getHeaders().get("Proxy-Authorization");
Assertions.assertThat(proxyAuthorization)
.isEqualTo("Basic " + Base64.getEncoder().encodeToString("john:secret".getBytes()));
}
@@ -357,7 +370,8 @@ public void error() {
@Test
public void errorFromHeader() {
- mockServer.enqueue(createResponse(500).setHeader("X-Influx-Error", "not used"));
+
+ mockServer.enqueue(createResponse(500, Map.of("X-Influx-Error", "not used"), null));
restClient = new RestClient(new ClientConfig.Builder()
.host(baseURL)
@@ -371,61 +385,70 @@ public void errorFromHeader() {
@Test
public void errorFromBody() {
- mockServer.enqueue(createResponse(401)
- .setHeader("X-Influx-Error", "not used")
- .setBody("{\"message\":\"token does not have sufficient permissions\"}"));
- restClient = new RestClient(new ClientConfig.Builder()
- .host(baseURL)
- .build());
+ mockServer.enqueue(createResponse(401,
+ Map.of("X-Influx-Errpr", "not used"),
+ "{\"message\":\"token does not have sufficient permissions\"}"));
- Assertions.assertThatThrownBy(
- () -> restClient.request("ping", HttpMethod.GET, null, null, null))
- .isInstanceOf(InfluxDBApiException.class)
- .hasMessage("HTTP status code: 401; Message: token does not have sufficient permissions");
+ restClient = new RestClient(new ClientConfig.Builder()
+ .host(baseURL)
+ .build());
+
+ Assertions.assertThatThrownBy(
+ () -> restClient.request("ping", HttpMethod.GET, null, null, null)
+ )
+ .isInstanceOf(InfluxDBApiException.class)
+ .hasMessage("HTTP status code: 401; Message: token does not have sufficient permissions");
}
@Test
public void errorFromBodyEdgeWithoutMessage() { // OSS/Edge error message
- mockServer.enqueue(createResponse(400)
- .setBody("{\"error\":\"parsing failed\"}"));
- restClient = new RestClient(new ClientConfig.Builder()
+ mockServer.enqueue(createResponse(400,
+ null,
+ "{\"error\":\"parsing failed\"}"));
+
+ restClient = new RestClient(new ClientConfig.Builder()
.host(baseURL)
.build());
- Assertions.assertThatThrownBy(
- () -> restClient.request("ping", HttpMethod.GET, null, null, null))
- .isInstanceOf(InfluxDBApiException.class)
- .hasMessage("HTTP status code: 400; Message: parsing failed");
+ Assertions.assertThatThrownBy(
+ () -> restClient.request("ping", HttpMethod.GET, null, null, null)
+ )
+ .isInstanceOf(InfluxDBApiException.class)
+ .hasMessage("HTTP status code: 400; Message: parsing failed");
}
@Test
public void errorFromBodyEdgeWithMessage() { // OSS/Edge specific error message
- mockServer.enqueue(createResponse(400)
- .setBody("{\"error\":\"parsing failed\",\"data\":{\"error_message\":\"invalid field value\"}}"));
- restClient = new RestClient(new ClientConfig.Builder()
- .host(baseURL)
- .build());
+ mockServer.enqueue(createResponse(400,
+ null,
+ "{\"error\":\"parsing failed\",\"data\":{\"error_message\":\"invalid field value\"}}"));
- Assertions.assertThatThrownBy(
- () -> restClient.request("ping", HttpMethod.GET, null, null, null))
- .isInstanceOf(InfluxDBApiException.class)
- .hasMessage("HTTP status code: 400; Message: invalid field value");
+ restClient = new RestClient(new ClientConfig.Builder()
+ .host(baseURL)
+ .build());
+
+ Assertions.assertThatThrownBy(
+ () -> restClient.request("ping", HttpMethod.GET, null, null, null)
+ )
+ .isInstanceOf(InfluxDBApiException.class)
+ .hasMessage("HTTP status code: 400; Message: invalid field value");
}
@Test
public void errorFromBodyText() {
- mockServer.enqueue(createResponse(402)
- .setBody("token is over the limit"));
- restClient = new RestClient(new ClientConfig.Builder()
- .host(baseURL)
- .build());
+ mockServer.enqueue(createResponse(402, null, "token is over the limit"));
- Assertions.assertThatThrownBy(
- () -> restClient.request("ping", HttpMethod.GET, null, null, null))
+ restClient = new RestClient(new ClientConfig.Builder()
+ .host(baseURL)
+ .build());
+
+ Assertions.assertThatThrownBy(
+ () -> restClient.request("ping", HttpMethod.GET, null, null, null)
+ )
.isInstanceOf(InfluxDBApiException.class)
.hasMessage("HTTP status code: 402; Message: token is over the limit");
}
@@ -450,13 +473,11 @@ public void generateHttpException() {
public void errorHttpExceptionThrown() {
String retryDate = Instant.now().plus(300, ChronoUnit.SECONDS).toString();
- mockServer.enqueue(createResponse(503)
- .setHeader("retry-after", retryDate)
- .setHeader("content-type", "application/json")
- .setBody("{\"message\":\"temporarily offline\"}")
- );
+ mockServer.enqueue(createResponse(503,
+ Map.of("retry-after", retryDate, "content-type", "application/json"),
+ "{\"message\":\"temporarily offline\"}"));
- restClient = new RestClient(new ClientConfig.Builder()
+ restClient = new RestClient(new ClientConfig.Builder()
.host(baseURL)
.build());
@@ -481,7 +502,9 @@ public void errorHttpExceptionThrown() {
@Test
public void getServerVersionV2Successful() throws Exception {
String influxDBVersion = "v2.1.0";
- mockServer.enqueue(createResponse(200).setHeader("x-influxdb-version", influxDBVersion));
+ mockServer.enqueue(createResponse(200,
+ Map.of("x-influxdb-version", influxDBVersion),
+ null));
restClient = new RestClient(new ClientConfig.Builder()
.host(baseURL)
@@ -494,7 +517,9 @@ public void getServerVersionV2Successful() throws Exception {
@Test
public void getServerVersionV3Successful() throws Exception {
String influxDBVersion = "3.0.0";
- mockServer.enqueue(createResponse(200).setBody("{\"version\":\"" + influxDBVersion + "\"}"));
+ mockServer.enqueue(createResponse(200,
+ null,
+ "{\"version\":\"" + influxDBVersion + "\"}"));
restClient = new RestClient(new ClientConfig.Builder()
.host(baseURL)
@@ -506,9 +531,9 @@ public void getServerVersionV3Successful() throws Exception {
@Test
public void getServerVersionError() {
- MockResponse mockResponse = new MockResponse();
- mockResponse.setBody("not json")
- .setHeader("something", "something");
+ MockResponse mockResponse = new MockResponse(200,
+ Headers.of("something", "something"),
+ "not json");
mockServer.enqueue(mockResponse);
restClient = new RestClient(new ClientConfig.Builder()
@@ -520,7 +545,7 @@ public void getServerVersionError() {
@Test
public void getServerVersionErrorNoBody() {
- mockServer.enqueue(new MockResponse().setResponseCode(200));
+ mockServer.enqueue(new MockResponse(200, Headers.of(), "Test-Version"));
restClient = new RestClient(new ClientConfig.Builder()
.host(baseURL)
.build());