1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
|