Skip to content

Commit be2ebd3

Browse files
POC; migrating java tests to dsmTest
1 parent c2560c4 commit be2ebd3

File tree

4 files changed

+66
-28
lines changed

4 files changed

+66
-28
lines changed

.github/CODEOWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@
114114
/internal-api/src/test/groovy/datadog/trace/api/datastreams @DataDog/data-streams-monitoring
115115
**/datastreams/ @DataDog/data-streams-monitoring
116116
**/DataStreams* @DataDog/data-streams-monitoring
117+
# DSM Integration Tests - all dsmTest directories owned by data-streams-monitoring
118+
**/dsmTest/** @DataDog/data-streams-monitoring
117119

118120
# @DataDog/feature-flagging-and-experimentation-sdk
119121
/dd-smoke-tests/openfeature/ @DataDog/feature-flagging-and-experimentation-sdk

dd-java-agent/instrumentation/kafka/kafka-clients-0.11/build.gradle

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ muzzle {
1717

1818
apply from: "$rootDir/gradle/java.gradle"
1919

20+
// DSM test suite - tests with Data Streams Monitoring enabled
21+
addTestSuite('dsmTest')
22+
addTestSuiteExtendingForDir('dsmForkedTest', 'dsmTest', 'dsmTest')
23+
addTestSuiteForDir('latestDsmTest', 'dsmTest')
24+
addTestSuiteExtendingForDir('latestDsmForkedTest', 'latestDsmTest', 'dsmTest')
25+
2026
addTestSuite('latestDepTest')
2127
addTestSuite('iastLatestDepTest3')
2228

@@ -37,6 +43,25 @@ dependencies {
3743
testRuntimeOnly project(':dd-java-agent:instrumentation:reactive-streams')
3844
testImplementation project(':dd-java-agent:agent-iast:iast-test-fixtures')
3945

46+
// DSM test dependencies - needs access to base test classes
47+
dsmTestImplementation sourceSets.test.output
48+
dsmTestImplementation group: 'org.apache.kafka', name: 'kafka-clients', version: '2.8.0'
49+
dsmTestImplementation group: 'org.springframework.kafka', name: 'spring-kafka', version: '2.8.0'
50+
dsmTestImplementation group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '2.8.0'
51+
dsmTestImplementation group: 'io.projectreactor.kafka', name: 'reactor-kafka', version: '1.3.+'
52+
dsmTestRuntimeOnly project(':dd-java-agent:instrumentation:spring:spring-scheduling-3.1')
53+
dsmTestRuntimeOnly project(':dd-java-agent:instrumentation:reactor-core-3.1')
54+
dsmTestRuntimeOnly project(':dd-java-agent:instrumentation:reactive-streams')
55+
56+
latestDsmTestImplementation sourceSets.test.output
57+
latestDsmTestImplementation group: 'org.apache.kafka', name: 'kafka-clients', version: '3.+'
58+
latestDsmTestImplementation group: 'org.springframework.kafka', name: 'spring-kafka', version: '3.+'
59+
latestDsmTestImplementation group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '3.+'
60+
latestDsmTestImplementation group: 'io.projectreactor.kafka', name: 'reactor-kafka', version: '1.+'
61+
latestDsmTestRuntimeOnly project(':dd-java-agent:instrumentation:spring:spring-scheduling-3.1')
62+
latestDsmTestRuntimeOnly project(':dd-java-agent:instrumentation:reactor-core-3.1')
63+
latestDsmTestRuntimeOnly project(':dd-java-agent:instrumentation:reactive-streams')
64+
4065
// IAST testing dependencies
4166
testRuntimeOnly project(':dd-java-agent:instrumentation:iast-instrumenter')
4267
testRuntimeOnly project(':dd-java-agent:instrumentation:java:java-lang:java-lang-1.8')
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import KafkaClientTestBase
2+
import datadog.trace.api.Config
3+
4+
/**
5+
* Data Streams Monitoring tests for Kafka clients.
6+
*
7+
* This test class extends KafkaClientTestBase and runs all base test methods
8+
* with Data Streams Monitoring enabled. The base class contains all the actual
9+
* test logic; this class only configures DSM to be enabled.
10+
*/
11+
class KafkaClientDataStreamsDisabledForkedTest extends KafkaClientTestBase {
12+
@Override
13+
void configurePreAgent() {
14+
super.configurePreAgent()
15+
injectSysConfig("dd.service", "KafkaClientDataStreamsDisabledForkedTest")
16+
injectSysConfig("dd.kafka.legacy.tracing.enabled", "true")
17+
}
18+
19+
@Override
20+
String service() {
21+
return "kafka"
22+
}
23+
24+
@Override
25+
boolean hasQueueSpan() {
26+
return false
27+
}
28+
29+
@Override
30+
boolean splitByDestination() {
31+
return false
32+
}
33+
34+
@Override
35+
boolean isDataStreamsEnabled() {
36+
return false
37+
}
38+
}
39+

dd-java-agent/instrumentation/kafka/kafka-clients-0.11/src/test/groovy/KafkaClientTestBase.groovy

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1337,31 +1337,3 @@ class KafkaClientLegacyTracingV1ForkedTest extends KafkaClientLegacyTracingForke
13371337
}
13381338
}
13391339

1340-
class KafkaClientDataStreamsDisabledForkedTest extends KafkaClientTestBase {
1341-
@Override
1342-
void configurePreAgent() {
1343-
super.configurePreAgent()
1344-
injectSysConfig("dd.service", "KafkaClientDataStreamsDisabledForkedTest")
1345-
injectSysConfig("dd.kafka.legacy.tracing.enabled", "true")
1346-
}
1347-
1348-
@Override
1349-
String service() {
1350-
return "kafka"
1351-
}
1352-
1353-
@Override
1354-
boolean hasQueueSpan() {
1355-
return false
1356-
}
1357-
1358-
@Override
1359-
boolean splitByDestination() {
1360-
return false
1361-
}
1362-
1363-
@Override
1364-
boolean isDataStreamsEnabled() {
1365-
return false
1366-
}
1367-
}

0 commit comments

Comments
 (0)