from __future__ import annotations

import importlib.util
from pathlib import Path


def _load_cron_module():
    root = Path(__file__).resolve().parents[3]
    script = root / "scripts" / "cron_km_vectorize.py"
    spec = importlib.util.spec_from_file_location("cron_km_vectorize", script)
    assert spec is not None
    assert spec.loader is not None
    module = importlib.util.module_from_spec(spec)
    spec.loader.exec_module(module)
    return module


def test_project_headers_default_to_awoooi(monkeypatch):
    monkeypatch.delenv("KM_PROJECT_ID", raising=False)
    module = _load_cron_module()

    assert module._project_headers() == {"X-Project-ID": "awoooi"}


def test_project_headers_use_env_value(monkeypatch):
    monkeypatch.setenv("KM_PROJECT_ID", "tenant-a")
    module = _load_cron_module()

    assert module._project_headers() == {"X-Project-ID": "tenant-a"}


def test_project_headers_fallback_when_env_is_blank(monkeypatch):
    monkeypatch.setenv("KM_PROJECT_ID", "  ")
    module = _load_cron_module()

    assert module._project_headers() == {"X-Project-ID": "awoooi"}
