Skip to content

Commit 67adfc1

Browse files
committed
finatra tests
1 parent 978ae8e commit 67adfc1

File tree

2 files changed

+59
-105
lines changed

2 files changed

+59
-105
lines changed

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

Lines changed: 27 additions & 52 deletions
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

Lines changed: 32 additions & 53 deletions
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
}

0 commit comments

Comments
 (0)