OSINT1 / tests /test_inference.py
siddeshwar-kagatikar
Deploy clean snapshot to Hugging Face Space.
db4fa53
import inference
from inference import _format_action, _looks_like_placeholder_api_key, _tool_result_message
from osint_env.domain.models import EnvironmentConfig
def test_placeholder_api_key_detection():
assert _looks_like_placeholder_api_key("your_openai_api_key") is True
assert _looks_like_placeholder_api_key("sk-your-real-openai-key") is True
assert _looks_like_placeholder_api_key("replace-me") is True
assert _looks_like_placeholder_api_key("sk-proj-realistic-looking-token") is False
def test_tool_result_message_reuses_assistant_tool_call_id():
assistant_message = {
"role": "assistant",
"content": "",
"tool_calls": [
{
"id": "call_123",
"type": "function",
"function": {"name": "get_post", "arguments": "{\"post_id\":\"post_midnight_manifest\"}"},
}
],
}
result = {"reward": 0.1, "done": False}
tool_message = _tool_result_message(assistant_message, result)
assert tool_message is not None
assert tool_message["tool_call_id"] == "call_123"
assert tool_message["role"] == "tool"
def test_action_formatter_matches_single_line_style():
assert _format_action({"action_type": "ANSWER", "payload": {"answer": "user_bharat"}}) == "answer(user_bharat)"
assert _format_action(
{
"action_type": "CALL_TOOL",
"payload": {"tool_name": "get_post", "args": {"post_id": "post_midnight_manifest"}},
}
) == "get_post(post_id=post_midnight_manifest)"
def test_resolve_environment_config_applies_metaqa_overrides(monkeypatch):
base_cfg = EnvironmentConfig()
base_cfg.dataset_mode = "canonical"
monkeypatch.setattr(inference, "load_shared_config", lambda _path: type("S", (), {"environment": base_cfg})())
monkeypatch.setattr(inference, "clone_environment_config", lambda cfg: cfg)
monkeypatch.setattr(inference, "SEED_FILE", "")
monkeypatch.setattr(inference, "DATASET_MODE", "metaqa")
monkeypatch.setattr(inference, "METAQA_ROOT", "metaQA")
monkeypatch.setattr(inference, "METAQA_KB_PATH", "metaQA/kb.txt")
monkeypatch.setattr(inference, "METAQA_VARIANT", "vanilla")
monkeypatch.setattr(inference, "METAQA_HOPS_RAW", "1-hop,2-hop,3-hop")
monkeypatch.setattr(inference, "METAQA_SPLITS_RAW", "train")
monkeypatch.setattr(inference, "HF_TOKEN", "token")
monkeypatch.setattr(inference, "API_KEY", "")
monkeypatch.setattr(inference, "OPENAI_API_KEY", "")
monkeypatch.setattr(inference, "OPENAI_API_KEY_ENV", "OPENAI_API_KEY")
monkeypatch.setattr(inference, "API_BASE_URL", "https://api.openai.com/v1")
monkeypatch.setattr(inference, "OPENAI_BASE_URL", "")
monkeypatch.setattr(inference, "HF_SPACE_URL", "")
monkeypatch.setattr(inference, "MODEL_NAME", "gpt-5.4")
monkeypatch.setattr(inference, "LLM_TIMEOUT_SECONDS", 0)
cfg = inference._resolve_environment_config()
assert cfg.dataset_mode == "metaqa"
assert cfg.metaqa_root == "metaQA"
assert cfg.metaqa_kb_path == "metaQA/kb.txt"
assert cfg.metaqa_variant == "vanilla"
assert cfg.metaqa_hops == ["1-hop", "2-hop", "3-hop"]
assert cfg.metaqa_splits == ["train"]