1212import static org .junit .jupiter .api .Named .named ;
1313import static org .junit .jupiter .params .provider .Arguments .arguments ;
1414
15+ import com .github .tomakehurst .wiremock .WireMockServer ;
16+ import com .github .tomakehurst .wiremock .client .WireMock ;
1517import com .google .protobuf .InvalidProtocolBufferException ;
1618import com .google .protobuf .Message ;
1719import com .linecorp .armeria .common .HttpRequest ;
@@ -695,6 +697,7 @@ void nonRetryableError(int code) {
695697
696698 @ Test
697699 void proxy () {
700+ <<<<<<< HEAD
698701 // configure mockserver to proxy to the local OTLP server
699702 InetSocketAddress serverSocketAddress = server .httpSocketAddress ();
700703 try (ClientAndServer clientAndServer =
@@ -709,10 +712,31 @@ void proxy() {
709712 ProxyOptions .create (
710713 InetSocketAddress .createUnresolved ("localhost" , clientAndServer .getPort ())))
711714 .build ();
715+ =======
716+ // configure wiremock to proxy to the local OTLP server
717+ WireMockServer wireMockServer = new WireMockServer (0 );
718+ wireMockServer .start ();
719+
720+ // Configure WireMock to proxy all requests to the actual server
721+ wireMockServer .stubFor (
722+ WireMock .any (WireMock .anyUrl ())
723+ .willReturn (WireMock .aResponse ().proxiedFrom (server .httpUri ().toString ())));
724+
725+ try (TelemetryExporter <T > exporter =
726+ exporterBuilder ()
727+ // Configure exporter with server endpoint, and proxy options to route through
728+ // wiremock proxy
729+ .setEndpoint (server .httpUri () + path )
730+ .setProxyOptions (
731+ ProxyOptions .create (
732+ InetSocketAddress .createUnresolved ("localhost" , wireMockServer .port ())))
733+ .build ()) {
734+ >>>>>>> 7 ba6108a4 (Convert mock -server to wiremock )
712735
713736 try {
714737 List <T > telemetry = Collections .singletonList (generateFakeTelemetry ());
715738
739+ <<<<<<< HEAD
716740 assertThat (exporter .export (telemetry ).join (10 , TimeUnit .SECONDS ).isSuccess ()).isTrue ();
717741 // assert that mock server received request
718742 assertThat (clientAndServer .retrieveRecordedRequests (new org .mockserver .model .HttpRequest ()))
@@ -723,6 +747,38 @@ void proxy() {
723747 } finally {
724748 exporter .shutdown ();
725749 }
750+ =======
751+ assertThat (exporter .export (telemetry ).join (10 , TimeUnit .SECONDS ).isSuccess ()).isTrue ();
752+ // assert that wiremock server received request
753+ wireMockServer .verify (1 , WireMock .anyRequestedFor (WireMock .anyUrl ()));
754+ // assert that server received telemetry from proxy, and is as expected
755+ List <U > expectedResourceTelemetry = toProto (telemetry );
756+ assertThat (exportedResourceTelemetry ).containsExactlyElementsOf (expectedResourceTelemetry );
757+ } finally {
758+ wireMockServer .stop ();
759+ }
760+ }
761+
762+ @ Test
763+ void executorService () {
764+ ExecutorServiceSpy executorService =
765+ new ExecutorServiceSpy (Executors .newSingleThreadExecutor ());
766+
767+ try (TelemetryExporter <T > exporter =
768+ exporterBuilder ()
769+ .setEndpoint (server .httpUri () + path )
770+ .setExecutorService (executorService )
771+ .build ()) {
772+ CompletableResultCode result =
773+ exporter .export (Collections .singletonList (generateFakeTelemetry ()));
774+
775+ assertThat (result .join (10 , TimeUnit .SECONDS ).isSuccess ()).isTrue ();
776+ assertThat (executorService .getTaskCount ()).isPositive ();
777+ } finally {
778+ // If setting executor, the user is responsible for calling shutdown
779+ assertThat (executorService .isShutdown ()).isFalse ();
780+ executorService .shutdown ();
781+ >>>>>>> 7 ba6108a4 (Convert mock -server to wiremock )
726782 }
727783 }
728784
0 commit comments