From 33999fc6abbd553a345944edaec44b7f32a98e19 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Sun, 2 Jun 2024 12:20:15 +0300 Subject: [PATCH] melib/jmap: re-add Submission to USING Submission capability is necessary for Identity retrievals. Signed-off-by: Manos Pitsidianakis --- melib/src/jmap/protocol.rs | 6 +++++- melib/src/jmap/tests.rs | 8 +++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/melib/src/jmap/protocol.rs b/melib/src/jmap/protocol.rs index d96cdd48..ed8f707c 100644 --- a/melib/src/jmap/protocol.rs +++ b/melib/src/jmap/protocol.rs @@ -62,7 +62,11 @@ pub trait Method: Serialize + Send + Sync { const NAME: &'static str; } -static USING: &[&str] = &[JmapCoreCapability::uri(), JmapMailCapability::uri()]; +static USING: &[&str] = &[ + JmapCoreCapability::uri(), + JmapMailCapability::uri(), + JmapSubmissionCapability::uri(), +]; #[derive(Serialize)] #[serde(rename_all = "camelCase")] diff --git a/melib/src/jmap/tests.rs b/melib/src/jmap/tests.rs index 1ad31b1a..ce213640 100644 --- a/melib/src/jmap/tests.rs +++ b/melib/src/jmap/tests.rs @@ -66,7 +66,7 @@ fn test_jmap_query() { futures::executor::block_on(req.add_call(&email_call)); assert_eq!( - r#"{"using":["urn:ietf:params:jmap:core","urn:ietf:params:jmap:mail"],"methodCalls":[["Email/query",{"accountId":"account_id","calculateTotal":false,"collapseThreads":false,"filter":{"conditions":[{"inMailbox":"mailbox_id"},{"conditions":[{"subject":"wah"},{"conditions":[{"from":"Manos"},{"conditions":[{"subject":"foo"},{"subject":"bar"}],"operator":"OR"}],"operator":"AND"}],"operator":"OR"}],"operator":"AND"},"position":0,"sort":null},"m0"]]}"#, + r#"{"using":["urn:ietf:params:jmap:core","urn:ietf:params:jmap:mail","urn:ietf:params:jmap:submission"],"methodCalls":[["Email/query",{"accountId":"account_id","calculateTotal":false,"collapseThreads":false,"filter":{"conditions":[{"inMailbox":"mailbox_id"},{"conditions":[{"subject":"wah"},{"conditions":[{"from":"Manos"},{"conditions":[{"subject":"foo"},{"subject":"bar"}],"operator":"OR"}],"operator":"AND"}],"operator":"OR"}],"operator":"AND"},"position":0,"sort":null},"m0"]]}"#, serde_json::to_string(&req).unwrap().as_str() ); assert_eq!(*futures::executor::block_on(request_no.lock()), 1); @@ -269,7 +269,8 @@ fn test_jmap_identity_methods() { ], "using" : [ "urn:ietf:params:jmap:core", - "urn:ietf:params:jmap:mail" + "urn:ietf:params:jmap:mail", + "urn:ietf:params:jmap:submission" ] }}, ); @@ -426,7 +427,8 @@ fn test_jmap_argument_serde() { ], "using": [ "urn:ietf:params:jmap:core", - "urn:ietf:params:jmap:mail" + "urn:ietf:params:jmap:mail", + "urn:ietf:params:jmap:submission" ] }}, );