@@ -37,7 +37,8 @@ class BootstrapInitializationTelemetryTest extends Specification {
3737 initTelemetry. finish()
3838
3939 then :
40- capture. json() == ' {"metadata":{"runtime_name":"java","runtime_version":"1.8.0_382","result":"success","result_class":"success","result_reason":"Successfully configured ddtrace package"},"points":[{"name":"library_entrypoint.complete"}]}'
40+ capture. json() == json(" success" , " success" , " Successfully configured ddtrace package" ,
41+ [[name : " library_entrypoint.complete" ]])
4142 }
4243
4344 def " real example" () {
@@ -46,7 +47,10 @@ class BootstrapInitializationTelemetryTest extends Specification {
4647 initTelemetry. finish()
4748
4849 then :
49- capture. json() == ' {"metadata":{"runtime_name":"java","runtime_version":"1.8.0_382","result":"error","result_class":"internal_error","result_reason":"foo"},"points":[{"name":"library_entrypoint.error","tags":["error_type:java.lang.Exception"]},{"name":"library_entrypoint.complete"}]}'
50+ capture. json() == json(" error" , " internal_error" , " foo" , [
51+ [name : " library_entrypoint.error" , tags : [" error_type:java.lang.Exception" ]],
52+ [name : " library_entrypoint.complete" ]
53+ ])
5054 }
5155
5256 def " test abort" () {
@@ -55,14 +59,15 @@ class BootstrapInitializationTelemetryTest extends Specification {
5559 initTelemetry. finish()
5660
5761 then :
58- capture. json() == expectedJson
62+ capture. json() == json(" abort" , resultClass, reasonCode,
63+ [[name : " library_entrypoint.abort" , tags : [" reason:${ reasonCode} " ]]])
5964
6065 where :
61- reasonCode | resultClass | expectedJson
62- " jdk_tool" | " unsupported_binary" | ' {"metadata":{"runtime_name":"java","runtime_version":"1.8.0_382","result":"abort","result_class":"unsupported_binary","result_reason":"jdk_tool"},"points":[{"name":"library_entrypoint.abort","tags":["reason:jdk_tool"]}]} '
63- " already_initialized" | " already_instrumented" | ' {"metadata":{"runtime_name":"java","runtime_version":"1.8.0_382","result":"abort","result_class":"already_instrumented","result_reason":"already_initialized"},"points":[{"name":"library_entrypoint.abort","tags":["reason:already_initialized"]}]} '
64- " other-java-agents" | " already_instrumented" | ' {"metadata":{"runtime_name":"java","runtime_version":"1.8.0_382","result":"abort","result_class":"already_instrumented","result_reason":"other-java-agents"},"points":[{"name":"library_entrypoint.abort","tags":["reason:other-java-agents"]}]} '
65- " foo" | " unknown" | ' {"metadata":{"runtime_name":"java","runtime_version":"1.8.0_382","result":"abort","result_class":"unknown","result_reason":"foo"},"points":[{"name":"library_entrypoint.abort","tags":["reason:foo"]}]} '
66+ reasonCode | resultClass
67+ " jdk_tool" | " unsupported_binary"
68+ " already_initialized" | " already_instrumented"
69+ " other-java-agents" | " already_instrumented"
70+ " foo" | " unknown"
6671 }
6772
6873 def " trivial completion check" () {
@@ -89,7 +94,8 @@ class BootstrapInitializationTelemetryTest extends Specification {
8994
9095 then :
9196 ! capture. json(). contains(" library_entrypoint.complete" )
92- capture. json() == ' {"metadata":{"runtime_name":"java","runtime_version":"1.8.0_382","result":"error","result_class":"internal_error","result_reason":"foo"},"points":[{"name":"library_entrypoint.error","tags":["error_type:java.lang.Exception"]}]}'
97+ capture. json() == json(" error" , " internal_error" , " foo" ,
98+ [[name : " library_entrypoint.error" , tags : [" error_type:java.lang.Exception" ]]])
9399 }
94100
95101 def " incomplete on abort" () {
@@ -101,6 +107,10 @@ class BootstrapInitializationTelemetryTest extends Specification {
101107 ! capture. json(). contains(" library_entrypoint.complete" )
102108 }
103109
110+ private String json (String result , String resultClass , String resultReason , List points ) {
111+ return """ {"metadata":{"runtime_name":"java","runtime_version":"1.8.0_382","result":"${ result} ","result_class":"${ resultClass} ","result_reason":"${ resultReason} "},"points":${ new groovy.json.JsonBuilder(points)} }"""
112+ }
113+
104114 static class Capture implements BootstrapInitializationTelemetry. JsonSender {
105115 String json
106116
0 commit comments