|
| 1 | +from goosebit.auth import compare_permission, compare_permissions |
| 2 | + |
| 3 | + |
| 4 | +def test_compare_single_permission(): |
| 5 | + assert compare_permission("home.read", "home.read") |
| 6 | + |
| 7 | + |
| 8 | +def test_compare_inverted_single_permission(): |
| 9 | + assert not compare_permission("home.read", "!home.read") |
| 10 | + |
| 11 | + |
| 12 | +def test_compare_wildcard_sub_permission(): |
| 13 | + assert compare_permission("home.read", "home.*") |
| 14 | + |
| 15 | + |
| 16 | +def test_compare_inverted_wildcard_sub_permission(): |
| 17 | + assert not compare_permission("home.read", "!home.*") |
| 18 | + |
| 19 | + |
| 20 | +def test_compare_root_permission(): |
| 21 | + assert compare_permission("home.read", "home") |
| 22 | + |
| 23 | + |
| 24 | +def test_compare_inverted_root_permission(): |
| 25 | + assert not compare_permission("home.read", "!home") |
| 26 | + |
| 27 | + |
| 28 | +def test_compare_root_wildcard_permission(): |
| 29 | + assert compare_permission("home.read", "*") |
| 30 | + |
| 31 | + |
| 32 | +def test_compare_inverted_root_wildcard_permission(): |
| 33 | + assert not compare_permission("home.read", "!*") |
| 34 | + |
| 35 | + |
| 36 | +def test_compare_multiple_single_permissions(): |
| 37 | + assert compare_permissions(["home.read", "device.write"], ["home.read", "device.write"]) |
| 38 | + |
| 39 | + |
| 40 | +def test_compare_invalid_multiple_single_permissions(): |
| 41 | + assert not compare_permissions(["home.read", "device.write"], ["home.read", "device.read"]) |
| 42 | + |
| 43 | + |
| 44 | +def test_compare_inverted_multiple_permissions(): |
| 45 | + assert not compare_permissions(["home.read", "device.write"], ["home.read", "device", "!device.write"]) |
| 46 | + |
| 47 | + |
| 48 | +def test_compare_multiple_root_wildcard_permissions(): |
| 49 | + assert compare_permissions( |
| 50 | + ["home.read", "device.write", "device.read", "software.read"], ["*.read", "device.write"] |
| 51 | + ) |
0 commit comments