diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-29 21:36:48 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-29 21:36:48 +0300 |
| commit | 9150ed6268874d1f2a314b1ddbf531b66df1e105 (patch) | |
| tree | b8e8c35fb703b5b59babbdb8e4d732f906face41 /src/api/schema/tests.rs | |
| parent | f36d8043594489508046ff0852989ec08f52188a (diff) | |
feat: add session snapshot api
Diffstat (limited to 'src/api/schema/tests.rs')
| -rw-r--r-- | src/api/schema/tests.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/api/schema/tests.rs b/src/api/schema/tests.rs index dd2004cf..5d61e972 100644 --- a/src/api/schema/tests.rs +++ b/src/api/schema/tests.rs @@ -377,6 +377,40 @@ fn success_response_round_trips() { } #[test] +fn session_snapshot_request_and_response_round_trip() { + let request = Request { + id: "req_snapshot".into(), + method: Method::SessionSnapshot(EmptyParams::default()), + }; + let json = serde_json::to_string(&request).unwrap(); + assert!(json.contains("\"method\":\"session.snapshot\"")); + let restored: Request = serde_json::from_str(&json).unwrap(); + assert_eq!(restored, request); + + let response = SuccessResponse { + id: "req_snapshot".into(), + result: ResponseResult::SessionSnapshot { + snapshot: Box::new(SessionSnapshot { + version: "0.1.2".into(), + protocol: 15, + focused_workspace_id: None, + focused_tab_id: None, + focused_pane_id: None, + workspaces: Vec::new(), + tabs: Vec::new(), + panes: Vec::new(), + layouts: Vec::new(), + agents: Vec::new(), + }), + }, + }; + let json = serde_json::to_string(&response).unwrap(); + assert!(json.contains("\"type\":\"session_snapshot\"")); + let restored: SuccessResponse = serde_json::from_str(&json).unwrap(); + assert_eq!(restored, response); +} + +#[test] fn worktree_request_and_response_round_trip() { let request = Request { id: "req_worktree".into(), |
