17 lines
636 B
Python
17 lines
636 B
Python
from pyMCPBroker.filters import filter_names, is_allowed
|
|
|
|
|
|
def test_filter_allow_then_deny() -> None:
|
|
patterns = ["get_*", "list_*", "!get_secret*"]
|
|
assert is_allowed("get_file", patterns)
|
|
assert is_allowed("list_repos", patterns)
|
|
assert not is_allowed("get_secret_token", patterns)
|
|
assert not is_allowed("delete_file", patterns)
|
|
assert filter_names(["get_file", "get_secret_token", "delete_file"], patterns) == ["get_file"]
|
|
|
|
|
|
def test_filter_deny_only_starts_from_all_allowed() -> None:
|
|
patterns = ["!delete_*"]
|
|
assert is_allowed("get_file", patterns)
|
|
assert not is_allowed("delete_file", patterns)
|