()
| 998 | |
| 999 | #[test] |
| 1000 | fn test_serde_roundtrip() { |
| 1001 | let mut s = make_session(); |
| 1002 | s.set_model_info("anthropic", "claude-sonnet-4"); |
| 1003 | s.set_transcript_path("/tmp/t.jsonl"); |
| 1004 | s.set_first_prompt("Test prompt"); |
| 1005 | s.add_files_touched(&["a.rs".to_string()]); |
| 1006 | s.begin_turn(); |
| 1007 | s.end_turn(); |
| 1008 | |
| 1009 | let json = serde_json::to_string_pretty(&s).unwrap(); |
| 1010 | let loaded: AgentSession = serde_json::from_str(&json).unwrap(); |
| 1011 | |
| 1012 | assert_eq!(loaded.session_id, s.session_id); |
| 1013 | assert_eq!(loaded.view_name, s.view_name); |
| 1014 | assert_eq!(loaded.phase, s.phase); |
| 1015 | assert_eq!(loaded.turn_count, s.turn_count); |
| 1016 | assert_eq!(loaded.agent_name, s.agent_name); |
| 1017 | assert_eq!(loaded.agent_display_name, s.agent_display_name); |
| 1018 | assert_eq!(loaded.agent_vendor, s.agent_vendor); |
| 1019 | assert_eq!(loaded.model, s.model); |
| 1020 | assert_eq!(loaded.transcript_path, s.transcript_path); |
| 1021 | assert_eq!(loaded.first_prompt, s.first_prompt); |
| 1022 | assert_eq!(loaded.files_touched, s.files_touched); |
| 1023 | } |
| 1024 | |
| 1025 | #[test] |
| 1026 | fn test_serde_backward_compat_missing_fields() { |
nothing calls this directly
no test coverage detected