@@ -11,17 +11,60 @@ import (
1111)
1212
1313func TestDefaultJSONConfigFor_Otel (t * testing.T ) {
14- cfg , ok := DefaultJSONConfigFor ("otel" )
14+ cfg , ok := DefaultJSONConfigFor ("otel" , false , false )
1515 require .True (t , ok )
1616 assert .JSONEq (t , defaultOtelConfig , cfg )
1717}
1818
1919func TestDefaultJSONConfigFor_Unknown (t * testing.T ) {
20- _ , ok := DefaultJSONConfigFor ("unknown" )
20+ _ , ok := DefaultJSONConfigFor ("unknown" , false , false )
2121 assert .False (t , ok )
2222}
2323
2424func TestDefaultJSONConfigFor_Empty (t * testing.T ) {
25- _ , ok := DefaultJSONConfigFor ("" )
25+ _ , ok := DefaultJSONConfigFor ("" , false , false )
26+ assert .False (t , ok )
27+ }
28+
29+ func TestDefaultJSONConfigFor_PlatformVariantsNotAddressableByName (t * testing.T ) {
30+ // The variant suffixes must not be resolvable as base config names, even
31+ // when a platform is detected (e.g. -c default:otel_ecs on any host). The
32+ // variants are only reachable via the platform flags on the base name.
33+ _ , ok := DefaultJSONConfigFor ("otel_ecs" , false , true )
34+ assert .False (t , ok )
35+ _ , ok = DefaultJSONConfigFor ("otel_k8s" , true , false )
36+ assert .False (t , ok )
37+ }
38+
39+ func TestDefaultJSONConfigFor_OtelK8s (t * testing.T ) {
40+ cfg , ok := DefaultJSONConfigFor ("otel" , true , false )
41+ require .True (t , ok )
42+ assert .JSONEq (t , defaultOtelK8sConfig , cfg )
43+ assert .Contains (t , cfg , "container_insights" )
44+ assert .NotContains (t , cfg , "host_metrics" )
45+ }
46+
47+ func TestDefaultJSONConfigFor_OtelECS (t * testing.T ) {
48+ cfg , ok := DefaultJSONConfigFor ("otel" , false , true )
49+ require .True (t , ok )
50+ assert .JSONEq (t , defaultOtelECSConfig , cfg )
51+ assert .NotContains (t , cfg , "host_metrics" )
52+ assert .NotContains (t , cfg , "container_insights" )
53+ }
54+
55+ func TestDefaultJSONConfigFor_KubernetesTakesPrecedenceOverECS (t * testing.T ) {
56+ cfg , ok := DefaultJSONConfigFor ("otel" , true , true )
57+ require .True (t , ok )
58+ assert .JSONEq (t , defaultOtelK8sConfig , cfg )
59+ }
60+
61+ func TestDefaultJSONConfigFor_VMFallsBackToBase (t * testing.T ) {
62+ cfg , ok := DefaultJSONConfigFor ("otel" , false , false )
63+ require .True (t , ok )
64+ assert .JSONEq (t , defaultOtelConfig , cfg )
65+ }
66+
67+ func TestDefaultJSONConfigFor_UnknownWithPlatform (t * testing.T ) {
68+ _ , ok := DefaultJSONConfigFor ("unknown" , true , false )
2669 assert .False (t , ok )
2770}
0 commit comments