|
|
|
@ -11,6 +11,7 @@ import ( |
|
|
|
|
|
|
|
|
|
"github.com/grafana/grafana/pkg/infra/log" |
|
|
|
|
"github.com/grafana/grafana/pkg/models" |
|
|
|
|
"github.com/grafana/grafana/pkg/plugins" |
|
|
|
|
"github.com/grafana/grafana/pkg/setting" |
|
|
|
|
"github.com/stretchr/testify/assert" |
|
|
|
|
"github.com/stretchr/testify/require" |
|
|
|
@ -102,6 +103,22 @@ func TestRenderErrorImage(t *testing.T) { |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type unavailableRendererManager struct{} |
|
|
|
|
|
|
|
|
|
func (m unavailableRendererManager) Renderer() *plugins.Plugin { return nil } |
|
|
|
|
|
|
|
|
|
func TestRenderUnavailableError(t *testing.T) { |
|
|
|
|
rs := RenderingService{ |
|
|
|
|
Cfg: &setting.Cfg{}, |
|
|
|
|
log: log.New("test"), |
|
|
|
|
RendererPluginManager: unavailableRendererManager{}, |
|
|
|
|
} |
|
|
|
|
opts := Opts{ErrorOpts: ErrorOpts{ErrorRenderUnavailable: true}} |
|
|
|
|
result, err := rs.Render(context.Background(), opts, nil) |
|
|
|
|
assert.Equal(t, ErrRenderUnavailable, err) |
|
|
|
|
assert.Nil(t, result) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func TestRenderLimitImage(t *testing.T) { |
|
|
|
|
path, err := filepath.Abs("../../../") |
|
|
|
|
require.NoError(t, err) |
|
|
|
@ -146,6 +163,22 @@ func TestRenderLimitImage(t *testing.T) { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func TestRenderLimitImageError(t *testing.T) { |
|
|
|
|
rs := RenderingService{ |
|
|
|
|
Cfg: &setting.Cfg{}, |
|
|
|
|
inProgressCount: 2, |
|
|
|
|
log: log.New("test"), |
|
|
|
|
} |
|
|
|
|
opts := Opts{ |
|
|
|
|
ErrorOpts: ErrorOpts{ErrorConcurrentLimitReached: true}, |
|
|
|
|
ConcurrentLimit: 1, |
|
|
|
|
Theme: models.ThemeDark, |
|
|
|
|
} |
|
|
|
|
result, err := rs.Render(context.Background(), opts, nil) |
|
|
|
|
assert.Equal(t, ErrConcurrentLimitReached, err) |
|
|
|
|
assert.Nil(t, result) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func TestRenderingServiceGetRemotePluginVersion(t *testing.T) { |
|
|
|
|
cfg := setting.NewCfg() |
|
|
|
|
rs := &RenderingService{ |
|
|
|
|