generated from coulomb/repo-seed
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
import os
|
|
|
|
import pytest
|
|
|
|
from phase_memory.credentialed_drills import (
|
|
CREDENTIALED_ADAPTER_ENV_VARS,
|
|
credentialed_adapter_smoke_report,
|
|
missing_credentialed_adapter_env,
|
|
)
|
|
|
|
|
|
def test_credentialed_adapter_drill_reports_missing_env_without_secrets() -> None:
|
|
report = credentialed_adapter_smoke_report({})
|
|
|
|
assert report["valid"] is False
|
|
assert report["skipped"] is True
|
|
assert tuple(report["missing_env"]) == CREDENTIALED_ADAPTER_ENV_VARS
|
|
assert report["diagnostics"][0]["code"] == "credential_env_missing"
|
|
|
|
|
|
@pytest.mark.skipif(
|
|
missing_credentialed_adapter_env(os.environ),
|
|
reason="requires env vars: " + ", ".join(CREDENTIALED_ADAPTER_ENV_VARS),
|
|
)
|
|
def test_credentialed_adapter_drill_reuses_manifest_contract_when_env_is_present() -> None:
|
|
report = credentialed_adapter_smoke_report(os.environ)
|
|
|
|
assert report["valid"] is True
|
|
assert report["skipped"] is False
|
|
assert report["adapter_pack"]["name"] == "live-shaped"
|
|
assert report["config"]["credential_fingerprint"]
|
|
assert "PHASE_MEMORY_MARKITECT_TOKEN" not in str(report)
|