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());
}