Skip to content

Commit 7f881d0

Browse files
authored
Don't use HttpServerTest.controller in java tests (#12347)
1 parent f0115c6 commit 7f881d0

File tree

37 files changed

+265
-320
lines changed

37 files changed

+265
-320
lines changed

instrumentation/akka/akka-http-10.0/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/akkahttp/AkkaHttpTestAsyncWebServer.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import io.opentelemetry.instrumentation.testing.junit.http.{
1616
ServerEndpoint
1717
}
1818
import io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint._
19+
import io.opentelemetry.instrumentation.testing.util.ThrowingSupplier
1920

20-
import java.util.function.Supplier
2121
import scala.concurrent.{Await, ExecutionContextExecutor, Future}
2222

2323
object AkkaHttpTestAsyncWebServer {
@@ -31,7 +31,7 @@ object AkkaHttpTestAsyncWebServer {
3131
val endpoint = ServerEndpoint.forPath(uri.path.toString())
3232
AbstractHttpServerTest.controller(
3333
endpoint,
34-
new Supplier[HttpResponse] {
34+
new ThrowingSupplier[HttpResponse, Exception] {
3535
def get(): HttpResponse = {
3636
val resp = HttpResponse(status =
3737
endpoint.getStatus

instrumentation/akka/akka-http-10.0/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/akkahttp/AkkaHttpTestServerSourceWebServer.scala

+4-4
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ import akka.stream.ActorMaterializer
1414
import akka.stream.scaladsl.Sink
1515
import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerTest
1616
import io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint._
17+
import io.opentelemetry.instrumentation.testing.util.ThrowingSupplier
1718

18-
import java.util.function.Supplier
1919
import scala.concurrent.Await
2020

2121
object AkkaHttpTestServerSourceWebServer {
@@ -33,7 +33,7 @@ object AkkaHttpTestServerSourceWebServer {
3333
},
3434
path(INDEXED_CHILD.rawPath()) {
3535
parameterMap { map =>
36-
val supplier = new Supplier[String] {
36+
val supplier = new ThrowingSupplier[String, Exception] {
3737
def get(): String = {
3838
INDEXED_CHILD.collectSpanAttributes(new UrlParameterProvider {
3939
override def getParameter(name: String): String =
@@ -114,8 +114,8 @@ object AkkaHttpTestServerSourceWebServer {
114114
}
115115
}
116116

117-
def supplier(string: String): Supplier[String] = {
118-
new Supplier[String] {
117+
def supplier(string: String): ThrowingSupplier[String, Exception] = {
118+
new ThrowingSupplier[String, Exception] {
119119
def get(): String = {
120120
string
121121
}

instrumentation/akka/akka-http-10.0/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/akkahttp/AkkaHttpTestSyncWebServer.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import io.opentelemetry.instrumentation.testing.junit.http.{
1616
ServerEndpoint
1717
}
1818
import io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint._
19+
import io.opentelemetry.instrumentation.testing.util.ThrowingSupplier
1920

20-
import java.util.function.Supplier
2121
import scala.concurrent.Await
2222

2323
object AkkaHttpTestSyncWebServer {
@@ -30,7 +30,7 @@ object AkkaHttpTestSyncWebServer {
3030
val endpoint = ServerEndpoint.forPath(uri.path.toString())
3131
AbstractHttpServerTest.controller(
3232
endpoint,
33-
new Supplier[HttpResponse] {
33+
new ThrowingSupplier[HttpResponse, Exception] {
3434
def get(): HttpResponse = {
3535
val resp = HttpResponse(status = endpoint.getStatus)
3636
endpoint match {

instrumentation/akka/akka-http-10.0/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/akkahttp/AkkaHttpTestWebServer.scala

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import akka.http.scaladsl.server.Directives._
1313
import akka.stream.ActorMaterializer
1414
import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerTest
1515
import io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint._
16+
import io.opentelemetry.instrumentation.testing.util.ThrowingSupplier
1617

17-
import java.util.function.Supplier
1818
import scala.concurrent.Await
1919

2020
object AkkaHttpTestWebServer {
@@ -32,7 +32,7 @@ object AkkaHttpTestWebServer {
3232
},
3333
path(INDEXED_CHILD.rawPath()) {
3434
parameterMap { map =>
35-
val supplier = new Supplier[String] {
35+
val supplier = new ThrowingSupplier[String, Exception] {
3636
def get(): String = {
3737
INDEXED_CHILD.collectSpanAttributes(new UrlParameterProvider {
3838
override def getParameter(name: String): String =
@@ -107,8 +107,8 @@ object AkkaHttpTestWebServer {
107107
}
108108
}
109109

110-
def supplier(string: String): Supplier[String] = {
111-
new Supplier[String] {
110+
def supplier(string: String): ThrowingSupplier[String, Exception] = {
111+
new ThrowingSupplier[String, Exception] {
112112
def get(): String = {
113113
string
114114
}

instrumentation/finatra-2.9/javaagent/src/latestDepTest/scala/io/opentelemetry/javaagent/instrumentation/finatra/FinatraController.scala

+27-52
Original file line numberDiff line numberDiff line change
@@ -5,99 +5,74 @@
55

66
package io.opentelemetry.javaagent.instrumentation.finatra
77

8-
import com.twitter.finagle.http.{Request, Response}
8+
import com.twitter.finagle.http.Request
99
import com.twitter.finatra.http.Controller
10-
import com.twitter.util.Future
11-
import groovy.lang.Closure
1210
import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerTest.controller
1311
import io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint._
14-
15-
import java.util.function.Supplier
12+
import io.opentelemetry.instrumentation.testing.util.ThrowingSupplier
1613

1714
class FinatraController extends Controller {
1815
any(SUCCESS.getPath) { request: Request =>
19-
controller(
20-
SUCCESS,
21-
new Supplier[Response] {
22-
override def get(): Response = {
23-
response.ok(SUCCESS.getBody)
24-
}
25-
}
26-
)
16+
controller(SUCCESS, supplier(() => response.ok(SUCCESS.getBody)))
2717
}
2818

2919
any(ERROR.getPath) { request: Request =>
3020
controller(
3121
ERROR,
32-
new Supplier[Response] {
33-
override def get(): Response = {
34-
response.internalServerError(ERROR.getBody)
35-
}
36-
}
22+
supplier(() => response.internalServerError(ERROR.getBody))
3723
)
3824
}
3925

4026
any(QUERY_PARAM.getPath) { request: Request =>
4127
controller(
4228
QUERY_PARAM,
43-
new Supplier[Response] {
44-
override def get(): Response = {
45-
response.ok(QUERY_PARAM.getBody)
46-
}
47-
}
29+
supplier(() => response.ok(QUERY_PARAM.getBody))
4830
)
4931
}
5032

5133
any(EXCEPTION.getPath) { request: Request =>
5234
controller(
5335
EXCEPTION,
54-
new Supplier[Future[Response]] {
55-
override def get(): Future[Response] = {
56-
throw new Exception(EXCEPTION.getBody)
57-
}
58-
}
36+
supplier(() => throw new Exception(EXCEPTION.getBody))
5937
)
6038
}
6139

6240
any(REDIRECT.getPath) { request: Request =>
6341
controller(
6442
REDIRECT,
65-
new Supplier[Response] {
66-
override def get(): Response = {
67-
response.found.location(REDIRECT.getBody)
68-
}
69-
}
43+
supplier(() => response.found.location(REDIRECT.getBody))
7044
)
7145
}
7246

7347
any(CAPTURE_HEADERS.getPath) { request: Request =>
7448
controller(
7549
CAPTURE_HEADERS,
76-
new Supplier[Response] {
77-
override def get(): Response = {
78-
response
79-
.ok(CAPTURE_HEADERS.getBody)
80-
.header(
81-
"X-Test-Response",
82-
request.headerMap.get("X-Test-Request").get
83-
)
84-
}
85-
}
50+
supplier(() =>
51+
response
52+
.ok(CAPTURE_HEADERS.getBody)
53+
.header(
54+
"X-Test-Response",
55+
request.headerMap.get("X-Test-Request").get
56+
)
57+
)
8658
)
8759
}
8860

8961
any(INDEXED_CHILD.getPath) { request: Request =>
9062
controller(
9163
INDEXED_CHILD,
92-
new Supplier[Response] {
93-
override def get(): Response = {
94-
INDEXED_CHILD.collectSpanAttributes(new UrlParameterProvider {
95-
override def getParameter(name: String): String =
96-
request.getParam(name)
97-
})
98-
response.ok(INDEXED_CHILD.getBody)
99-
}
100-
}
64+
supplier(() => {
65+
INDEXED_CHILD.collectSpanAttributes((name: String) =>
66+
request.getParam(name)
67+
)
68+
response.ok(INDEXED_CHILD.getBody)
69+
})
10170
)
10271
}
72+
73+
def supplier[A](action: () => A): ThrowingSupplier[A, Exception] = { () =>
74+
{
75+
action.apply()
76+
}
77+
}
10378
}

instrumentation/finatra-2.9/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/finatra/FinatraController.scala

+32-53
Original file line numberDiff line numberDiff line change
@@ -5,108 +5,87 @@
55

66
package io.opentelemetry.javaagent.instrumentation.finatra
77

8-
import com.twitter.finagle.http.{Request, Response}
8+
import com.twitter.finagle.http.Request
99
import com.twitter.finatra.http.Controller
10-
import com.twitter.util.Future
11-
import groovy.lang.Closure
12-
import io.opentelemetry.instrumentation.test.base.HttpServerTest.controller
10+
import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerTest.controller
1311
import io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint._
12+
import io.opentelemetry.instrumentation.testing.util.ThrowingSupplier
1413

1514
class FinatraController extends Controller {
1615
any(SUCCESS.getPath) { request: Request =>
1716
controller(
1817
SUCCESS,
19-
new Closure[Response](null) {
20-
override def call(): Response = {
21-
response.ok(SUCCESS.getBody)
22-
}
23-
}
18+
supplier(() => response.ok(SUCCESS.getBody))
2419
)
2520
}
2621

2722
any(ERROR.getPath) { request: Request =>
2823
controller(
2924
ERROR,
30-
new Closure[Response](null) {
31-
override def call(): Response = {
32-
response.internalServerError(ERROR.getBody)
33-
}
34-
}
25+
supplier(() => response.internalServerError(ERROR.getBody))
3526
)
3627
}
3728

3829
any(QUERY_PARAM.getPath) { request: Request =>
3930
controller(
4031
QUERY_PARAM,
41-
new Closure[Response](null) {
42-
override def call(): Response = {
43-
response.ok(QUERY_PARAM.getBody)
44-
}
45-
}
32+
supplier(() => response.ok(QUERY_PARAM.getBody))
4633
)
4734
}
4835

4936
any(EXCEPTION.getPath) { request: Request =>
5037
controller(
5138
EXCEPTION,
52-
new Closure[Future[Response]](null) {
53-
override def call(): Future[Response] = {
54-
throw new Exception(EXCEPTION.getBody)
55-
}
56-
}
39+
supplier(() => throw new Exception(EXCEPTION.getBody))
5740
)
5841
}
5942

6043
any(REDIRECT.getPath) { request: Request =>
6144
controller(
6245
REDIRECT,
63-
new Closure[Response](null) {
64-
override def call(): Response = {
65-
response.found.location(REDIRECT.getBody)
66-
}
67-
}
46+
supplier(() => response.found.location(REDIRECT.getBody))
6847
)
6948
}
7049

7150
any(CAPTURE_HEADERS.getPath) { request: Request =>
7251
controller(
7352
CAPTURE_HEADERS,
74-
new Closure[Response](null) {
75-
override def call(): Response = {
76-
response
77-
.ok(CAPTURE_HEADERS.getBody)
78-
.header(
79-
"X-Test-Response",
80-
request.headerMap.get("X-Test-Request").get
81-
)
82-
}
83-
}
53+
supplier(() =>
54+
response
55+
.ok(CAPTURE_HEADERS.getBody)
56+
.header(
57+
"X-Test-Response",
58+
request.headerMap.get("X-Test-Request").get
59+
)
60+
)
8461
)
8562
}
8663

8764
any(INDEXED_CHILD.getPath) { request: Request =>
8865
controller(
8966
INDEXED_CHILD,
90-
new Closure[Response](null) {
91-
override def call(): Response = {
92-
INDEXED_CHILD.collectSpanAttributes(new UrlParameterProvider {
93-
override def getParameter(name: String): String =
94-
request.getParam(name)
95-
})
96-
response.ok(INDEXED_CHILD.getBody)
97-
}
98-
}
67+
supplier(() => {
68+
INDEXED_CHILD.collectSpanAttributes(new UrlParameterProvider {
69+
override def getParameter(name: String): String =
70+
request.getParam(name)
71+
})
72+
response.ok(INDEXED_CHILD.getBody)
73+
})
9974
)
10075
}
10176

10277
any("/path/:id/param") { request: Request =>
10378
controller(
10479
PATH_PARAM,
105-
new Closure[Response](null) {
106-
override def call(): Response = {
107-
response.ok(request.params("id"))
108-
}
109-
}
80+
supplier(() => response.ok(request.params("id")))
11081
)
11182
}
83+
84+
def supplier[A](action: () => A): ThrowingSupplier[A, Exception] = {
85+
new ThrowingSupplier[A, Exception] {
86+
def get(): A = {
87+
action.apply()
88+
}
89+
}
90+
}
11291
}

instrumentation/grails-3.0/javaagent/src/test/groovy/test/TestController.groovy

+7-1
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ package test
77

88
import grails.artefact.Controller
99
import grails.web.Action
10+
import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerTest
11+
import io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint
12+
import io.opentelemetry.instrumentation.testing.util.ThrowingRunnable
1013

11-
import static io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerTest.controller
1214
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.CAPTURE_HEADERS
1315
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.ERROR
1416
import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.EXCEPTION
@@ -82,4 +84,8 @@ class TestController implements Controller {
8284
render INDEXED_CHILD.body
8385
}
8486
}
87+
88+
private static void controller(ServerEndpoint endpoint, ThrowingRunnable action) {
89+
AbstractHttpServerTest.controller(endpoint, action)
90+
}
8591
}

0 commit comments

Comments
 (0)