"""Optional genuine Inspect integration test using its local mock model."""

from pathlib import Path

import pytest


def test_inspect_task_uses_shared_fixtures_and_scorer(tmp_path):
    pytest.importorskip("inspect_ai")
    from inspect_ai import eval
    from inspect_ai.model import ModelOutput, get_model
    from hessian_recipes.inspect_tasks import development_benchmark

    root = Path(__file__).resolve().parents[1]
    task = development_benchmark(str(root / "benchmarks/reasoning_reliability/spec.json"))
    assert len(task.dataset) == 4
    assert task.metadata["release_eligible"] is False

    # Inspect's built-in mock provider performs no external requests.
    def mock_output(messages, tools, tool_choice, config):
        prompt = messages[-1].text
        answer = (
            "117"
            if "7 trays" in prompt
            else "30"
            if "pump" in prompt
            else "no"
            if "blue boxes" in prompt
            else "4"
        )
        return ModelOutput.from_content(model="mockllm", content=answer)

    logs = eval(
        task,
        model=get_model("mockllm/model", custom_outputs=mock_output),
        log_dir=str(tmp_path),
        display="none",
        max_connections=1,
    )
    assert len(logs) == 1
    assert logs[0].status == "success"
    assert logs[0].results.scores[0].metrics["accuracy"].value == 1
