From 5ca3f332f586886ce4c4616b9f1cfd7d61ab8bf4 Mon Sep 17 00:00:00 2001 From: mulmarta Date: Fri, 3 May 2024 14:13:57 +0200 Subject: [PATCH] Fixup --- mls-rs/src/group/mod.rs | 17 +++++++++++++++++ mls-rs/src/group/proposal_cache.rs | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/mls-rs/src/group/mod.rs b/mls-rs/src/group/mod.rs index bd765f94..baf9c020 100644 --- a/mls-rs/src/group/mod.rs +++ b/mls-rs/src/group/mod.rs @@ -4330,4 +4330,21 @@ mod tests { .iter() .any(|member| member.index() == 0)); } + + #[cfg(feature = "by_ref_proposal")] + #[maybe_async::test(not(mls_build_async), async(mls_build_async, crate::futures_test))] + async fn commit_clears_proposals() { + let mut groups = test_n_member_group(TEST_PROTOCOL_VERSION, TEST_CIPHER_SUITE, 2).await; + + groups[0].group.propose_update(vec![]).await.unwrap(); + + assert_eq!(groups[0].group.state.proposals.proposals.len(), 1); + assert_eq!(groups[0].group.state.proposals.own_proposals.len(), 1); + + let commit = groups[1].group.commit(vec![]).await.unwrap().commit_message; + groups[0].process_message(commit).await.unwrap(); + + assert!(groups[0].group.state.proposals.proposals.is_empty()); + assert!(groups[0].group.state.proposals.own_proposals.is_empty()); + } } diff --git a/mls-rs/src/group/proposal_cache.rs b/mls-rs/src/group/proposal_cache.rs index c98e5718..a43711e5 100644 --- a/mls-rs/src/group/proposal_cache.rs +++ b/mls-rs/src/group/proposal_cache.rs @@ -111,9 +111,9 @@ impl ProposalCache { } } - #[inline] pub fn clear(&mut self) { self.proposals.clear(); + self.own_proposals.clear(); } #[cfg(feature = "private_message")]