Files
grafana/pkg/plugins/backendplugin/coreplugin/registry_test.go
Ivana Huckova 4d0a7637b2 Zipkin: Run health check through backend (#96031)
* Zipkin: Run health check through backend

* Mark some errors as downstream

* Update pkg/tsdb/zipkin/zipkin.go

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* Use errors.New where error formatting is not needed

* Remove executable in plugin.json

* Fix joining the path

* Keep logger as global and then create from context

* Close the res body

---------

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2024-11-07 16:48:00 +01:00

65 lines
1.5 KiB
Go

package coreplugin
import (
"testing"
"github.com/grafana/grafana-plugin-sdk-go/backend/httpclient"
"github.com/grafana/grafana/pkg/infra/tracing"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/setting"
"github.com/stretchr/testify/require"
)
func TestNewPlugin(t *testing.T) {
tcs := []struct {
ID string
ExpectedID string
ExpectedAlias string
ExpectedNotFoundErr bool
}{
{ID: AzureMonitor},
{ID: CloudMonitoring},
{ID: CloudWatch},
{ID: Elasticsearch},
{ID: Grafana, ExpectedNotFoundErr: true},
{ID: Graphite},
{ID: InfluxDB},
{ID: Loki},
{ID: MSSQL},
{ID: MySQL},
{ID: OpenTSDB},
{ID: Parca},
{ID: PostgreSQL},
{ID: Prometheus},
{ID: Pyroscope},
{ID: Tempo},
{ID: TestData, ExpectedAlias: TestDataAlias},
{ID: TestDataAlias, ExpectedID: TestData, ExpectedAlias: TestDataAlias},
{ID: Zipkin},
}
for _, tc := range tcs {
t.Run(tc.ID, func(t *testing.T) {
if tc.ExpectedID == "" {
tc.ExpectedID = tc.ID
}
p, err := NewPlugin(tc.ID, setting.NewCfg(), httpclient.NewProvider(), tracing.InitializeTracerForTest(), featuremgmt.WithFeatures())
if tc.ExpectedNotFoundErr {
require.ErrorIs(t, err, ErrCorePluginNotFound)
require.Nil(t, p)
} else {
require.NoError(t, err)
require.NotNil(t, p)
require.Equal(t, tc.ExpectedID, p.ID)
if tc.ExpectedAlias != "" {
require.Equal(t, tc.ExpectedAlias, p.AliasIDs[0])
}
c, exists := p.Client()
require.True(t, exists)
require.NotNil(t, c)
}
})
}
}