From 9e92a403c05c387b194961e1e22e3cc121957843 Mon Sep 17 00:00:00 2001 From: Devaev Maxim Date: Mon, 23 Nov 2020 23:51:26 +0300 Subject: refactoring --- testenv/tests/validators/test_kvm.py | 87 ------------------------- testenv/tests/validators/test_ugpio.py | 114 +++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 87 deletions(-) create mode 100644 testenv/tests/validators/test_ugpio.py (limited to 'testenv/tests') diff --git a/testenv/tests/validators/test_kvm.py b/testenv/tests/validators/test_kvm.py index 95c71d99..bd558e3b 100644 --- a/testenv/tests/validators/test_kvm.py +++ b/testenv/tests/validators/test_kvm.py @@ -20,7 +20,6 @@ # ========================================================================== # -from typing import Callable from typing import Any import pytest @@ -33,12 +32,6 @@ from kvmd.validators.kvm import valid_log_seek from kvmd.validators.kvm import valid_stream_quality from kvmd.validators.kvm import valid_stream_fps from kvmd.validators.kvm import valid_stream_resolution -from kvmd.validators.kvm import valid_ugpio_driver -from kvmd.validators.kvm import valid_ugpio_channel -from kvmd.validators.kvm import valid_ugpio_mode -from kvmd.validators.kvm import valid_ugpio_view_table - -from kvmd.plugins.ugpio import UserGpioModes # ===== @@ -133,83 +126,3 @@ def test_ok__valid_stream_resolution(arg: Any) -> None: def test_fail__valid_stream_resolution(arg: Any) -> None: with pytest.raises(ValidatorError): print(valid_stream_resolution(arg)) - - -# ===== -@pytest.mark.parametrize("validator", [valid_ugpio_driver, valid_ugpio_channel]) -@pytest.mark.parametrize("arg", [ - "test-", - "glados", - "test", - "_", - "_foo_bar_", - " aix", - "a" * 255, -]) -def test_ok__valid_ugpio_item(validator: Callable[[Any], str], arg: Any) -> None: - assert validator(arg) == arg.strip() - - -@pytest.mark.parametrize("validator", [valid_ugpio_driver, valid_ugpio_channel]) -@pytest.mark.parametrize("arg", [ - "тест", - "-molestia", - "te~st", - "-", - "-foo_bar", - "foo bar", - "a" * 256, - " ", - "", - None, -]) -def test_fail__valid_ugpio_item(validator: Callable[[Any], str], arg: Any) -> None: - with pytest.raises(ValidatorError): - 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 "]) -def test_ok__valid_ugpio_mode(arg: Any) -> None: - assert valid_ugpio_mode(arg, UserGpioModes.ALL) == arg.strip().lower() - - -@pytest.mark.parametrize("arg", ["test", "", None]) -def test_fail__valid_ugpio_mode(arg: Any) -> None: - with pytest.raises(ValidatorError): - print(valid_ugpio_mode(arg, UserGpioModes.ALL)) - - -# ===== -@pytest.mark.parametrize("arg,retval", [ - ([], []), - ({}, []), - ([[]], [[]]), - ([{}], [[]]), - ([[[]]], [["[]"]]), - ("", []), - ("ab", [["a"], ["b"]]), - ([[1, 2], [None], "ab", {}, [3, 4]], [["1", "2"], ["None"], ["a", "b"], [], ["3", "4"]]), -]) -def test_ok__valid_ugpio_view_table(arg: Any, retval: Any) -> None: - assert valid_ugpio_view_table(arg) == retval - - -@pytest.mark.parametrize("arg", [None, [None], 1]) -def test_fail__valid_ugpio_view_table(arg: Any) -> None: - with pytest.raises(ValidatorError): - print(valid_ugpio_view_table(arg)) diff --git a/testenv/tests/validators/test_ugpio.py b/testenv/tests/validators/test_ugpio.py new file mode 100644 index 00000000..196763cf --- /dev/null +++ b/testenv/tests/validators/test_ugpio.py @@ -0,0 +1,114 @@ +# ========================================================================== # +# # +# KVMD - The main Pi-KVM daemon. # +# # +# Copyright (C) 2018 Maxim Devaev # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +# ========================================================================== # + + +from typing import Callable +from typing import Any + +import pytest + +from kvmd.validators import ValidatorError +from kvmd.validators.ugpio import valid_ugpio_driver +from kvmd.validators.ugpio import valid_ugpio_channel +from kvmd.validators.ugpio import valid_ugpio_mode +from kvmd.validators.ugpio import valid_ugpio_view_table + +from kvmd.plugins.ugpio import UserGpioModes + + +# ===== +@pytest.mark.parametrize("validator", [valid_ugpio_driver, valid_ugpio_channel]) +@pytest.mark.parametrize("arg", [ + "test-", + "glados", + "test", + "_", + "_foo_bar_", + " aix", + "a" * 255, +]) +def test_ok__valid_ugpio_item(validator: Callable[[Any], str], arg: Any) -> None: + assert validator(arg) == arg.strip() + + +@pytest.mark.parametrize("validator", [valid_ugpio_driver, valid_ugpio_channel]) +@pytest.mark.parametrize("arg", [ + "тест", + "-molestia", + "te~st", + "-", + "-foo_bar", + "foo bar", + "a" * 256, + " ", + "", + None, +]) +def test_fail__valid_ugpio_item(validator: Callable[[Any], str], arg: Any) -> None: + with pytest.raises(ValidatorError): + 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 "]) +def test_ok__valid_ugpio_mode(arg: Any) -> None: + assert valid_ugpio_mode(arg, UserGpioModes.ALL) == arg.strip().lower() + + +@pytest.mark.parametrize("arg", ["test", "", None]) +def test_fail__valid_ugpio_mode(arg: Any) -> None: + with pytest.raises(ValidatorError): + print(valid_ugpio_mode(arg, UserGpioModes.ALL)) + + +# ===== +@pytest.mark.parametrize("arg,retval", [ + ([], []), + ({}, []), + ([[]], [[]]), + ([{}], [[]]), + ([[[]]], [["[]"]]), + ("", []), + ("ab", [["a"], ["b"]]), + ([[1, 2], [None], "ab", {}, [3, 4]], [["1", "2"], ["None"], ["a", "b"], [], ["3", "4"]]), +]) +def test_ok__valid_ugpio_view_table(arg: Any, retval: Any) -> None: + assert valid_ugpio_view_table(arg) == retval + + +@pytest.mark.parametrize("arg", [None, [None], 1]) +def test_fail__valid_ugpio_view_table(arg: Any) -> None: + with pytest.raises(ValidatorError): + print(valid_ugpio_view_table(arg)) -- cgit v1.2.3