From 5c60ed9a9ac4d07e49640dfc2223c56d64fe29a8 Mon Sep 17 00:00:00 2001
From: Georgy Moshkin <gmoshkin@picodata.io>
Date: Mon, 5 Feb 2024 12:51:05 +0300
Subject: [PATCH] test: fix test_proc_runtime_info

---
 test/conftest.py             | 15 ++++++++++++---
 test/int/test_basics.py      | 12 ++++++++++++
 test/int/test_http_server.py | 11 +----------
 3 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/test/conftest.py b/test/conftest.py
index bac5c48520..ed04de163d 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 76e3ad3633..f05280e3f6 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 80c7662c21..10e7a20147 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(
         """
-- 
GitLab