This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cxf.git


The following commit(s) were added to refs/heads/main by this push:
     new 638c8896a1 Add JAX-WS tests for @Oneway methods to tracing suites
638c8896a1 is described below

commit 638c8896a1d4e8afbc611416e8b816c43033a016
Author: Andriy Redko <[email protected]>
AuthorDate: Wed Oct 11 19:45:41 2023 -0400

    Add JAX-WS tests for @Oneway methods to tracing suites
---
 .../systest/brave/jaxws/AbstractBraveTracingTest.java   | 17 +++++++++++++++++
 .../cxf/systest/jaxws/tracing/BookStoreService.java     |  1 +
 .../cxf/systest/jaxws/tracing/brave/BookStore.java      |  6 ++++++
 .../systest/jaxws/tracing/opentelemetry/BookStore.java  |  5 +++++
 .../tracing/opentelemetry/OpenTelemetryTracingTest.java | 14 ++++++++++++++
 .../systest/jaxws/tracing/opentracing/BookStore.java    |  5 +++++
 .../tracing/opentracing/OpenTracingTracingTest.java     | 13 +++++++++++++
 7 files changed, 61 insertions(+)

diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxws/AbstractBraveTracingTest.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxws/AbstractBraveTracingTest.java
index a059963a59..e17b0eb08d 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxws/AbstractBraveTracingTest.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxws/AbstractBraveTracingTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.cxf.systest.brave.jaxws;
 
+import java.time.Duration;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
@@ -48,6 +49,7 @@ import static 
org.apache.cxf.systest.brave.BraveTestSupport.PARENT_SPAN_ID_NAME;
 import static org.apache.cxf.systest.brave.BraveTestSupport.SAMPLED_NAME;
 import static org.apache.cxf.systest.brave.BraveTestSupport.SPAN_ID_NAME;
 import static org.apache.cxf.systest.brave.BraveTestSupport.TRACE_ID_NAME;
+import static org.awaitility.Awaitility.await;
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.not;
 import static org.hamcrest.CoreMatchers.nullValue;
@@ -195,6 +197,21 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         }
     }
 
+    @Test
+    public void testThatNewInnerSpanIsCreatedOneway() throws Exception {
+        try (Tracing brave = createTracer()) {
+            final BookStoreService service = 
createJaxWsService(getClientFeature(brave));
+            service.orderBooks();
+    
+            // Await till flush happens, usually every second
+            await().atMost(Duration.ofSeconds(1L)).until(() -> 
TestSpanReporter.getAllSpans().size() == 2);
+
+            assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("post /bookstore"));
+            assertThat(TestSpanReporter.getAllSpans().get(1).name(),
+                equalTo("post http://localhost:"; + getPort() + "/bookstore"));
+        }
+    }
+
     private BookStoreService createJaxWsService() {
         return createJaxWsService(Collections.emptyMap());
     }
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/BookStoreService.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/BookStoreService.java
index 6df5e8c54e..f2e46fb534 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/BookStoreService.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/BookStoreService.java
@@ -28,4 +28,5 @@ public interface BookStoreService {
     Collection< Book > getBooks();
     int removeBooks();
     void addBooks();
+    void orderBooks();
 }
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BookStore.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BookStore.java
index bd21c6823f..d7acce256c 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BookStore.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BookStore.java
@@ -26,6 +26,7 @@ import brave.Span;
 import brave.Tracer.SpanInScope;
 import brave.Tracing;
 import jakarta.annotation.Resource;
+import jakarta.jws.Oneway;
 import jakarta.jws.WebMethod;
 import jakarta.jws.WebService;
 import jakarta.xml.ws.WebServiceContext;
@@ -71,4 +72,9 @@ public class BookStore implements BookStoreService {
         final MessageContext ctx = context.getMessageContext();
         ctx.put(MessageContext.HTTP_RESPONSE_CODE, 305);
     }
+
+    @WebMethod @Oneway
+    public void orderBooks() {
+    }
+
 }
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentelemetry/BookStore.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentelemetry/BookStore.java
index 9fb13cc10b..ce6ac5f55f 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentelemetry/BookStore.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentelemetry/BookStore.java
@@ -23,6 +23,7 @@ import java.util.Collection;
 import java.util.UUID;
 
 import jakarta.annotation.Resource;
+import jakarta.jws.Oneway;
 import jakarta.jws.WebMethod;
 import jakarta.jws.WebService;
 import jakarta.xml.ws.WebServiceContext;
@@ -67,4 +68,8 @@ public class BookStore implements BookStoreService {
         final MessageContext ctx = context.getMessageContext();
         ctx.put(MessageContext.HTTP_RESPONSE_CODE, 202);
     }
+
+    @WebMethod @Oneway
+    public void orderBooks() {
+    }
 }
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentelemetry/OpenTelemetryTracingTest.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentelemetry/OpenTelemetryTracingTest.java
index be618367dd..4503c58be1 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentelemetry/OpenTelemetryTracingTest.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentelemetry/OpenTelemetryTracingTest.java
@@ -255,6 +255,20 @@ public class OpenTelemetryTracingTest extends 
AbstractClientServerTestBase {
                    hasAttribute(SemanticAttributes.HTTP_STATUS_CODE, 202L));
     }
 
+    @Test
+    public void testThatNewInnerSpanIsCreatedOneway() throws Exception {
+        final BookStoreService service = createJaxWsService(new 
OpenTelemetryClientFeature(otelRule
+                .getOpenTelemetry(), "jaxws-client-test"));
+        service.orderBooks();
+
+        // Await till flush happens, usually every second
+        await().atMost(Duration.ofSeconds(1L)).until(() -> 
otelRule.getSpans().size() == 2);
+
+        assertThat(otelRule.getSpans().get(0).getName(), equalTo("POST 
/BookStore"));
+        assertThat(otelRule.getSpans().get(1).getName(),
+                equalTo("POST http://localhost:"; + PORT + "/BookStore"));
+    }
+
     private BookStoreService createJaxWsService(final Feature feature) {
         return createJaxWsService(Collections.emptyMap(), feature);
     }
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentracing/BookStore.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentracing/BookStore.java
index 5f42c9a31a..635ec0d659 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentracing/BookStore.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentracing/BookStore.java
@@ -23,6 +23,7 @@ import java.util.Collection;
 import java.util.UUID;
 
 import jakarta.annotation.Resource;
+import jakarta.jws.Oneway;
 import jakarta.jws.WebMethod;
 import jakarta.jws.WebService;
 import jakarta.xml.ws.WebServiceContext;
@@ -64,6 +65,10 @@ public class BookStore implements BookStoreService {
         throw new RuntimeException("Unable to remove books");
     }
     
+    @WebMethod @Oneway
+    public void orderBooks() {
+    }
+
     @WebMethod
     public void addBooks() {
         final MessageContext ctx = context.getMessageContext();
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentracing/OpenTracingTracingTest.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentracing/OpenTracingTracingTest.java
index 7e834fa217..c5ff413c2a 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentracing/OpenTracingTracingTest.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/opentracing/OpenTracingTracingTest.java
@@ -228,6 +228,19 @@ public class OpenTracingTracingTest extends 
AbstractClientServerTestBase {
         assertThat(REPORTER.getSpans().get(0).getTags(), 
hasItem(Tags.HTTP_STATUS.getKey(), 202));
     }
 
+    @Test
+    public void testThatNewInnerSpanIsCreatedOneway() throws Exception {
+        final BookStoreService service = createJaxWsService(new 
OpenTracingClientFeature(tracer));
+        service.orderBooks();
+
+        // Await till flush happens, usually every second
+        await().atMost(Duration.ofSeconds(1L)).until(() -> 
REPORTER.getSpans().size() == 2);
+
+        assertThat(REPORTER.getSpans().get(0).getOperationName(), 
equalTo("POST /BookStore"));
+        assertThat(REPORTER.getSpans().get(1).getOperationName(),
+            equalTo("POST http://localhost:"; + PORT + "/BookStore"));
+    }
+
     private static BookStoreService createJaxWsService() {
         return createJaxWsService(Collections.emptyMap());
     }

Reply via email to