mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 17:20:30 +08:00
valid_ugpio_driver() fix + tests
This commit is contained in:
parent
3dfdab787a
commit
de6a66e08e
@ -107,7 +107,7 @@ def valid_ugpio_driver(arg: Any, variants: Optional[Set[str]]=None) -> str:
|
|||||||
name = "GPIO driver"
|
name = "GPIO driver"
|
||||||
arg = check_len(check_re_match(arg, name, r"^[a-zA-Z_][a-zA-Z0-9_-]*$"), name, 255)
|
arg = check_len(check_re_match(arg, name, r"^[a-zA-Z_][a-zA-Z0-9_-]*$"), name, 255)
|
||||||
if variants is not None:
|
if variants is not None:
|
||||||
arg = check_string_in_list(arg, f"configured {name}", variants)
|
arg = check_string_in_list(arg, f"configured {name}", variants, False)
|
||||||
return arg
|
return arg
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -237,6 +237,20 @@ def test_fail__valid_ugpio_item(validator: Callable[[Any], str], arg: Any) -> No
|
|||||||
print(validator(arg))
|
print(validator(arg))
|
||||||
|
|
||||||
|
|
||||||
|
# =====
|
||||||
|
@pytest.mark.parametrize("arg", ["foo", " bar", " baz "])
|
||||||
|
def test_ok__valid_ugpio_driver_variants(arg: Any) -> None:
|
||||||
|
value = valid_ugpio_driver(arg, set(["foo", "bar", "baz"]))
|
||||||
|
assert type(value) == str # pylint: disable=unidiomatic-typecheck
|
||||||
|
assert value == str(arg).strip()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("arg", ["BAR", " ", "", None])
|
||||||
|
def test_fail__valid_ugpio_driver_variants(arg: Any) -> None:
|
||||||
|
with pytest.raises(ValidatorError):
|
||||||
|
print(valid_ugpio_driver(arg, set(["foo", "bar", "baz"])))
|
||||||
|
|
||||||
|
|
||||||
# =====
|
# =====
|
||||||
@pytest.mark.parametrize("arg", ["Input ", " OUTPUT "])
|
@pytest.mark.parametrize("arg", ["Input ", " OUTPUT "])
|
||||||
def test_ok__valid_ugpio_mode(arg: Any) -> None:
|
def test_ok__valid_ugpio_mode(arg: Any) -> None:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user