Skip to content

Commit 5e37c35

Browse files
Fix failing tests
1 parent 2c2c81c commit 5e37c35

File tree

5 files changed

+48
-13
lines changed

5 files changed

+48
-13
lines changed

dd-java-agent/instrumentation/spring-webmvc-5.3/src/test/groovy/test/boot/EndpointCollectorSpringBootTest.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMethod
1515
import org.springframework.web.servlet.config.annotation.EnableWebMvc
1616

1717
import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.ENDPOINT_DISCOVERY
18+
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_ENDPOINT_COLLECTION_ENABLED
1819

1920
@SpringBootTest(classes = DiscoveryController)
2021
@EnableWebMvc
@@ -35,6 +36,11 @@ class EndpointCollectorSpringBootTest extends AgentTestRunner {
3536
}
3637
}
3738

39+
@Override
40+
protected void configurePreAgent() {
41+
injectSysConfig(API_SECURITY_ENDPOINT_COLLECTION_ENABLED, "true")
42+
}
43+
3844
void 'test endpoint discovery'() {
3945
when:
4046
final endpoints = EndpointCollector.get().drain().toList().findAll { it.path == ENDPOINT_DISCOVERY.path }

dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/base/HttpServerTest.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.USER_B
8484
import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.WEBSOCKET
8585
import static datadog.trace.agent.test.utils.TraceUtils.basicSpan
8686
import static datadog.trace.agent.test.utils.TraceUtils.runUnderTrace
87+
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_ENDPOINT_COLLECTION_ENABLED
8788
import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_SERVER_RAW_QUERY_STRING
8889
import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_SERVER_RAW_RESOURCE
8990
import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_SERVER_TAG_QUERY_STRING
@@ -163,6 +164,8 @@ abstract class HttpServerTest<SERVER> extends WithHttpServer<SERVER> {
163164
injectSysConfig(REQUEST_HEADER_TAGS, 'x-datadog-test-request-header:request_header_tag')
164165
// We don't inject a matching response header tag here since it would be always on and show up in all the tests
165166
injectSysConfig(TRACE_WEBSOCKET_MESSAGES_ENABLED, "true")
167+
// allow endpoint discover for the tests
168+
injectSysConfig(API_SECURITY_ENDPOINT_COLLECTION_ENABLED, "true")
166169
}
167170

168171
// used in blocking tests to check if the handler was skipped

internal-api/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,8 @@ excludedClassesCoverage += [
197197
// POJO
198198
'datadog.trace.api.iast.util.Cookie',
199199
'datadog.trace.api.iast.util.Cookie.Builder',
200+
'datadog.trace.api.telemetry.Endpoint',
201+
'datadog.trace.api.telemetry.Endpoint.Method',
200202
'datadog.trace.api.telemetry.LogCollector.RawLogMessage',
201203
"datadog.trace.api.telemetry.MetricCollector.DistributionSeriesPoint",
202204
"datadog.trace.api.telemetry.MetricCollector",

internal-api/src/main/java/datadog/trace/api/telemetry/Endpoint.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -149,17 +149,4 @@ static <E extends Enum<E>, C extends Collection<E>> List<String> parseMethods(fi
149149
return result;
150150
}
151151
}
152-
153-
public interface Authentication {
154-
String JWT = "JWT";
155-
String BASIC = "basic";
156-
String OAUTH = "oauth";
157-
String OIDC = "OIDC";
158-
String API_KEY = "api_key";
159-
String SESSION = "session";
160-
String M_TLS = "mTLS";
161-
String SAML = "SAML";
162-
String FORM = "Form";
163-
String OTHER = "other";
164-
}
165152
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package datadog.trace.api.telemetry
2+
3+
import datadog.trace.test.util.DDSpecification
4+
5+
class EndpointCollectorTest extends DDSpecification {
6+
7+
void 'no metrics - drain empty list'() {
8+
when:
9+
final list = EndpointCollector.get().drain()
10+
11+
then:
12+
!list.hasNext()
13+
}
14+
15+
void 'set iterator'() {
16+
setup:
17+
final expected = (0..10).collect { index ->
18+
new Endpoint()
19+
.first(index == 0)
20+
.type(Endpoint.Type.REST)
21+
.operation(Endpoint.Operation.HTTP_REQUEST)
22+
.path("/$index")
23+
.requestBodyType(['application/json'])
24+
.responseBodyType(['plain/text'])
25+
.responseCode([200])
26+
.authentication(['JWT'])
27+
.method(Endpoint.Method.METHODS[index % Endpoint.Method.METHODS.size()])
28+
}
29+
EndpointCollector.get().supplier(expected.iterator())
30+
31+
when:
32+
final received = EndpointCollector.get().drain().toList()
33+
34+
then:
35+
received == expected
36+
}
37+
}

0 commit comments

Comments
 (0)