Skip to content

Commit 4f75a1d

Browse files
[release/v1.33.x] Fix tests for wicket 10 (#10819)
Co-authored-by: Lauri Tulmin <[email protected]>
1 parent 64dec1e commit 4f75a1d

File tree

11 files changed

+160
-58
lines changed

11 files changed

+160
-58
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
plugins {
2+
id("otel.java-conventions")
3+
}
4+
5+
dependencies {
6+
implementation(project(":testing-common"))
7+
implementation("org.apache.wicket:wicket:8.0.0")
8+
implementation("org.jsoup:jsoup:1.13.1")
9+
}

instrumentation/wicket-8.0/javaagent/src/test/java/hello/ExceptionPage.java instrumentation/wicket-8.0/common-testing/src/main/java/hello/ExceptionPage.java

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import org.apache.wicket.markup.html.WebPage;
99

1010
public class ExceptionPage extends WebPage {
11+
private static final long serialVersionUID = 1L;
12+
1113
public ExceptionPage() throws Exception {
1214
throw new Exception("test exception");
1315
}

instrumentation/wicket-8.0/javaagent/src/test/java/hello/HelloPage.java instrumentation/wicket-8.0/common-testing/src/main/java/hello/HelloPage.java

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import org.apache.wicket.markup.html.basic.Label;
1010

1111
public class HelloPage extends WebPage {
12+
private static final long serialVersionUID = 1L;
13+
1214
public HelloPage() {
1315
add(new Label("message", "Hello World!"));
1416
}

instrumentation/wicket-8.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/wicket/WicketTest.java instrumentation/wicket-8.0/common-testing/src/main/java/io/opentelemetry/javaagent/instrumentation/wicket/AbstractWicketTest.java

+1-41
Original file line numberDiff line numberDiff line change
@@ -7,64 +7,24 @@
77

88
import static org.assertj.core.api.Assertions.assertThat;
99

10-
import hello.HelloApplication;
1110
import io.opentelemetry.api.trace.SpanKind;
1211
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
1312
import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerUsingTest;
1413
import io.opentelemetry.instrumentation.testing.junit.http.HttpServerInstrumentationExtension;
1514
import io.opentelemetry.sdk.trace.data.StatusData;
1615
import io.opentelemetry.testing.internal.armeria.common.AggregatedHttpResponse;
17-
import java.util.EnumSet;
18-
import javax.servlet.DispatcherType;
19-
import javax.servlet.FilterRegistration;
20-
import org.apache.wicket.protocol.http.WicketFilter;
21-
import org.eclipse.jetty.server.Server;
22-
import org.eclipse.jetty.servlet.DefaultServlet;
23-
import org.eclipse.jetty.servlet.ServletContextHandler;
24-
import org.eclipse.jetty.util.resource.FileResource;
25-
import org.eclipse.jetty.util.resource.Resource;
2616
import org.jsoup.Jsoup;
2717
import org.jsoup.nodes.Document;
2818
import org.junit.jupiter.api.BeforeAll;
2919
import org.junit.jupiter.api.Test;
3020
import org.junit.jupiter.api.extension.RegisterExtension;
3121

32-
class WicketTest extends AbstractHttpServerUsingTest<Server> {
22+
abstract class AbstractWicketTest<SERVER> extends AbstractHttpServerUsingTest<SERVER> {
3323

3424
@RegisterExtension
3525
public static final InstrumentationExtension testing =
3626
HttpServerInstrumentationExtension.forAgent();
3727

38-
@Override
39-
protected Server setupServer() throws Exception {
40-
Server server = new Server(port);
41-
42-
ServletContextHandler context = new ServletContextHandler(0);
43-
context.setContextPath(getContextPath());
44-
45-
Resource resource = new FileResource(getClass().getResource("/"));
46-
context.setBaseResource(resource);
47-
server.setHandler(context);
48-
49-
context.addServlet(DefaultServlet.class, "/");
50-
FilterRegistration.Dynamic registration =
51-
context.getServletContext().addFilter("WicketApplication", WicketFilter.class);
52-
registration.setInitParameter("applicationClassName", HelloApplication.class.getName());
53-
registration.setInitParameter("filterMappingUrlPattern", "/wicket-test/*");
54-
registration.addMappingForUrlPatterns(
55-
EnumSet.of(DispatcherType.REQUEST), false, "/wicket-test/*");
56-
57-
server.start();
58-
59-
return server;
60-
}
61-
62-
@Override
63-
protected void stopServer(Server server) throws Exception {
64-
server.stop();
65-
server.destroy();
66-
}
67-
6828
@Override
6929
protected String getContextPath() {
7030
return "/jetty-context";

instrumentation/wicket-8.0/javaagent/build.gradle.kts

-17
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,4 @@ dependencies {
1515
bootstrap(project(":instrumentation:servlet:servlet-common:bootstrap"))
1616

1717
library("org.apache.wicket:wicket:8.0.0")
18-
19-
testImplementation(project(":testing-common"))
20-
testImplementation("org.jsoup:jsoup:1.13.1")
21-
testImplementation("org.eclipse.jetty:jetty-server:8.0.0.v20110901")
22-
testImplementation("org.eclipse.jetty:jetty-servlet:8.0.0.v20110901")
23-
24-
testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent"))
25-
testInstrumentation(project(":instrumentation:servlet:servlet-javax-common:javaagent"))
26-
}
27-
28-
val latestDepTest = findProperty("testLatestDeps") as Boolean
29-
30-
// Wicket 9 requires Java 11
31-
if (latestDepTest) {
32-
otelJava {
33-
minJavaVersionSupported.set(JavaVersion.VERSION_11)
34-
}
3518
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
plugins {
2+
id("otel.javaagent-testing")
3+
}
4+
5+
dependencies {
6+
library("org.apache.wicket:wicket:10.0.0")
7+
8+
testImplementation(project(":instrumentation:wicket-8.0:common-testing"))
9+
testImplementation("org.jsoup:jsoup:1.13.1")
10+
testImplementation("org.eclipse.jetty:jetty-server:11.0.0")
11+
testImplementation("org.eclipse.jetty:jetty-servlet:11.0.0")
12+
13+
testInstrumentation(project(":instrumentation:wicket-8.0:javaagent"))
14+
testInstrumentation(project(":instrumentation:servlet:servlet-5.0:javaagent"))
15+
testInstrumentation(project(":instrumentation:servlet:servlet-javax-common:javaagent"))
16+
}
17+
18+
otelJava {
19+
minJavaVersionSupported.set(JavaVersion.VERSION_11)
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.wicket;
7+
8+
import hello.HelloApplication;
9+
import jakarta.servlet.DispatcherType;
10+
import jakarta.servlet.FilterRegistration;
11+
import java.util.EnumSet;
12+
import org.apache.wicket.protocol.http.WicketFilter;
13+
import org.eclipse.jetty.server.Server;
14+
import org.eclipse.jetty.servlet.DefaultServlet;
15+
import org.eclipse.jetty.servlet.ServletContextHandler;
16+
import org.eclipse.jetty.util.resource.Resource;
17+
18+
class WicketTest extends AbstractWicketTest<Server> {
19+
20+
@Override
21+
protected Server setupServer() throws Exception {
22+
Server server = new Server(port);
23+
24+
ServletContextHandler context = new ServletContextHandler(0);
25+
context.setContextPath(getContextPath());
26+
27+
Resource resource = Resource.newResource(getClass().getResource("/"));
28+
context.setBaseResource(resource);
29+
server.setHandler(context);
30+
31+
context.addServlet(DefaultServlet.class, "/");
32+
FilterRegistration.Dynamic registration =
33+
context.getServletContext().addFilter("WicketApplication", WicketFilter.class);
34+
registration.setInitParameter("applicationClassName", HelloApplication.class.getName());
35+
registration.setInitParameter("filterMappingUrlPattern", "/wicket-test/*");
36+
registration.addMappingForUrlPatterns(
37+
EnumSet.of(DispatcherType.REQUEST), false, "/wicket-test/*");
38+
39+
server.start();
40+
41+
return server;
42+
}
43+
44+
@Override
45+
protected void stopServer(Server server) throws Exception {
46+
server.stop();
47+
server.destroy();
48+
}
49+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
plugins {
2+
id("otel.javaagent-testing")
3+
}
4+
5+
dependencies {
6+
library("org.apache.wicket:wicket:8.0.0")
7+
8+
testImplementation(project(":instrumentation:wicket-8.0:common-testing"))
9+
testImplementation("org.jsoup:jsoup:1.13.1")
10+
testImplementation("org.eclipse.jetty:jetty-server:8.0.0.v20110901")
11+
testImplementation("org.eclipse.jetty:jetty-servlet:8.0.0.v20110901")
12+
13+
testInstrumentation(project(":instrumentation:wicket-8.0:javaagent"))
14+
testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent"))
15+
testInstrumentation(project(":instrumentation:servlet:servlet-javax-common:javaagent"))
16+
17+
latestDepTestLibrary("org.apache.wicket:wicket:9.+")
18+
}
19+
20+
val latestDepTest = findProperty("testLatestDeps") as Boolean
21+
22+
// Wicket 9 requires Java 11
23+
if (latestDepTest) {
24+
otelJava {
25+
minJavaVersionSupported.set(JavaVersion.VERSION_11)
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.wicket;
7+
8+
import hello.HelloApplication;
9+
import java.util.EnumSet;
10+
import javax.servlet.DispatcherType;
11+
import javax.servlet.FilterRegistration;
12+
import org.apache.wicket.protocol.http.WicketFilter;
13+
import org.eclipse.jetty.server.Server;
14+
import org.eclipse.jetty.servlet.DefaultServlet;
15+
import org.eclipse.jetty.servlet.ServletContextHandler;
16+
import org.eclipse.jetty.util.resource.FileResource;
17+
import org.eclipse.jetty.util.resource.Resource;
18+
19+
class WicketTest extends AbstractWicketTest<Server> {
20+
21+
@Override
22+
protected Server setupServer() throws Exception {
23+
Server server = new Server(port);
24+
25+
ServletContextHandler context = new ServletContextHandler(0);
26+
context.setContextPath(getContextPath());
27+
28+
Resource resource = new FileResource(getClass().getResource("/"));
29+
context.setBaseResource(resource);
30+
server.setHandler(context);
31+
32+
context.addServlet(DefaultServlet.class, "/");
33+
FilterRegistration.Dynamic registration =
34+
context.getServletContext().addFilter("WicketApplication", WicketFilter.class);
35+
registration.setInitParameter("applicationClassName", HelloApplication.class.getName());
36+
registration.setInitParameter("filterMappingUrlPattern", "/wicket-test/*");
37+
registration.addMappingForUrlPatterns(
38+
EnumSet.of(DispatcherType.REQUEST), false, "/wicket-test/*");
39+
40+
server.start();
41+
42+
return server;
43+
}
44+
45+
@Override
46+
protected void stopServer(Server server) throws Exception {
47+
server.stop();
48+
server.destroy();
49+
}
50+
}

0 commit comments

Comments
 (0)