@@ -12,6 +12,7 @@ import (
1212 "github.com/influxdata/telegraf/plugins/inputs/http_listener_v2"
1313 "github.com/influxdata/telegraf/plugins/inputs/memcached"
1414 "github.com/influxdata/telegraf/plugins/inputs/procstat"
15+ "github.com/influxdata/telegraf/plugins/outputs/azure_monitor"
1516 httpOut "github.com/influxdata/telegraf/plugins/outputs/http"
1617 "github.com/influxdata/telegraf/plugins/parsers"
1718 "github.com/stretchr/testify/assert"
@@ -257,3 +258,23 @@ func TestConfig_BadOrdering(t *testing.T) {
257258 require .Error (t , err , "bad ordering" )
258259 assert .Equal (t , "Error loading config file ./testdata/non_slice_slice.toml: Error parsing http array, line 4: cannot unmarshal TOML array into string (need slice)" , err .Error ())
259260}
261+
262+ func TestConfig_AzureMonitorNamespacePrefix (t * testing.T ) {
263+ // #8256 Cannot use empty string as the namespace prefix
264+ c := NewConfig ()
265+ defaultPrefixConfig := `[[outputs.azure_monitor]]`
266+ err := c .LoadConfigData ([]byte (defaultPrefixConfig ))
267+ assert .NoError (t , err )
268+ azureMonitor , ok := c .Outputs [0 ].Output .(* azure_monitor.AzureMonitor )
269+ assert .Equal (t , "Telegraf/" , azureMonitor .NamespacePrefix )
270+ assert .Equal (t , true , ok )
271+
272+ c = NewConfig ()
273+ customPrefixConfig := `[[outputs.azure_monitor]]
274+ namespace_prefix = ""`
275+ err = c .LoadConfigData ([]byte (customPrefixConfig ))
276+ assert .NoError (t , err )
277+ azureMonitor , ok = c .Outputs [0 ].Output .(* azure_monitor.AzureMonitor )
278+ assert .Equal (t , "" , azureMonitor .NamespacePrefix )
279+ assert .Equal (t , true , ok )
280+ }
0 commit comments