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

Function test_full_lifecycle

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

Source from the content-addressed store, hash-verified

1400
1401 #[test]
1402 fn test_full_lifecycle() {
1403 let (_dir, store) = make_store();
1404
1405 // Create session
1406 let mut session = AgentSession::new("lifecycle-test", "claude-code", "Claude Code");
1407 session.set_model_info("anthropic", "claude-sonnet-4");
1408 store.save(&session).unwrap();
1409
1410 // Turn 1
1411 session.begin_turn();
1412 session.phase = Phase::Active;
1413 store.save(&session).unwrap();
1414
1415 let turn_num = session.end_turn();
1416 assert_eq!(turn_num, 1);
1417 session.phase = Phase::Idle;
1418 session.add_files_touched(&["src/main.rs".to_string()]);
1419 store.save(&session).unwrap();
1420
1421 // Turn 2
1422 session.begin_turn();
1423 session.phase = Phase::Active;
1424 let turn_num = session.end_turn();
1425 assert_eq!(turn_num, 2);
1426 session.phase = Phase::Idle;
1427 session.add_files_touched(&["src/lib.rs".to_string()]);
1428 store.save(&session).unwrap();
1429
1430 // End session
1431 session.phase = Phase::Ended;
1432 session.ended_at = Some(Utc::now());
1433 store.save(&session).unwrap();
1434
1435 // Verify final state
1436 let loaded = store.load("lifecycle-test").unwrap().unwrap();
1437 assert_eq!(loaded.turn_count, 2);
1438 assert_eq!(loaded.phase, Phase::Ended);
1439 assert_eq!(loaded.files_touched, vec!["src/main.rs", "src/lib.rs"]);
1440 assert!(loaded.ended_at.is_some());
1441 assert_eq!(loaded.agent_vendor, "anthropic");
1442 assert_eq!(loaded.model, "claude-sonnet-4");
1443
1444 // Verify it shows up in find_ended
1445 let ended = store.find_ended().unwrap();
1446 assert_eq!(ended.len(), 1);
1447 assert_eq!(ended[0].session_id, "lifecycle-test");
1448 }
1449}

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