Skip to content

Commit e87584f

Browse files
siyuniu-mstrask
andauthored
change endpoint from enum to regular class (open-telemetry#8325)
Co-authored-by: Trask Stalnaker <[email protected]>
1 parent d1b7356 commit e87584f

File tree

11 files changed

+274
-243
lines changed

11 files changed

+274
-243
lines changed

instrumentation/grails-3.0/javaagent/src/test/java/test/GrailsTest.java

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,13 @@
55

66
package test;
77

8+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.CAPTURE_HEADERS;
89
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.ERROR;
910
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.EXCEPTION;
11+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.INDEXED_CHILD;
1012
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.NOT_FOUND;
13+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.PATH_PARAM;
14+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.QUERY_PARAM;
1115
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.REDIRECT;
1216
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
1317

@@ -103,39 +107,35 @@ private static Class<?> load(String name) {
103107

104108
@Override
105109
public String expectedHttpRoute(ServerEndpoint endpoint) {
106-
switch (endpoint) {
107-
case PATH_PARAM:
108-
return getContextPath() + "/test/path";
109-
case QUERY_PARAM:
110-
return getContextPath() + "/test/query";
111-
case ERROR:
112-
return getContextPath() + "/test/error";
113-
case NOT_FOUND:
114-
return getContextPath() + "/**";
115-
default:
116-
return getContextPath() + "/test" + endpoint.getPath();
110+
if (PATH_PARAM.equals(endpoint)) {
111+
return getContextPath() + "/test/path";
112+
} else if (QUERY_PARAM.equals(endpoint)) {
113+
return getContextPath() + "/test/query";
114+
} else if (ERROR.equals(endpoint)) {
115+
return getContextPath() + "/test/error";
116+
} else if (NOT_FOUND.equals(endpoint)) {
117+
return getContextPath() + "/**";
117118
}
119+
return getContextPath() + "/test" + endpoint.getPath();
118120
}
119121

120122
ConfigurableApplicationContext startServer(int port) {
121123
return TestApplication.start(port, getContextPath());
122124
}
123125

124126
private static String getHandlerSpanName(ServerEndpoint endpoint) {
125-
switch (endpoint) {
126-
case QUERY_PARAM:
127-
return "TestController.query";
128-
case PATH_PARAM:
129-
return "TestController.path";
130-
case CAPTURE_HEADERS:
131-
return "TestController.captureHeaders";
132-
case INDEXED_CHILD:
133-
return "TestController.child";
134-
case NOT_FOUND:
135-
return "ResourceHttpRequestHandler.handleRequest";
136-
default:
137-
return "TestController." + endpoint.name().toLowerCase(Locale.ROOT);
127+
if (QUERY_PARAM.equals(endpoint)) {
128+
return "TestController.query";
129+
} else if (PATH_PARAM.equals(endpoint)) {
130+
return "TestController.path";
131+
} else if (CAPTURE_HEADERS.equals(endpoint)) {
132+
return "TestController.captureHeaders";
133+
} else if (INDEXED_CHILD.equals(endpoint)) {
134+
return "TestController.child";
135+
} else if (NOT_FOUND.equals(endpoint)) {
136+
return "ResourceHttpRequestHandler.handleRequest";
138137
}
138+
return "TestController." + endpoint.name().toLowerCase(Locale.ROOT);
139139
}
140140

141141
@Override

instrumentation/jetty/jetty-11.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v11_0/JettyHandlerTest.java

Lines changed: 26 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,14 @@
66
package io.opentelemetry.javaagent.instrumentation.jetty.v11_0;
77

88
import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES;
9+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.CAPTURE_HEADERS;
910
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.ERROR;
1011
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.EXCEPTION;
1112
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.INDEXED_CHILD;
1213
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.NOT_FOUND;
14+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.QUERY_PARAM;
1315
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.REDIRECT;
16+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.SUCCESS;
1417
import static org.assertj.core.api.Assertions.assertThat;
1518

1619
import com.google.common.collect.Sets;
@@ -119,37 +122,29 @@ private static void handleRequest(Request request, HttpServletResponse response)
119122
private static HttpServletResponse response(
120123
Request request, HttpServletResponse response, ServerEndpoint endpoint) throws IOException {
121124
response.setContentType("text/plain");
122-
switch (endpoint) {
123-
case SUCCESS:
124-
response.setStatus(endpoint.getStatus());
125-
response.getWriter().print(endpoint.getBody());
126-
break;
127-
case QUERY_PARAM:
128-
response.setStatus(endpoint.getStatus());
129-
response.getWriter().print(request.getQueryString());
130-
break;
131-
case REDIRECT:
132-
response.sendRedirect(endpoint.getBody());
133-
break;
134-
case ERROR:
135-
response.sendError(endpoint.getStatus(), endpoint.getBody());
136-
break;
137-
case CAPTURE_HEADERS:
138-
response.setHeader("X-Test-Response", request.getHeader("X-Test-Request"));
139-
response.setStatus(endpoint.getStatus());
140-
response.getWriter().print(endpoint.getBody());
141-
break;
142-
case EXCEPTION:
143-
throw new IllegalStateException(endpoint.getBody());
144-
case INDEXED_CHILD:
145-
INDEXED_CHILD.collectSpanAttributes(name -> request.getParameter(name));
146-
response.setStatus(endpoint.getStatus());
147-
response.getWriter().print(endpoint.getBody());
148-
break;
149-
default:
150-
response.setStatus(NOT_FOUND.getStatus());
151-
response.getWriter().print(NOT_FOUND.getBody());
152-
break;
125+
if (SUCCESS.equals(endpoint)) {
126+
response.setStatus(endpoint.getStatus());
127+
response.getWriter().print(endpoint.getBody());
128+
} else if (QUERY_PARAM.equals(endpoint)) {
129+
response.setStatus(endpoint.getStatus());
130+
response.getWriter().print(request.getQueryString());
131+
} else if (REDIRECT.equals(endpoint)) {
132+
response.sendRedirect(endpoint.getBody());
133+
} else if (ERROR.equals(endpoint)) {
134+
response.sendError(endpoint.getStatus(), endpoint.getBody());
135+
} else if (CAPTURE_HEADERS.equals(endpoint)) {
136+
response.setHeader("X-Test-Response", request.getHeader("X-Test-Request"));
137+
response.setStatus(endpoint.getStatus());
138+
response.getWriter().print(endpoint.getBody());
139+
} else if (EXCEPTION.equals(endpoint)) {
140+
throw new IllegalStateException(endpoint.getBody());
141+
} else if (INDEXED_CHILD.equals(endpoint)) {
142+
INDEXED_CHILD.collectSpanAttributes(name -> request.getParameter(name));
143+
response.setStatus(endpoint.getStatus());
144+
response.getWriter().print(endpoint.getBody());
145+
} else {
146+
response.setStatus(NOT_FOUND.getStatus());
147+
response.getWriter().print(NOT_FOUND.getBody());
153148
}
154149
return response;
155150
}

instrumentation/jetty/jetty-8.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v8_0/JettyHandlerTest.java

Lines changed: 26 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,14 @@
66
package io.opentelemetry.javaagent.instrumentation.jetty.v8_0;
77

88
import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES;
9+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.CAPTURE_HEADERS;
910
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.ERROR;
1011
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.EXCEPTION;
1112
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.INDEXED_CHILD;
1213
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.NOT_FOUND;
14+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.QUERY_PARAM;
1315
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.REDIRECT;
16+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.SUCCESS;
1417
import static org.assertj.core.api.Assertions.assertThat;
1518

1619
import com.google.common.collect.Sets;
@@ -119,37 +122,29 @@ private static void handleRequest(Request request, HttpServletResponse response)
119122
private static HttpServletResponse response(
120123
Request request, HttpServletResponse response, ServerEndpoint endpoint) throws IOException {
121124
response.setContentType("text/plain");
122-
switch (endpoint) {
123-
case SUCCESS:
124-
response.setStatus(endpoint.getStatus());
125-
response.getWriter().print(endpoint.getBody());
126-
break;
127-
case QUERY_PARAM:
128-
response.setStatus(endpoint.getStatus());
129-
response.getWriter().print(request.getQueryString());
130-
break;
131-
case REDIRECT:
132-
response.sendRedirect(endpoint.getBody());
133-
break;
134-
case ERROR:
135-
response.sendError(endpoint.getStatus(), endpoint.getBody());
136-
break;
137-
case CAPTURE_HEADERS:
138-
response.setHeader("X-Test-Response", request.getHeader("X-Test-Request"));
139-
response.setStatus(endpoint.getStatus());
140-
response.getWriter().print(endpoint.getBody());
141-
break;
142-
case EXCEPTION:
143-
throw new IllegalStateException(endpoint.getBody());
144-
case INDEXED_CHILD:
145-
INDEXED_CHILD.collectSpanAttributes(name -> request.getParameter(name));
146-
response.setStatus(endpoint.getStatus());
147-
response.getWriter().print(endpoint.getBody());
148-
break;
149-
default:
150-
response.setStatus(NOT_FOUND.getStatus());
151-
response.getWriter().print(NOT_FOUND.getBody());
152-
break;
125+
if (SUCCESS.equals(endpoint)) {
126+
response.setStatus(endpoint.getStatus());
127+
response.getWriter().print(endpoint.getBody());
128+
} else if (QUERY_PARAM.equals(endpoint)) {
129+
response.setStatus(endpoint.getStatus());
130+
response.getWriter().print(request.getQueryString());
131+
} else if (REDIRECT.equals(endpoint)) {
132+
response.sendRedirect(endpoint.getBody());
133+
} else if (ERROR.equals(endpoint)) {
134+
response.sendError(endpoint.getStatus(), endpoint.getBody());
135+
} else if (CAPTURE_HEADERS.equals(endpoint)) {
136+
response.setHeader("X-Test-Response", request.getHeader("X-Test-Request"));
137+
response.setStatus(endpoint.getStatus());
138+
response.getWriter().print(endpoint.getBody());
139+
} else if (EXCEPTION.equals(endpoint)) {
140+
throw new IllegalStateException(endpoint.getBody());
141+
} else if (INDEXED_CHILD.equals(endpoint)) {
142+
INDEXED_CHILD.collectSpanAttributes(name -> request.getParameter(name));
143+
response.setStatus(endpoint.getStatus());
144+
response.getWriter().print(endpoint.getBody());
145+
} else {
146+
response.setStatus(NOT_FOUND.getStatus());
147+
response.getWriter().print(NOT_FOUND.getBody());
153148
}
154149
return response;
155150
}

instrumentation/netty/netty-3.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/Netty38ServerTest.java

Lines changed: 58 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,14 @@
55

66
package io.opentelemetry.javaagent.instrumentation.netty.v3_8.server;
77

8+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.CAPTURE_HEADERS;
9+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.ERROR;
10+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.EXCEPTION;
11+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.INDEXED_CHILD;
812
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.NOT_FOUND;
13+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.QUERY_PARAM;
14+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.REDIRECT;
15+
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.SUCCESS;
916
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.forPath;
1017
import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.CONTENT_LENGTH;
1118
import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.CONTENT_TYPE;
@@ -88,7 +95,7 @@ protected void configure(HttpServerTestOptions options) {
8895
return attributes;
8996
});
9097

91-
options.setExpectedException(new IllegalArgumentException(ServerEndpoint.EXCEPTION.getBody()));
98+
options.setExpectedException(new IllegalArgumentException(EXCEPTION.getBody()));
9299
options.setHasResponseCustomizer(serverEndpoint -> true);
93100
}
94101

@@ -112,66 +119,56 @@ public void messageReceived(ChannelHandlerContext ctx, MessageEvent msg) {
112119
() -> {
113120
HttpResponse response;
114121
ChannelBuffer responseContent;
115-
switch (endpoint) {
116-
case SUCCESS:
117-
case ERROR:
118-
responseContent =
119-
ChannelBuffers.copiedBuffer(endpoint.getBody(), CharsetUtil.UTF_8);
120-
response =
121-
new DefaultHttpResponse(
122-
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
123-
response.setContent(responseContent);
124-
break;
125-
case INDEXED_CHILD:
126-
responseContent = ChannelBuffers.EMPTY_BUFFER;
127-
endpoint.collectSpanAttributes(
128-
name ->
129-
new QueryStringDecoder(uri)
130-
.getParameters().get(name).stream()
131-
.findFirst()
132-
.orElse(null));
133-
response =
134-
new DefaultHttpResponse(
135-
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
136-
response.setContent(responseContent);
137-
break;
138-
case QUERY_PARAM:
139-
responseContent =
140-
ChannelBuffers.copiedBuffer(uri.getQuery(), CharsetUtil.UTF_8);
141-
response =
142-
new DefaultHttpResponse(
143-
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
144-
response.setContent(responseContent);
145-
break;
146-
case REDIRECT:
147-
responseContent = ChannelBuffers.EMPTY_BUFFER;
148-
response =
149-
new DefaultHttpResponse(
150-
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
151-
response.setContent(responseContent);
152-
response.headers().set(LOCATION, endpoint.getBody());
153-
break;
154-
case CAPTURE_HEADERS:
155-
responseContent =
156-
ChannelBuffers.copiedBuffer(endpoint.getBody(), CharsetUtil.UTF_8);
157-
response =
158-
new DefaultHttpResponse(
159-
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
160-
response
161-
.headers()
162-
.set("X-Test-Response", request.headers().get("X-Test-Request"));
163-
response.setContent(responseContent);
164-
break;
165-
case EXCEPTION:
166-
throw new IllegalArgumentException(endpoint.getBody());
167-
default:
168-
responseContent =
169-
ChannelBuffers.copiedBuffer(NOT_FOUND.getBody(), CharsetUtil.UTF_8);
170-
response =
171-
new DefaultHttpResponse(
172-
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
173-
response.setContent(responseContent);
174-
break;
122+
if (SUCCESS.equals(endpoint) || ERROR.equals(endpoint)) {
123+
responseContent =
124+
ChannelBuffers.copiedBuffer(endpoint.getBody(), CharsetUtil.UTF_8);
125+
response =
126+
new DefaultHttpResponse(
127+
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
128+
response.setContent(responseContent);
129+
} else if (INDEXED_CHILD.equals(endpoint)) {
130+
responseContent = ChannelBuffers.EMPTY_BUFFER;
131+
endpoint.collectSpanAttributes(
132+
name ->
133+
new QueryStringDecoder(uri)
134+
.getParameters().get(name).stream().findFirst().orElse(null));
135+
response =
136+
new DefaultHttpResponse(
137+
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
138+
response.setContent(responseContent);
139+
} else if (QUERY_PARAM.equals(endpoint)) {
140+
responseContent =
141+
ChannelBuffers.copiedBuffer(uri.getQuery(), CharsetUtil.UTF_8);
142+
response =
143+
new DefaultHttpResponse(
144+
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
145+
response.setContent(responseContent);
146+
} else if (REDIRECT.equals(endpoint)) {
147+
responseContent = ChannelBuffers.EMPTY_BUFFER;
148+
response =
149+
new DefaultHttpResponse(
150+
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
151+
response.setContent(responseContent);
152+
response.headers().set(LOCATION, endpoint.getBody());
153+
} else if (CAPTURE_HEADERS.equals(endpoint)) {
154+
responseContent =
155+
ChannelBuffers.copiedBuffer(endpoint.getBody(), CharsetUtil.UTF_8);
156+
response =
157+
new DefaultHttpResponse(
158+
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
159+
response
160+
.headers()
161+
.set("X-Test-Response", request.headers().get("X-Test-Request"));
162+
response.setContent(responseContent);
163+
} else if (EXCEPTION.equals(endpoint)) {
164+
throw new IllegalArgumentException(endpoint.getBody());
165+
} else {
166+
responseContent =
167+
ChannelBuffers.copiedBuffer(NOT_FOUND.getBody(), CharsetUtil.UTF_8);
168+
response =
169+
new DefaultHttpResponse(
170+
HTTP_1_1, HttpResponseStatus.valueOf(endpoint.getStatus()));
171+
response.setContent(responseContent);
175172
}
176173
response.headers().set(CONTENT_TYPE, "text/plain");
177174
if (responseContent != null) {

0 commit comments

Comments
 (0)