diff options
Diffstat (limited to 'tests/unit/test_privileges_checking.py')
| -rw-r--r-- | tests/unit/test_privileges_checking.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/unit/test_privileges_checking.py b/tests/unit/test_privileges_checking.py new file mode 100644 index 0000000..05969b1 --- /dev/null +++ b/tests/unit/test_privileges_checking.py @@ -0,0 +1,39 @@ +"""Tests to verify the privileges check works.""" +import pytest + +from gn_libs.privileges import check + +@pytest.mark.unit_test +@pytest.mark.parametrize( + "spec,privileges,expected", + (("(AND priv1 priv2 priv3)", + ("priv2", "priv4", "priv1", "priv6", "priv3"), + True), + ("(AND priv1 priv2 priv3)", + ("priv1", "priv2", "priv4" "priv6"), + False), + ("(AND priv1 priv2 priv3)", + ("priv1", "priv4" "priv6"), + False), + ("(AND priv1 priv2 priv3)", + ("priv4", "priv5", "priv6"), + False), + ("(OR priv1 priv2 priv3)", + ("priv1", "priv2" "priv3"), + True), + ("(OR priv1 priv2 priv3)", + ("priv1", "priv2" "priv4", "priv5"), + True), + ("(OR priv1 priv2 priv3)", + ("priv1", "priv4", "priv5"), + True), + ("(OR priv1 priv2 priv3)", + ("priv4", "priv5", "priv6"), + False))) +def test_check(spec, privileges, expected): + """ + GIVEN: A privileges-check specification, and a tuple of privileges + WHEN: A check is performed + THEN: Verify that the check returns the expected value + """ + assert check(spec, privileges) == expected |
