Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
pietern authored and nfx committed Mar 18, 2021
1 parent 652f53c commit a9961bd
Showing 1 changed file with 108 additions and 0 deletions.
108 changes: 108 additions & 0 deletions access/resource_permissions_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,48 @@ func TestResourcePermissionsRead(t *testing.T) {
assert.Equal(t, "CAN_READ", firstElem["permission_level"])
}

func TestResourcePermissionsRead_SQLA_Asset(t *testing.T) {
d, err := qa.ResourceFixture{
Fixtures: []qa.HTTPFixture{
{
Method: http.MethodGet,
Resource: "/api/2.0/preview/sql/permissions/dashboards/abc",
Response: ObjectACL{
ObjectID: "/sql/dashboards/abc",
ObjectType: "dashboard",
AccessControlList: []AccessControl{
{
UserName: TestingUser,
PermissionLevel: "CAN_READ",
},
{
UserName: TestingAdminUser,
PermissionLevel: "CAN_MANAGE",
},
},
},
},
{
Method: http.MethodGet,
Resource: "/api/2.0/preview/scim/v2/Me",
Response: identity.ScimUser{
UserName: TestingAdminUser,
},
},
},
Resource: ResourcePermissions(),
Read: true,
New: true,
ID: "/sql/dashboards/abc",
}.Apply(t)
assert.NoError(t, err, err)
assert.Equal(t, "/sql/dashboards/abc", d.Id())
ac := d.Get("access_control").(*schema.Set)
require.Equal(t, 1, len(ac.List()))
firstElem := ac.List()[0].(map[string]interface{})
assert.Equal(t, TestingUser, firstElem["user_name"])
assert.Equal(t, "CAN_READ", firstElem["permission_level"])
}
func TestResourcePermissionsRead_NotFound(t *testing.T) {
qa.ResourceFixture{
Fixtures: []qa.HTTPFixture{
Expand Down Expand Up @@ -388,6 +430,72 @@ func TestResourcePermissionsCreate(t *testing.T) {
assert.Equal(t, "CAN_READ", firstElem["permission_level"])
}

func TestResourcePermissionsCreate_SQLA_Asset(t *testing.T) {
d, err := qa.ResourceFixture{
Fixtures: []qa.HTTPFixture{
{
Method: http.MethodPost,
Resource: "/api/2.0/preview/sql/permissions/dashboards/abc",
ExpectedRequest: AccessControlChangeList{
AccessControlList: []AccessControlChange{
{
UserName: TestingUser,
PermissionLevel: "CAN_READ",
},
{
UserName: TestingAdminUser,
PermissionLevel: "CAN_MANAGE",
},
},
},
},
{
Method: http.MethodGet,
Resource: "/api/2.0/preview/sql/permissions/dashboards/abc",
Response: ObjectACL{
ObjectID: "/sql/dashboards/abc",
ObjectType: "dashboard",
AccessControlList: []AccessControl{
{
UserName: TestingUser,
PermissionLevel: "CAN_READ",
},
{
UserName: TestingAdminUser,
PermissionLevel: "CAN_MANAGE",
},
},
},
},
{
Method: http.MethodGet,
ReuseRequest: true,
Resource: "/api/2.0/preview/scim/v2/Me",
Response: identity.ScimUser{
UserName: TestingAdminUser,
},
},
},
Resource: ResourcePermissions(),
State: map[string]interface{}{
"sql_dashboard_id": "abc",
"access_control": []interface{}{
map[string]interface{}{
"user_name": TestingUser,
"permission_level": "CAN_READ",
},
},
},
Create: true,
}.Apply(t)
assert.NoError(t, err, err)
ac := d.Get("access_control").(*schema.Set)
require.Equal(t, 1, len(ac.List()))
firstElem := ac.List()[0].(map[string]interface{})
assert.Equal(t, TestingUser, firstElem["user_name"])
assert.Equal(t, "CAN_READ", firstElem["permission_level"])
}

func TestResourcePermissionsCreate_NotebookPath_NotExists(t *testing.T) {
_, err := qa.ResourceFixture{
Fixtures: []qa.HTTPFixture{
Expand Down

0 comments on commit a9961bd

Please sign in to comment.