From 6d24c765b6a74efd2c34f434b8bcecaead464f00 Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Mon, 7 Jun 2021 22:01:45 +0300 Subject: [PATCH] Fix reactor netty latest dep test (#3205) --- .../AbstractReactorNettyHttpClientTest.groovy | 45 +++++++++++++++++++ .../groovy/ReactorNettyHttpClientTest.groovy | 2 +- ...ReactorNettyHttpClientUsingFromTest.groovy | 2 +- 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/AbstractReactorNettyHttpClientTest.groovy b/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/AbstractReactorNettyHttpClientTest.groovy index 27f13e9395..41c007e517 100644 --- a/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/AbstractReactorNettyHttpClientTest.groovy +++ b/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/AbstractReactorNettyHttpClientTest.groovy @@ -7,6 +7,11 @@ import static io.opentelemetry.instrumentation.test.utils.PortUtils.UNUSABLE_POR import static io.opentelemetry.instrumentation.test.utils.TraceUtils.basicSpan import static io.opentelemetry.instrumentation.test.utils.TraceUtils.runUnderTrace +import io.netty.resolver.AddressResolver +import io.netty.resolver.AddressResolverGroup +import io.netty.resolver.InetNameResolver +import io.netty.util.concurrent.EventExecutor +import io.netty.util.concurrent.Promise import io.opentelemetry.api.common.AttributeKey import io.opentelemetry.api.trace.Span import io.opentelemetry.api.trace.SpanKind @@ -97,6 +102,10 @@ abstract class AbstractReactorNettyHttpClientTest extends HttpClientTest() @@ -179,4 +188,40 @@ abstract class AbstractReactorNettyHttpClientTest extends HttpClientTest { + public static final CustomNameResolverGroup INSTANCE = new CustomNameResolverGroup() + + private CustomNameResolverGroup() { + } + + protected AddressResolver newResolver(EventExecutor executor) throws Exception { + return (new CustomNameResolver(executor)).asAddressResolver() + } + } + + static class CustomNameResolver extends InetNameResolver { + CustomNameResolver(EventExecutor executor) { + super(executor) + } + + protected void doResolve(String inetHost, Promise promise) throws Exception { + try { + promise.setSuccess(InetAddress.getByName(inetHost)) + } catch (UnknownHostException exception) { + promise.setFailure(exception) + } + } + + protected void doResolveAll(String inetHost, Promise> promise) throws Exception { + try { + // default implementation calls InetAddress.getAllByName + promise.setSuccess(Collections.singletonList(InetAddress.getByName(inetHost))) + } catch (UnknownHostException exception) { + promise.setFailure(exception) + } + } + } } diff --git a/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/ReactorNettyHttpClientTest.groovy b/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/ReactorNettyHttpClientTest.groovy index 9ddefda357..eccea9a965 100644 --- a/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/ReactorNettyHttpClientTest.groovy +++ b/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/ReactorNettyHttpClientTest.groovy @@ -14,7 +14,7 @@ class ReactorNettyHttpClientTest extends AbstractReactorNettyHttpClientTest { HttpClient createHttpClient() { return HttpClient.create().tcpConfiguration({ tcpClient -> tcpClient.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, CONNECT_TIMEOUT_MS) - }) + }).resolver(getAddressResolverGroup()) } @Override diff --git a/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/ReactorNettyHttpClientUsingFromTest.groovy b/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/ReactorNettyHttpClientUsingFromTest.groovy index f42b0303ad..4ed4fe2e18 100644 --- a/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/ReactorNettyHttpClientUsingFromTest.groovy +++ b/instrumentation/reactor-netty/reactor-netty-1.0/javaagent/src/test/groovy/ReactorNettyHttpClientUsingFromTest.groovy @@ -12,6 +12,6 @@ class ReactorNettyHttpClientUsingFromTest extends AbstractReactorNettyHttpClient HttpClient createHttpClient() { return HttpClient.from(TcpClient.create()).tcpConfiguration({ tcpClient -> tcpClient.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, CONNECT_TIMEOUT_MS) - }) + }).resolver(getAddressResolverGroup()) } }