"""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