|
8 | 8 | import pytest |
9 | 9 | from aiohttp import web |
10 | 10 | from common_library.json_serialization import json_dumps |
| 11 | +from models_library.rpc.webserver import DEFAULT_WEBSERVER_RPC_NAMESPACE |
11 | 12 | from pydantic import Field, HttpUrl, TypeAdapter |
12 | 13 | from pytest_simcore.helpers.monkeypatch_envs import setenvs_from_dict |
13 | 14 | from pytest_simcore.helpers.typing_env import EnvVarsDict |
@@ -230,3 +231,47 @@ def test_valid_application_settings(mock_webserver_service_environment: EnvVarsD |
230 | 231 | assert settings |
231 | 232 |
|
232 | 233 | assert settings == ApplicationSettings.create_from_envs() |
| 234 | + |
| 235 | + |
| 236 | +@pytest.fixture |
| 237 | +def mock_service_environment( |
| 238 | + docker_compose_service_environment_dict, |
| 239 | + service_name: str, |
| 240 | + monkeypatch: pytest.MonkeyPatch, |
| 241 | +) -> EnvVarsDict: |
| 242 | + print("Mocking envs for service", service_name) |
| 243 | + |
| 244 | + assert docker_compose_service_environment_dict |
| 245 | + return setenvs_from_dict(monkeypatch, {**docker_compose_service_environment_dict}) |
| 246 | + |
| 247 | + |
| 248 | +@pytest.mark.parametrize( |
| 249 | + "service_name", ["webserver", "wb-db-event-listener", "wb-garbage-collector"] |
| 250 | +) |
| 251 | +def test_webserver_rpc_namespace_must_be_default(mock_service_environment: EnvVarsDict): |
| 252 | + settings = ApplicationSettings.create_from_envs() # type: ignore |
| 253 | + assert settings |
| 254 | + |
| 255 | + assert settings.WEBSERVER_RPC_NAMESPACE == DEFAULT_WEBSERVER_RPC_NAMESPACE |
| 256 | + |
| 257 | + |
| 258 | +@pytest.mark.parametrize("service_name", ["wb-api-server"]) |
| 259 | +def test_webserver_rpc_namespace_must_be_non_default( |
| 260 | + mock_service_environment: EnvVarsDict, |
| 261 | + env_devel_dict: EnvVarsDict, |
| 262 | +): |
| 263 | + settings = ApplicationSettings.create_from_envs() # type: ignore |
| 264 | + assert settings |
| 265 | + |
| 266 | + assert settings.WEBSERVER_RPC_NAMESPACE != DEFAULT_WEBSERVER_RPC_NAMESPACE |
| 267 | + assert env_devel_dict["WB_API_WEBSERVER_HOST"] == settings.WEBSERVER_RPC_NAMESPACE |
| 268 | + |
| 269 | + |
| 270 | +@pytest.mark.parametrize("service_name", ["wb-auth"]) |
| 271 | +def test_webserver_rpc_namespace_must_be_disabled( |
| 272 | + mock_service_environment: EnvVarsDict, |
| 273 | +): |
| 274 | + settings = ApplicationSettings.create_from_envs() # type: ignore |
| 275 | + assert settings |
| 276 | + |
| 277 | + assert settings.WEBSERVER_RPC_NAMESPACE is None |
0 commit comments