| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/sync/sessions/sync_session.h" | 5 #include "chrome/browser/sync/sessions/sync_session.h" |
| 6 #include "chrome/browser/sync/test/engine/test_id_factory.h" | 6 #include "chrome/browser/sync/test/engine/test_id_factory.h" |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 | 8 |
| 9 namespace browser_sync { | 9 namespace browser_sync { |
| 10 namespace sessions { | 10 namespace sessions { |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 status.set_invalid_store(false); | 36 status.set_invalid_store(false); |
| 37 EXPECT_TRUE(status.TestAndClearIsDirty()); | 37 EXPECT_TRUE(status.TestAndClearIsDirty()); |
| 38 | 38 |
| 39 status.increment_num_successful_commits(); | 39 status.increment_num_successful_commits(); |
| 40 EXPECT_TRUE(status.TestAndClearIsDirty()); | 40 EXPECT_TRUE(status.TestAndClearIsDirty()); |
| 41 status.increment_num_successful_commits(); | 41 status.increment_num_successful_commits(); |
| 42 EXPECT_TRUE(status.TestAndClearIsDirty()); | 42 EXPECT_TRUE(status.TestAndClearIsDirty()); |
| 43 | 43 |
| 44 { | 44 { |
| 45 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); | 45 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); |
| 46 status.mutable_conflict_progress()->AddConflictingItemById(syncable::Id()); | 46 status.mutable_conflict_progress()-> |
| 47 AddSimpleConflictingItemById(syncable::Id()); |
| 47 } | 48 } |
| 48 EXPECT_TRUE(status.TestAndClearIsDirty()); | 49 EXPECT_TRUE(status.TestAndClearIsDirty()); |
| 49 | 50 |
| 50 std::vector<int64> v; | 51 std::vector<int64> v; |
| 51 v.push_back(1); | 52 v.push_back(1); |
| 52 status.set_unsynced_handles(v); | 53 status.set_unsynced_handles(v); |
| 53 EXPECT_TRUE(status.TestAndClearIsDirty()); | 54 EXPECT_TRUE(status.TestAndClearIsDirty()); |
| 54 std::vector<int64> v2; | 55 std::vector<int64> v2; |
| 55 v2.push_back(1); | 56 v2.push_back(1); |
| 56 status.set_unsynced_handles(v2); | 57 status.set_unsynced_handles(v2); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 } | 112 } |
| 112 | 113 |
| 113 TEST_F(StatusControllerTest, HasConflictingUpdates) { | 114 TEST_F(StatusControllerTest, HasConflictingUpdates) { |
| 114 StatusController status(routes_); | 115 StatusController status(routes_); |
| 115 EXPECT_FALSE(status.HasConflictingUpdates()); | 116 EXPECT_FALSE(status.HasConflictingUpdates()); |
| 116 { | 117 { |
| 117 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); | 118 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); |
| 118 EXPECT_FALSE(status.update_progress()); | 119 EXPECT_FALSE(status.update_progress()); |
| 119 status.mutable_update_progress()->AddAppliedUpdate(SUCCESS, | 120 status.mutable_update_progress()->AddAppliedUpdate(SUCCESS, |
| 120 syncable::Id()); | 121 syncable::Id()); |
| 121 status.mutable_update_progress()->AddAppliedUpdate(CONFLICT, | 122 status.mutable_update_progress()->AddAppliedUpdate(CONFLICT_SIMPLE, |
| 122 syncable::Id()); | 123 syncable::Id()); |
| 123 EXPECT_TRUE(status.update_progress()->HasConflictingUpdates()); | 124 EXPECT_TRUE(status.update_progress()->HasConflictingUpdates()); |
| 124 } | 125 } |
| 125 | 126 |
| 126 EXPECT_TRUE(status.HasConflictingUpdates()); | 127 EXPECT_TRUE(status.HasConflictingUpdates()); |
| 127 | 128 |
| 128 { | 129 { |
| 129 ScopedModelSafeGroupRestriction r(&status, GROUP_PASSIVE); | 130 ScopedModelSafeGroupRestriction r(&status, GROUP_PASSIVE); |
| 130 EXPECT_FALSE(status.update_progress()); | 131 EXPECT_FALSE(status.update_progress()); |
| 131 } | 132 } |
| 132 } | 133 } |
| 133 | 134 |
| 135 TEST_F(StatusControllerTest, HasConflictingUpdates_NonBlockingUpdates) { |
| 136 StatusController status(routes_); |
| 137 EXPECT_FALSE(status.HasConflictingUpdates()); |
| 138 { |
| 139 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); |
| 140 EXPECT_FALSE(status.update_progress()); |
| 141 status.mutable_update_progress()->AddAppliedUpdate(SUCCESS, |
| 142 syncable::Id()); |
| 143 status.mutable_update_progress()->AddAppliedUpdate(CONFLICT_HIERARCHY, |
| 144 syncable::Id()); |
| 145 EXPECT_TRUE(status.update_progress()->HasConflictingUpdates()); |
| 146 } |
| 147 |
| 148 EXPECT_TRUE(status.HasConflictingUpdates()); |
| 149 } |
| 150 |
| 134 TEST_F(StatusControllerTest, CountUpdates) { | 151 TEST_F(StatusControllerTest, CountUpdates) { |
| 135 StatusController status(routes_); | 152 StatusController status(routes_); |
| 136 EXPECT_EQ(0, status.CountUpdates()); | 153 EXPECT_EQ(0, status.CountUpdates()); |
| 137 ClientToServerResponse* response(status.mutable_updates_response()); | 154 ClientToServerResponse* response(status.mutable_updates_response()); |
| 138 sync_pb::SyncEntity* entity1 = response->mutable_get_updates()->add_entries(); | 155 sync_pb::SyncEntity* entity1 = response->mutable_get_updates()->add_entries(); |
| 139 sync_pb::SyncEntity* entity2 = response->mutable_get_updates()->add_entries(); | 156 sync_pb::SyncEntity* entity2 = response->mutable_get_updates()->add_entries(); |
| 140 ASSERT_TRUE(entity1 != NULL && entity2 != NULL); | 157 ASSERT_TRUE(entity1 != NULL && entity2 != NULL); |
| 141 EXPECT_EQ(2, status.CountUpdates()); | 158 EXPECT_EQ(2, status.CountUpdates()); |
| 142 } | 159 } |
| 143 | 160 |
| 144 // Test TotalNumConflictingItems | 161 // Test TotalNumConflictingItems |
| 145 TEST_F(StatusControllerTest, TotalNumConflictingItems) { | 162 TEST_F(StatusControllerTest, TotalNumConflictingItems) { |
| 146 StatusController status(routes_); | 163 StatusController status(routes_); |
| 147 TestIdFactory f; | 164 TestIdFactory f; |
| 148 { | 165 { |
| 149 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); | 166 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); |
| 150 EXPECT_FALSE(status.conflict_progress()); | 167 EXPECT_FALSE(status.conflict_progress()); |
| 151 status.mutable_conflict_progress()->AddConflictingItemById(f.NewLocalId()); | 168 status.mutable_conflict_progress()-> |
| 152 status.mutable_conflict_progress()->AddConflictingItemById(f.NewLocalId()); | 169 AddSimpleConflictingItemById(f.NewLocalId()); |
| 153 EXPECT_EQ(2, status.conflict_progress()->ConflictingItemsSize()); | 170 status.mutable_conflict_progress()-> |
| 171 AddSimpleConflictingItemById(f.NewLocalId()); |
| 172 EXPECT_EQ(2, status.conflict_progress()->SimpleConflictingItemsSize()); |
| 154 } | 173 } |
| 155 EXPECT_EQ(2, status.TotalNumConflictingItems()); | 174 EXPECT_EQ(2, status.TotalNumConflictingItems()); |
| 156 { | 175 { |
| 157 ScopedModelSafeGroupRestriction r(&status, GROUP_DB); | 176 ScopedModelSafeGroupRestriction r(&status, GROUP_DB); |
| 158 EXPECT_FALSE(status.conflict_progress()); | 177 EXPECT_FALSE(status.conflict_progress()); |
| 159 status.mutable_conflict_progress()->AddConflictingItemById(f.NewLocalId()); | 178 status.mutable_conflict_progress()-> |
| 160 status.mutable_conflict_progress()->AddConflictingItemById(f.NewLocalId()); | 179 AddSimpleConflictingItemById(f.NewLocalId()); |
| 161 EXPECT_EQ(2, status.conflict_progress()->ConflictingItemsSize()); | 180 status.mutable_conflict_progress()-> |
| 181 AddSimpleConflictingItemById(f.NewLocalId()); |
| 182 EXPECT_EQ(2, status.conflict_progress()->SimpleConflictingItemsSize()); |
| 162 } | 183 } |
| 163 EXPECT_EQ(4, status.TotalNumConflictingItems()); | 184 EXPECT_EQ(4, status.TotalNumConflictingItems()); |
| 164 } | 185 } |
| 165 | 186 |
| 166 // Basic test that non group-restricted state accessors don't cause violations. | 187 // Basic test that non group-restricted state accessors don't cause violations. |
| 167 TEST_F(StatusControllerTest, Unrestricted) { | 188 TEST_F(StatusControllerTest, Unrestricted) { |
| 168 StatusController status(routes_); | 189 StatusController status(routes_); |
| 169 const UpdateProgress* progress = | 190 const UpdateProgress* progress = |
| 170 status.GetUnrestrictedUpdateProgress(GROUP_UI); | 191 status.GetUnrestrictedUpdateProgress(GROUP_UI); |
| 171 EXPECT_FALSE(progress); | 192 EXPECT_FALSE(progress); |
| 172 status.mutable_commit_message(); | 193 status.mutable_commit_message(); |
| 173 status.commit_response(); | 194 status.commit_response(); |
| 174 status.mutable_commit_response(); | 195 status.mutable_commit_response(); |
| 175 status.updates_response(); | 196 status.updates_response(); |
| 176 status.mutable_updates_response(); | 197 status.mutable_updates_response(); |
| 177 status.error(); | 198 status.error(); |
| 178 status.syncer_status(); | 199 status.syncer_status(); |
| 179 status.num_server_changes_remaining(); | 200 status.num_server_changes_remaining(); |
| 180 status.commit_ids(); | 201 status.commit_ids(); |
| 181 status.HasBookmarkCommitActivity(); | 202 status.HasBookmarkCommitActivity(); |
| 182 status.download_updates_succeeded(); | 203 status.download_updates_succeeded(); |
| 183 status.ServerSaysNothingMoreToDownload(); | 204 status.ServerSaysNothingMoreToDownload(); |
| 184 status.group_restriction(); | 205 status.group_restriction(); |
| 185 } | 206 } |
| 186 | 207 |
| 187 } // namespace sessions | 208 } // namespace sessions |
| 188 } // namespace browser_sync | 209 } // namespace browser_sync |
| OLD | NEW |