Skip to content

Commit e7f1f77

Browse files
committed
fix: redis connection in e2e tests
1 parent e3a9e98 commit e7f1f77

File tree

4 files changed

+15
-3
lines changed

4 files changed

+15
-3
lines changed

.github/actions/bec_e2e_install/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ runs:
6262
cd ./_e2e_test_checkout_/bec
6363
source ./bin/install_bec_dev.sh -t
6464
pip install -e ../ophyd_devices
65-
podman pod create --add-host redis:host-gateway local_bec
65+
podman pod create --net host local_bec
6666
python ./bec_ipython_client/tests/end-2-end/_ensure_requirements_container.py
6767
pytest -v --files-path ./ --start-servers --random-order ./bec_ipython_client/tests/end-2-end/
6868

bec_ipython_client/tests/end-2-end/test_procedures_e2e.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from __future__ import annotations
22

33
import time
4+
from dataclasses import dataclass
45
from importlib.metadata import version
56
from typing import TYPE_CHECKING, Callable, Generator
67
from unittest.mock import MagicMock, patch
@@ -11,6 +12,7 @@
1112
from bec_lib import messages
1213
from bec_lib.endpoints import MessageEndpoints
1314
from bec_lib.logger import bec_logger
15+
from bec_server.scan_server.procedures.constants import _CONTAINER, _WORKER
1416
from bec_server.scan_server.procedures.container_utils import get_backend
1517
from bec_server.scan_server.procedures.container_worker import ContainerProcedureWorker
1618
from bec_server.scan_server.procedures.manager import ProcedureManager
@@ -27,6 +29,15 @@
2729
pytestmark = pytest.mark.random_order(disabled=True)
2830

2931

32+
@dataclass(frozen=True)
33+
class PATCHED_CONSTANTS:
34+
WORKER = _WORKER()
35+
CONTAINER = _CONTAINER()
36+
MANAGER_SHUTDOWN_TIMEOUT_S = 2
37+
BEC_VERSION = version("bec_lib")
38+
REDIS_HOST = "localhost"
39+
40+
3041
@pytest.fixture
3142
def client_logtool_and_manager(
3243
bec_ipython_client_fixture_with_logtool: tuple[BECIPythonClient, "LogTestTool"],
@@ -84,6 +95,7 @@ def cb(worker: ContainerProcedureWorker):
8495

8596
@pytest.mark.timeout(100)
8697
@patch("bec_server.scan_server.procedures.manager.procedure_registry.is_registered", lambda _: True)
98+
@patch("bec_server.scan_server.procedures.container_worker.PROCEDURE", PATCHED_CONSTANTS())
8799
def test_happy_path_container_procedure_runner(
88100
client_logtool_and_manager: tuple[BECIPythonClient, "LogTestTool", ProcedureManager],
89101
):
@@ -103,7 +115,6 @@ def test_happy_path_container_procedure_runner(
103115

104116
logtool.fetch()
105117
assert logtool.is_present_in_any_message("procedure accepted: True, message:")
106-
assert "test string" in "\n".join(manager._logs)
107118
assert logtool.is_present_in_any_message(
108119
"ContainerWorker started container for queue primary"
109120
), f"Log content relating to procedures: {manager}"

bec_server/bec_server/scan_server/procedures/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ class _PROCEDURE:
6767
CONTAINER = _CONTAINER()
6868
MANAGER_SHUTDOWN_TIMEOUT_S = 2
6969
BEC_VERSION = version("bec_lib")
70+
REDIS_HOST = "redis"
7071

7172

7273
PROCEDURE = _PROCEDURE()

bec_server/bec_server/scan_server/procedures/container_worker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def _worker_environment(self) -> ContainerWorkerEnv:
6161
minimum necessary, or things which are only necessary for the functioning of the worker,
6262
and other information should be passed through redis"""
6363
return {
64-
"redis_server": f"redis:{self._conn.port}",
64+
"redis_server": f"{PROCEDURE.REDIS_HOST}:{self._conn.port}",
6565
"queue": self._queue,
6666
"timeout_s": str(self._lifetime_s),
6767
}

0 commit comments

Comments
 (0)