@ -42,9 +42,9 @@ func TestDashboardAclApiEndpoint(t *testing.T) {
} )
Convey ( "When user is org admin" , func ( ) {
loggedInUserScenarioWithRole ( "When calling GET on" , "GET" , "/api/dashboards/1/acl" , "/api/dashboards/:i d/acl" , models . ROLE_ADMIN , func ( sc * scenarioContext ) {
loggedInUserScenarioWithRole ( "When calling GET on" , "GET" , "/api/dashboards/id/ 1/acl" , "/api/dashboards/id/:dashboardsI d/acl" , models . ROLE_ADMIN , func ( sc * scenarioContext ) {
Convey ( "Should be able to access ACL" , func ( ) {
sc . handlerFunc = GetDashboardAcl
sc . handlerFunc = GetDashboardAclList
sc . fakeReqWithParams ( "GET" , sc . url , map [ string ] string { } ) . exec ( )
So ( sc . resp . Code , ShouldEqual , 200 )
@ -58,18 +58,18 @@ func TestDashboardAclApiEndpoint(t *testing.T) {
} )
Convey ( "When user is editor and in the ACL" , func ( ) {
loggedInUserScenarioWithRole ( "When calling GET on" , "GET" , "/api/dashboards/1/acl" , "/api/dashboards/:i d/acl" , models . ROLE_EDITOR , func ( sc * scenarioContext ) {
loggedInUserScenarioWithRole ( "When calling GET on" , "GET" , "/api/dashboards/id/ 1/acl" , "/api/dashboards/id/:dashboardI d/acl" , models . ROLE_EDITOR , func ( sc * scenarioContext ) {
mockResult = append ( mockResult , & models . DashboardAcl { Id : 1 , OrgId : 1 , DashboardId : 1 , UserId : 1 , Permissions : models . PERMISSION_EDIT } )
Convey ( "Should be able to access ACL" , func ( ) {
sc . handlerFunc = GetDashboardAcl
sc . handlerFunc = GetDashboardAclList
sc . fakeReqWithParams ( "GET" , sc . url , map [ string ] string { } ) . exec ( )
So ( sc . resp . Code , ShouldEqual , 200 )
} )
} )
loggedInUserScenarioWithRole ( "When calling DELETE on" , "DELETE" , "/api/dashboards/1/acl/user /1" , "/api/dashboards/:id/acl/user/:user Id" , models . ROLE_EDITOR , func ( sc * scenarioContext ) {
loggedInUserScenarioWithRole ( "When calling DELETE on" , "DELETE" , "/api/dashboards/id/ 1/acl/1" , "/api/dashboards/id/:dashboardId/acl/:acl Id" , models . ROLE_EDITOR , func ( sc * scenarioContext ) {
mockResult = append ( mockResult , & models . DashboardAcl { Id : 1 , OrgId : 1 , DashboardId : 1 , UserId : 1 , Permissions : models . PERMISSION_EDIT } )
bus . AddHandler ( "test3" , func ( cmd * models . RemoveDashboardAclCommand ) error {
@ -77,7 +77,7 @@ func TestDashboardAclApiEndpoint(t *testing.T) {
} )
Convey ( "Should be able to delete permission" , func ( ) {
sc . handlerFunc = DeleteDashboardAclByUser
sc . handlerFunc = DeleteDashboardAcl
sc . fakeReqWithParams ( "DELETE" , sc . url , map [ string ] string { } ) . exec ( )
So ( sc . resp . Code , ShouldEqual , 200 )
@ -85,7 +85,7 @@ func TestDashboardAclApiEndpoint(t *testing.T) {
} )
Convey ( "When user is a member of a user group in the ACL with edit permission" , func ( ) {
loggedInUserScenarioWithRole ( "When calling DELETE on" , "DELETE" , "/api/dashboards/1/acl/user /1" , "/api/dashboards/:id/acl/user/:user Id" , models . ROLE_EDITOR , func ( sc * scenarioContext ) {
loggedInUserScenarioWithRole ( "When calling DELETE on" , "DELETE" , "/api/dashboards/id/ 1/acl/1" , "/api/dashboards/id/:dashboardsId/acl/:acl Id" , models . ROLE_EDITOR , func ( sc * scenarioContext ) {
userGroupResp = append ( userGroupResp , & models . UserGroup { Id : 1 , OrgId : 1 , Name : "UG1" } )
bus . AddHandler ( "test3" , func ( cmd * models . RemoveDashboardAclCommand ) error {
@ -93,7 +93,7 @@ func TestDashboardAclApiEndpoint(t *testing.T) {
} )
Convey ( "Should be able to delete permission" , func ( ) {
sc . handlerFunc = DeleteDashboardAclByUser
sc . handlerFunc = DeleteDashboardAcl
sc . fakeReqWithParams ( "DELETE" , sc . url , map [ string ] string { } ) . exec ( )
So ( sc . resp . Code , ShouldEqual , 200 )
@ -103,24 +103,24 @@ func TestDashboardAclApiEndpoint(t *testing.T) {
} )
Convey ( "When user is editor and not in the ACL" , func ( ) {
loggedInUserScenarioWithRole ( "When calling GET on" , "GET" , "/api/dashboards/1/acl" , "/api/dashboards/:i d/acl" , models . ROLE_EDITOR , func ( sc * scenarioContext ) {
loggedInUserScenarioWithRole ( "When calling GET on" , "GET" , "/api/dashboards/id/ 1/acl" , "/api/dashboards/id/:dashboardsI d/acl" , models . ROLE_EDITOR , func ( sc * scenarioContext ) {
Convey ( "Should not be able to access ACL" , func ( ) {
sc . handlerFunc = GetDashboardAcl
sc . handlerFunc = GetDashboardAclList
sc . fakeReqWithParams ( "GET" , sc . url , map [ string ] string { } ) . exec ( )
So ( sc . resp . Code , ShouldEqual , 403 )
} )
} )
loggedInUserScenarioWithRole ( "When calling DELETE on" , "DELETE" , "/api/dashboards/1/acl/user/1" , "/api/dashboards/:i d/acl/user/:userId" , models . ROLE_EDITOR , func ( sc * scenarioContext ) {
loggedInUserScenarioWithRole ( "When calling DELETE on" , "DELETE" , "/api/dashboards/id/ 1/acl/user/1" , "/api/dashboards/id/:dashboardsI d/acl/user/:userId" , models . ROLE_EDITOR , func ( sc * scenarioContext ) {
mockResult = append ( mockResult , & models . DashboardAcl { Id : 1 , OrgId : 1 , DashboardId : 1 , UserId : 1 , Permissions : models . PERMISSION_VIEW } )
bus . AddHandler ( "test3" , func ( cmd * models . RemoveDashboardAclCommand ) error {
return nil
} )
Convey ( "Should be not be able to delete permission" , func ( ) {
sc . handlerFunc = DeleteDashboardAclByUser
sc . handlerFunc = DeleteDashboardAcl
sc . fakeReqWithParams ( "DELETE" , sc . url , map [ string ] string { } ) . exec ( )
So ( sc . resp . Code , ShouldEqual , 403 )