|
25 | 25 | import java.net.ServerSocket; |
26 | 26 | import java.net.URI; |
27 | 27 | import java.time.Duration; |
| 28 | +import java.util.Map; |
28 | 29 | import java.util.concurrent.Executor; |
29 | 30 | import java.util.concurrent.Executors; |
30 | 31 | import java.util.concurrent.TimeUnit; |
@@ -248,6 +249,30 @@ void grpcCallOptions() { |
248 | 249 | Assertions.assertThat(stubCallOptions.getDeadline()).isEqualTo(grpcCallOption.getDeadline()); |
249 | 250 | } |
250 | 251 |
|
| 252 | + @Test |
| 253 | + public void queryOptionsCloneTest() { |
| 254 | + |
| 255 | + GrpcCallOptions grpcCallOption = new GrpcCallOptions.Builder() |
| 256 | + .withMaxInboundMessageSize(1024 * 1024 * 1024) |
| 257 | + .withMaxOutboundMessageSize(1024 * 1024 * 1024) |
| 258 | + .withDeadline(Deadline.after(2, TimeUnit.MINUTES)) |
| 259 | + .build(); |
| 260 | + |
| 261 | + Map<String, String> headers = Map.of("k1", "v1", "k2", "v2", "k3", "v3"); |
| 262 | + |
| 263 | + QueryOptions queryOptions = new QueryOptions("myQueryOptions", QueryType.SQL, headers); |
| 264 | + queryOptions.setGrpcCallOptions(grpcCallOption); |
| 265 | + |
| 266 | + QueryOptions clone = queryOptions.clone(); |
| 267 | + Assertions.assertThat(clone).isEqualTo(queryOptions); |
| 268 | + // not the same object |
| 269 | + Assertions.assertThat(queryOptions == clone).isFalse(); |
| 270 | + // deep copy grpc options |
| 271 | + Assertions.assertThat(queryOptions.grpcCallOptions() == clone.grpcCallOptions()).isFalse(); |
| 272 | + // deep copy headers |
| 273 | + Assertions.assertThat(queryOptions.headersSafe() == clone.headersSafe()).isFalse(); |
| 274 | + } |
| 275 | + |
251 | 276 | @Test |
252 | 277 | public void queryOptionsUnchangedByCall() throws IOException { |
253 | 278 | int freePort = findFreePort(); |
@@ -276,6 +301,8 @@ public void queryOptionsUnchangedByCall() throws IOException { |
276 | 301 | queryOptions.setGrpcCallOptions(grpcCallOption); |
277 | 302 | QueryOptions originalQueryOptions = queryOptions.clone(); |
278 | 303 | Assertions.assertThat(originalQueryOptions).isEqualTo(queryOptions); |
| 304 | + System.out.println("DEBUG queryOptions.grpcOptions " + queryOptions.grpcCallOptions()); |
| 305 | + System.out.println("DEBUG originalQueryOptions.grpcOptions " + originalQueryOptions.grpcCallOptions()); |
279 | 306 |
|
280 | 307 | try (InfluxDBClient influxDBClient = InfluxDBClient.getInstance(clientConfig)) { |
281 | 308 | Assertions.assertThatNoException().isThrownBy(() -> { |
|
0 commit comments