File tree Expand file tree Collapse file tree 2 files changed +67
-0
lines changed Expand file tree Collapse file tree 2 files changed +67
-0
lines changed Original file line number Diff line number Diff line change 1+ from pathlib import Path
2+ from typing import Any
3+
4+ import pytest
5+
6+ from .helpers .docker import run_docker_compose_config
7+
8+
9+ @pytest .fixture (scope = "module" )
10+ def dev_vendors_docker_compose (
11+ osparc_simcore_root_dir : Path ,
12+ osparc_simcore_scripts_dir : Path ,
13+ env_file_for_testing : Path ,
14+ temp_folder : Path ,
15+ ) -> dict [str , Any ]:
16+ docker_compose_path = (
17+ osparc_simcore_root_dir / "services" / "docker-compose-dev-vendors.yml"
18+ )
19+ assert docker_compose_path .exists ()
20+
21+ return run_docker_compose_config (
22+ project_dir = osparc_simcore_root_dir / "services" ,
23+ scripts_dir = osparc_simcore_scripts_dir ,
24+ docker_compose_paths = docker_compose_path ,
25+ env_file_path = env_file_for_testing ,
26+ destination_path = temp_folder / "ops_docker_compose.yml" ,
27+ )
Original file line number Diff line number Diff line change 1+ import json
2+ from typing import Final
3+
4+ from settings_library .utils_session import DEFAULT_SESSION_COOKIE_NAME
5+
6+ pytest_plugins = [
7+ "pytest_simcore.dev_vendors_compose" ,
8+ "pytest_simcore.docker_compose" ,
9+ "pytest_simcore.repository_paths" ,
10+ ]
11+
12+
13+ _SERVICE_TO_MIDDLEWARE_MAPPING : Final [dict [str , str ]] = {
14+ "manual" : "pytest-simcore_manual-auth"
15+ }
16+
17+
18+ def test_dev_vendors_docker_compose_auth_enabled (
19+ dev_vendors_docker_compose : dict [str , str ]
20+ ):
21+
22+ assert isinstance (dev_vendors_docker_compose ["services" ], dict )
23+ for service_name , service_spec in dev_vendors_docker_compose ["services" ].items ():
24+ print (
25+ f"Checking vendor service '{ service_name } '\n { json .dumps (service_spec , indent = 2 )} "
26+ )
27+ labels = service_spec ["deploy" ]["labels" ]
28+
29+ # NOTE: when adding a new service it should also be added to the mapping
30+ auth_middleware_name = _SERVICE_TO_MIDDLEWARE_MAPPING [service_name ]
31+
32+ prefix = f"traefik.http.middlewares.{ auth_middleware_name } .forwardauth"
33+
34+ assert labels [f"{ prefix } .trustForwardHeader" ] == "true"
35+ assert "http://webserver:8080/v0/auth:check" in labels [f"{ prefix } .address" ]
36+ assert DEFAULT_SESSION_COOKIE_NAME in labels [f"{ prefix } .authResponseHeaders" ]
37+ assert (
38+ auth_middleware_name
39+ in labels ["traefik.http.routers.pytest-simcore_manual.middlewares" ]
40+ )
You can’t perform that action at this time.
0 commit comments