52 lines
1.6 KiB
Python
Raw Permalink Normal View History

2021-02-15 15:04:21 -08:00
from datahub.configuration.common import AllowDenyPattern
def test_allow_all() -> None:
pattern = AllowDenyPattern.allow_all()
2021-02-11 21:59:54 -08:00
assert pattern.allowed("foo.table")
2021-02-11 16:00:29 -08:00
def test_deny_all() -> None:
pattern = AllowDenyPattern(allow=[], deny=[".*"])
2021-02-11 21:59:54 -08:00
assert not pattern.allowed("foo.table")
2021-02-11 16:00:29 -08:00
def test_single_table() -> None:
pattern = AllowDenyPattern(allow=["foo.mytable"])
2021-02-11 21:59:54 -08:00
assert pattern.allowed("foo.mytable")
def test_prefix_match():
pattern = AllowDenyPattern(allow=["mytable"])
assert pattern.allowed("mytable.foo")
assert not pattern.allowed("foo.mytable")
2021-02-11 21:59:54 -08:00
def test_default_deny() -> None:
2021-02-11 21:59:54 -08:00
pattern = AllowDenyPattern(allow=["foo.mytable"])
assert not pattern.allowed("foo.bar")
def test_fully_speced():
pattern = AllowDenyPattern(allow=["foo.mytable"])
assert pattern.is_fully_specified_allow_list()
pattern = AllowDenyPattern(allow=["foo.*", "foo.table"])
assert not pattern.is_fully_specified_allow_list()
pattern = AllowDenyPattern(allow=["foo.?", "foo.table"])
assert not pattern.is_fully_specified_allow_list()
def test_is_allowed():
pattern = AllowDenyPattern(allow=["foo.mytable"], deny=["foo.*"])
assert pattern.get_allowed_list() == []
def test_case_sensitivity():
pattern = AllowDenyPattern(allow=["Foo.myTable"])
assert pattern.allowed("foo.mytable")
assert pattern.allowed("FOO.MYTABLE")
assert pattern.allowed("Foo.MyTable")
pattern = AllowDenyPattern(allow=["Foo.myTable"], ignoreCase=False)
assert not pattern.allowed("foo.mytable")
assert pattern.allowed("Foo.myTable")