File size: 660 Bytes
6f718f1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from pathlib import Path

import httpx

from gaia_agent.client import ScoringClient
from gaia_agent.models import Question


def test_download_attachment_sanitizes_server_filename(tmp_path: Path) -> None:
    client = ScoringClient("https://example.test")
    client._client = httpx.Client(
        transport=httpx.MockTransport(lambda _: httpx.Response(200, content=b"data")),
        base_url="https://example.test",
    )
    question = Question(task_id="task", question="question", file_name="../unsafe.txt")
    result = client.download_attachment(question, tmp_path)
    assert result == tmp_path / "unsafe.txt"
    assert result.read_bytes() == b"data"