Skip to content

Commit 3840a4e

Browse files
committed
Fix tests
1 parent 8f2d018 commit 3840a4e

3 files changed

Lines changed: 23 additions & 7 deletions

File tree

crates/email/src/cache/mod.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ impl MessageCacheFetch for Server {
125125
let mut changed_items: AHashMap<u32, bool> = AHashMap::with_capacity(changes.changes.len());
126126
let mut changed_containers: AHashMap<u32, bool> =
127127
AHashMap::with_capacity(changes.changes.len());
128+
let mut has_container_property_changes = false;
128129

129130
for change in changes.changes {
130131
match change {
@@ -156,7 +157,9 @@ impl MessageCacheFetch for Server {
156157
Change::DeleteContainer(id) => {
157158
changed_containers.insert(id as u32, false);
158159
}
159-
Change::UpdateContainerProperty(_) => (),
160+
Change::UpdateContainerProperty(_) => {
161+
has_container_property_changes = true;
162+
}
160163
}
161164
}
162165

@@ -172,6 +175,10 @@ impl MessageCacheFetch for Server {
172175
update_mailbox_cache(self, account_id, &changed_containers, &cache).await?;
173176
mailbox_cache.change_id = changes.container_change_id.unwrap_or(changes.to_change_id);
174177
cache.mailboxes = Arc::new(mailbox_cache);
178+
} else if has_container_property_changes {
179+
let mut mailbox_cache = cache.mailboxes.as_ref().clone();
180+
mailbox_cache.change_id = changes.container_change_id.unwrap_or(changes.to_change_id);
181+
cache.mailboxes = Arc::new(mailbox_cache);
175182
}
176183
cache.size = cache.emails.size + cache.mailboxes.size;
177184
cache.last_change_id = changes.to_change_id;

crates/services/src/housekeeper/mod.rs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -803,7 +803,13 @@ impl Purge for Server {
803803
// SPDX-License-Identifier: LicenseRef-SEL
804804
#[cfg(feature = "enterprise")]
805805
if let Some(trace_retention) = trace_retention
806-
&& let Err(err) = store
806+
&& let Some(trace_store) = self
807+
.core
808+
.enterprise
809+
.as_ref()
810+
.and_then(|e| e.trace_store.as_ref())
811+
&& let Err(err) = trace_store
812+
.store
807813
.purge_spans(trace_retention, self.search_store().into())
808814
.await
809815
{
@@ -812,7 +818,12 @@ impl Purge for Server {
812818

813819
#[cfg(feature = "enterprise")]
814820
if let Some(metrics_retention) = metrics_retention
815-
&& let Err(err) = store.purge_metrics(metrics_retention).await
821+
&& let Some(metrics_store) = self
822+
.core
823+
.enterprise
824+
.as_ref()
825+
.and_then(|e| e.metrics_store.as_ref())
826+
&& let Err(err) = metrics_store.store.purge_metrics(metrics_retention).await
816827
{
817828
trc::error!(err.details("Failed to purge metrics"));
818829
}

tests/src/jmap/mail/query_changes.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,7 @@ pub async fn test(params: &mut JMAPTest) {
117117
if change_num % 2 == 0 {
118118
type1_ids.insert(jmap_id);
119119
}
120-
thread_id_map
121-
.entry(jmap_id.prefix_id())
122-
.or_insert(jmap_id);
120+
thread_id_map.entry(jmap_id.prefix_id()).or_insert(jmap_id);
123121
}
124122
LogAction::Update(id) => {
125123
let id = *id_map.get(id).unwrap();
@@ -290,7 +288,7 @@ pub async fn test(params: &mut JMAPTest) {
290288
for item in changes.added() {
291289
let item_id = Id::from_str(item.id()).unwrap();
292290
let id = id_map.iter().find(|(_, v)| **v == item_id).unwrap().0;
293-
assert!(id < &7, "{:?} (id: {})", changes, id);
291+
assert!(id <= &7, "{:?} (id: {})", changes, id);
294292
}
295293
}
296294
if test_num == 4 {

0 commit comments

Comments
 (0)