@@ -12,8 +12,8 @@ import datadog.trace.api.iast.telemetry.IastMetric
1212import datadog.trace.api.iast.telemetry.IastMetricCollector
1313import datadog.trace.api.iast.telemetry.Verbosity
1414import datadog.trace.api.internal.TraceSegment
15- import groovy.transform.CompileDynamic
1615import groovy.transform.ToString
16+ import spock.lang.Shared
1717
1818import static datadog.trace.api.iast.telemetry.IastMetric.EXECUTED_SINK
1919import static datadog.trace.api.iast.telemetry.IastMetric.EXECUTED_SOURCE
@@ -23,18 +23,24 @@ import static datadog.trace.api.iast.telemetry.IastMetric.REQUEST_TAINTED
2323import static datadog.trace.api.iast.telemetry.IastMetric.Scope
2424import static datadog.trace.api.iast.telemetry.IastMetric.TRACE_METRIC_PREFIX
2525
26- @CompileDynamic
2726class TelemetryRequestEndedHandlerTest extends IastModuleImplTestBase {
2827
28+ @Shared
29+ final IastMetricCollector defaultCollector = IastMetricCollector . get()
30+
2931 protected RequestEndedHandler delegate
3032 protected IastMetricCollector globalCollector
3133
34+ @Override
35+ void cleanupSpec () {
36+ IastMetricCollector . register(defaultCollector)
37+ }
38+
3239 void setup () {
3340 InstrumentationBridge . clearIastModules()
3441 delegate = Spy (new RequestEndedHandler (dependencies))
35- globalCollector = IastMetricCollector . get()
36- globalCollector. prepareMetrics()
37- globalCollector. drain()
42+ globalCollector = new IastMetricCollector ()
43+ IastMetricCollector . register(globalCollector)
3844 ctx. taintedObjects = TaintedObjectsWithTelemetry . build(Verbosity . DEBUG , ctx)
3945 ctx. collector = new IastMetricCollector ()
4046 }
@@ -116,18 +122,18 @@ class TelemetryRequestEndedHandlerTest extends IastModuleImplTestBase {
116122 }
117123
118124 where :
119- metrics | description
125+ metrics | description
120126 [
121127 metric(REQUEST_TAINTED , 123 ),
122128 metric(EXECUTED_SOURCE , SourceTypes . REQUEST_PARAMETER_VALUE , 2 ),
123129 metric(EXECUTED_SOURCE , SourceTypes . REQUEST_HEADER_VALUE , 4 ),
124130 metric(EXECUTED_SINK , VulnerabilityTypes . SQL_INJECTION , 1 ),
125131 metric(EXECUTED_SINK , VulnerabilityTypes . COMMAND_INJECTION , 2 ),
126- ] | ' List of only request scoped metrics'
132+ ] | ' List of only request scoped metrics'
127133 [
128134 metric(REQUEST_TAINTED , 123 ),
129135 metric(INSTRUMENTED_SOURCE , SourceTypes . REQUEST_PARAMETER_VALUE , 2 ),
130- ] | ' Mix between global and request scoped metrics'
136+ ] | ' Mix between global and request scoped metrics'
131137 }
132138
133139 private static String getSpanTagValue (final IastMetric metric , final Byte tagValue = null ) {
0 commit comments