mirror of
https://github.com/grafana/grafana.git
synced 2025-07-31 10:02:33 +08:00
Plugins: Update DefaultSignature function signature in PluginSource interface (#100519)
* Plugins CDN: Add support for signature type and signature org * Fall-back to valid signature if the config is not supported * Move CDN signature code to DefaultSignature * fix tests
This commit is contained in:
@ -20,7 +20,7 @@ type Installer interface {
|
||||
type PluginSource interface {
|
||||
PluginClass(ctx context.Context) Class
|
||||
PluginURIs(ctx context.Context) []string
|
||||
DefaultSignature(ctx context.Context) (Signature, bool)
|
||||
DefaultSignature(ctx context.Context, pluginID string) (Signature, bool)
|
||||
}
|
||||
|
||||
type FileStore interface {
|
||||
|
@ -494,7 +494,7 @@ func (s *FakePluginSource) PluginURIs(ctx context.Context) []string {
|
||||
return []string{}
|
||||
}
|
||||
|
||||
func (s *FakePluginSource) DefaultSignature(ctx context.Context) (plugins.Signature, bool) {
|
||||
func (s *FakePluginSource) DefaultSignature(ctx context.Context, _ string) (plugins.Signature, bool) {
|
||||
if s.DefaultSignatureFunc != nil {
|
||||
return s.DefaultSignatureFunc(ctx)
|
||||
}
|
||||
|
@ -141,7 +141,7 @@ func (s *Signature) ReadPluginManifestFromFS(ctx context.Context, pfs plugins.FS
|
||||
}
|
||||
|
||||
func (s *Signature) Calculate(ctx context.Context, src plugins.PluginSource, plugin plugins.FoundPlugin) (plugins.Signature, error) {
|
||||
if defaultSignature, exists := src.DefaultSignature(ctx); exists {
|
||||
if defaultSignature, exists := src.DefaultSignature(ctx, plugin.JSONData.ID); exists {
|
||||
return defaultSignature, nil
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@ func (s *LocalSource) PluginURIs(_ context.Context) []string {
|
||||
return s.paths
|
||||
}
|
||||
|
||||
func (s *LocalSource) DefaultSignature(_ context.Context) (plugins.Signature, bool) {
|
||||
func (s *LocalSource) DefaultSignature(_ context.Context, _ string) (plugins.Signature, bool) {
|
||||
switch s.class {
|
||||
case plugins.ClassCore:
|
||||
return plugins.Signature{
|
||||
|
@ -41,7 +41,7 @@ func TestSources_List(t *testing.T) {
|
||||
filepath.Join(testdata, "app", "plugins", "datasource"),
|
||||
filepath.Join(testdata, "app", "plugins", "panel"),
|
||||
})
|
||||
sig, exists := srcs[0].DefaultSignature(ctx)
|
||||
sig, exists := srcs[0].DefaultSignature(ctx, "")
|
||||
require.True(t, exists)
|
||||
require.Equal(t, plugins.SignatureStatusInternal, sig.Status)
|
||||
require.Equal(t, plugins.SignatureType(""), sig.Type)
|
||||
@ -51,7 +51,7 @@ func TestSources_List(t *testing.T) {
|
||||
require.Equal(t, srcs[1].PluginURIs(ctx), []string{
|
||||
filepath.Join(testdata, "pluginRootWithDist", "datasource"),
|
||||
})
|
||||
sig, exists = srcs[1].DefaultSignature(ctx)
|
||||
sig, exists = srcs[1].DefaultSignature(ctx, "")
|
||||
require.False(t, exists)
|
||||
require.Equal(t, plugins.Signature{}, sig)
|
||||
|
||||
@ -59,7 +59,7 @@ func TestSources_List(t *testing.T) {
|
||||
require.Equal(t, srcs[2].PluginURIs(ctx), []string{
|
||||
filepath.Join(testdata, "pluginRootWithDist", "dist"),
|
||||
})
|
||||
sig, exists = srcs[2].DefaultSignature(ctx)
|
||||
sig, exists = srcs[2].DefaultSignature(ctx, "")
|
||||
require.False(t, exists)
|
||||
require.Equal(t, plugins.Signature{}, sig)
|
||||
|
||||
@ -67,7 +67,7 @@ func TestSources_List(t *testing.T) {
|
||||
require.Equal(t, srcs[3].PluginURIs(ctx), []string{
|
||||
filepath.Join(testdata, "pluginRootWithDist", "panel"),
|
||||
})
|
||||
sig, exists = srcs[3].DefaultSignature(ctx)
|
||||
sig, exists = srcs[3].DefaultSignature(ctx, "")
|
||||
require.False(t, exists)
|
||||
require.Equal(t, plugins.Signature{}, sig)
|
||||
})
|
||||
|
Reference in New Issue
Block a user