2022-06-17 09:48:32 -05:00
|
|
|
package prometheus
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"testing"
|
|
|
|
|
2024-03-19 09:56:40 -05:00
|
|
|
"github.com/grafana/grafana-azure-sdk-go/v2/azsettings"
|
2022-06-17 09:48:32 -05:00
|
|
|
"github.com/grafana/grafana-plugin-sdk-go/backend"
|
2024-03-11 11:22:33 -05:00
|
|
|
sdkhttpclient "github.com/grafana/grafana-plugin-sdk-go/backend/httpclient"
|
2023-10-23 09:40:43 -05:00
|
|
|
"github.com/stretchr/testify/require"
|
2022-06-17 09:48:32 -05:00
|
|
|
)
|
|
|
|
|
2024-03-11 11:22:33 -05:00
|
|
|
func TestExtendClientOpts(t *testing.T) {
|
|
|
|
t.Run("add azure credentials if configured", func(t *testing.T) {
|
|
|
|
cfg := backend.NewGrafanaCfg(map[string]string{
|
|
|
|
azsettings.AzureCloud: azsettings.AzurePublic,
|
|
|
|
azsettings.AzureAuthEnabled: "true",
|
|
|
|
})
|
|
|
|
settings := backend.DataSourceInstanceSettings{
|
|
|
|
BasicAuthEnabled: false,
|
|
|
|
BasicAuthUser: "",
|
|
|
|
JSONData: []byte(`{
|
|
|
|
"azureCredentials": {
|
|
|
|
"authType": "msi"
|
2022-06-17 09:48:32 -05:00
|
|
|
}
|
2024-03-11 11:22:33 -05:00
|
|
|
}`),
|
|
|
|
DecryptedSecureJSONData: map[string]string{},
|
|
|
|
}
|
|
|
|
ctx := backend.WithGrafanaConfig(context.Background(), cfg)
|
|
|
|
opts := &sdkhttpclient.Options{}
|
2024-07-17 09:09:55 -05:00
|
|
|
err := extendClientOpts(ctx, settings, opts, backend.Logger)
|
2024-03-11 11:22:33 -05:00
|
|
|
require.NoError(t, err)
|
|
|
|
require.Equal(t, 1, len(opts.Middlewares))
|
|
|
|
})
|
2022-06-17 09:48:32 -05:00
|
|
|
|
2024-03-11 11:22:33 -05:00
|
|
|
t.Run("add sigV4 auth if opts has SigV4 configured", func(t *testing.T) {
|
|
|
|
settings := backend.DataSourceInstanceSettings{
|
|
|
|
BasicAuthEnabled: false,
|
|
|
|
BasicAuthUser: "",
|
|
|
|
JSONData: []byte(""),
|
|
|
|
DecryptedSecureJSONData: map[string]string{},
|
|
|
|
}
|
|
|
|
opts := &sdkhttpclient.Options{
|
|
|
|
SigV4: &sdkhttpclient.SigV4Config{
|
|
|
|
AuthType: "test",
|
|
|
|
AccessKey: "accesskey",
|
|
|
|
SecretKey: "secretkey",
|
|
|
|
},
|
|
|
|
}
|
2024-07-17 09:09:55 -05:00
|
|
|
err := extendClientOpts(context.Background(), settings, opts, backend.Logger)
|
2024-03-11 11:22:33 -05:00
|
|
|
require.NoError(t, err)
|
|
|
|
require.Equal(t, "aps", opts.SigV4.Service)
|
2022-06-17 09:48:32 -05:00
|
|
|
})
|
|
|
|
}
|