diff options
author | Devaev Maxim <[email protected]> | 2019-04-08 04:58:32 +0300 |
---|---|---|
committer | Devaev Maxim <[email protected]> | 2019-04-08 04:58:32 +0300 |
commit | 9243d2a00c86aa9b5df2b1df20d2ba57be0bed47 (patch) | |
tree | 4d86bf39d432af121fff66a863864719c885d84d /tests | |
parent | 7eca51f17b7c2c95b54d4c2b77caa6c8554ef4f4 (diff) |
refactoring
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_keymap.py | 36 | ||||
-rw-r--r-- | tests/test_validators_kvm.py | 71 |
2 files changed, 107 insertions, 0 deletions
diff --git a/tests/test_keymap.py b/tests/test_keymap.py new file mode 100644 index 00000000..26251fdb --- /dev/null +++ b/tests/test_keymap.py @@ -0,0 +1,36 @@ +# ========================================================================== # +# # +# KVMD - The main Pi-KVM daemon. # +# # +# Copyright (C) 2018 Maxim Devaev <[email protected]> # +# # +# 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 <https://www.gnu.org/licenses/>. # +# # +# ========================================================================== # + + +import pytest + +from kvmd.keymap import KEYMAP + + +# ===== +def test_keymap__ok() -> None: + assert type(KEYMAP["KeyA"]) == int # pylint: disable=unidiomatic-typecheck + assert KEYMAP["KeyA"] == 1 + + +def test_keymap__fail() -> None: + with pytest.raises(KeyError): + print(KEYMAP["keya"]) diff --git a/tests/test_validators_kvm.py b/tests/test_validators_kvm.py index fad34986..f1050b36 100644 --- a/tests/test_validators_kvm.py +++ b/tests/test_validators_kvm.py @@ -24,12 +24,18 @@ from typing import Any import pytest +from kvmd.keymap import KEYMAP + from kvmd.validators import ValidatorError from kvmd.validators.kvm import valid_atx_button from kvmd.validators.kvm import valid_kvm_target 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_hid_key +from kvmd.validators.kvm import valid_hid_mouse_move +from kvmd.validators.kvm import valid_hid_mouse_button +from kvmd.validators.kvm import valid_hid_mouse_wheel # ===== @@ -96,3 +102,68 @@ def test_ok__valid_stream_fps(arg: Any) -> None: def test_fail__valid_stream_fps(arg: Any) -> None: with pytest.raises(ValidatorError): print(valid_stream_fps(arg)) + + +# ===== +def test_ok__valid_hid_key() -> None: + for key in KEYMAP: + print(valid_hid_key(key)) + print(valid_hid_key(key + " ")) + + [email protected]("arg", ["test", "", None, "keya"]) +def test_fail__valid_hid_key(arg: Any) -> None: + with pytest.raises(ValidatorError): + print(valid_hid_key(arg)) + + +# ===== [email protected]("arg", [-20000, "1 ", "-1", 1, -1, 0, "20000 "]) +def test_ok__valid_hid_mouse_move(arg: Any) -> None: + assert valid_hid_mouse_move(arg) == int(str(arg).strip()) + + +def test_ok__valid_hid_mouse_move__m50000() -> None: + assert valid_hid_mouse_move(-50000) == -32768 + + +def test_ok__valid_hid_mouse_move__p50000() -> None: + assert valid_hid_mouse_move(50000) == 32767 + + [email protected]("arg", ["test", "", None, 1.1]) +def test_fail__valid_hid_mouse_move(arg: Any) -> None: + with pytest.raises(ValidatorError): + print(valid_hid_mouse_move(arg)) + + +# ===== [email protected]("arg", ["LEFT ", "RIGHT "]) +def test_ok__valid_hid_mouse_button(arg: Any) -> None: + assert valid_hid_mouse_button(arg) == arg.strip().lower() + + [email protected]("arg", ["test", "", None]) +def test_fail__valid_hid_mouse_button(arg: Any) -> None: + with pytest.raises(ValidatorError): + print(valid_hid_mouse_button(arg)) + + +# ===== [email protected]("arg", [-100, "1 ", "-1", 1, -1, 0, "100 "]) +def test_ok__valid_hid_mouse_wheel(arg: Any) -> None: + assert valid_hid_mouse_wheel(arg) == int(str(arg).strip()) + + +def test_ok__valid_hid_mouse_wheel__m200() -> None: + assert valid_hid_mouse_wheel(-200) == -128 + + +def test_ok__valid_hid_mouse_wheel__p200() -> None: + assert valid_hid_mouse_wheel(200) == 127 + + [email protected]("arg", ["test", "", None, 1.1]) +def test_fail__valid_hid_mouse_wheel(arg: Any) -> None: + with pytest.raises(ValidatorError): + print(valid_hid_mouse_wheel(arg)) |