3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-11 04:45:02 +00:00

More work on API permissions

This commit is contained in:
Dragory 2019-11-08 00:04:24 +02:00
parent 79b0adf81a
commit c9a21c64bf
14 changed files with 318 additions and 85 deletions

View file

@ -2,12 +2,12 @@ import { ApiPermissions, hasPermission } from "./apiPermissions";
import test from "ava";
test("Directly granted permissions match", t => {
t.is(hasPermission([ApiPermissions.ManageAccess], ApiPermissions.ManageAccess), true);
t.is(hasPermission([ApiPermissions.ManageAccess], ApiPermissions.Owner), false);
t.is(hasPermission(new Set([ApiPermissions.ManageAccess]), ApiPermissions.ManageAccess), true);
t.is(hasPermission(new Set([ApiPermissions.ManageAccess]), ApiPermissions.Owner), false);
});
test("Implicitly granted permissions by hierarchy match", t => {
t.is(hasPermission([ApiPermissions.ManageAccess], ApiPermissions.EditConfig), true);
t.is(hasPermission([ApiPermissions.ManageAccess], ApiPermissions.ReadConfig), true);
t.is(hasPermission([ApiPermissions.EditConfig], ApiPermissions.ManageAccess), false);
t.is(hasPermission(new Set([ApiPermissions.ManageAccess]), ApiPermissions.EditConfig), true);
t.is(hasPermission(new Set([ApiPermissions.ManageAccess]), ApiPermissions.ReadConfig), true);
t.is(hasPermission(new Set([ApiPermissions.EditConfig]), ApiPermissions.ManageAccess), false);
});