Skip to content

Commit 3de084c

Browse files
committed
add test
fix muzzle
1 parent 5bae273 commit 3de084c

File tree

4 files changed

+53
-0
lines changed

4 files changed

+53
-0
lines changed

dd-java-agent/instrumentation/micronaut/build.gradle

+9
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@
44

55
apply from: "$rootDir/gradle/java.gradle"
66

7+
muzzle {
8+
pass {
9+
name = "micronaut-common"
10+
group = "io.micronaut"
11+
module = "micronaut-http-server-netty"
12+
versions = "[2,)"
13+
}
14+
}
15+
716
dependencies {
817
compileOnly group: 'io.micronaut', name: 'micronaut-http-server-netty', version: '2.0.0'
918
implementation project(':dd-java-agent:instrumentation:span-origin')

dd-java-agent/instrumentation/micronaut/http-server-netty-4.0/build.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,13 @@ addTestSuiteForDir('latestDepTest', 'test')
3030

3131
dependencies {
3232
main_java17CompileOnly group: 'io.micronaut', name: 'micronaut-http-server-netty', version: '4.0.0'
33+
implementation project(':dd-java-agent:instrumentation:micronaut')
3334

3435
// Added to ensure cross compatibility:
3536
testImplementation project(':dd-java-agent:instrumentation:micronaut:http-server-netty-2.0')
3637
testImplementation project(':dd-java-agent:instrumentation:micronaut:http-server-netty-3.0')
3738
testImplementation project(':dd-java-agent:instrumentation:netty-4.1')
39+
testImplementation project(':dd-java-agent:agent-debugger')
3840
testImplementation group: 'io.micronaut', name: 'micronaut-http-server-netty', version: '4.0.0', {
3941
exclude group: 'org.slf4j', module: 'slf4j-api'
4042
exclude group: 'ch.qos.logback', module: 'logback-classic'

dd-java-agent/instrumentation/micronaut/http-server-netty-4.0/src/test/groovy/MicronautTest.groovy

+37
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,55 @@
11
import datadog.trace.agent.test.asserts.TraceAssert
22
import datadog.trace.agent.test.base.HttpServer
33
import datadog.trace.agent.test.base.HttpServerTest
4+
import datadog.trace.api.Config
45
import datadog.trace.api.DDSpanTypes
6+
import datadog.trace.api.DDTags
7+
import datadog.trace.api.config.TraceInstrumentationConfig
8+
import datadog.trace.bootstrap.debugger.DebuggerContext
9+
import datadog.trace.bootstrap.instrumentation.api.AgentTracer
510
import datadog.trace.bootstrap.instrumentation.api.Tags
611
import datadog.trace.instrumentation.micronaut.v4_0.MicronautDecorator
712
import datadog.trace.instrumentation.netty41.server.NettyHttpServerDecorator
813
import test.MicronautServer
914

15+
import java.lang.reflect.Method
16+
1017
import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.ERROR
1118
import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.EXCEPTION
1219
import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.NOT_FOUND
1320
import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.PATH_PARAM
1421
import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.QUERY_ENCODED_BOTH
1522
import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.SUCCESS
23+
import static datadog.trace.api.DDTags.DD_CODE_ORIGIN_TYPE
24+
import static datadog.trace.api.config.TraceInstrumentationConfig.CODE_ORIGIN_FOR_SPANS_ENABLED
1625

1726
class MicronautTest extends HttpServerTest<Object> {
1827

28+
def codeOriginRecorder
29+
30+
@Override
31+
protected void configurePreAgent() {
32+
super.configurePreAgent()
33+
injectSysConfig(CODE_ORIGIN_FOR_SPANS_ENABLED, "true")
34+
codeOriginRecorder = new DebuggerContext.CodeOriginRecorder() {
35+
def invoked = false
36+
@Override
37+
String captureCodeOrigin(boolean entry) {
38+
invoked = true
39+
return "done"
40+
}
41+
42+
@Override
43+
String captureCodeOrigin(Method method, boolean entry) {
44+
invoked = true
45+
return "done"
46+
}
47+
}
48+
DebuggerContext.initCodeOrigin(codeOriginRecorder)
49+
}
50+
51+
52+
1953
@Override
2054
HttpServer server() {
2155
return new MicronautServer()
@@ -67,6 +101,9 @@ class MicronautTest extends HttpServerTest<Object> {
67101

68102
@Override
69103
void handlerSpan(TraceAssert trace, ServerEndpoint endpoint = SUCCESS) {
104+
if (endpoint != NOT_FOUND) {
105+
assert codeOriginRecorder.invoked
106+
}
70107
trace.span {
71108
serviceName expectedServiceName()
72109
operationName "micronaut-controller"

dd-java-agent/instrumentation/micronaut/src/main/java/datadog/trace/instrumentation/micronaut/MicronautCodeOriginInstrumentation.java

+5
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ public MicronautCodeOriginInstrumentation() {
1616
super("micronaut", "micronaut-span-origin");
1717
}
1818

19+
@Override
20+
public String muzzleDirective() {
21+
return "micronaut-common";
22+
}
23+
1924
@Override
2025
protected Set<String> getAnnotations() {
2126
return new HashSet<>(

0 commit comments

Comments
 (0)