AzureMonitor: Add custom header support to Azure Monitor (#60269)
* Add integration test for Azure Monitor - Add Azure Monitor to datasource types - Update instance creation to correctly set HTTP client options - Combine custom azure headers and custom grafana headers on HTTP client creation - Update HTTP client tests * Test custom azure headers
This commit is contained in:
@@ -28,7 +28,7 @@ func TestHttpClient_AzureCredentials(t *testing.T) {
|
||||
Scopes: []string{"https://management.azure.com/.default"},
|
||||
}
|
||||
|
||||
_, err := newHTTPClient(route, model, cfg, provider)
|
||||
_, err := newHTTPClient(route, model, cfg, provider, sdkhttpclient.Options{})
|
||||
require.NoError(t, err)
|
||||
|
||||
require.NotNil(t, provider.opts)
|
||||
@@ -41,7 +41,7 @@ func TestHttpClient_AzureCredentials(t *testing.T) {
|
||||
Scopes: []string{},
|
||||
}
|
||||
|
||||
_, err := newHTTPClient(route, model, cfg, provider)
|
||||
_, err := newHTTPClient(route, model, cfg, provider, sdkhttpclient.Options{})
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.NotNil(t, provider.opts)
|
||||
@@ -50,6 +50,33 @@ func TestHttpClient_AzureCredentials(t *testing.T) {
|
||||
assert.Len(t, provider.opts.Middlewares, 0)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("should combine custom azure and custom grafana headers", func(t *testing.T) {
|
||||
route := types.AzRoute{
|
||||
Headers: map[string]string{
|
||||
"AzureHeader": "AzureValue",
|
||||
},
|
||||
}
|
||||
opts := sdkhttpclient.Options{
|
||||
Headers: map[string]string{
|
||||
"GrafanaHeader": "GrafanaValue",
|
||||
},
|
||||
}
|
||||
|
||||
res := map[string]string{
|
||||
"GrafanaHeader": "GrafanaValue",
|
||||
"AzureHeader": "AzureValue",
|
||||
}
|
||||
_, err := newHTTPClient(route, model, cfg, provider, opts)
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.NotNil(t, provider.opts)
|
||||
|
||||
if provider.opts.Headers != nil {
|
||||
assert.Len(t, provider.opts.Headers, 2)
|
||||
assert.Equal(t, res, provider.opts.Headers)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
type fakeHttpClientProvider struct {
|
||||
|
||||
Reference in New Issue
Block a user