Download tests/test_teacher_gateway.py from 42e/mathcompose: direct link, hf CLI and curl.
- Browser
- Download file 1.44 kB
-
https://huggingface.co/42e/mathcompose/resolve/main/tests/test_teacher_gateway.py
- Command line
-
hf download hf://42e/mathcompose/tests/test_teacher_gateway.py
-
curl -L -o test_teacher_gateway.py https://huggingface.co/42e/mathcompose/resolve/main/tests/test_teacher_gateway.py
1.44 kB
| """promptlens gateway wiring (no network: client construction only).""" | |
| import pytest | |
| from mathcompose.teachers import get_teacher, PROMPTLENS_BASE_URL | |
| def test_promptlens_requires_key(monkeypatch): | |
| for k in ("TFY_API_KEY", "PROMPTLENS_API_KEY", "OPENAI_API_KEY"): | |
| monkeypatch.delenv(k, raising=False) | |
| # also neutralize any .env on disk | |
| monkeypatch.setattr("mathcompose.common.env.load_dotenv", lambda *a, **k: False) | |
| with pytest.raises(RuntimeError, match="TFY_API_KEY"): | |
| get_teacher("promptlens") | |
| def _hermetic(monkeypatch): | |
| """Isolate from any on-disk .env / ambient TFY_* vars.""" | |
| monkeypatch.setattr("mathcompose.common.env.load_dotenv", lambda *a, **k: False) | |
| for k in ("TFY_MODEL", "TFY_BASE_URL", "PROMPTLENS_API_KEY", "OPENAI_API_KEY"): | |
| monkeypatch.delenv(k, raising=False) | |
| monkeypatch.setenv("TFY_API_KEY", "tfy-test-key") | |
| def test_promptlens_presets_base_url_and_model(monkeypatch): | |
| pytest.importorskip("openai") | |
| _hermetic(monkeypatch) | |
| t = get_teacher("promptlens") | |
| assert t.base_url == PROMPTLENS_BASE_URL | |
| assert t.model == "claude-sonnet-4-6" # default slug | |
| def test_promptlens_overrides(monkeypatch): | |
| pytest.importorskip("openai") | |
| _hermetic(monkeypatch) | |
| t = get_teacher("promptlens", model="claude-opus-4-8", base_url="https://example/api") | |
| assert t.model == "claude-opus-4-8" | |
| assert t.base_url == "https://example/api" | |