40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
import importlib.util
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
|
|
MODULE_PATH = Path(__file__).parent / "dlp-compliance" / "report_generator.py"
|
|
|
|
|
|
def load_module(name: str):
|
|
spec = importlib.util.spec_from_file_location(name, MODULE_PATH)
|
|
module = importlib.util.module_from_spec(spec)
|
|
sys.modules[spec.name] = module
|
|
spec.loader.exec_module(module)
|
|
return module
|
|
|
|
|
|
MODULE = load_module("aw_dlp_report_generator")
|
|
|
|
|
|
def test_build_aw_api_base_accepts_root_and_api_urls():
|
|
assert MODULE.build_aw_api_base("http://127.0.0.1:5600") == "http://127.0.0.1:5600/api/0"
|
|
assert MODULE.build_aw_api_base("http://127.0.0.1:5600/") == "http://127.0.0.1:5600/api/0"
|
|
assert MODULE.build_aw_api_base("http://127.0.0.1:5600/api/0") == "http://127.0.0.1:5600/api/0"
|
|
|
|
|
|
def test_aw_dlp_api_base_env_takes_precedence(monkeypatch):
|
|
monkeypatch.setenv("AW_SERVER_URL", "http://127.0.0.1:5600")
|
|
monkeypatch.setenv("AW_DLP_AW_API_BASE", "http://127.0.0.1:5600/api/0")
|
|
module = load_module("aw_dlp_report_generator_env_precedence")
|
|
assert module.AW_API_BASE == "http://127.0.0.1:5600/api/0"
|
|
|
|
|
|
def test_aw_server_url_is_normalized_when_dlp_api_base_is_missing(monkeypatch):
|
|
monkeypatch.setenv("AW_SERVER_URL", "http://127.0.0.1:5600")
|
|
monkeypatch.delenv("AW_DLP_AW_API_BASE", raising=False)
|
|
module = load_module("aw_dlp_report_generator_server_url_fallback")
|
|
assert module.AW_API_BASE == "http://127.0.0.1:5600/api/0"
|