@@ -74,6 +74,7 @@ async def employee_role_rule(self) -> JwtRoleRule:
7474 operator = JsonPathOperator .CONTAINS ,
7575 value = "redhat:employees" ,
7676 roles = ["employee" ],
77+ negate = False ,
7778 )
7879
7980 @pytest .fixture
@@ -178,6 +179,7 @@ async def email_rule_resolver(self) -> JwtRolesResolver:
178179 operator = JsonPathOperator .MATCH ,
179180 value = r"@redhat\.com$" ,
180181 roles = ["redhat_employee" ],
182+ negate = False ,
181183 )
182184 ]
183185 )
@@ -198,6 +200,7 @@ async def equals_rule_resolver(self) -> JwtRolesResolver:
198200 operator = JsonPathOperator .EQUALS ,
199201 value = ["bar" ],
200202 roles = ["foobar" ],
203+ negate = False ,
201204 )
202205 ]
203206 )
@@ -225,6 +228,7 @@ async def in_rule_resolver(self) -> JwtRolesResolver:
225228 operator = JsonPathOperator .IN ,
226229 value = [["bar" ], ["baz" ]],
227230 roles = ["in_role" ],
231+ negate = False ,
228232 )
229233 ]
230234 )
@@ -268,6 +272,7 @@ async def test_resolve_roles_match_operator_invalid_regex(self) -> None:
268272 operator = JsonPathOperator .MATCH ,
269273 value = "[invalid regex(" , # Invalid regex pattern
270274 roles = ["test_role" ],
275+ negate = False ,
271276 )
272277
273278 async def test_resolve_roles_match_operator_non_string_pattern (self ) -> None :
@@ -280,6 +285,7 @@ async def test_resolve_roles_match_operator_non_string_pattern(self) -> None:
280285 operator = JsonPathOperator .MATCH ,
281286 value = 123 , # Non-string pattern
282287 roles = ["test_role" ],
288+ negate = False ,
283289 )
284290
285291 async def test_resolve_roles_match_operator_non_string_value (self ) -> None :
@@ -290,6 +296,7 @@ async def test_resolve_roles_match_operator_non_string_value(self) -> None:
290296 operator = JsonPathOperator .MATCH ,
291297 value = r"\d+" , # Number pattern
292298 roles = ["numeric_user" ],
299+ negate = False ,
293300 )
294301 ]
295302 jwt_resolver = JwtRolesResolver (role_rules )
@@ -312,6 +319,7 @@ async def test_compiled_regex_property(self) -> None:
312319 operator = JsonPathOperator .MATCH ,
313320 value = r"@example\.com$" ,
314321 roles = ["example_user" ],
322+ negate = False ,
315323 )
316324 assert match_rule .compiled_regex is not None
317325 assert isinstance (match_rule .compiled_regex , re .Pattern )
@@ -323,6 +331,7 @@ async def test_compiled_regex_property(self) -> None:
323331 operator = JsonPathOperator .EQUALS ,
324332 value = "test@example.com" ,
325333 roles = ["example_user" ],
334+ negate = False ,
326335 )
327336 assert equals_rule .compiled_regex is None
328337
@@ -382,7 +391,7 @@ async def test_check_access_with_valid_role(self) -> None:
382391 assert has_access is True
383392
384393 # Test access denied
385- has_access = resolver .check_access (Action .FEEDBACK , frozenset ([ "employee" ]) )
394+ has_access = resolver .check_access (Action .FEEDBACK , { "employee" } )
386395 assert has_access is False
387396
388397 async def test_check_access_with_invalid_role (self ) -> None :
0 commit comments