Files

56 lines
1.5 KiB
Rust
Raw Permalink Normal View History

use mem_store::{EventRecord, LogWriter};
use serde_json::json;
use std::fs;
#[test]
fn a1_log_writes_jsonl() {
let _ = fs::remove_dir_all("log/test/q1");
let mut writer = LogWriter::new("test", "q1", "run1").unwrap();
writer.log(EventRecord {
project: "test".to_string(),
query: "q1".to_string(),
run: "run1".to_string(),
turn: 1,
event_type: "evidence".to_string(),
data: json!({"chunk": "abc"}),
}).unwrap();
writer.log(EventRecord {
project: "test".to_string(),
query: "q1".to_string(),
run: "run1".to_string(),
turn: 2,
event_type: "memory".to_string(),
data: json!({"text": "test"}),
}).unwrap();
let events = writer.read_all().unwrap();
assert_eq!(events.len(), 2);
assert_eq!(events[0].turn, 1);
assert_eq!(events[1].turn, 2);
let _ = fs::remove_dir_all("log/test/q1");
}
#[test]
fn a2_log_idempotent() {
let _ = fs::remove_dir_all("log/test/q2");
let mut writer = LogWriter::new("test", "q2", "run2").unwrap();
writer.log(EventRecord {
project: "test".to_string(),
query: "q2".to_string(),
run: "run2".to_string(),
turn: 1,
event_type: "test".to_string(),
data: json!({"k": "v"}),
}).unwrap();
let events1 = writer.read_all().unwrap();
let events2 = writer.read_all().unwrap();
assert_eq!(events1, events2);
let _ = fs::remove_dir_all("log/test/q2");
}