Browse Source

add a test

Ryan McKinley 7 years ago
parent
commit
71dfeff782
1 changed files with 23 additions and 0 deletions
  1. 23 0
      pkg/api/pluginproxy/ds_proxy_test.go

+ 23 - 0
pkg/api/pluginproxy/ds_proxy_test.go

@@ -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/'
+			})
+		})
 	})
 }