Commit 663217db authored by Mohamed Amir Yosef's avatar Mohamed Amir Yosef Committed by Commit Bot

[Sync::USS] Return the error in PasswordSyncBridge::MergeSyncData()

Bug: 902349
Change-Id: Ie6289a5fb4331e68f8da840de11fd53aca0e2c51
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1539978Reviewed-by: default avatarMikel Astiz <mastiz@chromium.org>
Commit-Queue: Mikel Astiz <mastiz@chromium.org>
Auto-Submit: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644466}
parent 04ebd086
......@@ -440,7 +440,7 @@ base::Optional<syncer::ModelError> PasswordSyncBridge::MergeSyncData(
password_store_sync_->NotifyLoginsChanged(password_store_changes);
}
return base::nullopt;
return error;
}
base::Optional<syncer::ModelError> PasswordSyncBridge::ApplySyncChanges(
......
......@@ -651,6 +651,27 @@ TEST_F(PasswordSyncBridgeTest,
EXPECT_TRUE(error);
}
// This tests that if storing model type state fails,
// ShouldMergeSync() would return an error without crashing.
TEST_F(
PasswordSyncBridgeTest,
ShouldMergeSyncRemoteAndLocalPasswordsWithErrorWhenStoreUpdateModelTypeStateFails) {
// Simulate failure in UpdateModelTypeState();
ON_CALL(*mock_sync_metadata_store_sync(), UpdateModelTypeState(_, _))
.WillByDefault(testing::Return(false));
sync_pb::ModelTypeState model_type_state;
model_type_state.set_initial_sync_done(true);
std::unique_ptr<syncer::MetadataChangeList> metadata_changes =
bridge()->CreateMetadataChangeList();
metadata_changes->UpdateModelTypeState(model_type_state);
base::Optional<syncer::ModelError> error =
bridge()->MergeSyncData(std::move(metadata_changes), {});
EXPECT_TRUE(error);
}
TEST_F(PasswordSyncBridgeTest, ShouldGetAllDataForDebuggingWithHiddenPassword) {
const int kPrimaryKey1 = 1000;
const int kPrimaryKey2 = 1001;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment