From dcfcd767ae9598dd7ccea41d0571b5b069719abc Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Tue, 20 Aug 2024 10:04:04 +0300 Subject: [PATCH] Static tests: Move the dir list parsing to StaticServer This way all of the directory lookups are done in a single place. Signed-off-by: Jussi Kukkonen --- tuf_conformance/simulator_server.py | 9 +++++++++ tuf_conformance/test_static_repositories.py | 9 +-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/tuf_conformance/simulator_server.py b/tuf_conformance/simulator_server.py index 4f1f634..b8e006c 100644 --- a/tuf_conformance/simulator_server.py +++ b/tuf_conformance/simulator_server.py @@ -90,6 +90,15 @@ class StaticServer(ThreadingHTTPServer): data_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "static_data") + @classmethod + def static_test_names(cls) -> list[str]: + """Return list of static test names (subdirectories of 'static_data/').""" + static_tests = [] + for static_dir in os.listdir(StaticServer.data_dir): + if os.path.isdir(os.path.join(StaticServer.data_dir, static_dir)): + static_tests.append(static_dir) + return static_tests + def __init__(self) -> None: class _StaticReqHandler(BaseHTTPRequestHandler): def do_GET(self) -> None: # noqa: N802 diff --git a/tuf_conformance/test_static_repositories.py b/tuf_conformance/test_static_repositories.py index e31dbe9..4d6c6c8 100644 --- a/tuf_conformance/test_static_repositories.py +++ b/tuf_conformance/test_static_repositories.py @@ -1,17 +1,10 @@ -import os - import pytest from tuf_conformance.client_runner import ClientRunner from tuf_conformance.simulator_server import StaticServer -static_repos = [] -for static_dir in os.listdir(StaticServer.data_dir): - if os.path.isdir(os.path.join(StaticServer.data_dir, static_dir)): - static_repos.append(static_dir) - -@pytest.mark.parametrize("static_repo", static_repos) +@pytest.mark.parametrize("static_repo", StaticServer.static_test_names()) def test_static_repository( static_client: ClientRunner, static_server: StaticServer, static_repo: str ) -> None: