"""Shared fixtures -- provided, not part of the exercise.

`attacks` is the 40-entry fixture: a fictional red-team probe set against the provided mock
model, split across four categories (override, exfiltration, roleplay, encoding). `tool_policy`
is a stand-in allow-list for a small tool-calling agent -- a real policy would come from the
service's own config, not a fixture, but the shape (tool name -> argument schema) is the same.
"""
import json
from pathlib import Path

import pytest

FIXTURE = Path(__file__).resolve().parent.parent / "fixtures" / "attacks.json"


@pytest.fixture
def attacks() -> list[dict]:
    return json.loads(FIXTURE.read_text())["attacks"]


@pytest.fixture
def tool_policy() -> dict:
    return {
        "search": {"query": str},
        "get_weather": {"city": str},
    }
