diff --git a/test/conftest.py b/test/conftest.py index bac5c485208612ddb9223aa3043ab7767c9af55f..ed04de163df532f8d5956bc5974233f8c248f211 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -1567,10 +1567,19 @@ def cluster( @pytest.fixture -def instance(cluster: Cluster) -> Generator[Instance, None, None]: +def instance(cluster: Cluster, pytestconfig) -> Generator[Instance, None, None]: """Returns a deployed instance forming a single-node cluster.""" - cluster.deploy(instance_count=1) - yield cluster[0] + instance = cluster.add_instance(wait_online=False) + + has_webui = bool(pytestconfig.getoption("--with-webui")) + if has_webui: + instance.env[ + "PICODATA_HTTP_LISTEN" + ] = f"{cluster.base_host}:{cluster.base_port+80}" + + instance.start() + instance.wait_online() + yield instance @pytest.fixture diff --git a/test/int/test_basics.py b/test/int/test_basics.py index 76e3ad36335e104b23f71b4ba76beabd8b97b398..f05280e3f6522d1089e1dec13c2ab64da6433b49 100644 --- a/test/int/test_basics.py +++ b/test/int/test_basics.py @@ -412,6 +412,7 @@ def test_proc_raft_info(instance: Instance): ) +@pytest.mark.webui def test_proc_runtime_info(instance: Instance): info = instance.call(".proc_runtime_info") @@ -420,6 +421,12 @@ def test_proc_runtime_info(instance: Instance): # add a bootstrap entry. info["raft"]["applied"] = 69 + version_info = instance.call(".proc_version_info") + + host_port = instance.env["PICODATA_HTTP_LISTEN"] + host, port = host_port.split(":") + port = int(port) # type: ignore + assert info == dict( raft=dict( id=1, @@ -432,6 +439,11 @@ def test_proc_runtime_info(instance: Instance): main_loop_status="idle", governor_loop_status="idle", ), + http=dict( + host=host, + port=port, + ), + version_info=version_info, ) diff --git a/test/int/test_http_server.py b/test/int/test_http_server.py index 80c7662c21e4c05bc967943aae54a8bc5e972dd6..10e7a20147cfff4448921e3bde3e873eed123530 100644 --- a/test/int/test_http_server.py +++ b/test/int/test_http_server.py @@ -1,18 +1,9 @@ -from conftest import Cluster, Instance +from conftest import Instance from urllib.request import urlopen import pytest import json -@pytest.fixture -def instance(cluster: Cluster): - instance = cluster.add_instance(wait_online=False) - instance.env["PICODATA_HTTP_LISTEN"] = f"{cluster.base_host}:{cluster.base_port+80}" - instance.start() - instance.wait_online() - return instance - - def test_http_routes(instance: Instance): instance.eval( """