diff options
Diffstat (limited to 'sync/engine/apply_updates_command_unittest.cc')
-rw-r--r-- | sync/engine/apply_updates_command_unittest.cc | 158 |
1 files changed, 52 insertions, 106 deletions
diff --git a/sync/engine/apply_updates_command_unittest.cc b/sync/engine/apply_updates_command_unittest.cc index 01ddd93..b261c1d 100644 --- a/sync/engine/apply_updates_command_unittest.cc +++ b/sync/engine/apply_updates_command_unittest.cc @@ -81,19 +81,14 @@ TEST_F(ApplyUpdatesCommandTest, Simple) { ExpectGroupToChange(apply_updates_command_, GROUP_UI); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); - - EXPECT_EQ(0, status->num_simple_conflicts()) + const sessions::StatusController& status = session()->status_controller(); + EXPECT_EQ(0, status.num_simple_conflicts()) << "Simple update shouldn't result in conflicts"; - EXPECT_EQ(0, status->num_encryption_conflicts()) + EXPECT_EQ(0, status.num_encryption_conflicts()) << "Simple update shouldn't result in conflicts"; - EXPECT_EQ(0, status->num_hierarchy_conflicts()) + EXPECT_EQ(0, status.num_hierarchy_conflicts()) << "Simple update shouldn't result in conflicts"; - sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); - ASSERT_TRUE(status->update_progress()); - EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize()) - << "All updates should have been attempted"; - EXPECT_EQ(2, status->update_progress()->SuccessfullyAppliedUpdateCount()) + EXPECT_EQ(2, status.num_updates_applied()) << "All items should have been successfully applied"; } @@ -115,14 +110,10 @@ TEST_F(ApplyUpdatesCommandTest, UpdateWithChildrenBeforeParents) { ExpectGroupToChange(apply_updates_command_, GROUP_UI); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); - EXPECT_EQ(0, status->num_simple_conflicts()) + const sessions::StatusController& status = session()->status_controller(); + EXPECT_EQ(0, status.num_simple_conflicts()) << "Simple update shouldn't result in conflicts, even if out-of-order"; - sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); - ASSERT_TRUE(status->update_progress()); - EXPECT_EQ(5, status->update_progress()->AppliedUpdatesSize()) - << "All updates should have been attempted"; - EXPECT_EQ(5, status->update_progress()->SuccessfullyAppliedUpdateCount()) + EXPECT_EQ(5, status.num_updates_applied()) << "All updates should have been successfully applied"; } @@ -136,8 +127,8 @@ TEST_F(ApplyUpdatesCommandTest, SimpleConflict) { ExpectGroupToChange(apply_updates_command_, GROUP_UI); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); - EXPECT_EQ(1, status->num_simple_conflicts()) + const sessions::StatusController& status = session()->status_controller(); + EXPECT_EQ(1, status.num_simple_conflicts()) << "Unsynced and unapplied item should be a simple conflict"; } @@ -164,15 +155,12 @@ TEST_F(ApplyUpdatesCommandTest, HierarchyAndSimpleConflict) { ExpectGroupToChange(apply_updates_command_, GROUP_UI); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); + const sessions::StatusController& status = session()->status_controller(); // An update that is both a simple conflict and a hierarchy conflict should be // treated as a hierarchy conflict. - EXPECT_EQ(1, status->num_hierarchy_conflicts()); - EXPECT_EQ(0, status->num_simple_conflicts()); - - sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); - EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize()); + EXPECT_EQ(1, status.num_hierarchy_conflicts()); + EXPECT_EQ(0, status.num_simple_conflicts()); } @@ -210,14 +198,11 @@ TEST_F(ApplyUpdatesCommandTest, HierarchyConflictDirectoryLoop) { ExpectGroupToChange(apply_updates_command_, GROUP_UI); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); + const sessions::StatusController& status = session()->status_controller(); // This should count as a hierarchy conflict. - EXPECT_EQ(1, status->num_hierarchy_conflicts()); - EXPECT_EQ(0, status->num_simple_conflicts()); - - sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); - EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize()); + EXPECT_EQ(1, status.num_hierarchy_conflicts()); + EXPECT_EQ(0, status.num_simple_conflicts()); } // Runs the ApplyUpdatesCommand on a directory where the server sent us an @@ -247,9 +232,9 @@ TEST_F(ApplyUpdatesCommandTest, HierarchyConflictDeletedParent) { ExpectGroupToChange(apply_updates_command_, GROUP_UI); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); - EXPECT_EQ(1, status->num_hierarchy_conflicts()); - EXPECT_EQ(0, status->num_simple_conflicts()); + const sessions::StatusController& status = session()->status_controller(); + EXPECT_EQ(1, status.num_hierarchy_conflicts()); + EXPECT_EQ(0, status.num_simple_conflicts()); } // Runs the ApplyUpdatesCommand on a directory where the server is trying to @@ -285,10 +270,10 @@ TEST_F(ApplyUpdatesCommandTest, HierarchyConflictDeleteNonEmptyDirectory) { ExpectGroupToChange(apply_updates_command_, GROUP_UI); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); + const sessions::StatusController& status = session()->status_controller(); // This should count as a hierarchy conflict. - EXPECT_EQ(1, status->num_hierarchy_conflicts()); - EXPECT_EQ(0, status->num_simple_conflicts()); + EXPECT_EQ(1, status.num_hierarchy_conflicts()); + EXPECT_EQ(0, status.num_simple_conflicts()); } // Runs the ApplyUpdatesCommand on a server-created item that has a locally @@ -304,19 +289,13 @@ TEST_F(ApplyUpdatesCommandTest, HierarchyConflictUnknownParent) { ExpectGroupToChange(apply_updates_command_, GROUP_UI); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); - - EXPECT_EQ(0, status->num_simple_conflicts()) + const sessions::StatusController& status = session()->status_controller(); + EXPECT_EQ(0, status.num_simple_conflicts()) << "Updates with unknown parent should not be treated as 'simple'" << " conflicts"; - EXPECT_EQ(2, status->num_hierarchy_conflicts()) + EXPECT_EQ(2, status.num_hierarchy_conflicts()) << "All updates with an unknown ancestors should be in conflict"; - - sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); - ASSERT_TRUE(status->update_progress()); - EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize()) - << "All updates should have been attempted"; - EXPECT_EQ(0, status->update_progress()->SuccessfullyAppliedUpdateCount()) + EXPECT_EQ(0, status.num_updates_applied()) << "No item with an unknown ancestor should be applied"; } @@ -339,16 +318,10 @@ TEST_F(ApplyUpdatesCommandTest, ItemsBothKnownAndUnknown) { ExpectGroupToChange(apply_updates_command_, GROUP_UI); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); - - EXPECT_EQ(2, status->num_hierarchy_conflicts()) + const sessions::StatusController& status = session()->status_controller(); + EXPECT_EQ(2, status.num_hierarchy_conflicts()) << "The updates with unknown ancestors should be in conflict"; - - sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); - ASSERT_TRUE(status->update_progress()); - EXPECT_EQ(6, status->update_progress()->AppliedUpdatesSize()) - << "All updates should have been attempted"; - EXPECT_EQ(4, status->update_progress()->SuccessfullyAppliedUpdateCount()) + EXPECT_EQ(4, status.num_updates_applied()) << "The updates with known ancestors should be successfully applied"; } @@ -376,16 +349,10 @@ TEST_F(ApplyUpdatesCommandTest, DecryptablePassword) { ExpectGroupToChange(apply_updates_command_, GROUP_PASSWORD); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); - - EXPECT_EQ(0, status->num_simple_conflicts()) + const sessions::StatusController& status = session()->status_controller(); + EXPECT_EQ(0, status.num_simple_conflicts()) << "No update should be in conflict because they're all decryptable"; - - sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSWORD); - ASSERT_TRUE(status->update_progress()); - EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize()) - << "All updates should have been attempted"; - EXPECT_EQ(1, status->update_progress()->SuccessfullyAppliedUpdateCount()) + EXPECT_EQ(1, status.num_updates_applied()) << "The updates that can be decrypted should be applied"; } @@ -405,30 +372,16 @@ TEST_F(ApplyUpdatesCommandTest, UndecryptableData) { ExpectGroupsToChange(apply_updates_command_, GROUP_UI, GROUP_PASSWORD); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); - EXPECT_TRUE(status->HasConflictingUpdates()) - << "Updates that can't be decrypted should trigger the syncer to have " - << "conflicting updates."; - EXPECT_EQ(0, status->num_simple_conflicts()) + const sessions::StatusController& status = session()->status_controller(); + EXPECT_TRUE(status.HasConflictingUpdates()) + << "Updates that can't be decrypted should trigger the syncer to have " + << "conflicting updates."; + EXPECT_EQ(0, status.num_simple_conflicts()) << "Updates that can't be decrypted should not be in regular conflict"; - EXPECT_EQ(3, status->num_encryption_conflicts()) + EXPECT_EQ(3, status.num_encryption_conflicts()) << "Updates that can't be decrypted should be in encryption conflict"; - { - sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); - ASSERT_TRUE(status->update_progress()); - EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize()) - << "All updates should have been attempted"; - EXPECT_EQ(0, status->update_progress()->SuccessfullyAppliedUpdateCount()) - << "No update that can't be decrypted should be applied"; - } - { - sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSWORD); - ASSERT_TRUE(status->update_progress()); - EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize()) - << "All updates should have been attempted"; - EXPECT_EQ(0, status->update_progress()->SuccessfullyAppliedUpdateCount()) - << "No update that can't be decrypted should be applied"; - } + EXPECT_EQ(0, status.num_updates_applied()) + << "No update that can't be decrypted should be applied"; } TEST_F(ApplyUpdatesCommandTest, SomeUndecryptablePassword) { @@ -468,25 +421,18 @@ TEST_F(ApplyUpdatesCommandTest, SomeUndecryptablePassword) { ExpectGroupToChange(apply_updates_command_, GROUP_PASSWORD); apply_updates_command_.ExecuteImpl(session()); - sessions::StatusController* status = session()->mutable_status_controller(); - EXPECT_TRUE(status->HasConflictingUpdates()) - << "Updates that can't be decrypted should trigger the syncer to have " - << "conflicting updates."; - { - EXPECT_EQ(0, status->num_simple_conflicts()) - << "The updates that can't be decrypted should not be in regular " - << "conflict"; - EXPECT_EQ(1, status->num_encryption_conflicts()) - << "The updates that can't be decrypted should be in encryption " - << "conflict"; - - sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSWORD); - ASSERT_TRUE(status->update_progress()); - EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize()) - << "All updates should have been attempted"; - EXPECT_EQ(1, status->update_progress()->SuccessfullyAppliedUpdateCount()) - << "The undecryptable password update shouldn't be applied"; - } + const sessions::StatusController& status = session()->status_controller(); + EXPECT_TRUE(status.HasConflictingUpdates()) + << "Updates that can't be decrypted should trigger the syncer to have " + << "conflicting updates."; + EXPECT_EQ(0, status.num_simple_conflicts()) + << "The updates that can't be decrypted should not be in regular " + << "conflict"; + EXPECT_EQ(1, status.num_encryption_conflicts()) + << "The updates that can't be decrypted should be in encryption " + << "conflict"; + EXPECT_EQ(1, status.num_updates_applied()) + << "The undecryptable password update shouldn't be applied"; } } // namespace syncer |