feat(users): add roles APIs (#63)
* feat(kvstore): add namespace operations for bool * feat(userstore): add methods for roles * chore(multiusers): remove useless todo * feat(multiusers): add apis for roles * test(roles): add e2e tests for role APIs * test(e2e/files): enable files tests
This commit is contained in:
parent
4b6f6d9e1f
commit
9748d0cab4
10 changed files with 316 additions and 11 deletions
|
@ -112,4 +112,62 @@ func TestSingleUserHandlers(t *testing.T) {
|
|||
t.Fatal(resp.StatusCode)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("test roles APIs: Login-AddRole-ListRoles-DelRole-ListRoles", func(t *testing.T) {
|
||||
resp, _, errs := usersCl.Login(adminName, adminNewPwd)
|
||||
if len(errs) > 0 {
|
||||
t.Fatal(errs)
|
||||
} else if resp.StatusCode != 200 {
|
||||
t.Fatal(resp.StatusCode)
|
||||
}
|
||||
|
||||
token := client.GetCookie(resp.Cookies(), su.TokenCookie)
|
||||
roles := []string{"role1", "role2"}
|
||||
|
||||
for _, role := range roles {
|
||||
resp, _, errs := usersCl.AddRole(role, token)
|
||||
if len(errs) > 0 {
|
||||
t.Fatal(errs)
|
||||
} else if resp.StatusCode != 200 {
|
||||
t.Fatal(resp.StatusCode)
|
||||
}
|
||||
}
|
||||
|
||||
resp, lsResp, errs := usersCl.ListRoles(token)
|
||||
if len(errs) > 0 {
|
||||
t.Fatal(errs)
|
||||
} else if resp.StatusCode != 200 {
|
||||
t.Fatal(resp.StatusCode)
|
||||
}
|
||||
for _, role := range append(roles, []string{
|
||||
userstore.AdminRole,
|
||||
userstore.UserRole,
|
||||
userstore.VisitorRole,
|
||||
}...) {
|
||||
if !lsResp.Roles[role] {
|
||||
t.Fatalf("role(%s) not found", role)
|
||||
}
|
||||
}
|
||||
|
||||
for _, role := range roles {
|
||||
resp, _, errs := usersCl.DelRole(role, token)
|
||||
if len(errs) > 0 {
|
||||
t.Fatal(errs)
|
||||
} else if resp.StatusCode != 200 {
|
||||
t.Fatal(resp.StatusCode)
|
||||
}
|
||||
}
|
||||
|
||||
resp, lsResp, errs = usersCl.ListRoles(token)
|
||||
if len(errs) > 0 {
|
||||
t.Fatal(errs)
|
||||
} else if resp.StatusCode != 200 {
|
||||
t.Fatal(resp.StatusCode)
|
||||
}
|
||||
for _, role := range roles {
|
||||
if lsResp.Roles[role] {
|
||||
t.Fatalf("role(%s) should not exist", role)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue