MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / test_full_lifecycle

Function test_full_lifecycle

atomic-agent/src/turn/session.rs:1339–1385  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1337
1338 #[test]
1339 fn test_full_lifecycle() {
1340 let (_dir, store) = make_store();
1341
1342 // Create session
1343 let mut session = AgentSession::new("lifecycle-test", "claude-code", "Claude Code");
1344 session.set_model_info("anthropic", "claude-sonnet-4");
1345 store.save(&session).unwrap();
1346
1347 // Turn 1
1348 session.begin_turn();
1349 session.phase = Phase::Active;
1350 store.save(&session).unwrap();
1351
1352 let turn_num = session.end_turn();
1353 assert_eq!(turn_num, 1);
1354 session.phase = Phase::Idle;
1355 session.add_files_touched(&["src/main.rs".to_string()]);
1356 store.save(&session).unwrap();
1357
1358 // Turn 2
1359 session.begin_turn();
1360 session.phase = Phase::Active;
1361 let turn_num = session.end_turn();
1362 assert_eq!(turn_num, 2);
1363 session.phase = Phase::Idle;
1364 session.add_files_touched(&["src/lib.rs".to_string()]);
1365 store.save(&session).unwrap();
1366
1367 // End session
1368 session.phase = Phase::Ended;
1369 session.ended_at = Some(Utc::now());
1370 store.save(&session).unwrap();
1371
1372 // Verify final state
1373 let loaded = store.load("lifecycle-test").unwrap().unwrap();
1374 assert_eq!(loaded.turn_count, 2);
1375 assert_eq!(loaded.phase, Phase::Ended);
1376 assert_eq!(loaded.files_touched, vec!["src/main.rs", "src/lib.rs"]);
1377 assert!(loaded.ended_at.is_some());
1378 assert_eq!(loaded.agent_vendor, "anthropic");
1379 assert_eq!(loaded.model, "claude-sonnet-4");
1380
1381 // Verify it shows up in find_ended
1382 let ended = store.find_ended().unwrap();
1383 assert_eq!(ended.len(), 1);
1384 assert_eq!(ended[0].session_id, "lifecycle-test");
1385 }
1386}

Callers

nothing calls this directly

Calls 9

make_storeFunction · 0.85
set_model_infoMethod · 0.80
add_files_touchedMethod · 0.80
find_endedMethod · 0.80
unwrapMethod · 0.45
saveMethod · 0.45
begin_turnMethod · 0.45
end_turnMethod · 0.45
loadMethod · 0.45

Tested by

no test coverage detected