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 |