msd images tree

This commit is contained in:
Maxim Devaev
2023-03-06 03:01:12 +02:00
parent c63bb2adb7
commit 5495f70564
4 changed files with 115 additions and 28 deletions

View File

@@ -27,6 +27,7 @@ import pytest
from kvmd.validators import ValidatorError
from kvmd.validators.kvm import valid_atx_power_action
from kvmd.validators.kvm import valid_atx_button
from kvmd.validators.kvm import valid_msd_image_name
from kvmd.validators.kvm import valid_info_fields
from kvmd.validators.kvm import valid_log_seek
from kvmd.validators.kvm import valid_stream_quality
@@ -60,6 +61,64 @@ def test_fail__valid_atx_button(arg: Any) -> None:
print(valid_atx_button(arg))
# =====
@pytest.mark.parametrize("arg, retval", [
("archlinux-2018.07.01-i686.iso", "archlinux-2018.07.01-i686.iso"),
("archlinux-2018.07.01-x86_64.iso", "archlinux-2018.07.01-x86_64.iso"),
("dsl-4.11.rc1.iso", "dsl-4.11.rc1.iso"),
("systemrescuecd-x86-5.3.1.iso", "systemrescuecd-x86-5.3.1.iso"),
("ubuntu-16.04.5-desktop-i386.iso", "ubuntu-16.04.5-desktop-i386.iso"),
(" тест(){}[ \t].iso\t", "тест(){}[ _].iso"),
("\n" + "x" * 1000, "x" * 255),
("test", "test"),
("test test [test] #test$", "test test [test] #test$"),
(".test", ".test"),
("..test", "..test"),
("..тест..", "..тест.."),
("..те\\ст..", "..те\\ст.."),
(".....", "....."),
(".....txt", ".....txt"),
(" .. .", ".. ."),
("..\n.", ".._."),
("test/", "test"),
("/test", "test"),
("foo/bar.iso", "foo/bar.iso"),
("//foo//bar.iso", "foo/bar.iso"),
("foo/lost-found/bar.iso", "foo/lost-found/bar.iso"),
("/bar.iso/", "bar.iso"),
])
def test_ok__valid_msd_image_name(arg: Any, retval: str) -> None:
assert valid_msd_image_name(arg) == retval
@pytest.mark.parametrize("arg", [
".",
"..",
" ..",
"../test",
"./.",
"../.",
"./..",
"../..",
"/ ..",
".. /",
"/.. /",
"foo/../bar.iso",
"foo/./foo.iso",
"foo/lost+found/bar.iso",
"../bar.iso",
"/../bar.iso",
"foo/.__bar.iso",
"",
" ",
None,
])
def test_fail__valid_msd_image_name(arg: Any) -> None:
with pytest.raises(ValidatorError):
valid_msd_image_name(arg)
# =====
@pytest.mark.parametrize("arg", [" foo ", "bar", "foo, ,bar,", " ", " , ", ""])
def test_ok__valid_info_fields(arg: Any) -> None: