| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package pluginproxy
- import (
- "testing"
- "github.com/grafana/grafana/pkg/bus"
- m "github.com/grafana/grafana/pkg/models"
- "github.com/grafana/grafana/pkg/plugins"
- "github.com/grafana/grafana/pkg/setting"
- "github.com/grafana/grafana/pkg/util"
- . "github.com/smartystreets/goconvey/convey"
- )
- func TestPluginProxy(t *testing.T) {
- Convey("When getting proxy headers", t, func() {
- route := &plugins.AppPluginRoute{
- Headers: []plugins.AppPluginRouteHeader{
- {Name: "x-header", Content: "my secret {{.SecureJsonData.key}}"},
- },
- }
- setting.SecretKey = "password"
- bus.AddHandler("test", func(query *m.GetPluginSettingByIdQuery) error {
- key, err := util.Encrypt([]byte("123"), "password")
- if err != nil {
- return err
- }
- query.Result = &m.PluginSetting{
- SecureJsonData: map[string][]byte{
- "key": key,
- },
- }
- return nil
- })
- header, err := getHeaders(route, 1, "my-app")
- So(err, ShouldBeNil)
- Convey("Should render header template", func() {
- So(header.Get("x-header"), ShouldEqual, "my secret 123")
- })
- })
- }
|