56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
import json
|
|
|
|
from strix.config.config import Config
|
|
|
|
|
|
def test_traceloop_vars_are_tracked() -> None:
|
|
tracked = Config.tracked_vars()
|
|
|
|
assert "STRIX_OTEL_TELEMETRY" in tracked
|
|
assert "STRIX_POSTHOG_TELEMETRY" in tracked
|
|
assert "TRACELOOP_BASE_URL" in tracked
|
|
assert "TRACELOOP_API_KEY" in tracked
|
|
assert "TRACELOOP_HEADERS" in tracked
|
|
|
|
|
|
def test_apply_saved_uses_saved_traceloop_vars(monkeypatch, tmp_path) -> None:
|
|
config_path = tmp_path / "cli-config.json"
|
|
config_path.write_text(
|
|
json.dumps(
|
|
{
|
|
"env": {
|
|
"TRACELOOP_BASE_URL": "https://otel.example.com",
|
|
"TRACELOOP_API_KEY": "api-key",
|
|
"TRACELOOP_HEADERS": "x-test=value",
|
|
}
|
|
}
|
|
),
|
|
encoding="utf-8",
|
|
)
|
|
|
|
monkeypatch.setattr(Config, "_config_file_override", config_path)
|
|
monkeypatch.delenv("TRACELOOP_BASE_URL", raising=False)
|
|
monkeypatch.delenv("TRACELOOP_API_KEY", raising=False)
|
|
monkeypatch.delenv("TRACELOOP_HEADERS", raising=False)
|
|
|
|
applied = Config.apply_saved()
|
|
|
|
assert applied["TRACELOOP_BASE_URL"] == "https://otel.example.com"
|
|
assert applied["TRACELOOP_API_KEY"] == "api-key"
|
|
assert applied["TRACELOOP_HEADERS"] == "x-test=value"
|
|
|
|
|
|
def test_apply_saved_respects_existing_env_traceloop_vars(monkeypatch, tmp_path) -> None:
|
|
config_path = tmp_path / "cli-config.json"
|
|
config_path.write_text(
|
|
json.dumps({"env": {"TRACELOOP_BASE_URL": "https://otel.example.com"}}),
|
|
encoding="utf-8",
|
|
)
|
|
|
|
monkeypatch.setattr(Config, "_config_file_override", config_path)
|
|
monkeypatch.setenv("TRACELOOP_BASE_URL", "https://env.example.com")
|
|
|
|
applied = Config.apply_saved(force=False)
|
|
|
|
assert "TRACELOOP_BASE_URL" not in applied
|