88 lines
2.3 KiB
Python
88 lines
2.3 KiB
Python
from dbus_fast import (
|
|
is_bus_name_valid,
|
|
is_interface_name_valid,
|
|
is_member_name_valid,
|
|
is_object_path_valid,
|
|
)
|
|
|
|
|
|
def test_object_path_validator():
|
|
valid_paths = ["/", "/foo", "/foo/bar", "/foo/bar/bat"]
|
|
invalid_paths = [
|
|
None,
|
|
"",
|
|
"foo",
|
|
"foo/bar",
|
|
"/foo/bar/",
|
|
"/$/foo/bar",
|
|
"/foo//bar",
|
|
"/foo$bar/baz",
|
|
]
|
|
|
|
for path in valid_paths:
|
|
assert is_object_path_valid(path), f'path should be valid: "{path}"'
|
|
for path in invalid_paths:
|
|
assert not is_object_path_valid(path), f'path should be invalid: "{path}"'
|
|
|
|
|
|
def test_bus_name_validator():
|
|
valid_names = [
|
|
"foo.bar",
|
|
"foo.bar.bat",
|
|
"_foo._bar",
|
|
"foo.bar69",
|
|
"foo.bar-69",
|
|
"org.mpris.MediaPlayer2.google-play-desktop-player",
|
|
]
|
|
invalid_names = [
|
|
None,
|
|
"",
|
|
"5foo.bar",
|
|
"foo.6bar",
|
|
".foo.bar",
|
|
"bar..baz",
|
|
"$foo.bar",
|
|
"foo$.ba$r",
|
|
]
|
|
|
|
for name in valid_names:
|
|
assert is_bus_name_valid(name), f'bus name should be valid: "{name}"'
|
|
for name in invalid_names:
|
|
assert not is_bus_name_valid(name), f'bus name should be invalid: "{name}"'
|
|
|
|
|
|
def test_interface_name_validator():
|
|
valid_names = ["foo.bar", "foo.bar.bat", "_foo._bar", "foo.bar69"]
|
|
invalid_names = [
|
|
None,
|
|
"",
|
|
"5foo.bar",
|
|
"foo.6bar",
|
|
".foo.bar",
|
|
"bar..baz",
|
|
"$foo.bar",
|
|
"foo$.ba$r",
|
|
"org.mpris.MediaPlayer2.google-play-desktop-player",
|
|
]
|
|
|
|
for name in valid_names:
|
|
assert is_interface_name_valid(
|
|
name
|
|
), f'interface name should be valid: "{name}"'
|
|
for name in invalid_names:
|
|
assert not is_interface_name_valid(
|
|
name
|
|
), f'interface name should be invalid: "{name}"'
|
|
|
|
|
|
def test_member_name_validator():
|
|
valid_members = ["foo", "FooBar", "Bat_Baz69", "foo-bar"]
|
|
invalid_members = [None, "", "foo.bar", "5foo", "foo$bar"]
|
|
|
|
for member in valid_members:
|
|
assert is_member_name_valid(member), f'member name should be valid: "{member}"'
|
|
for member in invalid_members:
|
|
assert not is_member_name_valid(
|
|
member
|
|
), f'member name should be invalid: "{member}"'
|