|
|
@@ -47,6 +47,11 @@ func TestDashboardApiEndpoint(t *testing.T) {
|
|
|
return nil
|
|
|
})
|
|
|
|
|
|
+ bus.AddHandler("test", func(query *m.GetDashboardUidBySlugQuery) error {
|
|
|
+ query.Result = fakeDash.Uid
|
|
|
+ return nil
|
|
|
+ })
|
|
|
+
|
|
|
viewerRole := m.ROLE_VIEWER
|
|
|
editorRole := m.ROLE_EDITOR
|
|
|
|
|
|
@@ -104,6 +109,14 @@ func TestDashboardApiEndpoint(t *testing.T) {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+ loggedInUserScenarioWithRole("When calling GET on", "GET", "/api/dashboards/db/child-dash/uid", "/api/dashboards/db/:slug/uid", role, func(sc *scenarioContext) {
|
|
|
+ uid := GetDashboardUidBySlugShouldReturn200(sc)
|
|
|
+
|
|
|
+ Convey("Should return uid", func() {
|
|
|
+ So(uid, ShouldEqual, fakeDash.Uid)
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
loggedInUserScenarioWithRole("When calling DELETE on", "DELETE", "/api/dashboards/db/child-dash", "/api/dashboards/db/:slug", role, func(sc *scenarioContext) {
|
|
|
CallDeleteDashboard(sc)
|
|
|
So(sc.resp.Code, ShouldEqual, 403)
|
|
|
@@ -160,6 +173,14 @@ func TestDashboardApiEndpoint(t *testing.T) {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+ loggedInUserScenarioWithRole("When calling GET on", "GET", "/api/dashboards/db/child-dash/uid", "/api/dashboards/db/:slug/uid", role, func(sc *scenarioContext) {
|
|
|
+ uid := GetDashboardUidBySlugShouldReturn200(sc)
|
|
|
+
|
|
|
+ Convey("Should return uid", func() {
|
|
|
+ So(uid, ShouldEqual, fakeDash.Uid)
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
loggedInUserScenarioWithRole("When calling DELETE on", "DELETE", "/api/dashboards/db/child-dash", "/api/dashboards/db/:slug", role, func(sc *scenarioContext) {
|
|
|
CallDeleteDashboard(sc)
|
|
|
So(sc.resp.Code, ShouldEqual, 200)
|
|
|
@@ -241,6 +262,11 @@ func TestDashboardApiEndpoint(t *testing.T) {
|
|
|
return nil
|
|
|
})
|
|
|
|
|
|
+ bus.AddHandler("test", func(query *m.GetDashboardUidBySlugQuery) error {
|
|
|
+ query.Result = fakeDash.Uid
|
|
|
+ return nil
|
|
|
+ })
|
|
|
+
|
|
|
bus.AddHandler("test", func(query *m.GetTeamsByUserQuery) error {
|
|
|
query.Result = []*m.Team{}
|
|
|
return nil
|
|
|
@@ -284,6 +310,14 @@ func TestDashboardApiEndpoint(t *testing.T) {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+ loggedInUserScenarioWithRole("When calling GET on", "GET", "/api/dashboards/db/child-dash/uid", "/api/dashboards/db/:slug/uid", role, func(sc *scenarioContext) {
|
|
|
+ CallGetDashboardUidBySlug(sc)
|
|
|
+
|
|
|
+ Convey("Should be denied access", func() {
|
|
|
+ So(sc.resp.Code, ShouldEqual, 403)
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
loggedInUserScenarioWithRole("When calling DELETE on", "DELETE", "/api/dashboards/db/child-dash", "/api/dashboards/db/:slug", role, func(sc *scenarioContext) {
|
|
|
CallDeleteDashboard(sc)
|
|
|
So(sc.resp.Code, ShouldEqual, 403)
|
|
|
@@ -338,6 +372,14 @@ func TestDashboardApiEndpoint(t *testing.T) {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+ loggedInUserScenarioWithRole("When calling GET on", "GET", "/api/dashboards/db/child-dash/uid", "/api/dashboards/db/:slug/uid", role, func(sc *scenarioContext) {
|
|
|
+ CallGetDashboardUidBySlug(sc)
|
|
|
+
|
|
|
+ Convey("Should be denied access", func() {
|
|
|
+ So(sc.resp.Code, ShouldEqual, 403)
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
loggedInUserScenarioWithRole("When calling DELETE on", "DELETE", "/api/dashboards/db/child-dash", "/api/dashboards/db/:slug", role, func(sc *scenarioContext) {
|
|
|
CallDeleteDashboard(sc)
|
|
|
So(sc.resp.Code, ShouldEqual, 403)
|
|
|
@@ -403,6 +445,14 @@ func TestDashboardApiEndpoint(t *testing.T) {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+ loggedInUserScenarioWithRole("When calling GET on", "GET", "/api/dashboards/db/child-dash/uid", "/api/dashboards/db/:slug/uid", role, func(sc *scenarioContext) {
|
|
|
+ uid := GetDashboardUidBySlugShouldReturn200(sc)
|
|
|
+
|
|
|
+ Convey("Should return uid", func() {
|
|
|
+ So(uid, ShouldEqual, fakeDash.Uid)
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
loggedInUserScenarioWithRole("When calling DELETE on", "DELETE", "/api/dashboards/db/child-dash", "/api/dashboards/db/:slug", role, func(sc *scenarioContext) {
|
|
|
CallDeleteDashboard(sc)
|
|
|
So(sc.resp.Code, ShouldEqual, 200)
|
|
|
@@ -474,6 +524,14 @@ func TestDashboardApiEndpoint(t *testing.T) {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+ loggedInUserScenarioWithRole("When calling GET on", "GET", "/api/dashboards/db/child-dash/uid", "/api/dashboards/db/:slug/uid", role, func(sc *scenarioContext) {
|
|
|
+ uid := GetDashboardUidBySlugShouldReturn200(sc)
|
|
|
+
|
|
|
+ Convey("Should return uid", func() {
|
|
|
+ So(uid, ShouldEqual, fakeDash.Uid)
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
loggedInUserScenarioWithRole("When calling DELETE on", "DELETE", "/api/dashboards/db/child-dash", "/api/dashboards/db/:slug", role, func(sc *scenarioContext) {
|
|
|
CallDeleteDashboard(sc)
|
|
|
So(sc.resp.Code, ShouldEqual, 403)
|
|
|
@@ -524,6 +582,14 @@ func TestDashboardApiEndpoint(t *testing.T) {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+ loggedInUserScenarioWithRole("When calling GET on", "GET", "/api/dashboards/db/child-dash/uid", "/api/dashboards/db/:slug/uid", role, func(sc *scenarioContext) {
|
|
|
+ uid := GetDashboardUidBySlugShouldReturn200(sc)
|
|
|
+
|
|
|
+ Convey("Should return uid", func() {
|
|
|
+ So(uid, ShouldEqual, fakeDash.Uid)
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
loggedInUserScenarioWithRole("When calling DELETE on", "DELETE", "/api/dashboards/db/child-dash", "/api/dashboards/db/:slug", role, func(sc *scenarioContext) {
|
|
|
CallDeleteDashboard(sc)
|
|
|
So(sc.resp.Code, ShouldEqual, 200)
|
|
|
@@ -592,6 +658,14 @@ func TestDashboardApiEndpoint(t *testing.T) {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+ loggedInUserScenarioWithRole("When calling GET on", "GET", "/api/dashboards/db/child-dash/uid", "/api/dashboards/db/:slug/uid", role, func(sc *scenarioContext) {
|
|
|
+ uid := GetDashboardUidBySlugShouldReturn200(sc)
|
|
|
+
|
|
|
+ Convey("Should return uid", func() {
|
|
|
+ So(uid, ShouldEqual, fakeDash.Uid)
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
loggedInUserScenarioWithRole("When calling DELETE on", "DELETE", "/api/dashboards/db/child-dash", "/api/dashboards/db/:slug", role, func(sc *scenarioContext) {
|
|
|
CallDeleteDashboard(sc)
|
|
|
So(sc.resp.Code, ShouldEqual, 403)
|
|
|
@@ -632,6 +706,20 @@ func GetDashboardShouldReturn200(sc *scenarioContext) dtos.DashboardFullWithMeta
|
|
|
return dash
|
|
|
}
|
|
|
|
|
|
+func GetDashboardUidBySlugShouldReturn200(sc *scenarioContext) string {
|
|
|
+ CallGetDashboardUidBySlug(sc)
|
|
|
+
|
|
|
+ So(sc.resp.Code, ShouldEqual, 200)
|
|
|
+
|
|
|
+ result := sc.ToJson()
|
|
|
+ return result.Get("uid").MustString()
|
|
|
+}
|
|
|
+
|
|
|
+func CallGetDashboardUidBySlug(sc *scenarioContext) {
|
|
|
+ sc.handlerFunc = GetDashboardUidBySlug
|
|
|
+ sc.fakeReqWithParams("GET", sc.url, map[string]string{}).exec()
|
|
|
+}
|
|
|
+
|
|
|
func CallGetDashboardVersion(sc *scenarioContext) {
|
|
|
bus.AddHandler("test", func(query *m.GetDashboardVersionQuery) error {
|
|
|
query.Result = &m.DashboardVersion{}
|