diff --git a/crates/matrix-sdk-crypto/src/session_manager/sessions.rs b/crates/matrix-sdk-crypto/src/session_manager/sessions.rs
index 23a3f5cbe..8cb95ff6b 100644
--- a/crates/matrix-sdk-crypto/src/session_manager/sessions.rs
+++ b/crates/matrix-sdk-crypto/src/session_manager/sessions.rs
@@ -516,7 +516,6 @@ mod tests {
let users_for_key_claim = Arc::new(DashMap::new());
let account = ReadOnlyAccount::with_device_id(user_id, device_id);
let store = Arc::new(CryptoStoreWrapper::new(user_id, MemoryStore::new()));
- store.save_account(account.clone()).await.unwrap();
let identity = Arc::new(Mutex::new(PrivateCrossSigningIdentity::empty(user_id)));
let verification = VerificationMachine::new(
account.static_data().clone(),
@@ -525,6 +524,7 @@ mod tests {
);
let store = Store::new(account.clone(), identity, store, verification);
+ store.save_account(account.clone()).await.unwrap();
let account = Account { static_data: account.static_data.clone(), store: store.clone() };
diff --git a/crates/matrix-sdk-crypto/src/store/integration_tests.rs b/crates/matrix-sdk-crypto/src/store/integration_tests.rs
index 5a5dc4e53..899bc2d83 100644
--- a/crates/matrix-sdk-crypto/src/store/integration_tests.rs
+++ b/crates/matrix-sdk-crypto/src/store/integration_tests.rs
@@ -65,7 +65,8 @@ macro_rules! cryptostore_integration_tests {
pub async fn get_loaded_store(name: &str) -> (ReadOnlyAccount, impl CryptoStore) {
let store = get_store(name, None).await;
let account = get_account();
- store.save_account(account.clone()).await.expect("Can't save account");
+
+ store.save_changes(Changes { account: Some(account.clone()), ..Default::default() }).await.expect("Can't save account");
(account, store)
}
@@ -114,7 +115,7 @@ macro_rules! cryptostore_integration_tests {
assert!(store.load_account().await.unwrap().is_none());
let account = get_account();
- store.save_account(account).await.expect("Can't save account");
+ store.save_changes(Changes { account: Some(account), ..Default::default() }).await.expect("Can't save account");
assert!(store.get_static_account().is_some());
}
@@ -123,7 +124,7 @@ macro_rules! cryptostore_integration_tests {
let store = get_store("load_account", None).await;
let account = get_account();
- store.save_account(account.clone()).await.expect("Can't save account");
+ store.save_changes(Changes { account: Some(account.clone()), ..Default::default() }).await.expect("Can't save account");
let loaded_account = store.load_account().await.expect("Can't load account");
let loaded_account = loaded_account.unwrap();
@@ -137,7 +138,7 @@ macro_rules! cryptostore_integration_tests {
get_store("load_account_with_passphrase", Some("secret_passphrase")).await;
let account = get_account();
- store.save_account(account.clone()).await.expect("Can't save account");
+ store.save_changes(Changes { account: Some(account.clone()), ..Default::default() }).await.expect("Can't save account");
let loaded_account = store.load_account().await.expect("Can't load account");
let loaded_account = loaded_account.unwrap();
@@ -150,12 +151,12 @@ macro_rules! cryptostore_integration_tests {
let store = get_store("save_and_share_account", None).await;
let account = get_account();
- store.save_account(account.clone()).await.expect("Can't save account");
+ store.save_changes(Changes { account: Some(account.clone()), ..Default::default() }).await.expect("Can't save account");
account.mark_as_shared();
account.update_uploaded_key_count(50);
- store.save_account(account.clone()).await.expect("Can't save account");
+ store.save_changes(Changes { account: Some(account.clone()), ..Default::default() }).await.expect("Can't save account");
let loaded_account = store.load_account().await.expect("Can't load account");
let loaded_account = loaded_account.unwrap();
@@ -168,7 +169,7 @@ macro_rules! cryptostore_integration_tests {
async fn load_sessions() {
let store = get_store("load_sessions", None).await;
let (account, session) = get_account_and_session().await;
- store.save_account(account.clone()).await.expect("Can't save account");
+ store.save_changes(Changes { account: Some(account.clone()), ..Default::default() }).await.expect("Can't save account");
let changes = Changes { sessions: vec![session.clone()], ..Default::default() };
@@ -192,7 +193,7 @@ macro_rules! cryptostore_integration_tests {
let sender_key = session.sender_key.to_base64();
let session_id = session.session_id().to_owned();
- store.save_account(account.clone()).await.expect("Can't save account");
+ store.save_changes(Changes { account: Some(account.clone()), ..Default::default() }).await.expect("Can't save account");
let changes = Changes { sessions: vec![session.clone()], ..Default::default() };
store.save_changes(changes).await.unwrap();
@@ -490,7 +491,9 @@ macro_rules! cryptostore_integration_tests {
let account = ReadOnlyAccount::with_device_id(&user_id, device_id);
- store.save_account(account.clone()).await.expect("Can't save account");
+ store.save_changes(Changes { account: Some(account.clone()), ..Default::default() })
+ .await
+ .expect("Can't save account");
let own_identity = get_own_identity();
diff --git a/crates/matrix-sdk-crypto/src/store/memorystore.rs b/crates/matrix-sdk-crypto/src/store/memorystore.rs
index fa2602d4f..594cc3fdb 100644
--- a/crates/matrix-sdk-crypto/src/store/memorystore.rs
+++ b/crates/matrix-sdk-crypto/src/store/memorystore.rs
@@ -130,10 +130,6 @@ impl CryptoStore for MemoryStore {
Ok(None)
}
- async fn save_account(&self, _: ReadOnlyAccount) -> Result<()> {
- Ok(())
- }
-
async fn load_identity(&self) -> Result