Plugins: Update PDC pattern from latest plugin SDK changes (#76036)

* update with sdk

* do sql

* fix core plugins

* fix proxy settings

* bump SDK version

* tidy

* enable pdc for test

* add codeowners
This commit is contained in:
Will Browne
2023-10-13 14:42:15 +02:00
committed by GitHub
parent e2ba399e30
commit 151f6d6216
35 changed files with 113 additions and 81 deletions
+3 -2
View File
@@ -1,6 +1,7 @@
package client
import (
"context"
"fmt"
"strings"
@@ -17,8 +18,8 @@ import (
// CreateTransportOptions creates options for the http client. Probably should be shared and should not live in the
// buffered package.
func CreateTransportOptions(settings backend.DataSourceInstanceSettings, cfg *setting.Cfg, logger log.Logger) (*sdkhttpclient.Options, error) {
opts, err := settings.HTTPClientOptions()
func CreateTransportOptions(ctx context.Context, settings backend.DataSourceInstanceSettings, cfg *setting.Cfg, logger log.Logger) (*sdkhttpclient.Options, error) {
opts, err := settings.HTTPClientOptions(ctx)
if err != nil {
return nil, fmt.Errorf("error getting HTTP options: %w", err)
}
+3 -2
View File
@@ -1,6 +1,7 @@
package client
import (
"context"
"testing"
"github.com/grafana/grafana-azure-sdk-go/azsettings"
@@ -21,7 +22,7 @@ func TestCreateTransportOptions(t *testing.T) {
"httpHeaderValue1": "bar",
},
}
opts, err := CreateTransportOptions(settings, &setting.Cfg{}, &logtest.Fake{})
opts, err := CreateTransportOptions(context.Background(), settings, &setting.Cfg{}, &logtest.Fake{})
require.NoError(t, err)
require.Equal(t, map[string]string{"foo": "bar"}, opts.Headers)
require.Equal(t, 2, len(opts.Middlewares))
@@ -38,7 +39,7 @@ func TestCreateTransportOptions(t *testing.T) {
}`),
DecryptedSecureJSONData: map[string]string{},
}
opts, err := CreateTransportOptions(settings, &setting.Cfg{AzureAuthEnabled: true, Azure: &azsettings.AzureSettings{}}, &logtest.Fake{})
opts, err := CreateTransportOptions(context.Background(), settings, &setting.Cfg{AzureAuthEnabled: true, Azure: &azsettings.AzureSettings{}}, &logtest.Fake{})
require.NoError(t, err)
require.Equal(t, 3, len(opts.Middlewares))
})
+2 -2
View File
@@ -46,9 +46,9 @@ func ProvideService(httpClientProvider httpclient.Provider, cfg *setting.Cfg, fe
}
func newInstanceSettings(httpClientProvider httpclient.Provider, cfg *setting.Cfg, features featuremgmt.FeatureToggles, tracer tracing.Tracer) datasource.InstanceFactoryFunc {
return func(_ context.Context, settings backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
return func(ctx context.Context, settings backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
// Creates a http roundTripper.
opts, err := client.CreateTransportOptions(settings, cfg, plog)
opts, err := client.CreateTransportOptions(ctx, settings, cfg, plog)
if err != nil {
return nil, fmt.Errorf("error creating transport options: %v", err)
}
@@ -445,7 +445,7 @@ func setup() (*testContext, error) {
features := &fakeFeatureToggles{flags: map[string]bool{"prometheusBufferedClient": false}}
opts, err := client.CreateTransportOptions(settings, &setting.Cfg{}, &logtest.Fake{})
opts, err := client.CreateTransportOptions(context.Background(), settings, &setting.Cfg{}, &logtest.Fake{})
if err != nil {
return nil, err
}