personal memory agent
0

Configure Feed

Select the types of activity you want to include in your feed.

solstone / tests / test_get_raw_file.py
1.5 kB 43 lines
1# SPDX-License-Identifier: AGPL-3.0-only 2# Copyright (c) 2026 sol pbc 3 4import importlib 5 6from solstone.think.utils import day_path 7 8 9def test_get_raw_file(tmp_path, monkeypatch): 10 utils = importlib.import_module("solstone.think.utils") 11 monkeypatch.setenv("SOLSTONE_JOURNAL", str(tmp_path)) 12 day_dir = day_path("20240101") 13 14 # Create segments under default stream 15 segment_123000 = day_dir / "default" / "123000_300" 16 segment_123000.mkdir(parents=True) 17 segment_090000 = day_dir / "default" / "090000_300" 18 segment_090000.mkdir(parents=True) 19 20 (segment_123000 / "monitor_1_diff.png").write_bytes(b"data") 21 (segment_123000 / "monitor_1_diff.json").write_text( 22 '{"visual_description": "screen", "raw": "monitor_1_diff.png"}' 23 ) 24 25 (segment_090000 / "raw.flac").write_bytes(b"data") 26 # Write JSONL format: metadata first, then entry 27 (segment_090000 / "audio.jsonl").write_text( 28 '{"raw": "raw.flac"}\n{"text": "hello"}\n' 29 ) 30 31 path, mime, meta = utils.get_raw_file( 32 "20240101", "default/123000_300/monitor_1_diff.json" 33 ) 34 assert path == "monitor_1_diff.png" 35 assert mime == "image/png" 36 assert meta["visual_description"] == "screen" 37 38 path, mime, meta = utils.get_raw_file("20240101", "default/090000_300/audio.jsonl") 39 assert path == "raw.flac" 40 assert mime == "audio/flac" 41 # JSONL format returns a list: [entry1_dict, ...] 42 assert isinstance(meta, list) and len(meta) == 1 43 assert meta[0]["text"] == "hello"