Files
AWatch-rus/aw-server/test_aw_dlp_report_generator.py
T

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"