Files
grafana/pkg/services/pluginsintegration/clientmiddleware/plugin_request_meta_middleware_test.go
T
grafana-delivery-bot[bot]andGiuseppe Guerra 3af5f39678 [v10.2.x] Plugins: Fix status_source always being "plugin" in plugin request logs (#77436)
Plugins: Fix status_source always being "plugin" in plugin request logs (#77433)

* Plugins: Fix status_source always being "plugin" in plugin logs

* add tests

* Fix TestInstrumentationMiddlewareStatusSource

(cherry picked from commit 46261de32d)

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2023-10-31 14:00:46 +01:00

41 lines
1.3 KiB
Go

package clientmiddleware
import (
"context"
"testing"
"github.com/grafana/grafana-plugin-sdk-go/backend"
"github.com/stretchr/testify/require"
"github.com/grafana/grafana/pkg/plugins"
"github.com/grafana/grafana/pkg/plugins/manager/client/clienttest"
"github.com/grafana/grafana/pkg/plugins/pluginrequestmeta"
)
func TestPluginRequestMetaMiddleware(t *testing.T) {
t.Run("default", func(t *testing.T) {
cdt := clienttest.NewClientDecoratorTest(t,
clienttest.WithMiddlewares(NewPluginRequestMetaMiddleware()),
)
_, err := cdt.Decorator.QueryData(context.Background(), &backend.QueryDataRequest{})
require.NoError(t, err)
ss := pluginrequestmeta.StatusSourceFromContext(cdt.QueryDataCtx)
require.Equal(t, pluginrequestmeta.StatusSourcePlugin, ss)
})
t.Run("other value", func(t *testing.T) {
cdt := clienttest.NewClientDecoratorTest(t,
clienttest.WithMiddlewares(plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client {
return &PluginRequestMetaMiddleware{
next: next,
defaultStatusSource: "test",
}
})),
)
_, err := cdt.Decorator.QueryData(context.Background(), &backend.QueryDataRequest{})
require.NoError(t, err)
ss := pluginrequestmeta.StatusSourceFromContext(cdt.QueryDataCtx)
require.Equal(t, pluginrequestmeta.StatusSource("test"), ss)
})
}