|
|
@@ -374,6 +374,29 @@ func TestDSRouteRule(t *testing.T) {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+ Convey("When proxying a custom datasource", func() {
|
|
|
+ plugin := &plugins.DataSourcePlugin{}
|
|
|
+
|
|
|
+ ds := &m.DataSource{
|
|
|
+ Type: "custom-datasource",
|
|
|
+ Url: "http://host/root/",
|
|
|
+ }
|
|
|
+
|
|
|
+ ctx := &m.ReqContext{}
|
|
|
+ proxy := NewDataSourceProxy(ds, plugin, ctx, "")
|
|
|
+
|
|
|
+ req, err := http.NewRequest(http.MethodGet, "http://host/root/path/to/folder/", nil)
|
|
|
+ So(err, ShouldBeNil)
|
|
|
+
|
|
|
+ proxy.getDirector()(req)
|
|
|
+
|
|
|
+ Convey("Shoudl keep user request (including trailing slash)", func() {
|
|
|
+ So(req.URL.String(), ShouldEqual, "http://host/root/path/to/folder/")
|
|
|
+ // Fails with:
|
|
|
+ // Expected: 'http://host/root/path/to/folder/'
|
|
|
+ // Actual: 'http://host/root/'
|
|
|
+ })
|
|
|
+ })
|
|
|
})
|
|
|
}
|
|
|
|