@@ -1190,46 +1190,6 @@ class ConfigTest extends DDSpecification {
11901190 config. serviceName == ' unnamed-java-app'
11911191 }
11921192
1193- def " get analytics sample rate" () {
1194- setup :
1195- environmentVariables. set(" DD_FOO_ANALYTICS_SAMPLE_RATE" , " 0.5" )
1196- environmentVariables. set(" DD_BAR_ANALYTICS_SAMPLE_RATE" , " 0.9" )
1197- // trace prefix form should take precedence over the old non-prefix form
1198- environmentVariables. set(" DD_ALIAS_ENV_ANALYTICS_SAMPLE_RATE" , " 0.8" )
1199- environmentVariables. set(" DD_TRACE_ALIAS_ENV_ANALYTICS_SAMPLE_RATE" , " 0.4" )
1200-
1201- System . setProperty(" dd.baz.analytics.sample-rate" , " 0.7" )
1202- System . setProperty(" dd.buzz.analytics.sample-rate" , " 0.3" )
1203- // trace prefix form should take precedence over the old non-prefix form
1204- System . setProperty(" dd.alias-prop.analytics.sample-rate" , " 0.1" )
1205- System . setProperty(" dd.trace.alias-prop.analytics.sample-rate" , " 0.2" )
1206-
1207- when :
1208- String [] array = services. toArray(new String [0 ])
1209- def value = Config . get(). getInstrumentationAnalyticsSampleRate(array)
1210-
1211- then :
1212- value == expected
1213-
1214- where :
1215- // spotless:off
1216- services | expected
1217- [" foo" ] | 0.5f
1218- [" baz" ] | 0.7f
1219- [" doesnotexist" ] | 1.0f
1220- [" doesnotexist" , " foo" ] | 0.5f
1221- [" doesnotexist" , " baz" ] | 0.7f
1222- [" foo" , " bar" ] | 0.5f
1223- [" bar" , " foo" ] | 0.9f
1224- [" baz" , " buzz" ] | 0.7f
1225- [" buzz" , " baz" ] | 0.3f
1226- [" foo" , " baz" ] | 0.5f
1227- [" baz" , " foo" ] | 0.7f
1228- [" alias-env" , " baz" ] | 0.4f
1229- [" alias-prop" , " foo" ] | 0.2f
1230- // spotless:on
1231- }
1232-
12331193 def " verify api key loaded from file: #path" () {
12341194 setup :
12351195 environmentVariables. set(DD_API_KEY_ENV , " default-api-key" )
@@ -1851,24 +1811,6 @@ class ConfigTest extends DDSpecification {
18511811 // spotless:on
18521812 }
18531813
1854- // Static methods test:
1855- def " configProvider.get* unit test" () {
1856- setup :
1857- def p = new Properties ()
1858- p. setProperty(" i" , " 13" )
1859- p. setProperty(" f" , " 42.42" )
1860- def configProvider = ConfigProvider . withPropertiesOverride(p)
1861-
1862- expect :
1863- configProvider. getDouble(" i" , 40 ) == 13
1864- configProvider. getDouble(" f" , 41 ) == 42.42
1865- configProvider. getFloat(" i" , 40 ) == 13
1866- configProvider. getFloat(" f" , 41 ) == 42.42f
1867- configProvider. getInteger(" b" , 61 ) == 61
1868- configProvider. getInteger(" i" , 61 ) == 13
1869- configProvider. getBoolean(" a" , true ) == true
1870- }
1871-
18721814 def " valueOf positive test" () {
18731815 expect :
18741816 ConfigConverter . valueOf(value, tClass) == expected
@@ -2640,6 +2582,7 @@ class ConfigTest extends DDSpecification {
26402582 " datad0g.com" | " https://all-http-intake.logs.datad0g.com/api/v2/apmtelemetry"
26412583 }
26422584
2585+ // Subclass for setting Strictness of ConfigHelper when using fake configs
26432586 static class ConfigTestWithFakes extends ConfigTest {
26442587
26452588 def strictness
@@ -2827,5 +2770,63 @@ class ConfigTest extends DDSpecification {
28272770
28282771 defaultValue = 10.0
28292772 }
2773+
2774+ def " get analytics sample rate" () {
2775+ setup:
2776+ environmentVariables.set(" DD_FOO_ANALYTICS_SAMPLE_RATE " , " 0.5 " )
2777+ environmentVariables.set(" DD_BAR_ANALYTICS_SAMPLE_RATE " , " 0.9 " )
2778+ // trace prefix form should take precedence over the old non-prefix form
2779+ environmentVariables.set(" DD_ALIAS_ENV_ANALYTICS_SAMPLE_RATE " , " 0.8 " )
2780+ environmentVariables.set(" DD_TRACE_ALIAS_ENV_ANALYTICS_SAMPLE_RATE " , " 0.4 " )
2781+
2782+ System.setProperty(" dd. baz. analytics. sample- rate" , " 0.7 " )
2783+ System.setProperty(" dd. buzz. analytics. sample- rate" , " 0.3 " )
2784+ // trace prefix form should take precedence over the old non-prefix form
2785+ System.setProperty(" dd. alias- prop. analytics. sample- rate" , " 0.1 " )
2786+ System.setProperty(" dd. trace. alias- prop. analytics. sample- rate" , " 0.2 " )
2787+
2788+ when:
2789+ String[] array = services.toArray(new String[0])
2790+ def value = Config.get().getInstrumentationAnalyticsSampleRate(array)
2791+
2792+ then:
2793+ value == expected
2794+
2795+ where:
2796+ // spotless:off
2797+ services | expected
2798+ [" foo" ] | 0.5f
2799+ [" baz" ] | 0.7f
2800+ [" doesnotexist" ] | 1.0f
2801+ [" doesnotexist" , " foo" ] | 0.5f
2802+ [" doesnotexist" , " baz" ] | 0.7f
2803+ [" foo" , " bar" ] | 0.5f
2804+ [" bar" , " foo" ] | 0.9f
2805+ [" baz" , " buzz" ] | 0.7f
2806+ [" buzz" , " baz" ] | 0.3f
2807+ [" foo" , " baz" ] | 0.5f
2808+ [" baz" , " foo" ] | 0.7f
2809+ [" alias- env" , " baz" ] | 0.4f
2810+ [" alias- prop" , " foo" ] | 0.2f
2811+ // spotless:on
2812+ }
2813+
2814+ // Static methods test:
2815+ def " configProvider. get* unit test" () {
2816+ setup:
2817+ def p = new Properties()
2818+ p.setProperty(" i" , " 13 " )
2819+ p.setProperty(" f" , " 42.42 " )
2820+ def configProvider = ConfigProvider.withPropertiesOverride(p)
2821+
2822+ expect:
2823+ configProvider.getDouble(" i" , 40) == 13
2824+ configProvider.getDouble(" f" , 41) == 42.42
2825+ configProvider.getFloat(" i" , 40) == 13
2826+ configProvider.getFloat(" f" , 41) == 42.42f
2827+ configProvider.getInteger(" b" , 61) == 61
2828+ configProvider.getInteger(" i" , 61) == 13
2829+ configProvider.getBoolean(" a" , true) == true
2830+ }
28302831 }
28312832}
0 commit comments