From 8062e5f5d7d9096854f52083c867694102ec3641 Mon Sep 17 00:00:00 2001 From: nucleogenic Date: Tue, 20 Sep 2022 00:33:47 +0100 Subject: [PATCH] Updates to allow tests to run against a remote RaSCSI instance --- python/web/tests/api/test_json_api.py | 2 +- python/web/tests/conftest.py | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/python/web/tests/api/test_json_api.py b/python/web/tests/api/test_json_api.py index b6759ae7..eb7d958e 100644 --- a/python/web/tests/api/test_json_api.py +++ b/python/web/tests/api/test_json_api.py @@ -823,7 +823,7 @@ def test_show_logs(http_client): ) assert response.status_code == 200 - assert response.text == "-- No entries --\n" + assert response.headers["content-type"] == "text/plain" # route("/config/load", methods=["POST"]) diff --git a/python/web/tests/conftest.py b/python/web/tests/conftest.py index f88526e5..da10c3f7 100644 --- a/python/web/tests/conftest.py +++ b/python/web/tests/conftest.py @@ -4,15 +4,28 @@ import requests def pytest_addoption(parser): parser.addoption("--base_url", action="store", default="http://localhost:8080") + parser.addoption("--httpserver_host", action="store", default="host.docker.internal") + parser.addoption("--httpserver_listen_address", action="store", default="127.0.0.1") parser.addoption("--rascsi_username", action="store", default="pi") parser.addoption("--rascsi_password", action="store", default="rascsi") +@pytest.fixture(scope="session") +def httpserver_listen_address(pytestconfig): + return (pytestconfig.getoption("httpserver_listen_address"), 0) + + @pytest.fixture(scope="function", autouse=True) -def set_httpserver_hostname(httpserver): +def set_httpserver_hostname(pytestconfig, httpserver): # The HTTP requests are made by Python from within the container so we need # httpserver.url_for to generate URLs which point to the Docker host - httpserver.host = "host.docker.internal" + httpserver.host = pytestconfig.getoption("httpserver_host") + + +@pytest.fixture(scope="session", autouse=True) +def ensure_all_devices_detached(create_http_client): + http_client = create_http_client() + http_client.post("/scsi/detach_all") @pytest.fixture(scope="session")