Code refactoring (#889)

* Add __all__ to all module and plugin utils.

* Convert quite a few positional args to keyword args.

* Avoid Python 3.8+ syntax.
This commit is contained in:
Felix Fontein
2025-05-16 06:55:57 +02:00
committed by GitHub
parent a5a4e022ba
commit 44bcc8cebc
101 changed files with 1510 additions and 748 deletions

View File

@@ -121,16 +121,30 @@ INVALID_DATA = (
b"yDspTN+BJzvIK2Q+CRD3qBDVSi+YqSxwyz432VEaHKlXbuLURirY0QpuBCqgR6tCtWW5vEGkXKZ3"
)
VALID_OPTS = [OpensshCertificateOption("critical", "force-command", "/usr/bin/csh")]
INVALID_OPTS = [OpensshCertificateOption("critical", "test", "undefined")]
VALID_EXTENSIONS = [
OpensshCertificateOption("extension", "permit-x11-forwarding", ""),
OpensshCertificateOption("extension", "permit-agent-forwarding", ""),
OpensshCertificateOption("extension", "permit-port-forwarding", ""),
OpensshCertificateOption("extension", "permit-pty", ""),
OpensshCertificateOption("extension", "permit-user-rc", ""),
VALID_OPTS = [
OpensshCertificateOption(
option_type="critical", name="force-command", data="/usr/bin/csh"
)
]
INVALID_OPTS = [
OpensshCertificateOption(option_type="critical", name="test", data="undefined")
]
VALID_EXTENSIONS = [
OpensshCertificateOption(
option_type="extension", name="permit-x11-forwarding", data=""
),
OpensshCertificateOption(
option_type="extension", name="permit-agent-forwarding", data=""
),
OpensshCertificateOption(
option_type="extension", name="permit-port-forwarding", data=""
),
OpensshCertificateOption(option_type="extension", name="permit-pty", data=""),
OpensshCertificateOption(option_type="extension", name="permit-user-rc", data=""),
]
INVALID_EXTENSIONS = [
OpensshCertificateOption(option_type="extension", name="test", data="")
]
INVALID_EXTENSIONS = [OpensshCertificateOption("extension", "test", "")]
VALID_TIME_PARAMETERS: list[
tuple[int | str, int | str, str, int, int | str, str, str, int, str]
@@ -249,22 +263,36 @@ INVALID_VALIDITY_TEST: list[tuple[str, str, str]] = [
VALID_OPTIONS: list[tuple[str, OpensshCertificateOption]] = [
(
"force-command=/usr/bin/csh",
OpensshCertificateOption("critical", "force-command", "/usr/bin/csh"),
OpensshCertificateOption(
option_type="critical", name="force-command", data="/usr/bin/csh"
),
),
(
"Force-Command=/Usr/Bin/Csh",
OpensshCertificateOption("critical", "force-command", "/Usr/Bin/Csh"),
OpensshCertificateOption(
option_type="critical", name="force-command", data="/Usr/Bin/Csh"
),
),
(
"permit-x11-forwarding",
OpensshCertificateOption("extension", "permit-x11-forwarding", ""),
OpensshCertificateOption(
option_type="extension", name="permit-x11-forwarding", data=""
),
),
(
"permit-X11-forwarding",
OpensshCertificateOption("extension", "permit-x11-forwarding", ""),
OpensshCertificateOption(
option_type="extension", name="permit-x11-forwarding", data=""
),
),
(
"critical:foo=bar",
OpensshCertificateOption(option_type="critical", name="foo", data="bar"),
),
(
"extension:foo",
OpensshCertificateOption(option_type="extension", name="foo", data=""),
),
("critical:foo=bar", OpensshCertificateOption("critical", "foo", "bar")),
("extension:foo", OpensshCertificateOption("extension", "foo", "")),
]
INVALID_OPTIONS: list[str | list] = [
@@ -368,19 +396,21 @@ def test_valid_time_parameters(
@pytest.mark.parametrize("valid_from,valid_to", INVALID_TIME_PARAMETERS)
def test_invalid_time_parameters(valid_from: int | str, valid_to: int | str) -> None:
with pytest.raises(ValueError):
OpensshCertificateTimeParameters(valid_from, valid_to)
OpensshCertificateTimeParameters(valid_from=valid_from, valid_to=valid_to)
@pytest.mark.parametrize("valid_from,valid_to,valid_at", VALID_VALIDITY_TEST)
def test_valid_validity_test(valid_from: str, valid_to: str, valid_at: str) -> None:
assert OpensshCertificateTimeParameters(valid_from, valid_to).within_range(valid_at)
assert OpensshCertificateTimeParameters(
valid_from=valid_from, valid_to=valid_to
).within_range(valid_at)
@pytest.mark.parametrize("valid_from,valid_to,valid_at", INVALID_VALIDITY_TEST)
def test_invalid_validity_test(valid_from: str, valid_to: str, valid_at: str) -> None:
assert not OpensshCertificateTimeParameters(valid_from, valid_to).within_range(
valid_at
)
assert not OpensshCertificateTimeParameters(
valid_from=valid_from, valid_to=valid_to
).within_range(valid_at)
@pytest.mark.parametrize("option_string,option_object", VALID_OPTIONS)

View File

@@ -66,7 +66,10 @@ def test_parse_openssh_version() -> None:
@pytest.mark.parametrize("boolean", VALID_BOOLEAN)
def test_valid_boolean(boolean: bool) -> None:
assert OpensshParser(_OpensshWriter().boolean(boolean).bytes()).boolean() == boolean
assert (
OpensshParser(data=_OpensshWriter().boolean(boolean).bytes()).boolean()
== boolean
)
@pytest.mark.parametrize("boolean", INVALID_BOOLEAN)
@@ -77,7 +80,9 @@ def test_invalid_boolean(boolean: t.Any) -> None:
@pytest.mark.parametrize("uint32", VALID_UINT32)
def test_valid_uint32(uint32: int) -> None:
assert OpensshParser(_OpensshWriter().uint32(uint32).bytes()).uint32() == uint32
assert (
OpensshParser(data=_OpensshWriter().uint32(uint32).bytes()).uint32() == uint32
)
@pytest.mark.parametrize("uint32", INVALID_UINT32)
@@ -88,7 +93,9 @@ def test_invalid_uint32(uint32: int) -> None:
@pytest.mark.parametrize("uint64", VALID_UINT64)
def test_valid_uint64(uint64: int) -> None:
assert OpensshParser(_OpensshWriter().uint64(uint64).bytes()).uint64() == uint64
assert (
OpensshParser(data=_OpensshWriter().uint64(uint64).bytes()).uint64() == uint64
)
@pytest.mark.parametrize("uint64", INVALID_UINT64)
@@ -100,7 +107,7 @@ def test_invalid_uint64(uint64: int) -> None:
@pytest.mark.parametrize("ssh_string", VALID_STRING)
def test_valid_string(ssh_string: bytes) -> None:
assert (
OpensshParser(_OpensshWriter().string(ssh_string).bytes()).string()
OpensshParser(data=_OpensshWriter().string(ssh_string).bytes()).string()
== ssh_string
)
@@ -113,7 +120,7 @@ def test_invalid_string(ssh_string: t.Any) -> None:
@pytest.mark.parametrize("mpint", VALID_MPINT)
def test_valid_mpint(mpint: int) -> None:
assert OpensshParser(_OpensshWriter().mpint(mpint).bytes()).mpint() == mpint
assert OpensshParser(data=_OpensshWriter().mpint(mpint).bytes()).mpint() == mpint
@pytest.mark.parametrize("mpint", INVALID_MPINT)
@@ -124,7 +131,7 @@ def test_invalid_mpint(mpint: t.Any) -> None:
def test_valid_seek() -> None:
buffer = bytearray(b"buffer")
parser = OpensshParser(buffer)
parser = OpensshParser(data=buffer)
parser.seek(len(buffer))
assert parser.remaining_bytes() == 0
parser.seek(-len(buffer))
@@ -133,7 +140,7 @@ def test_valid_seek() -> None:
def test_invalid_seek() -> None:
buffer = b"buffer"
parser = OpensshParser(buffer)
parser = OpensshParser(data=buffer)
with pytest.raises(ValueError):
parser.seek(len(buffer) + 1)
@@ -144,4 +151,4 @@ def test_invalid_seek() -> None:
def test_writer_bytes() -> None:
buffer = bytearray(b"buffer")
assert _OpensshWriter(buffer).bytes() == buffer
assert _OpensshWriter(buffer=buffer).bytes() == buffer