Skip to content

Commit 95c83a4

Browse files
committed
🎉 Add tests for webserver RPC namespace defaults and configurations
1 parent a9f0c8f commit 95c83a4

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

services/web/server/tests/unit/isolated/test_application_settings.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import pytest
99
from aiohttp import web
1010
from common_library.json_serialization import json_dumps
11+
from models_library.rpc.webserver import DEFAULT_WEBSERVER_RPC_NAMESPACE
1112
from pydantic import Field, HttpUrl, TypeAdapter
1213
from pytest_simcore.helpers.monkeypatch_envs import setenvs_from_dict
1314
from pytest_simcore.helpers.typing_env import EnvVarsDict
@@ -230,3 +231,47 @@ def test_valid_application_settings(mock_webserver_service_environment: EnvVarsD
230231
assert settings
231232

232233
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

Comments
 (0)