mirror of
https://github.com/grafana/grafana.git
synced 2025-07-30 08:12:53 +08:00
Add error options for rendering to return errors on failure (#48864)
This commit is contained in:
@ -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{
|
||||
|
Reference in New Issue
Block a user