mirror of
https://github.com/grafana/grafana.git
synced 2025-01-27 16:57:14 -06:00
Plugins: Fix bug with copying grafanaData (#64446)
This commit is contained in:
parent
fbe3bdc8f5
commit
39a4634ae9
@ -424,10 +424,11 @@ func (s *Service) httpClientOptions(ctx context.Context, ds *datasources.DataSou
|
||||
if ds.JsonData != nil {
|
||||
opts.CustomOptions = ds.JsonData.MustMap()
|
||||
// allow the plugin sdk to get the json data in JSONDataFromHTTPClientOptions
|
||||
opts.CustomOptions["grafanaData"] = make(map[string]interface{})
|
||||
deepJsonDataCopy := make(map[string]interface{}, len(opts.CustomOptions))
|
||||
for k, v := range opts.CustomOptions {
|
||||
opts.CustomOptions[k] = v
|
||||
deepJsonDataCopy[k] = v
|
||||
}
|
||||
opts.CustomOptions["grafanaData"] = deepJsonDataCopy
|
||||
}
|
||||
if ds.BasicAuth {
|
||||
password, err := s.DecryptedBasicAuthPassword(ctx, ds)
|
||||
|
@ -427,6 +427,10 @@ func TestService_GetHttpTransport(t *testing.T) {
|
||||
require.NotNil(t, rt)
|
||||
tr := configuredTransport
|
||||
|
||||
opts, err := dsService.httpClientOptions(context.Background(), &ds)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, ds.JsonData.MustMap()["grafanaData"], opts.CustomOptions["grafanaData"])
|
||||
|
||||
// make sure we can still marshal the JsonData after httpClientOptions (avoid cycles)
|
||||
_, err = ds.JsonData.MarshalJSON()
|
||||
require.NoError(t, err)
|
||||
|
Loading…
Reference in New Issue
Block a user