()
| 972 | |
| 973 | #[test] |
| 974 | fn test_serde_roundtrip() { |
| 975 | let mut s = make_session(); |
| 976 | s.set_model_info("anthropic", "claude-sonnet-4"); |
| 977 | s.set_transcript_path("/tmp/t.jsonl"); |
| 978 | s.set_first_prompt("Test prompt"); |
| 979 | s.add_files_touched(&["a.rs".to_string()]); |
| 980 | s.begin_turn(); |
| 981 | s.end_turn(); |
| 982 | |
| 983 | let json = serde_json::to_string_pretty(&s).unwrap(); |
| 984 | let loaded: AgentSession = serde_json::from_str(&json).unwrap(); |
| 985 | |
| 986 | assert_eq!(loaded.session_id, s.session_id); |
| 987 | assert_eq!(loaded.view_name, s.view_name); |
| 988 | assert_eq!(loaded.phase, s.phase); |
| 989 | assert_eq!(loaded.turn_count, s.turn_count); |
| 990 | assert_eq!(loaded.agent_name, s.agent_name); |
| 991 | assert_eq!(loaded.agent_display_name, s.agent_display_name); |
| 992 | assert_eq!(loaded.agent_vendor, s.agent_vendor); |
| 993 | assert_eq!(loaded.model, s.model); |
| 994 | assert_eq!(loaded.transcript_path, s.transcript_path); |
| 995 | assert_eq!(loaded.first_prompt, s.first_prompt); |
| 996 | assert_eq!(loaded.files_touched, s.files_touched); |
| 997 | } |
| 998 | |
| 999 | #[test] |
| 1000 | fn test_serde_backward_compat_missing_fields() { |
nothing calls this directly
no test coverage detected