@@ -9,7 +9,6 @@ import datadog.trace.api.config.TraceInstrumentationConfig
99import datadog.trace.api.config.TracerConfig
1010import datadog.trace.api.iast.telemetry.Verbosity
1111import datadog.trace.api.naming.SpanNaming
12- import datadog.trace.bootstrap.config.provider.ConfigProvider
1312import datadog.trace.test.util.DDSpecification
1413import datadog.trace.util.Strings
1514
@@ -154,4 +153,60 @@ class ConfigCollectorTest extends DDSpecification {
154153 then :
155154 ConfigCollector . get(). collect(). get(' DD_API_KEY' ). value == ' <hidden>'
156155 }
156+
157+ def " collects common setting default values" () {
158+ when :
159+ def settings = ConfigCollector . get(). collect()
160+
161+ then :
162+ def setting = settings. get(key)
163+
164+ setting. key == key
165+ setting. value == value
166+ setting. origin == ConfigOrigin . DEFAULT
167+
168+ where :
169+ key | value
170+ " trace.enabled" | true
171+ " profiling.enabled" | false
172+ " appsec.enabled" | " inactive" // TODO false
173+ " data.streams.enabled" | false
174+ " tags" | null // TODO trace.tags ""
175+ " trace.header.tags" | null // TODO ""
176+ " logs.injection.enabled" | true // TODO false
177+ " trace.sample.rate" | null // TODO 1.0
178+ }
179+
180+ def " collects common setting overridden values" () {
181+ setup :
182+ injectEnvConfig(" DD_TRACE_ENABLED" , " false" )
183+ injectEnvConfig(" DD_PROFILING_ENABLED" , " true" )
184+ injectEnvConfig(" DD_APPSEC_ENABLED" , " false" )
185+ injectEnvConfig(" DD_DATA_STREAMS_ENABLED" , " true" )
186+ injectEnvConfig(" DD_TAGS" , " team:apm,component:web" )
187+ injectEnvConfig(" DD_TRACE_HEADER_TAGS" , " X-Header-Tag-1:header_tag_1,X-Header-Tag-2:header_tag_2" )
188+ injectEnvConfig(" DD_LOGS_INJECTION" , " false" )
189+ injectEnvConfig(" DD_TRACE_SAMPLE_RATE" , " 0.3" )
190+
191+ when :
192+ def settings = ConfigCollector . get(). collect()
193+
194+ then :
195+ def setting = settings. get(key)
196+
197+ setting. key == key
198+ setting. value == value
199+ setting. origin == ConfigOrigin . ENV
200+
201+ where :
202+ key | value
203+ " trace.enabled" | " false"
204+ " profiling.enabled" | " true"
205+ " appsec.enabled" | " false"
206+ " data.streams.enabled" | " true"
207+ " tags" | " component:web,team:apm" // TODO should it preserve ordering? "team:apm,component:web"
208+ " trace.header.tags" | " X-Header-Tag-1:header_tag_1,X-Header-Tag-2:header_tag_2" . toLowerCase() // TODO should it preserve case?
209+ " logs.injection.enabled" | " false"
210+ " trace.sample.rate" | " 0.3"
211+ }
157212}
0 commit comments