personal memory agent
1# SPDX-License-Identifier: AGPL-3.0-only
2# Copyright (c) 2026 sol pbc
3
4from pathlib import Path
5
6import pytest
7
8from convey import create_app
9
10
11@pytest.fixture
12def client():
13 journal = Path(__file__).resolve().parents[3] / "tests" / "fixtures" / "journal"
14 app = create_app(str(journal))
15 return app.test_client()
16
17
18def test_serve_file_path_traversal_returns_non_200(client):
19 response = client.get(
20 "/app/transcripts/api/serve_file/20240101/../../../etc/passwd"
21 )
22
23 assert response.status_code != 200
24
25
26def test_serve_file_malformed_day_returns_404(client):
27 response = client.get("/app/transcripts/api/serve_file/notadate/foo")
28
29 assert response.status_code == 404