Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Side by Side Diff: chrome/browser/sync/test/integration/two_client_bookmarks_sync_test.cc

Issue 2494633005: Revert of [sync] "TwoClientBookmarksSyncTest.Sanity" is flaky (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 }; 102 };
103 103
104 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, Sanity) { 104 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, Sanity) {
105 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 105 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
106 ASSERT_TRUE(AllModelsMatchVerifier()); 106 ASSERT_TRUE(AllModelsMatchVerifier());
107 107
108 GURL google_url("http://www.google.com"); 108 GURL google_url("http://www.google.com");
109 ASSERT_NE(nullptr, AddURL(0, "Google", google_url)); 109 ASSERT_NE(nullptr, AddURL(0, "Google", google_url));
110 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 110 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
111 ASSERT_NE(nullptr, AddURL(1, "Yahoo", GURL("http://www.yahoo.com"))); 111 ASSERT_NE(nullptr, AddURL(1, "Yahoo", GURL("http://www.yahoo.com")));
112 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 112 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
113 ASSERT_TRUE(AllModelsMatchVerifier());
113 114
114 const BookmarkNode* new_folder = AddFolder(0, 2, "New Folder"); 115 const BookmarkNode* new_folder = AddFolder(0, 2, "New Folder");
115 Move(0, GetUniqueNodeByURL(0, google_url), new_folder, 0); 116 Move(0, GetUniqueNodeByURL(0, google_url), new_folder, 0);
116 SetTitle(0, GetBookmarkBarNode(0)->GetChild(0), "Yahoo!!"); 117 SetTitle(0, GetBookmarkBarNode(0)->GetChild(0), "Yahoo!!");
117 ASSERT_NE(nullptr, AddURL(0, GetBookmarkBarNode(0), 1, "CNN", 118 ASSERT_NE(nullptr, AddURL(0, GetBookmarkBarNode(0), 1, "CNN",
118 GURL("http://www.cnn.com"))); 119 GURL("http://www.cnn.com")));
119 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 120 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
121 ASSERT_TRUE(AllModelsMatchVerifier());
120 122
121 ASSERT_NE(nullptr, AddURL(1, "Facebook", GURL("http://www.facebook.com"))); 123 ASSERT_NE(nullptr, AddURL(1, "Facebook", GURL("http://www.facebook.com")));
122 124 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
123 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 125 ASSERT_TRUE(AllModelsMatchVerifier());
124 126
125 SortChildren(1, GetBookmarkBarNode(1)); 127 SortChildren(1, GetBookmarkBarNode(1));
126 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 128 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
129 ASSERT_TRUE(AllModelsMatchVerifier());
127 130
128 DisableVerifier(); 131 DisableVerifier();
129 SetTitle(0, GetUniqueNodeByURL(0, google_url), "Google++"); 132 SetTitle(0, GetUniqueNodeByURL(0, google_url), "Google++");
130 SetTitle(1, GetUniqueNodeByURL(1, google_url), "Google--"); 133 SetTitle(1, GetUniqueNodeByURL(1, google_url), "Google--");
131 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 134 ASSERT_TRUE(AwaitQuiescence());
135 ASSERT_TRUE(AllModelsMatch());
132 } 136 }
133 137
134 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SimultaneousURLChanges) { 138 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SimultaneousURLChanges) {
135 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 139 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
136 ASSERT_TRUE(AllModelsMatchVerifier()); 140 ASSERT_TRUE(AllModelsMatchVerifier());
137 141
138 GURL initial_url("http://www.google.com"); 142 GURL initial_url("http://www.google.com");
139 GURL second_url("http://www.google.com/abc"); 143 GURL second_url("http://www.google.com/abc");
140 GURL third_url("http://www.google.com/def"); 144 GURL third_url("http://www.google.com/def");
141 std::string title = "Google"; 145 std::string title = "Google";
142 146
143 ASSERT_NE(nullptr, AddURL(0, title, initial_url)); 147 ASSERT_NE(nullptr, AddURL(0, title, initial_url));
144 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 148 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
145 149
146 DisableVerifier(); 150 DisableVerifier();
147 ASSERT_NE(nullptr, SetURL(0, GetUniqueNodeByURL(0, initial_url), second_url)); 151 ASSERT_NE(nullptr, SetURL(0, GetUniqueNodeByURL(0, initial_url), second_url));
148 ASSERT_NE(nullptr, SetURL(1, GetUniqueNodeByURL(1, initial_url), third_url)); 152 ASSERT_NE(nullptr, SetURL(1, GetUniqueNodeByURL(1, initial_url), third_url));
149 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 153 ASSERT_TRUE(AwaitQuiescence());
154 ASSERT_TRUE(AllModelsMatch());
150 155
151 SetTitle(0, GetBookmarkBarNode(0)->GetChild(0), "Google1"); 156 SetTitle(0, GetBookmarkBarNode(0)->GetChild(0), "Google1");
152 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 157 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
158 ASSERT_TRUE(AllModelsMatch());
153 } 159 }
154 160
155 // Test Scribe ID - 370558. 161 // Test Scribe ID - 370558.
156 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddFirstFolder) { 162 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddFirstFolder) {
157 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 163 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
158 ASSERT_TRUE(AllModelsMatchVerifier()); 164 ASSERT_TRUE(AllModelsMatchVerifier());
159 165
160 ASSERT_NE(nullptr, AddFolder(0, kGenericFolderName)); 166 ASSERT_NE(nullptr, AddFolder(0, kGenericFolderName));
161 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 167 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
168 ASSERT_TRUE(AllModelsMatchVerifier());
162 } 169 }
163 170
164 // Test Scribe ID - 370559. 171 // Test Scribe ID - 370559.
165 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 172 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
166 SC_AddFirstBMWithoutFavicon) { 173 SC_AddFirstBMWithoutFavicon) {
167 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 174 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
168 ASSERT_TRUE(AllModelsMatchVerifier()); 175 ASSERT_TRUE(AllModelsMatchVerifier());
169 176
170 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL))); 177 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL)));
171 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 178 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
179 ASSERT_TRUE(AllModelsMatchVerifier());
172 } 180 }
173 181
174 // Test Scribe ID - 370489. 182 // Test Scribe ID - 370489.
175 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddFirstBMWithFavicon) { 183 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddFirstBMWithFavicon) {
176 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 184 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
177 ASSERT_TRUE(AllModelsMatchVerifier()); 185 ASSERT_TRUE(AllModelsMatchVerifier());
186
178 const GURL page_url(kGenericURL); 187 const GURL page_url(kGenericURL);
179 const GURL icon_url("http://www.google.com/favicon.ico"); 188 const GURL icon_url("http://www.google.com/favicon.ico");
180 189
181 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, page_url); 190 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, page_url);
191
182 ASSERT_NE(nullptr, bookmark); 192 ASSERT_NE(nullptr, bookmark);
183 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 193 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
184 SetFavicon(0, bookmark, icon_url, CreateFavicon(SK_ColorWHITE), 194 SetFavicon(0, bookmark, icon_url, CreateFavicon(SK_ColorWHITE),
185 bookmarks_helper::FROM_UI); 195 bookmarks_helper::FROM_UI);
186 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 196 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
197 ASSERT_TRUE(AllModelsMatchVerifier());
187 } 198 }
188 199
189 // Test that the history service logic for not losing the hidpi versions of 200 // Test that the history service logic for not losing the hidpi versions of
190 // favicons as a result of sync does not result in dropping sync updates. 201 // favicons as a result of sync does not result in dropping sync updates.
191 // In particular, the synced 16x16 favicon bitmap should overwrite 16x16 202 // In particular, the synced 16x16 favicon bitmap should overwrite 16x16
192 // favicon bitmaps on all clients. (Though non-16x16 favicon bitmaps 203 // favicon bitmaps on all clients. (Though non-16x16 favicon bitmaps
193 // are unchanged). 204 // are unchanged).
194 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_SetFaviconHiDPI) { 205 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_SetFaviconHiDPI) {
195 // Set the supported scale factors to include 2x such that CreateFavicon() 206 // Set the supported scale factors to include 2x such that CreateFavicon()
196 // creates a favicon with hidpi representations and that methods in the 207 // creates a favicon with hidpi representations and that methods in the
197 // FaviconService request hidpi favicons. 208 // FaviconService request hidpi favicons.
198 std::vector<ui::ScaleFactor> supported_scale_factors; 209 std::vector<ui::ScaleFactor> supported_scale_factors;
199 supported_scale_factors.push_back(ui::SCALE_FACTOR_100P); 210 supported_scale_factors.push_back(ui::SCALE_FACTOR_100P);
200 supported_scale_factors.push_back(ui::SCALE_FACTOR_200P); 211 supported_scale_factors.push_back(ui::SCALE_FACTOR_200P);
201 ui::SetSupportedScaleFactors(supported_scale_factors); 212 ui::SetSupportedScaleFactors(supported_scale_factors);
202 213
203 const GURL page_url(kGenericURL); 214 const GURL page_url(kGenericURL);
204 const GURL icon_url1("http://www.google.com/favicon1.ico"); 215 const GURL icon_url1("http://www.google.com/favicon1.ico");
205 const GURL icon_url2("http://www.google.com/favicon2.ico"); 216 const GURL icon_url2("http://www.google.com/favicon2.ico");
206 217
207 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 218 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
208 ASSERT_TRUE(AllModelsMatchVerifier()); 219 ASSERT_TRUE(AllModelsMatchVerifier());
209 220
210 const BookmarkNode* bookmark0 = AddURL(0, kGenericURLTitle, page_url); 221 const BookmarkNode* bookmark0 = AddURL(0, kGenericURLTitle, page_url);
211 ASSERT_NE(nullptr, bookmark0); 222 ASSERT_NE(nullptr, bookmark0);
212 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 223 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
213 SetFavicon(0, bookmark0, icon_url1, CreateFavicon(SK_ColorWHITE), 224 SetFavicon(0, bookmark0, icon_url1, CreateFavicon(SK_ColorWHITE),
214 bookmarks_helper::FROM_UI); 225 bookmarks_helper::FROM_UI);
215 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 226 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
227 ASSERT_TRUE(AllModelsMatchVerifier());
216 228
217 const BookmarkNode* bookmark1 = GetUniqueNodeByURL(1, page_url); 229 const BookmarkNode* bookmark1 = GetUniqueNodeByURL(1, page_url);
218 SetFavicon(1, bookmark1, icon_url1, CreateFavicon(SK_ColorBLUE), 230 SetFavicon(1, bookmark1, icon_url1, CreateFavicon(SK_ColorBLUE),
219 bookmarks_helper::FROM_UI); 231 bookmarks_helper::FROM_UI);
220 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 232 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
233 ASSERT_TRUE(AllModelsMatchVerifier());
221 234
222 SetFavicon(0, bookmark0, icon_url2, CreateFavicon(SK_ColorGREEN), 235 SetFavicon(0, bookmark0, icon_url2, CreateFavicon(SK_ColorGREEN),
223 bookmarks_helper::FROM_UI); 236 bookmarks_helper::FROM_UI);
224 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 237 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
238 ASSERT_TRUE(AllModelsMatchVerifier());
225 } 239 }
226 240
227 // Test that if sync does not modify a favicon bitmap's data that it does not 241 // Test that if sync does not modify a favicon bitmap's data that it does not
228 // modify the favicon bitmap's "last updated time" either. This is important 242 // modify the favicon bitmap's "last updated time" either. This is important
229 // because the last updated time is used to determine whether a bookmark's 243 // because the last updated time is used to determine whether a bookmark's
230 // favicon should be redownloaded when the web when the bookmark is visited. 244 // favicon should be redownloaded when the web when the bookmark is visited.
231 // If sync prevents the "last updated time" from expiring, the favicon is 245 // If sync prevents the "last updated time" from expiring, the favicon is
232 // never redownloaded from the web. (http://crbug.com/481414) 246 // never redownloaded from the web. (http://crbug.com/481414)
233 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 247 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
234 SC_UpdatingTitleDoesNotUpdateFaviconLastUpdatedTime) { 248 SC_UpdatingTitleDoesNotUpdateFaviconLastUpdatedTime) {
(...skipping 13 matching lines...) Expand all
248 ASSERT_NE(bookmark0, nullptr); 262 ASSERT_NE(bookmark0, nullptr);
249 gfx::Image favicon0 = CreateFavicon(SK_ColorBLUE); 263 gfx::Image favicon0 = CreateFavicon(SK_ColorBLUE);
250 ASSERT_FALSE(favicon0.IsEmpty()); 264 ASSERT_FALSE(favicon0.IsEmpty());
251 SetFavicon(0, bookmark0, icon_url, favicon0, bookmarks_helper::FROM_UI); 265 SetFavicon(0, bookmark0, icon_url, favicon0, bookmarks_helper::FROM_UI);
252 266
253 // Expire the favicon (e.g. as a result of the user "clearing browsing 267 // Expire the favicon (e.g. as a result of the user "clearing browsing
254 // history from the beginning of time") 268 // history from the beginning of time")
255 ExpireFavicon(0, bookmark0); 269 ExpireFavicon(0, bookmark0);
256 CheckFaviconExpired(0, icon_url); 270 CheckFaviconExpired(0, icon_url);
257 271
258 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 272 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
273 ASSERT_TRUE(AllModelsMatchVerifier());
259 274
260 // Change the bookmark's title for profile 1. Changing the title will cause 275 // Change the bookmark's title for profile 1. Changing the title will cause
261 // the bookmark's favicon data to be synced from profile 1 to profile 0 even 276 // the bookmark's favicon data to be synced from profile 1 to profile 0 even
262 // though the favicon data did not change. 277 // though the favicon data did not change.
263 const std::string kNewTitle = "New Title"; 278 const std::string kNewTitle = "New Title";
264 ASSERT_NE(kNewTitle, kGenericURLTitle); 279 ASSERT_NE(kNewTitle, kGenericURLTitle);
265 const BookmarkNode* bookmark1 = GetUniqueNodeByURL(1, page_url); 280 const BookmarkNode* bookmark1 = GetUniqueNodeByURL(1, page_url);
266 SetTitle(1, bookmark1, kNewTitle); 281 SetTitle(1, bookmark1, kNewTitle);
267 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 282 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
283 ASSERT_TRUE(AllModelsMatchVerifier());
268 284
269 // The favicon for profile 0 should still be expired. 285 // The favicon for profile 0 should still be expired.
270 CheckFaviconExpired(0, icon_url); 286 CheckFaviconExpired(0, icon_url);
271 } 287 }
272 288
273 // When two bookmarks use the same icon URL, both bookmarks use the same row 289 // When two bookmarks use the same icon URL, both bookmarks use the same row
274 // in the favicons table in the Favicons database. Test that when the favicon 290 // in the favicons table in the Favicons database. Test that when the favicon
275 // is updated for one bookmark it is also updated for the other bookmark. This 291 // is updated for one bookmark it is also updated for the other bookmark. This
276 // ensures that sync has the most up to date data and prevents sync from 292 // ensures that sync has the most up to date data and prevents sync from
277 // reverting the newly updated bookmark favicon back to the old favicon. 293 // reverting the newly updated bookmark favicon back to the old favicon.
278 // crbug.com/485657 294 // crbug.com/485657
279 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 295 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
280 SC_SetFaviconTwoBookmarksSameIconURL) { 296 SC_SetFaviconTwoBookmarksSameIconURL) {
281 const GURL page_url1("http://www.google.com/a"); 297 const GURL page_url1("http://www.google.com/a");
282 const GURL page_url2("http://www.google.com/b"); 298 const GURL page_url2("http://www.google.com/b");
283 const GURL icon_url("http://www.google.com/favicon.ico"); 299 const GURL icon_url("http://www.google.com/favicon.ico");
284 300
285 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 301 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
286 ASSERT_TRUE(AllModelsMatchVerifier()); 302 ASSERT_TRUE(AllModelsMatchVerifier());
287 303
288 const BookmarkNode* bookmark01 = AddURL(0, kGenericURLTitle, page_url1); 304 const BookmarkNode* bookmark01 = AddURL(0, kGenericURLTitle, page_url1);
289 ASSERT_NE(nullptr, bookmark01); 305 ASSERT_NE(nullptr, bookmark01);
290 const BookmarkNode* bookmark02 = AddURL(0, kGenericURLTitle, page_url2); 306 const BookmarkNode* bookmark02 = AddURL(0, kGenericURLTitle, page_url2);
291 ASSERT_NE(nullptr, bookmark02); 307 ASSERT_NE(nullptr, bookmark02);
292 308
293 SetFavicon(0, bookmark01, icon_url, CreateFavicon(SK_ColorWHITE), 309 SetFavicon(0, bookmark01, icon_url, CreateFavicon(SK_ColorWHITE),
294 bookmarks_helper::FROM_UI); 310 bookmarks_helper::FROM_UI);
295 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 311 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
312 ASSERT_TRUE(AllModelsMatchVerifier());
296 313
297 // Set |page_url2| with the new (blue) favicon at |icon_url|. The sync favicon 314 // Set |page_url2| with the new (blue) favicon at |icon_url|. The sync favicon
298 // for both |page_url1| and |page_url2| should be updated to the blue one. 315 // for both |page_url1| and |page_url2| should be updated to the blue one.
299 SetFavicon(0, bookmark02, icon_url, CreateFavicon(SK_ColorBLUE), 316 SetFavicon(0, bookmark02, icon_url, CreateFavicon(SK_ColorBLUE),
300 bookmarks_helper::FROM_UI); 317 bookmarks_helper::FROM_UI);
301 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 318 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
319 ASSERT_TRUE(AllModelsMatchVerifier());
302 320
303 // Set the title for |page_url1|. This should not revert either of the 321 // Set the title for |page_url1|. This should not revert either of the
304 // bookmark favicons back to white. 322 // bookmark favicons back to white.
305 const char kNewTitle[] = "New Title"; 323 const char kNewTitle[] = "New Title";
306 ASSERT_STRNE(kGenericURLTitle, kNewTitle); 324 ASSERT_STRNE(kGenericURLTitle, kNewTitle);
307 const BookmarkNode* bookmark11 = GetUniqueNodeByURL(1, page_url1); 325 const BookmarkNode* bookmark11 = GetUniqueNodeByURL(1, page_url1);
308 SetTitle(1, bookmark11, std::string(kNewTitle)); 326 SetTitle(1, bookmark11, std::string(kNewTitle));
309 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 327 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
328 ASSERT_TRUE(AllModelsMatchVerifier());
310 } 329 }
311 330
312 // Test Scribe ID - 370560. 331 // Test Scribe ID - 370560.
313 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddNonHTTPBMs) { 332 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddNonHTTPBMs) {
314 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 333 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
315 ASSERT_TRUE(AllModelsMatchVerifier()); 334 ASSERT_TRUE(AllModelsMatchVerifier());
316 335
317 ASSERT_NE(nullptr, 336 ASSERT_NE(nullptr,
318 AddURL(0, "FTP UR", GURL("ftp://user:password@host:1234/path"))); 337 AddURL(0, "FTP UR", GURL("ftp://user:password@host:1234/path")));
319 ASSERT_NE(nullptr, AddURL(0, "File UR", GURL("file://host/path"))); 338 ASSERT_NE(nullptr, AddURL(0, "File UR", GURL("file://host/path")));
320 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 339 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
340 ASSERT_TRUE(AllModelsMatchVerifier());
321 } 341 }
322 342
323 // Test Scribe ID - 370561. 343 // Test Scribe ID - 370561.
324 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 344 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
325 SC_AddFirstBMUnderFolder) { 345 SC_AddFirstBMUnderFolder) {
326 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 346 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
327 ASSERT_TRUE(AllModelsMatchVerifier()); 347 ASSERT_TRUE(AllModelsMatchVerifier());
328 348
329 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 349 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
330 ASSERT_NE(nullptr, folder); 350 ASSERT_NE(nullptr, folder);
331 ASSERT_NE(nullptr, AddURL(0, folder, 0, kGenericURLTitle, GURL(kGenericURL))); 351 ASSERT_NE(nullptr, AddURL(0, folder, 0, kGenericURLTitle, GURL(kGenericURL)));
332 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 352 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
353 ASSERT_TRUE(AllModelsMatchVerifier());
333 } 354 }
334 355
335 // Test Scribe ID - 370562. 356 // Test Scribe ID - 370562.
336 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 357 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
337 SC_AddSeveralBMsUnderBMBarAndOtherBM) { 358 SC_AddSeveralBMsUnderBMBarAndOtherBM) {
338 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 359 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
339 ASSERT_TRUE(AllModelsMatchVerifier()); 360 ASSERT_TRUE(AllModelsMatchVerifier());
340 361
341 for (int i = 0; i < 20; ++i) { 362 for (int i = 0; i < 20; ++i) {
342 std::string title = IndexedURLTitle(i); 363 std::string title = IndexedURLTitle(i);
343 GURL url = GURL(IndexedURL(i)); 364 GURL url = GURL(IndexedURL(i));
344 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 365 ASSERT_NE(nullptr, AddURL(0, i, title, url));
345 ASSERT_NE(nullptr, AddURL(0, GetOtherNode(0), i, title, url)); 366 ASSERT_NE(nullptr, AddURL(0, GetOtherNode(0), i, title, url));
346 } 367 }
347 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 368 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
369 ASSERT_TRUE(AllModelsMatchVerifier());
348 } 370 }
349 371
350 // Test Scribe ID - 370563. 372 // Test Scribe ID - 370563.
351 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 373 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
352 SC_AddSeveralBMsAndFolders) { 374 SC_AddSeveralBMsAndFolders) {
353 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 375 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
354 ASSERT_TRUE(AllModelsMatchVerifier()); 376 ASSERT_TRUE(AllModelsMatchVerifier());
355 377
356 for (int i = 0; i < 15; ++i) { 378 for (int i = 0; i < 15; ++i) {
357 if (base::RandDouble() > 0.6) { 379 if (base::RandDouble() > 0.6) {
(...skipping 11 matching lines...) Expand all
369 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 391 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
370 } 392 }
371 } 393 }
372 } 394 }
373 } 395 }
374 for (int i = 0; i < 10; i++) { 396 for (int i = 0; i < 10; i++) {
375 std::string title = IndexedURLTitle(i); 397 std::string title = IndexedURLTitle(i);
376 GURL url = GURL(IndexedURL(i)); 398 GURL url = GURL(IndexedURL(i));
377 ASSERT_NE(nullptr, AddURL(0, GetOtherNode(0), i, title, url)); 399 ASSERT_NE(nullptr, AddURL(0, GetOtherNode(0), i, title, url));
378 } 400 }
379 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 401 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
402 ASSERT_TRUE(AllModelsMatchVerifier());
380 } 403 }
381 404
382 // Test Scribe ID - 370641. 405 // Test Scribe ID - 370641.
383 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 406 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
384 SC_DuplicateBMWithDifferentURLSameName) { 407 SC_DuplicateBMWithDifferentURLSameName) {
385 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 408 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
386 ASSERT_TRUE(AllModelsMatchVerifier()); 409 ASSERT_TRUE(AllModelsMatchVerifier());
387 410
388 GURL url0 = GURL(IndexedURL(0)); 411 GURL url0 = GURL(IndexedURL(0));
389 GURL url1 = GURL(IndexedURL(1)); 412 GURL url1 = GURL(IndexedURL(1));
390 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, url0)); 413 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, url0));
391 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, url1)); 414 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, url1));
392 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 415 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
416 ASSERT_TRUE(AllModelsMatchVerifier());
393 } 417 }
394 418
395 // Test Scribe ID - 370639 - Add bookmarks with different name and same URL. 419 // Test Scribe ID - 370639 - Add bookmarks with different name and same URL.
396 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 420 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
397 SC_DuplicateBookmarksWithSameURL) { 421 SC_DuplicateBookmarksWithSameURL) {
398 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 422 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
399 ASSERT_TRUE(AllModelsMatchVerifier()); 423 ASSERT_TRUE(AllModelsMatchVerifier());
400 424
401 std::string title0 = IndexedURLTitle(0); 425 std::string title0 = IndexedURLTitle(0);
402 std::string title1 = IndexedURLTitle(1); 426 std::string title1 = IndexedURLTitle(1);
403 ASSERT_NE(nullptr, AddURL(0, title0, GURL(kGenericURL))); 427 ASSERT_NE(nullptr, AddURL(0, title0, GURL(kGenericURL)));
404 ASSERT_NE(nullptr, AddURL(0, title1, GURL(kGenericURL))); 428 ASSERT_NE(nullptr, AddURL(0, title1, GURL(kGenericURL)));
405 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 429 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
430 ASSERT_TRUE(AllModelsMatchVerifier());
406 } 431 }
407 432
408 // Test Scribe ID - 371817. 433 // Test Scribe ID - 371817.
409 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMName) { 434 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMName) {
410 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 435 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
411 ASSERT_TRUE(AllModelsMatchVerifier()); 436 ASSERT_TRUE(AllModelsMatchVerifier());
412 437
413 std::string title = IndexedURLTitle(1); 438 std::string title = IndexedURLTitle(1);
414 const BookmarkNode* bookmark = AddURL(0, title, GURL(kGenericURL)); 439 const BookmarkNode* bookmark = AddURL(0, title, GURL(kGenericURL));
415 ASSERT_NE(nullptr, bookmark); 440 ASSERT_NE(nullptr, bookmark);
416 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 441 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
442 ASSERT_TRUE(AllModelsMatchVerifier());
417 443
418 std::string new_title = IndexedURLTitle(2); 444 std::string new_title = IndexedURLTitle(2);
419 SetTitle(0, bookmark, new_title); 445 SetTitle(0, bookmark, new_title);
420 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 446 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
447 ASSERT_TRUE(AllModelsMatchVerifier());
421 } 448 }
422 449
423 // Test Scribe ID - 371822. 450 // Test Scribe ID - 371822.
424 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMURL) { 451 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMURL) {
425 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 452 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
426 ASSERT_TRUE(AllModelsMatchVerifier()); 453 ASSERT_TRUE(AllModelsMatchVerifier());
427 454
428 GURL url = GURL(IndexedURL(1)); 455 GURL url = GURL(IndexedURL(1));
429 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, url); 456 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, url);
430 ASSERT_NE(nullptr, bookmark); 457 ASSERT_NE(nullptr, bookmark);
431 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 458 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
459 ASSERT_TRUE(AllModelsMatchVerifier());
432 460
433 GURL new_url = GURL(IndexedURL(2)); 461 GURL new_url = GURL(IndexedURL(2));
434 ASSERT_NE(nullptr, SetURL(0, bookmark, new_url)); 462 ASSERT_NE(nullptr, SetURL(0, bookmark, new_url));
435 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 463 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
464 ASSERT_TRUE(AllModelsMatchVerifier());
436 } 465 }
437 466
438 467
439 // Test Scribe ID - 371818 - Renaming the same bookmark name twice. 468 // Test Scribe ID - 371818 - Renaming the same bookmark name twice.
440 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 469 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
441 SC_TwiceRenamingBookmarkName) { 470 SC_TwiceRenamingBookmarkName) {
442 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 471 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
443 ASSERT_TRUE(AllModelsMatchVerifier()); 472 ASSERT_TRUE(AllModelsMatchVerifier());
444 473
445 std::string title = IndexedURLTitle(1); 474 std::string title = IndexedURLTitle(1);
446 const BookmarkNode* bookmark = AddURL(0, title, GURL(kGenericURL)); 475 const BookmarkNode* bookmark = AddURL(0, title, GURL(kGenericURL));
447 ASSERT_NE(nullptr, bookmark); 476 ASSERT_NE(nullptr, bookmark);
448 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 477 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
478 ASSERT_TRUE(AllModelsMatchVerifier());
449 479
450 std::string new_title = IndexedURLTitle(2); 480 std::string new_title = IndexedURLTitle(2);
451 SetTitle(0, bookmark, new_title); 481 SetTitle(0, bookmark, new_title);
452 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 482 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
483 ASSERT_TRUE(AllModelsMatchVerifier());
453 484
454 SetTitle(0, bookmark, title); 485 SetTitle(0, bookmark, title);
455 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 486 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
487 ASSERT_TRUE(AllModelsMatchVerifier());
456 } 488 }
457 489
458 // Test Scribe ID - 371823 - Renaming the same bookmark URL twice. 490 // Test Scribe ID - 371823 - Renaming the same bookmark URL twice.
459 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 491 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
460 SC_TwiceRenamingBookmarkURL) { 492 SC_TwiceRenamingBookmarkURL) {
461 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 493 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
462 ASSERT_TRUE(AllModelsMatchVerifier()); 494 ASSERT_TRUE(AllModelsMatchVerifier());
463 495
464 GURL url = GURL(IndexedURL(1)); 496 GURL url = GURL(IndexedURL(1));
465 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, url); 497 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, url);
466 ASSERT_NE(nullptr, bookmark); 498 ASSERT_NE(nullptr, bookmark);
467 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 499 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
500 ASSERT_TRUE(AllModelsMatchVerifier());
468 501
469 GURL new_url = GURL(IndexedURL(2)); 502 GURL new_url = GURL(IndexedURL(2));
470 ASSERT_NE(nullptr, SetURL(0, bookmark, new_url)); 503 ASSERT_NE(nullptr, SetURL(0, bookmark, new_url));
471 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 504 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
505 ASSERT_TRUE(AllModelsMatchVerifier());
472 506
473 ASSERT_NE(nullptr, SetURL(0, bookmark, url)); 507 ASSERT_NE(nullptr, SetURL(0, bookmark, url));
474 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 508 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
509 ASSERT_TRUE(AllModelsMatchVerifier());
475 } 510 }
476 511
477 // Test Scribe ID - 371824. 512 // Test Scribe ID - 371824.
478 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMFolder) { 513 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMFolder) {
479 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 514 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
480 ASSERT_TRUE(AllModelsMatchVerifier()); 515 ASSERT_TRUE(AllModelsMatchVerifier());
481 516
482 std::string title = IndexedFolderName(1); 517 std::string title = IndexedFolderName(1);
483 const BookmarkNode* folder = AddFolder(0, title); 518 const BookmarkNode* folder = AddFolder(0, title);
484 ASSERT_NE(nullptr, AddURL(0, folder, 0, kGenericURLTitle, GURL(kGenericURL))); 519 ASSERT_NE(nullptr, AddURL(0, folder, 0, kGenericURLTitle, GURL(kGenericURL)));
485 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 520 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
521 ASSERT_TRUE(AllModelsMatchVerifier());
486 522
487 std::string new_title = IndexedFolderName(2); 523 std::string new_title = IndexedFolderName(2);
488 SetTitle(0, folder, new_title); 524 SetTitle(0, folder, new_title);
489 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 525 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
526 ASSERT_TRUE(AllModelsMatchVerifier());
490 } 527 }
491 528
492 // Test Scribe ID - 371825. 529 // Test Scribe ID - 371825.
493 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameEmptyBMFolder) { 530 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameEmptyBMFolder) {
494 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 531 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
495 ASSERT_TRUE(AllModelsMatchVerifier()); 532 ASSERT_TRUE(AllModelsMatchVerifier());
496 533
497 std::string title = IndexedFolderName(1); 534 std::string title = IndexedFolderName(1);
498 const BookmarkNode* folder = AddFolder(0, title); 535 const BookmarkNode* folder = AddFolder(0, title);
499 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 536 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
537 ASSERT_TRUE(AllModelsMatchVerifier());
500 538
501 std::string new_title = IndexedFolderName(2); 539 std::string new_title = IndexedFolderName(2);
502 SetTitle(0, folder, new_title); 540 SetTitle(0, folder, new_title);
503 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 541 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
542 ASSERT_TRUE(AllModelsMatchVerifier());
504 } 543 }
505 544
506 // Test Scribe ID - 371826. 545 // Test Scribe ID - 371826.
507 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 546 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
508 SC_RenameBMFolderWithLongHierarchy) { 547 SC_RenameBMFolderWithLongHierarchy) {
509 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 548 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
510 ASSERT_TRUE(AllModelsMatchVerifier()); 549 ASSERT_TRUE(AllModelsMatchVerifier());
511 550
512 std::string title = IndexedFolderName(1); 551 std::string title = IndexedFolderName(1);
513 const BookmarkNode* folder = AddFolder(0, title); 552 const BookmarkNode* folder = AddFolder(0, title);
514 ASSERT_NE(nullptr, folder); 553 ASSERT_NE(nullptr, folder);
515 for (int i = 0; i < 120; ++i) { 554 for (int i = 0; i < 120; ++i) {
516 if (base::RandDouble() > 0.15) { 555 if (base::RandDouble() > 0.15) {
517 std::string title = IndexedURLTitle(i); 556 std::string title = IndexedURLTitle(i);
518 GURL url = GURL(IndexedURL(i)); 557 GURL url = GURL(IndexedURL(i));
519 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 558 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
520 } else { 559 } else {
521 std::string title = IndexedSubfolderName(i); 560 std::string title = IndexedSubfolderName(i);
522 ASSERT_NE(nullptr, AddFolder(0, folder, i, title)); 561 ASSERT_NE(nullptr, AddFolder(0, folder, i, title));
523 } 562 }
524 } 563 }
525 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 564 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
565 ASSERT_TRUE(AllModelsMatchVerifier());
526 566
527 std::string new_title = IndexedFolderName(2); 567 std::string new_title = IndexedFolderName(2);
528 SetTitle(0, folder, new_title); 568 SetTitle(0, folder, new_title);
529 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 569 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
570 ASSERT_TRUE(AllModelsMatchVerifier());
530 } 571 }
531 572
532 // Test Scribe ID - 371827. 573 // Test Scribe ID - 371827.
533 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 574 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
534 SC_RenameBMFolderThatHasParentAndChildren) { 575 SC_RenameBMFolderThatHasParentAndChildren) {
535 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 576 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
536 ASSERT_TRUE(AllModelsMatchVerifier()); 577 ASSERT_TRUE(AllModelsMatchVerifier());
537 578
538 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 579 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
539 ASSERT_NE(nullptr, folder); 580 ASSERT_NE(nullptr, folder);
540 for (int i = 1; i < 15; ++i) { 581 for (int i = 1; i < 15; ++i) {
541 std::string title = IndexedURLTitle(i); 582 std::string title = IndexedURLTitle(i);
542 GURL url = GURL(IndexedURL(i)); 583 GURL url = GURL(IndexedURL(i));
543 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 584 ASSERT_NE(nullptr, AddURL(0, i, title, url));
544 } 585 }
545 std::string title = IndexedSubfolderName(1); 586 std::string title = IndexedSubfolderName(1);
546 const BookmarkNode* subfolder = AddFolder(0, folder, 0, title); 587 const BookmarkNode* subfolder = AddFolder(0, folder, 0, title);
547 for (int i = 0; i < 120; ++i) { 588 for (int i = 0; i < 120; ++i) {
548 if (base::RandDouble() > 0.15) { 589 if (base::RandDouble() > 0.15) {
549 std::string title = IndexedURLTitle(i); 590 std::string title = IndexedURLTitle(i);
550 GURL url = GURL(IndexedURL(i)); 591 GURL url = GURL(IndexedURL(i));
551 ASSERT_NE(nullptr, AddURL(0, subfolder, i, title, url)); 592 ASSERT_NE(nullptr, AddURL(0, subfolder, i, title, url));
552 } else { 593 } else {
553 std::string title = IndexedSubsubfolderName(i); 594 std::string title = IndexedSubsubfolderName(i);
554 ASSERT_NE(nullptr, AddFolder(0, subfolder, i, title)); 595 ASSERT_NE(nullptr, AddFolder(0, subfolder, i, title));
555 } 596 }
556 } 597 }
557 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 598 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
599 ASSERT_TRUE(AllModelsMatchVerifier());
558 600
559 std::string new_title = IndexedSubfolderName(2); 601 std::string new_title = IndexedSubfolderName(2);
560 SetTitle(0, subfolder, new_title); 602 SetTitle(0, subfolder, new_title);
561 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 603 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
604 ASSERT_TRUE(AllModelsMatchVerifier());
562 } 605 }
563 606
564 // Test Scribe ID - 371828. 607 // Test Scribe ID - 371828.
565 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMNameAndURL) { 608 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMNameAndURL) {
566 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 609 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
567 ASSERT_TRUE(AllModelsMatchVerifier()); 610 ASSERT_TRUE(AllModelsMatchVerifier());
568 611
569 GURL url = GURL(IndexedURL(1)); 612 GURL url = GURL(IndexedURL(1));
570 std::string title = IndexedURLTitle(1); 613 std::string title = IndexedURLTitle(1);
571 const BookmarkNode* bookmark = AddURL(0, title, url); 614 const BookmarkNode* bookmark = AddURL(0, title, url);
572 ASSERT_NE(nullptr, bookmark); 615 ASSERT_NE(nullptr, bookmark);
573 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 616 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
617 ASSERT_TRUE(AllModelsMatchVerifier());
574 618
575 GURL new_url = GURL(IndexedURL(2)); 619 GURL new_url = GURL(IndexedURL(2));
576 std::string new_title = IndexedURLTitle(2); 620 std::string new_title = IndexedURLTitle(2);
577 bookmark = SetURL(0, bookmark, new_url); 621 bookmark = SetURL(0, bookmark, new_url);
578 ASSERT_NE(nullptr, bookmark); 622 ASSERT_NE(nullptr, bookmark);
579 SetTitle(0, bookmark, new_title); 623 SetTitle(0, bookmark, new_title);
580 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 624 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
625 ASSERT_TRUE(AllModelsMatchVerifier());
581 } 626 }
582 627
583 // Test Scribe ID - 371832. 628 // Test Scribe ID - 371832.
584 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 629 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
585 SC_DeleteBMEmptyAccountAfterwards) { 630 SC_DeleteBMEmptyAccountAfterwards) {
586 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 631 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
587 ASSERT_TRUE(AllModelsMatchVerifier()); 632 ASSERT_TRUE(AllModelsMatchVerifier());
588 633
589 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL))); 634 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL)));
590 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 635 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
636 ASSERT_TRUE(AllModelsMatchVerifier());
591 637
592 Remove(0, GetBookmarkBarNode(0), 0); 638 Remove(0, GetBookmarkBarNode(0), 0);
593 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 639 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
640 ASSERT_TRUE(AllModelsMatchVerifier());
594 } 641 }
595 642
596 // Test Scribe ID - 371833. 643 // Test Scribe ID - 371833.
597 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 644 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
598 SC_DelBMNonEmptyAccountAfterwards) { 645 SC_DelBMNonEmptyAccountAfterwards) {
599 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 646 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
600 ASSERT_TRUE(AllModelsMatchVerifier()); 647 ASSERT_TRUE(AllModelsMatchVerifier());
601 648
602 for (int i = 0; i < 20; ++i) { 649 for (int i = 0; i < 20; ++i) {
603 std::string title = IndexedURLTitle(i); 650 std::string title = IndexedURLTitle(i);
604 GURL url = GURL(IndexedURL(i)); 651 GURL url = GURL(IndexedURL(i));
605 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 652 ASSERT_NE(nullptr, AddURL(0, i, title, url));
606 } 653 }
607 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 654 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
655 ASSERT_TRUE(AllModelsMatchVerifier());
608 656
609 Remove(0, GetBookmarkBarNode(0), 0); 657 Remove(0, GetBookmarkBarNode(0), 0);
610 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 658 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
659 ASSERT_TRUE(AllModelsMatchVerifier());
611 } 660 }
612 661
613 // Test Scribe ID - 371835. 662 // Test Scribe ID - 371835.
614 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 663 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
615 SC_DelFirstBMUnderBMFoldNonEmptyFoldAfterwards) { 664 SC_DelFirstBMUnderBMFoldNonEmptyFoldAfterwards) {
616 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 665 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
617 ASSERT_TRUE(AllModelsMatchVerifier()); 666 ASSERT_TRUE(AllModelsMatchVerifier());
618 667
619 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 668 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
620 ASSERT_NE(nullptr, folder); 669 ASSERT_NE(nullptr, folder);
621 for (int i = 0; i < 10; ++i) { 670 for (int i = 0; i < 10; ++i) {
622 std::string title = IndexedURLTitle(i); 671 std::string title = IndexedURLTitle(i);
623 GURL url = GURL(IndexedURL(i)); 672 GURL url = GURL(IndexedURL(i));
624 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 673 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
625 } 674 }
626 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 675 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
676 ASSERT_TRUE(AllModelsMatchVerifier());
627 677
628 Remove(0, folder, 0); 678 Remove(0, folder, 0);
629 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 679 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
680 ASSERT_TRUE(AllModelsMatchVerifier());
630 } 681 }
631 682
632 // Test Scribe ID - 371836. 683 // Test Scribe ID - 371836.
633 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 684 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
634 SC_DelLastBMUnderBMFoldNonEmptyFoldAfterwards) { 685 SC_DelLastBMUnderBMFoldNonEmptyFoldAfterwards) {
635 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 686 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
636 ASSERT_TRUE(AllModelsMatchVerifier()); 687 ASSERT_TRUE(AllModelsMatchVerifier());
637 688
638 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 689 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
639 ASSERT_NE(nullptr, folder); 690 ASSERT_NE(nullptr, folder);
640 for (int i = 0; i < 10; ++i) { 691 for (int i = 0; i < 10; ++i) {
641 std::string title = IndexedURLTitle(i); 692 std::string title = IndexedURLTitle(i);
642 GURL url = GURL(IndexedURL(i)); 693 GURL url = GURL(IndexedURL(i));
643 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 694 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
644 } 695 }
645 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 696 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
697 ASSERT_TRUE(AllModelsMatchVerifier());
646 698
647 Remove(0, folder, folder->child_count() - 1); 699 Remove(0, folder, folder->child_count() - 1);
648 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 700 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
701 ASSERT_TRUE(AllModelsMatchVerifier());
649 } 702 }
650 703
651 // Test Scribe ID - 371856. 704 // Test Scribe ID - 371856.
652 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 705 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
653 SC_DelMiddleBMUnderBMFoldNonEmptyFoldAfterwards) { 706 SC_DelMiddleBMUnderBMFoldNonEmptyFoldAfterwards) {
654 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 707 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
655 ASSERT_TRUE(AllModelsMatchVerifier()); 708 ASSERT_TRUE(AllModelsMatchVerifier());
656 709
657 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 710 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
658 ASSERT_NE(nullptr, folder); 711 ASSERT_NE(nullptr, folder);
659 for (int i = 0; i < 10; ++i) { 712 for (int i = 0; i < 10; ++i) {
660 std::string title = IndexedURLTitle(i); 713 std::string title = IndexedURLTitle(i);
661 GURL url = GURL(IndexedURL(i)); 714 GURL url = GURL(IndexedURL(i));
662 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 715 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
663 } 716 }
664 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 717 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
718 ASSERT_TRUE(AllModelsMatchVerifier());
665 719
666 Remove(0, folder, 4); 720 Remove(0, folder, 4);
667 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 721 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
722 ASSERT_TRUE(AllModelsMatchVerifier());
668 } 723 }
669 724
670 // Test Scribe ID - 371857. 725 // Test Scribe ID - 371857.
671 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 726 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
672 SC_DelBMsUnderBMFoldEmptyFolderAfterwards) { 727 SC_DelBMsUnderBMFoldEmptyFolderAfterwards) {
673 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 728 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
674 ASSERT_TRUE(AllModelsMatchVerifier()); 729 ASSERT_TRUE(AllModelsMatchVerifier());
675 730
676 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 731 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
677 ASSERT_NE(nullptr, folder); 732 ASSERT_NE(nullptr, folder);
678 for (int i = 0; i < 10; ++i) { 733 for (int i = 0; i < 10; ++i) {
679 std::string title = IndexedURLTitle(i); 734 std::string title = IndexedURLTitle(i);
680 GURL url = GURL(IndexedURL(i)); 735 GURL url = GURL(IndexedURL(i));
681 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 736 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
682 } 737 }
683 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 738 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
739 ASSERT_TRUE(AllModelsMatchVerifier());
684 740
685 int child_count = folder->child_count(); 741 int child_count = folder->child_count();
686 for (int i = 0; i < child_count; ++i) { 742 for (int i = 0; i < child_count; ++i) {
687 Remove(0, folder, 0); 743 Remove(0, folder, 0);
688 } 744 }
689 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 745 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
746 ASSERT_TRUE(AllModelsMatchVerifier());
690 } 747 }
691 748
692 // Test Scribe ID - 371858. 749 // Test Scribe ID - 371858.
693 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 750 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
694 SC_DelEmptyBMFoldEmptyAccountAfterwards) { 751 SC_DelEmptyBMFoldEmptyAccountAfterwards) {
695 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 752 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
696 ASSERT_TRUE(AllModelsMatchVerifier()); 753 ASSERT_TRUE(AllModelsMatchVerifier());
697 754
698 ASSERT_NE(nullptr, AddFolder(0, kGenericFolderName)); 755 ASSERT_NE(nullptr, AddFolder(0, kGenericFolderName));
699 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 756 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
757 ASSERT_TRUE(AllModelsMatchVerifier());
700 758
701 Remove(0, GetBookmarkBarNode(0), 0); 759 Remove(0, GetBookmarkBarNode(0), 0);
702 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 760 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
761 ASSERT_TRUE(AllModelsMatchVerifier());
703 } 762 }
704 763
705 // Test Scribe ID - 371869. 764 // Test Scribe ID - 371869.
706 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 765 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
707 SC_DelEmptyBMFoldNonEmptyAccountAfterwards) { 766 SC_DelEmptyBMFoldNonEmptyAccountAfterwards) {
708 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 767 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
709 ASSERT_TRUE(AllModelsMatchVerifier()); 768 ASSERT_TRUE(AllModelsMatchVerifier());
710 769
711 ASSERT_NE(nullptr, AddFolder(0, kGenericFolderName)); 770 ASSERT_NE(nullptr, AddFolder(0, kGenericFolderName));
712 for (int i = 1; i < 15; ++i) { 771 for (int i = 1; i < 15; ++i) {
713 if (base::RandDouble() > 0.6) { 772 if (base::RandDouble() > 0.6) {
714 std::string title = IndexedURLTitle(i); 773 std::string title = IndexedURLTitle(i);
715 GURL url = GURL(IndexedURL(i)); 774 GURL url = GURL(IndexedURL(i));
716 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 775 ASSERT_NE(nullptr, AddURL(0, i, title, url));
717 } else { 776 } else {
718 std::string title = IndexedFolderName(i); 777 std::string title = IndexedFolderName(i);
719 ASSERT_NE(nullptr, AddFolder(0, i, title)); 778 ASSERT_NE(nullptr, AddFolder(0, i, title));
720 } 779 }
721 } 780 }
722 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 781 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
782 ASSERT_TRUE(AllModelsMatchVerifier());
723 783
724 Remove(0, GetBookmarkBarNode(0), 0); 784 Remove(0, GetBookmarkBarNode(0), 0);
725 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 785 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
786 ASSERT_TRUE(AllModelsMatchVerifier());
726 } 787 }
727 788
728 // Test Scribe ID - 371879. 789 // Test Scribe ID - 371879.
729 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 790 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
730 SC_DelBMFoldWithBMsNonEmptyAccountAfterwards) { 791 SC_DelBMFoldWithBMsNonEmptyAccountAfterwards) {
731 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 792 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
732 ASSERT_TRUE(AllModelsMatchVerifier()); 793 ASSERT_TRUE(AllModelsMatchVerifier());
733 794
734 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL))); 795 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL)));
735 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName); 796 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName);
736 ASSERT_NE(nullptr, folder); 797 ASSERT_NE(nullptr, folder);
737 for (int i = 2; i < 10; ++i) { 798 for (int i = 2; i < 10; ++i) {
738 if (base::RandDouble() > 0.6) { 799 if (base::RandDouble() > 0.6) {
739 std::string title = IndexedURLTitle(i); 800 std::string title = IndexedURLTitle(i);
740 GURL url = GURL(IndexedURL(i)); 801 GURL url = GURL(IndexedURL(i));
741 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 802 ASSERT_NE(nullptr, AddURL(0, i, title, url));
742 } else { 803 } else {
743 std::string title = IndexedFolderName(i); 804 std::string title = IndexedFolderName(i);
744 ASSERT_NE(nullptr, AddFolder(0, i, title)); 805 ASSERT_NE(nullptr, AddFolder(0, i, title));
745 } 806 }
746 } 807 }
747 for (int i = 0; i < 15; ++i) { 808 for (int i = 0; i < 15; ++i) {
748 std::string title = IndexedURLTitle(i); 809 std::string title = IndexedURLTitle(i);
749 GURL url = GURL(IndexedURL(i)); 810 GURL url = GURL(IndexedURL(i));
750 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 811 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
751 } 812 }
752 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 813 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
814 ASSERT_TRUE(AllModelsMatchVerifier());
753 815
754 Remove(0, GetBookmarkBarNode(0), 1); 816 Remove(0, GetBookmarkBarNode(0), 1);
755 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 817 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
818 ASSERT_TRUE(AllModelsMatchVerifier());
756 } 819 }
757 820
758 // Test Scribe ID - 371880. 821 // Test Scribe ID - 371880.
759 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 822 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
760 SC_DelBMFoldWithBMsAndBMFoldsNonEmptyACAfterwards) { 823 SC_DelBMFoldWithBMsAndBMFoldsNonEmptyACAfterwards) {
761 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 824 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
762 ASSERT_TRUE(AllModelsMatchVerifier()); 825 ASSERT_TRUE(AllModelsMatchVerifier());
763 826
764 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL))); 827 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL)));
765 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName); 828 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName);
(...skipping 25 matching lines...) Expand all
791 GURL url = GURL(IndexedURL(j)); 854 GURL url = GURL(IndexedURL(j));
792 ASSERT_NE(nullptr, AddURL(0, subfolder, j, title, url)); 855 ASSERT_NE(nullptr, AddURL(0, subfolder, j, title, url));
793 } else { 856 } else {
794 std::string title = IndexedSubsubfolderName(j); 857 std::string title = IndexedSubsubfolderName(j);
795 ASSERT_NE(nullptr, AddFolder(0, subfolder, j, title)); 858 ASSERT_NE(nullptr, AddFolder(0, subfolder, j, title));
796 } 859 }
797 } 860 }
798 } 861 }
799 } 862 }
800 } 863 }
801 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 864 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
865 ASSERT_TRUE(AllModelsMatchVerifier());
802 866
803 Remove(0, GetBookmarkBarNode(0), 1); 867 Remove(0, GetBookmarkBarNode(0), 1);
804 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 868 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
869 ASSERT_TRUE(AllModelsMatchVerifier());
805 } 870 }
806 871
807 // Test Scribe ID - 371882. 872 // Test Scribe ID - 371882.
808 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 873 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
809 SC_DelBMFoldWithParentAndChildrenBMsAndBMFolds) { 874 SC_DelBMFoldWithParentAndChildrenBMsAndBMFolds) {
810 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 875 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
811 ASSERT_TRUE(AllModelsMatchVerifier()); 876 ASSERT_TRUE(AllModelsMatchVerifier());
812 877
813 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 878 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
814 ASSERT_NE(nullptr, folder); 879 ASSERT_NE(nullptr, folder);
815 for (int i = 1; i < 11; ++i) { 880 for (int i = 1; i < 11; ++i) {
816 std::string title = IndexedURLTitle(i); 881 std::string title = IndexedURLTitle(i);
817 GURL url = GURL(IndexedURL(i)); 882 GURL url = GURL(IndexedURL(i));
818 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 883 ASSERT_NE(nullptr, AddURL(0, i, title, url));
819 } 884 }
820 const BookmarkNode* subfolder = 885 const BookmarkNode* subfolder =
821 AddFolder(0, folder, 0, kGenericSubfolderName); 886 AddFolder(0, folder, 0, kGenericSubfolderName);
822 ASSERT_NE(nullptr, subfolder); 887 ASSERT_NE(nullptr, subfolder);
823 for (int i = 0; i < 30; ++i) { 888 for (int i = 0; i < 30; ++i) {
824 if (base::RandDouble() > 0.2) { 889 if (base::RandDouble() > 0.2) {
825 std::string title = IndexedURLTitle(i); 890 std::string title = IndexedURLTitle(i);
826 GURL url = GURL(IndexedURL(i)); 891 GURL url = GURL(IndexedURL(i));
827 ASSERT_NE(nullptr, AddURL(0, subfolder, i, title, url)); 892 ASSERT_NE(nullptr, AddURL(0, subfolder, i, title, url));
828 } else { 893 } else {
829 std::string title = IndexedSubsubfolderName(i); 894 std::string title = IndexedSubsubfolderName(i);
830 ASSERT_NE(nullptr, AddFolder(0, subfolder, i, title)); 895 ASSERT_NE(nullptr, AddFolder(0, subfolder, i, title));
831 } 896 }
832 } 897 }
833 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 898 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
899 ASSERT_TRUE(AllModelsMatchVerifier());
834 900
835 Remove(0, folder, 0); 901 Remove(0, folder, 0);
836 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 902 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
903 ASSERT_TRUE(AllModelsMatchVerifier());
837 } 904 }
838 905
839 // Test Scribe ID - 371931. 906 // Test Scribe ID - 371931.
840 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 907 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
841 SC_ReverseTheOrderOfTwoBMs) { 908 SC_ReverseTheOrderOfTwoBMs) {
842 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 909 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
843 ASSERT_TRUE(AllModelsMatchVerifier()); 910 ASSERT_TRUE(AllModelsMatchVerifier());
844 911
845 GURL url0 = GURL(IndexedURL(0)); 912 GURL url0 = GURL(IndexedURL(0));
846 GURL url1 = GURL(IndexedURL(1)); 913 GURL url1 = GURL(IndexedURL(1));
847 std::string title0 = IndexedURLTitle(0); 914 std::string title0 = IndexedURLTitle(0);
848 std::string title1 = IndexedURLTitle(1); 915 std::string title1 = IndexedURLTitle(1);
849 const BookmarkNode* bookmark0 = AddURL(0, 0, title0, url0); 916 const BookmarkNode* bookmark0 = AddURL(0, 0, title0, url0);
850 const BookmarkNode* bookmark1 = AddURL(0, 1, title1, url1); 917 const BookmarkNode* bookmark1 = AddURL(0, 1, title1, url1);
851 ASSERT_NE(nullptr, bookmark0); 918 ASSERT_NE(nullptr, bookmark0);
852 ASSERT_NE(nullptr, bookmark1); 919 ASSERT_NE(nullptr, bookmark1);
853 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 920 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
921 ASSERT_TRUE(AllModelsMatchVerifier());
854 922
855 Move(0, bookmark0, GetBookmarkBarNode(0), 2); 923 Move(0, bookmark0, GetBookmarkBarNode(0), 2);
856 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 924 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
925 ASSERT_TRUE(AllModelsMatchVerifier());
857 } 926 }
858 927
859 // Test Scribe ID - 371933. 928 // Test Scribe ID - 371933.
860 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_ReverseTheOrderOf10BMs) { 929 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_ReverseTheOrderOf10BMs) {
861 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 930 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
862 ASSERT_TRUE(AllModelsMatchVerifier()); 931 ASSERT_TRUE(AllModelsMatchVerifier());
863 932
864 for (int i = 0; i < 10; ++i) { 933 for (int i = 0; i < 10; ++i) {
865 std::string title = IndexedURLTitle(i); 934 std::string title = IndexedURLTitle(i);
866 GURL url = GURL(IndexedURL(i)); 935 GURL url = GURL(IndexedURL(i));
867 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 936 ASSERT_NE(nullptr, AddURL(0, i, title, url));
868 } 937 }
869 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 938 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
939 ASSERT_TRUE(AllModelsMatchVerifier());
870 940
871 ReverseChildOrder(0, GetBookmarkBarNode(0)); 941 ReverseChildOrder(0, GetBookmarkBarNode(0));
872 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 942 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
943 ASSERT_TRUE(AllModelsMatchVerifier());
873 } 944 }
874 945
875 // Test Scribe ID - 371954. 946 // Test Scribe ID - 371954.
876 // flaky on Windows: http://crbug.com/412169 947 // flaky on Windows: http://crbug.com/412169
877 #if defined(OS_WIN) || defined(OS_MACOSX) 948 #if defined(OS_WIN) || defined(OS_MACOSX)
878 #define MAYBE_SC_MovingBMsFromBMBarToBMFolder \ 949 #define MAYBE_SC_MovingBMsFromBMBarToBMFolder \
879 DISABLED_SC_MovingBMsFromBMBarToBMFolder 950 DISABLED_SC_MovingBMsFromBMBarToBMFolder
880 #else 951 #else
881 #define MAYBE_SC_MovingBMsFromBMBarToBMFolder SC_MovingBMsFromBMBarToBMFolder 952 #define MAYBE_SC_MovingBMsFromBMBarToBMFolder SC_MovingBMsFromBMBarToBMFolder
882 #endif 953 #endif
883 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 954 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
884 MAYBE_SC_MovingBMsFromBMBarToBMFolder) { 955 MAYBE_SC_MovingBMsFromBMBarToBMFolder) {
885 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 956 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
886 ASSERT_TRUE(AllModelsMatchVerifier()); 957 ASSERT_TRUE(AllModelsMatchVerifier());
887 958
888 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL))); 959 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL)));
889 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName); 960 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName);
890 ASSERT_NE(nullptr, folder); 961 ASSERT_NE(nullptr, folder);
891 for (int i = 2; i < 10; ++i) { 962 for (int i = 2; i < 10; ++i) {
892 std::string title = IndexedURLTitle(i); 963 std::string title = IndexedURLTitle(i);
893 GURL url = GURL(IndexedURL(i)); 964 GURL url = GURL(IndexedURL(i));
894 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 965 ASSERT_NE(nullptr, AddURL(0, i, title, url));
895 } 966 }
896 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 967 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
968 ASSERT_TRUE(AllModelsMatchVerifier());
897 969
898 int num_bookmarks_to_move = 970 int num_bookmarks_to_move =
899 GetBookmarkBarNode(0)->child_count() - 2; 971 GetBookmarkBarNode(0)->child_count() - 2;
900 for (int i = 0; i < num_bookmarks_to_move; ++i) { 972 for (int i = 0; i < num_bookmarks_to_move; ++i) {
901 Move( 973 Move(
902 0, GetBookmarkBarNode(0)->GetChild(2), folder, i); 974 0, GetBookmarkBarNode(0)->GetChild(2), folder, i);
903 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 975 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
904 ASSERT_TRUE(AllModelsMatchVerifier()); 976 ASSERT_TRUE(AllModelsMatchVerifier());
905 } 977 }
906 } 978 }
(...skipping 12 matching lines...) Expand all
919 ASSERT_TRUE(AllModelsMatchVerifier()); 991 ASSERT_TRUE(AllModelsMatchVerifier());
920 992
921 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL))); 993 ASSERT_NE(nullptr, AddURL(0, kGenericURLTitle, GURL(kGenericURL)));
922 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName); 994 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName);
923 ASSERT_NE(nullptr, folder); 995 ASSERT_NE(nullptr, folder);
924 for (int i = 0; i < 10; ++i) { 996 for (int i = 0; i < 10; ++i) {
925 std::string title = IndexedURLTitle(i); 997 std::string title = IndexedURLTitle(i);
926 GURL url = GURL(IndexedURL(i)); 998 GURL url = GURL(IndexedURL(i));
927 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 999 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
928 } 1000 }
929 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1001 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1002 ASSERT_TRUE(AllModelsMatchVerifier());
930 1003
931 int num_bookmarks_to_move = folder->child_count() - 2; 1004 int num_bookmarks_to_move = folder->child_count() - 2;
932 for (int i = 0; i < num_bookmarks_to_move; ++i) { 1005 for (int i = 0; i < num_bookmarks_to_move; ++i) {
933 Move(0, folder->GetChild(0), GetBookmarkBarNode(0), i); 1006 Move(0, folder->GetChild(0), GetBookmarkBarNode(0), i);
934 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1007 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
935 ASSERT_TRUE(AllModelsMatchVerifier()); 1008 ASSERT_TRUE(AllModelsMatchVerifier());
936 } 1009 }
937 } 1010 }
938 1011
939 // Test Scribe ID - 371961. 1012 // Test Scribe ID - 371961.
(...skipping 10 matching lines...) Expand all
950 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 1023 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
951 } 1024 }
952 const BookmarkNode* subfolder = 1025 const BookmarkNode* subfolder =
953 AddFolder(0, folder, 3, kGenericSubfolderName); 1026 AddFolder(0, folder, 3, kGenericSubfolderName);
954 ASSERT_NE(nullptr, subfolder); 1027 ASSERT_NE(nullptr, subfolder);
955 for (int i = 0; i < 10; ++i) { 1028 for (int i = 0; i < 10; ++i) {
956 std::string title = IndexedURLTitle(i + 3); 1029 std::string title = IndexedURLTitle(i + 3);
957 GURL url = GURL(IndexedURL(i + 3)); 1030 GURL url = GURL(IndexedURL(i + 3));
958 ASSERT_NE(nullptr, AddURL(0, subfolder, i, title, url)); 1031 ASSERT_NE(nullptr, AddURL(0, subfolder, i, title, url));
959 } 1032 }
960 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1033 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1034 ASSERT_TRUE(AllModelsMatchVerifier());
961 1035
962 for (int i = 0; i < 3; ++i) { 1036 for (int i = 0; i < 3; ++i) {
963 GURL url = GURL(IndexedURL(i)); 1037 GURL url = GURL(IndexedURL(i));
964 Move(0, GetUniqueNodeByURL(0, url), subfolder, i + 10); 1038 Move(0, GetUniqueNodeByURL(0, url), subfolder, i + 10);
965 } 1039 }
966 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1040 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1041 ASSERT_TRUE(AllModelsMatchVerifier());
967 } 1042 }
968 1043
969 // Test Scribe ID - 371964. 1044 // Test Scribe ID - 371964.
970 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1045 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
971 SC_MovingBMsFromChildBMFoldToParentBMFold) { 1046 SC_MovingBMsFromChildBMFoldToParentBMFold) {
972 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1047 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
973 ASSERT_TRUE(AllModelsMatchVerifier()); 1048 ASSERT_TRUE(AllModelsMatchVerifier());
974 1049
975 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 1050 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
976 ASSERT_NE(nullptr, folder); 1051 ASSERT_NE(nullptr, folder);
977 for (int i = 0; i < 3; ++i) { 1052 for (int i = 0; i < 3; ++i) {
978 std::string title = IndexedURLTitle(i); 1053 std::string title = IndexedURLTitle(i);
979 GURL url = GURL(IndexedURL(i)); 1054 GURL url = GURL(IndexedURL(i));
980 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 1055 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
981 } 1056 }
982 const BookmarkNode* subfolder = 1057 const BookmarkNode* subfolder =
983 AddFolder(0, folder, 3, kGenericSubfolderName); 1058 AddFolder(0, folder, 3, kGenericSubfolderName);
984 ASSERT_NE(nullptr, subfolder); 1059 ASSERT_NE(nullptr, subfolder);
985 for (int i = 0; i < 5; ++i) { 1060 for (int i = 0; i < 5; ++i) {
986 std::string title = IndexedURLTitle(i + 3); 1061 std::string title = IndexedURLTitle(i + 3);
987 GURL url = GURL(IndexedURL(i + 3)); 1062 GURL url = GURL(IndexedURL(i + 3));
988 ASSERT_NE(nullptr, AddURL(0, subfolder, i, title, url)); 1063 ASSERT_NE(nullptr, AddURL(0, subfolder, i, title, url));
989 } 1064 }
990 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1065 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1066 ASSERT_TRUE(AllModelsMatchVerifier());
991 1067
992 for (int i = 0; i < 3; ++i) { 1068 for (int i = 0; i < 3; ++i) {
993 GURL url = GURL(IndexedURL(i + 3)); 1069 GURL url = GURL(IndexedURL(i + 3));
994 Move(0, GetUniqueNodeByURL(0, url), folder, i + 4); 1070 Move(0, GetUniqueNodeByURL(0, url), folder, i + 4);
995 } 1071 }
996 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1072 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1073 ASSERT_TRUE(AllModelsMatchVerifier());
997 } 1074 }
998 1075
999 // Test Scribe ID - 371967. 1076 // Test Scribe ID - 371967.
1000 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_HoistBMs10LevelUp) { 1077 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_HoistBMs10LevelUp) {
1001 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1078 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1002 ASSERT_TRUE(AllModelsMatchVerifier()); 1079 ASSERT_TRUE(AllModelsMatchVerifier());
1003 1080
1004 const BookmarkNode* folder = GetBookmarkBarNode(0); 1081 const BookmarkNode* folder = GetBookmarkBarNode(0);
1005 const BookmarkNode* folder_L0 = nullptr; 1082 const BookmarkNode* folder_L0 = nullptr;
1006 const BookmarkNode* folder_L10 = nullptr; 1083 const BookmarkNode* folder_L10 = nullptr;
1007 for (int level = 0; level < 15; ++level) { 1084 for (int level = 0; level < 15; ++level) {
1008 int num_bookmarks = base::RandInt(0, 9); 1085 int num_bookmarks = base::RandInt(0, 9);
1009 for (int i = 0; i < num_bookmarks; ++i) { 1086 for (int i = 0; i < num_bookmarks; ++i) {
1010 std::string title = IndexedURLTitle(i); 1087 std::string title = IndexedURLTitle(i);
1011 GURL url = GURL(IndexedURL(i)); 1088 GURL url = GURL(IndexedURL(i));
1012 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 1089 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
1013 } 1090 }
1014 std::string title = IndexedFolderName(level); 1091 std::string title = IndexedFolderName(level);
1015 folder = AddFolder(0, folder, folder->child_count(), title); 1092 folder = AddFolder(0, folder, folder->child_count(), title);
1016 ASSERT_NE(nullptr, folder); 1093 ASSERT_NE(nullptr, folder);
1017 if (level == 0) folder_L0 = folder; 1094 if (level == 0) folder_L0 = folder;
1018 if (level == 10) folder_L10 = folder; 1095 if (level == 10) folder_L10 = folder;
1019 } 1096 }
1020 for (int i = 0; i < 3; ++i) { 1097 for (int i = 0; i < 3; ++i) {
1021 std::string title = IndexedURLTitle(i + 10); 1098 std::string title = IndexedURLTitle(i + 10);
1022 GURL url = GURL(IndexedURL(i + 10)); 1099 GURL url = GURL(IndexedURL(i + 10));
1023 ASSERT_NE(nullptr, AddURL(0, folder_L10, i, title, url)); 1100 ASSERT_NE(nullptr, AddURL(0, folder_L10, i, title, url));
1024 } 1101 }
1025 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1102 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1103 ASSERT_TRUE(AllModelsMatchVerifier());
1026 1104
1027 GURL url10 = GURL(IndexedURL(10)); 1105 GURL url10 = GURL(IndexedURL(10));
1028 Move(0, GetUniqueNodeByURL( 1106 Move(0, GetUniqueNodeByURL(
1029 0, url10), folder_L0, folder_L0->child_count()); 1107 0, url10), folder_L0, folder_L0->child_count());
1030 GURL url11 = GURL(IndexedURL(11)); 1108 GURL url11 = GURL(IndexedURL(11));
1031 Move(0, GetUniqueNodeByURL(0, url11), folder_L0, 0); 1109 Move(0, GetUniqueNodeByURL(0, url11), folder_L0, 0);
1032 GURL url12 = GURL(IndexedURL(12)); 1110 GURL url12 = GURL(IndexedURL(12));
1033 Move(0, GetUniqueNodeByURL(0, url12), folder_L0, 1); 1111 Move(0, GetUniqueNodeByURL(0, url12), folder_L0, 1);
1034 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1112 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1113 ASSERT_TRUE(AllModelsMatchVerifier());
1035 } 1114 }
1036 1115
1037 // Test Scribe ID - 371968. 1116 // Test Scribe ID - 371968.
1038 // Flaky. http://crbug.com/107744. 1117 // Flaky. http://crbug.com/107744.
1039 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_SinkBMs10LevelDown) { 1118 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_SinkBMs10LevelDown) {
1040 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1119 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1041 ASSERT_TRUE(AllModelsMatchVerifier()); 1120 ASSERT_TRUE(AllModelsMatchVerifier());
1042 1121
1043 const BookmarkNode* folder = GetBookmarkBarNode(0); 1122 const BookmarkNode* folder = GetBookmarkBarNode(0);
1044 const BookmarkNode* folder_L0 = nullptr; 1123 const BookmarkNode* folder_L0 = nullptr;
1045 const BookmarkNode* folder_L10 = nullptr; 1124 const BookmarkNode* folder_L10 = nullptr;
1046 for (int level = 0; level < 15; ++level) { 1125 for (int level = 0; level < 15; ++level) {
1047 int num_bookmarks = base::RandInt(0, 9); 1126 int num_bookmarks = base::RandInt(0, 9);
1048 for (int i = 0; i < num_bookmarks; ++i) { 1127 for (int i = 0; i < num_bookmarks; ++i) {
1049 std::string title = IndexedURLTitle(i); 1128 std::string title = IndexedURLTitle(i);
1050 GURL url = GURL(IndexedURL(i)); 1129 GURL url = GURL(IndexedURL(i));
1051 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 1130 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
1052 } 1131 }
1053 std::string title = IndexedFolderName(level); 1132 std::string title = IndexedFolderName(level);
1054 folder = AddFolder(0, folder, folder->child_count(), title); 1133 folder = AddFolder(0, folder, folder->child_count(), title);
1055 ASSERT_NE(nullptr, folder); 1134 ASSERT_NE(nullptr, folder);
1056 if (level == 0) folder_L0 = folder; 1135 if (level == 0) folder_L0 = folder;
1057 if (level == 10) folder_L10 = folder; 1136 if (level == 10) folder_L10 = folder;
1058 } 1137 }
1059 for (int i = 0; i < 3; ++i) { 1138 for (int i = 0; i < 3; ++i) {
1060 std::string title = IndexedURLTitle(i + 10); 1139 std::string title = IndexedURLTitle(i + 10);
1061 GURL url = GURL(IndexedURL(i + 10)); 1140 GURL url = GURL(IndexedURL(i + 10));
1062 ASSERT_NE(nullptr, AddURL(0, folder_L0, 0, title, url)); 1141 ASSERT_NE(nullptr, AddURL(0, folder_L0, 0, title, url));
1063 } 1142 }
1064 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1143 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1144 ASSERT_TRUE(AllModelsMatchVerifier());
1065 1145
1066 GURL url10 = GURL(IndexedURL(10)); 1146 GURL url10 = GURL(IndexedURL(10));
1067 Move(0, GetUniqueNodeByURL(0, url10), folder_L10, folder_L10->child_count()); 1147 Move(0, GetUniqueNodeByURL(0, url10), folder_L10, folder_L10->child_count());
1068 GURL url11 = GURL(IndexedURL(11)); 1148 GURL url11 = GURL(IndexedURL(11));
1069 Move(0, GetUniqueNodeByURL(0, url11), folder_L10, 0); 1149 Move(0, GetUniqueNodeByURL(0, url11), folder_L10, 0);
1070 GURL url12 = GURL(IndexedURL(12)); 1150 GURL url12 = GURL(IndexedURL(12));
1071 Move(0, GetUniqueNodeByURL(0, url12), folder_L10, 1); 1151 Move(0, GetUniqueNodeByURL(0, url12), folder_L10, 1);
1072 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1152 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1153 ASSERT_TRUE(AllModelsMatchVerifier());
1073 } 1154 }
1074 1155
1075 // Test Scribe ID - 371980. 1156 // Test Scribe ID - 371980.
1076 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1157 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1077 SC_SinkEmptyBMFold5LevelsDown) { 1158 SC_SinkEmptyBMFold5LevelsDown) {
1078 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1159 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1079 ASSERT_TRUE(AllModelsMatchVerifier()); 1160 ASSERT_TRUE(AllModelsMatchVerifier());
1080 1161
1081 const BookmarkNode* folder = GetBookmarkBarNode(0); 1162 const BookmarkNode* folder = GetBookmarkBarNode(0);
1082 const BookmarkNode* folder_L5 = nullptr; 1163 const BookmarkNode* folder_L5 = nullptr;
1083 for (int level = 0; level < 15; ++level) { 1164 for (int level = 0; level < 15; ++level) {
1084 int num_bookmarks = base::RandInt(0, 9); 1165 int num_bookmarks = base::RandInt(0, 9);
1085 for (int i = 0; i < num_bookmarks; ++i) { 1166 for (int i = 0; i < num_bookmarks; ++i) {
1086 std::string title = IndexedURLTitle(i); 1167 std::string title = IndexedURLTitle(i);
1087 GURL url = GURL(IndexedURL(i)); 1168 GURL url = GURL(IndexedURL(i));
1088 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 1169 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
1089 } 1170 }
1090 std::string title = IndexedFolderName(level); 1171 std::string title = IndexedFolderName(level);
1091 folder = AddFolder( 1172 folder = AddFolder(
1092 0, folder, folder->child_count(), title); 1173 0, folder, folder->child_count(), title);
1093 ASSERT_NE(nullptr, folder); 1174 ASSERT_NE(nullptr, folder);
1094 if (level == 5) folder_L5 = folder; 1175 if (level == 5) folder_L5 = folder;
1095 } 1176 }
1096 folder = AddFolder( 1177 folder = AddFolder(
1097 0, GetBookmarkBarNode(0)->child_count(), kGenericFolderName); 1178 0, GetBookmarkBarNode(0)->child_count(), kGenericFolderName);
1098 ASSERT_NE(nullptr, folder); 1179 ASSERT_NE(nullptr, folder);
1099 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1180 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1181 ASSERT_TRUE(AllModelsMatchVerifier());
1100 1182
1101 Move(0, folder, folder_L5, folder_L5->child_count()); 1183 Move(0, folder, folder_L5, folder_L5->child_count());
1102 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1184 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1185 ASSERT_TRUE(AllModelsMatchVerifier());
1103 } 1186 }
1104 1187
1105 // Test Scribe ID - 371997. 1188 // Test Scribe ID - 371997.
1106 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1189 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1107 SC_SinkNonEmptyBMFold5LevelsDown) { 1190 SC_SinkNonEmptyBMFold5LevelsDown) {
1108 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1191 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1109 ASSERT_TRUE(AllModelsMatchVerifier()); 1192 ASSERT_TRUE(AllModelsMatchVerifier());
1110 1193
1111 const BookmarkNode* folder = GetBookmarkBarNode(0); 1194 const BookmarkNode* folder = GetBookmarkBarNode(0);
1112 const BookmarkNode* folder_L5 = nullptr; 1195 const BookmarkNode* folder_L5 = nullptr;
(...skipping 10 matching lines...) Expand all
1123 if (level == 5) folder_L5 = folder; 1206 if (level == 5) folder_L5 = folder;
1124 } 1207 }
1125 folder = AddFolder( 1208 folder = AddFolder(
1126 0, GetBookmarkBarNode(0)->child_count(), kGenericFolderName); 1209 0, GetBookmarkBarNode(0)->child_count(), kGenericFolderName);
1127 ASSERT_NE(nullptr, folder); 1210 ASSERT_NE(nullptr, folder);
1128 for (int i = 0; i < 10; ++i) { 1211 for (int i = 0; i < 10; ++i) {
1129 std::string title = IndexedURLTitle(i); 1212 std::string title = IndexedURLTitle(i);
1130 GURL url = GURL(IndexedURL(i)); 1213 GURL url = GURL(IndexedURL(i));
1131 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 1214 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
1132 } 1215 }
1133 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1216 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1217 ASSERT_TRUE(AllModelsMatchVerifier());
1134 1218
1135 Move(0, folder, folder_L5, folder_L5->child_count()); 1219 Move(0, folder, folder_L5, folder_L5->child_count());
1136 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1220 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1221 ASSERT_TRUE(AllModelsMatchVerifier());
1137 } 1222 }
1138 1223
1139 // Test Scribe ID - 372006. 1224 // Test Scribe ID - 372006.
1140 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1225 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1141 SC_HoistFolder5LevelsUp) { 1226 SC_HoistFolder5LevelsUp) {
1142 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1227 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1143 ASSERT_TRUE(AllModelsMatchVerifier()); 1228 ASSERT_TRUE(AllModelsMatchVerifier());
1144 1229
1145 const BookmarkNode* folder = GetBookmarkBarNode(0); 1230 const BookmarkNode* folder = GetBookmarkBarNode(0);
1146 const BookmarkNode* folder_L5 = nullptr; 1231 const BookmarkNode* folder_L5 = nullptr;
(...skipping 10 matching lines...) Expand all
1157 if (level == 5) folder_L5 = folder; 1242 if (level == 5) folder_L5 = folder;
1158 } 1243 }
1159 folder = AddFolder( 1244 folder = AddFolder(
1160 0, folder_L5, folder_L5->child_count(), kGenericFolderName); 1245 0, folder_L5, folder_L5->child_count(), kGenericFolderName);
1161 ASSERT_NE(nullptr, folder); 1246 ASSERT_NE(nullptr, folder);
1162 for (int i = 0; i < 10; ++i) { 1247 for (int i = 0; i < 10; ++i) {
1163 std::string title = IndexedURLTitle(i); 1248 std::string title = IndexedURLTitle(i);
1164 GURL url = GURL(IndexedURL(i)); 1249 GURL url = GURL(IndexedURL(i));
1165 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url)); 1250 ASSERT_NE(nullptr, AddURL(0, folder, i, title, url));
1166 } 1251 }
1167 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1252 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1253 ASSERT_TRUE(AllModelsMatchVerifier());
1168 1254
1169 Move(0, folder, GetBookmarkBarNode(0), GetBookmarkBarNode(0)->child_count()); 1255 Move(0, folder, GetBookmarkBarNode(0), GetBookmarkBarNode(0)->child_count());
1170 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1256 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1257 ASSERT_TRUE(AllModelsMatchVerifier());
1171 } 1258 }
1172 1259
1173 // Test Scribe ID - 372026. 1260 // Test Scribe ID - 372026.
1174 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1261 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1175 SC_ReverseTheOrderOfTwoBMFolders) { 1262 SC_ReverseTheOrderOfTwoBMFolders) {
1176 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1263 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1177 ASSERT_TRUE(AllModelsMatchVerifier()); 1264 ASSERT_TRUE(AllModelsMatchVerifier());
1178 1265
1179 for (int i = 0; i < 2; ++i) { 1266 for (int i = 0; i < 2; ++i) {
1180 std::string title = IndexedFolderName(i); 1267 std::string title = IndexedFolderName(i);
1181 const BookmarkNode* folder = AddFolder(0, i, title); 1268 const BookmarkNode* folder = AddFolder(0, i, title);
1182 ASSERT_NE(nullptr, folder); 1269 ASSERT_NE(nullptr, folder);
1183 for (int j = 0; j < 10; ++j) { 1270 for (int j = 0; j < 10; ++j) {
1184 std::string title = IndexedURLTitle(j); 1271 std::string title = IndexedURLTitle(j);
1185 GURL url = GURL(IndexedURL(j)); 1272 GURL url = GURL(IndexedURL(j));
1186 ASSERT_NE(nullptr, AddURL(0, folder, j, title, url)); 1273 ASSERT_NE(nullptr, AddURL(0, folder, j, title, url));
1187 } 1274 }
1188 } 1275 }
1189 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1276 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1277 ASSERT_TRUE(AllModelsMatchVerifier());
1190 1278
1191 ReverseChildOrder(0, GetBookmarkBarNode(0)); 1279 ReverseChildOrder(0, GetBookmarkBarNode(0));
1192 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1280 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1281 ASSERT_TRUE(AllModelsMatchVerifier());
1193 } 1282 }
1194 1283
1195 // Test Scribe ID - 372028. 1284 // Test Scribe ID - 372028.
1196 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1285 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1197 SC_ReverseTheOrderOfTenBMFolders) { 1286 SC_ReverseTheOrderOfTenBMFolders) {
1198 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1287 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1199 ASSERT_TRUE(AllModelsMatchVerifier()); 1288 ASSERT_TRUE(AllModelsMatchVerifier());
1200 1289
1201 for (int i = 0; i < 10; ++i) { 1290 for (int i = 0; i < 10; ++i) {
1202 std::string title = IndexedFolderName(i); 1291 std::string title = IndexedFolderName(i);
1203 const BookmarkNode* folder = AddFolder(0, i, title); 1292 const BookmarkNode* folder = AddFolder(0, i, title);
1204 ASSERT_NE(nullptr, folder); 1293 ASSERT_NE(nullptr, folder);
1205 for (int j = 0; j < 10; ++j) { 1294 for (int j = 0; j < 10; ++j) {
1206 std::string title = IndexedURLTitle(1000 * i + j); 1295 std::string title = IndexedURLTitle(1000 * i + j);
1207 GURL url = GURL(IndexedURL(j)); 1296 GURL url = GURL(IndexedURL(j));
1208 ASSERT_NE(nullptr, AddURL(0, folder, j, title, url)); 1297 ASSERT_NE(nullptr, AddURL(0, folder, j, title, url));
1209 } 1298 }
1210 } 1299 }
1211 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1300 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1301 ASSERT_TRUE(AllModelsMatchVerifier());
1212 1302
1213 ReverseChildOrder(0, GetBookmarkBarNode(0)); 1303 ReverseChildOrder(0, GetBookmarkBarNode(0));
1214 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1304 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1305 ASSERT_TRUE(AllModelsMatchVerifier());
1215 } 1306 }
1216 1307
1217 // Test Scribe ID - 373379. 1308 // Test Scribe ID - 373379.
1218 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1309 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1219 MC_BiDirectionalPushAddingBM) { 1310 MC_BiDirectionalPushAddingBM) {
1220 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1311 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1221 ASSERT_TRUE(AllModelsMatchVerifier()); 1312 ASSERT_TRUE(AllModelsMatchVerifier());
1222 1313
1223 DisableVerifier(); 1314 DisableVerifier();
1224 for (int i = 0; i < 2; ++i) { 1315 for (int i = 0; i < 2; ++i) {
1225 std::string title0 = IndexedURLTitle(2*i); 1316 std::string title0 = IndexedURLTitle(2*i);
1226 GURL url0 = GURL(IndexedURL(2*i)); 1317 GURL url0 = GURL(IndexedURL(2*i));
1227 ASSERT_NE(nullptr, AddURL(0, title0, url0)); 1318 ASSERT_NE(nullptr, AddURL(0, title0, url0));
1228 std::string title1 = IndexedURLTitle(2*i+1); 1319 std::string title1 = IndexedURLTitle(2*i+1);
1229 GURL url1 = GURL(IndexedURL(2*i+1)); 1320 GURL url1 = GURL(IndexedURL(2*i+1));
1230 ASSERT_NE(nullptr, AddURL(1, title1, url1)); 1321 ASSERT_NE(nullptr, AddURL(1, title1, url1));
1231 } 1322 }
1232 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1323 ASSERT_TRUE(AwaitQuiescence());
1324 ASSERT_TRUE(AllModelsMatch());
1233 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1325 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1234 } 1326 }
1235 1327
1236 // Test Scribe ID - 373503. 1328 // Test Scribe ID - 373503.
1237 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1329 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1238 MC_BiDirectionalPush_AddingSameBMs) { 1330 MC_BiDirectionalPush_AddingSameBMs) {
1239 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1331 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1240 ASSERT_TRUE(AllModelsMatchVerifier()); 1332 ASSERT_TRUE(AllModelsMatchVerifier());
1241 1333
1242 // Note: When a racy commit is done with identical bookmarks, it is possible 1334 // Note: When a racy commit is done with identical bookmarks, it is possible
1243 // for duplicates to exist after sync completes. See http://crbug.com/19769. 1335 // for duplicates to exist after sync completes. See http://crbug.com/19769.
1244 DisableVerifier(); 1336 DisableVerifier();
1245 for (int i = 0; i < 2; ++i) { 1337 for (int i = 0; i < 2; ++i) {
1246 std::string title = IndexedURLTitle(i); 1338 std::string title = IndexedURLTitle(i);
1247 GURL url = GURL(IndexedURL(i)); 1339 GURL url = GURL(IndexedURL(i));
1248 ASSERT_NE(nullptr, AddURL(0, title, url)); 1340 ASSERT_NE(nullptr, AddURL(0, title, url));
1249 ASSERT_NE(nullptr, AddURL(1, title, url)); 1341 ASSERT_NE(nullptr, AddURL(1, title, url));
1250 } 1342 }
1251 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1343 ASSERT_TRUE(AwaitQuiescence());
1344 ASSERT_TRUE(AllModelsMatch());
1252 } 1345 }
1253 1346
1254 // Test Scribe ID - 373506. 1347 // Test Scribe ID - 373506.
1255 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1348 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1256 MC_BootStrapEmptyStateEverywhere) { 1349 MC_BootStrapEmptyStateEverywhere) {
1257 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1350 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1258 ASSERT_TRUE(AwaitQuiescence()); 1351 ASSERT_TRUE(AwaitQuiescence());
1259 ASSERT_TRUE(AllModelsMatchVerifier()); 1352 ASSERT_TRUE(AllModelsMatchVerifier());
1260 } 1353 }
1261 1354
1262 // Test Scribe ID - 373505. 1355 // Test Scribe ID - 373505.
1263 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1356 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1264 MC_Merge_CaseInsensitivity_InNames) { 1357 MC_Merge_CaseInsensitivity_InNames) {
1265 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1358 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1266 DisableVerifier(); 1359 DisableVerifier();
1267 1360
1268 const BookmarkNode* folder0 = AddFolder(0, "Folder"); 1361 const BookmarkNode* folder0 = AddFolder(0, "Folder");
1269 ASSERT_NE(nullptr, folder0); 1362 ASSERT_NE(nullptr, folder0);
1270 ASSERT_NE(nullptr, AddURL(0, folder0, 0, "Bookmark 0", GURL(kGenericURL))); 1363 ASSERT_NE(nullptr, AddURL(0, folder0, 0, "Bookmark 0", GURL(kGenericURL)));
1271 ASSERT_NE(nullptr, AddURL(0, folder0, 1, "Bookmark 1", GURL(kGenericURL))); 1364 ASSERT_NE(nullptr, AddURL(0, folder0, 1, "Bookmark 1", GURL(kGenericURL)));
1272 ASSERT_NE(nullptr, AddURL(0, folder0, 2, "Bookmark 2", GURL(kGenericURL))); 1365 ASSERT_NE(nullptr, AddURL(0, folder0, 2, "Bookmark 2", GURL(kGenericURL)));
1273 1366
1274 const BookmarkNode* folder1 = AddFolder(1, "fOlDeR"); 1367 const BookmarkNode* folder1 = AddFolder(1, "fOlDeR");
1275 ASSERT_NE(nullptr, folder1); 1368 ASSERT_NE(nullptr, folder1);
1276 ASSERT_NE(nullptr, AddURL(1, folder1, 0, "bOoKmArK 0", GURL(kGenericURL))); 1369 ASSERT_NE(nullptr, AddURL(1, folder1, 0, "bOoKmArK 0", GURL(kGenericURL)));
1277 ASSERT_NE(nullptr, AddURL(1, folder1, 1, "BooKMarK 1", GURL(kGenericURL))); 1370 ASSERT_NE(nullptr, AddURL(1, folder1, 1, "BooKMarK 1", GURL(kGenericURL)));
1278 ASSERT_NE(nullptr, AddURL(1, folder1, 2, "bOOKMARK 2", GURL(kGenericURL))); 1371 ASSERT_NE(nullptr, AddURL(1, folder1, 2, "bOOKMARK 2", GURL(kGenericURL)));
1279 1372
1280 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1373 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1281 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1374 ASSERT_TRUE(AwaitQuiescence());
1375 ASSERT_TRUE(AllModelsMatch());
1282 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1376 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1283 } 1377 }
1284 1378
1285 // Test Scribe ID - 373508. 1379 // Test Scribe ID - 373508.
1286 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1380 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1287 MC_SimpleMergeOfDifferentBMModels) { 1381 MC_SimpleMergeOfDifferentBMModels) {
1288 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1382 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1289 DisableVerifier(); 1383 DisableVerifier();
1290 1384
1291 for (int i = 0; i < 3; ++i) { 1385 for (int i = 0; i < 3; ++i) {
1292 std::string title = IndexedURLTitle(i); 1386 std::string title = IndexedURLTitle(i);
1293 GURL url = GURL(IndexedURL(i)); 1387 GURL url = GURL(IndexedURL(i));
1294 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 1388 ASSERT_NE(nullptr, AddURL(0, i, title, url));
1295 ASSERT_NE(nullptr, AddURL(1, i, title, url)); 1389 ASSERT_NE(nullptr, AddURL(1, i, title, url));
1296 } 1390 }
1297 1391
1298 for (int i = 3; i < 10; ++i) { 1392 for (int i = 3; i < 10; ++i) {
1299 std::string title0 = IndexedURLTitle(i); 1393 std::string title0 = IndexedURLTitle(i);
1300 GURL url0 = GURL(IndexedURL(i)); 1394 GURL url0 = GURL(IndexedURL(i));
1301 ASSERT_NE(nullptr, AddURL(0, i, title0, url0)); 1395 ASSERT_NE(nullptr, AddURL(0, i, title0, url0));
1302 std::string title1 = IndexedURLTitle(i+7); 1396 std::string title1 = IndexedURLTitle(i+7);
1303 GURL url1 = GURL(IndexedURL(i+7)); 1397 GURL url1 = GURL(IndexedURL(i+7));
1304 ASSERT_NE(nullptr, AddURL(1, i, title1, url1)); 1398 ASSERT_NE(nullptr, AddURL(1, i, title1, url1));
1305 } 1399 }
1306 1400
1307 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1401 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1308 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1402 ASSERT_TRUE(AwaitQuiescence());
1403 ASSERT_TRUE(AllModelsMatch());
1309 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1404 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1310 } 1405 }
1311 1406
1312 // Test Scribe ID - 386586. 1407 // Test Scribe ID - 386586.
1313 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1408 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1314 MC_MergeSimpleBMHierarchyUnderBMBar) { 1409 MC_MergeSimpleBMHierarchyUnderBMBar) {
1315 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1410 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1316 DisableVerifier(); 1411 DisableVerifier();
1317 1412
1318 for (int i = 0; i < 3; ++i) { 1413 for (int i = 0; i < 3; ++i) {
1319 std::string title = IndexedURLTitle(i); 1414 std::string title = IndexedURLTitle(i);
1320 GURL url = GURL(IndexedURL(i)); 1415 GURL url = GURL(IndexedURL(i));
1321 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 1416 ASSERT_NE(nullptr, AddURL(0, i, title, url));
1322 ASSERT_NE(nullptr, AddURL(1, i, title, url)); 1417 ASSERT_NE(nullptr, AddURL(1, i, title, url));
1323 } 1418 }
1324 1419
1325 for (int i = 3; i < 10; ++i) { 1420 for (int i = 3; i < 10; ++i) {
1326 std::string title = IndexedURLTitle(i); 1421 std::string title = IndexedURLTitle(i);
1327 GURL url = GURL(IndexedURL(i)); 1422 GURL url = GURL(IndexedURL(i));
1328 ASSERT_NE(nullptr, AddURL(1, i, title, url)); 1423 ASSERT_NE(nullptr, AddURL(1, i, title, url));
1329 } 1424 }
1330 1425
1331 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1426 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1332 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1427 ASSERT_TRUE(AwaitQuiescence());
1428 ASSERT_TRUE(AllModelsMatch());
1333 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1429 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1334 } 1430 }
1335 1431
1336 // Test Scribe ID - 386589. 1432 // Test Scribe ID - 386589.
1337 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1433 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1338 MC_MergeSimpleBMHierarchyEqualSetsUnderBMBar) { 1434 MC_MergeSimpleBMHierarchyEqualSetsUnderBMBar) {
1339 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1435 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1340 DisableVerifier(); 1436 DisableVerifier();
1341 1437
1342 for (int i = 0; i < 3; ++i) { 1438 for (int i = 0; i < 3; ++i) {
1343 std::string title = IndexedURLTitle(i); 1439 std::string title = IndexedURLTitle(i);
1344 GURL url = GURL(IndexedURL(i)); 1440 GURL url = GURL(IndexedURL(i));
1345 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 1441 ASSERT_NE(nullptr, AddURL(0, i, title, url));
1346 ASSERT_NE(nullptr, AddURL(1, i, title, url)); 1442 ASSERT_NE(nullptr, AddURL(1, i, title, url));
1347 } 1443 }
1348 1444
1349 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1445 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1350 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1446 ASSERT_TRUE(AwaitQuiescence());
1447 ASSERT_TRUE(AllModelsMatch());
1351 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1448 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1352 } 1449 }
1353 1450
1354 // Test Scribe ID - 373504 - Merge bookmark folders with different bookmarks. 1451 // Test Scribe ID - 373504 - Merge bookmark folders with different bookmarks.
1355 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1452 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1356 MC_MergeBMFoldersWithDifferentBMs) { 1453 MC_MergeBMFoldersWithDifferentBMs) {
1357 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1454 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1358 DisableVerifier(); 1455 DisableVerifier();
1359 1456
1360 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName); 1457 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName);
1361 ASSERT_NE(nullptr, folder0); 1458 ASSERT_NE(nullptr, folder0);
1362 const BookmarkNode* folder1 = AddFolder(1, kGenericFolderName); 1459 const BookmarkNode* folder1 = AddFolder(1, kGenericFolderName);
1363 ASSERT_NE(nullptr, folder1); 1460 ASSERT_NE(nullptr, folder1);
1364 for (int i = 0; i < 2; ++i) { 1461 for (int i = 0; i < 2; ++i) {
1365 std::string title0 = IndexedURLTitle(2*i); 1462 std::string title0 = IndexedURLTitle(2*i);
1366 GURL url0 = GURL(IndexedURL(2*i)); 1463 GURL url0 = GURL(IndexedURL(2*i));
1367 ASSERT_NE(nullptr, AddURL(0, folder0, i, title0, url0)); 1464 ASSERT_NE(nullptr, AddURL(0, folder0, i, title0, url0));
1368 std::string title1 = IndexedURLTitle(2*i+1); 1465 std::string title1 = IndexedURLTitle(2*i+1);
1369 GURL url1 = GURL(IndexedURL(2*i+1)); 1466 GURL url1 = GURL(IndexedURL(2*i+1));
1370 ASSERT_NE(nullptr, AddURL(1, folder1, i, title1, url1)); 1467 ASSERT_NE(nullptr, AddURL(1, folder1, i, title1, url1));
1371 } 1468 }
1372 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1469 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1373 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1470 ASSERT_TRUE(AwaitQuiescence());
1471 ASSERT_TRUE(AllModelsMatch());
1374 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1472 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1375 } 1473 }
1376 1474
1377 // Test Scribe ID - 373509 - Merge moderately complex bookmark models. 1475 // Test Scribe ID - 373509 - Merge moderately complex bookmark models.
1378 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1476 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1379 MC_MergeDifferentBMModelsModeratelyComplex) { 1477 MC_MergeDifferentBMModelsModeratelyComplex) {
1380 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1478 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1381 DisableVerifier(); 1479 DisableVerifier();
1382 1480
1383 for (int i = 0; i < 25; ++i) { 1481 for (int i = 0; i < 25; ++i) {
(...skipping 20 matching lines...) Expand all
1404 ASSERT_NE(nullptr, AddURL(1, folder1, j, title1, url1)); 1502 ASSERT_NE(nullptr, AddURL(1, folder1, j, title1, url1));
1405 } 1503 }
1406 } 1504 }
1407 for (int i = 100; i < 125; ++i) { 1505 for (int i = 100; i < 125; ++i) {
1408 std::string title = IndexedURLTitle(i); 1506 std::string title = IndexedURLTitle(i);
1409 GURL url = GURL(IndexedURL(i)); 1507 GURL url = GURL(IndexedURL(i));
1410 ASSERT_NE(nullptr, AddURL(0, title, url)); 1508 ASSERT_NE(nullptr, AddURL(0, title, url));
1411 ASSERT_NE(nullptr, AddURL(1, title, url)); 1509 ASSERT_NE(nullptr, AddURL(1, title, url));
1412 } 1510 }
1413 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1511 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1414 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1512 ASSERT_TRUE(AwaitQuiescence());
1513 ASSERT_TRUE(AllModelsMatch());
1415 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1514 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1416 } 1515 }
1417 1516
1418 // TCM ID - 3675271 - Merge simple bookmark subset under bookmark folder. 1517 // TCM ID - 3675271 - Merge simple bookmark subset under bookmark folder.
1419 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1518 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1420 MC_MergeSimpleBMHierarchySubsetUnderBMFolder) { 1519 MC_MergeSimpleBMHierarchySubsetUnderBMFolder) {
1421 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1520 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1422 DisableVerifier(); 1521 DisableVerifier();
1423 1522
1424 for (int i = 0; i < 2; ++i) { 1523 for (int i = 0; i < 2; ++i) {
1425 const BookmarkNode* folder = AddFolder(i, kGenericFolderName); 1524 const BookmarkNode* folder = AddFolder(i, kGenericFolderName);
1426 ASSERT_NE(nullptr, folder); 1525 ASSERT_NE(nullptr, folder);
1427 for (int j = 0; j < 4; ++j) { 1526 for (int j = 0; j < 4; ++j) {
1428 if (base::RandDouble() < 0.5) { 1527 if (base::RandDouble() < 0.5) {
1429 std::string title = IndexedURLTitle(j); 1528 std::string title = IndexedURLTitle(j);
1430 GURL url = GURL(IndexedURL(j)); 1529 GURL url = GURL(IndexedURL(j));
1431 ASSERT_NE(nullptr, AddURL(i, folder, j, title, url)); 1530 ASSERT_NE(nullptr, AddURL(i, folder, j, title, url));
1432 } else { 1531 } else {
1433 std::string title = IndexedFolderName(j); 1532 std::string title = IndexedFolderName(j);
1434 ASSERT_NE(nullptr, AddFolder(i, folder, j, title)); 1533 ASSERT_NE(nullptr, AddFolder(i, folder, j, title));
1435 } 1534 }
1436 } 1535 }
1437 } 1536 }
1438 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1537 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1439 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1538 ASSERT_TRUE(AwaitQuiescence());
1539 ASSERT_TRUE(AllModelsMatch());
1440 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1540 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1441 } 1541 }
1442 1542
1443 // TCM ID - 3727284 - Merge subsets of bookmark under bookmark bar. 1543 // TCM ID - 3727284 - Merge subsets of bookmark under bookmark bar.
1444 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1544 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1445 MC_MergeSimpleBMHierarchySubsetUnderBookmarkBar) { 1545 MC_MergeSimpleBMHierarchySubsetUnderBookmarkBar) {
1446 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1546 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1447 DisableVerifier(); 1547 DisableVerifier();
1448 1548
1449 for (int i = 0; i < 4; ++i) { 1549 for (int i = 0; i < 4; ++i) {
1450 std::string title = IndexedURLTitle(i); 1550 std::string title = IndexedURLTitle(i);
1451 GURL url = GURL(IndexedURL(i)); 1551 GURL url = GURL(IndexedURL(i));
1452 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 1552 ASSERT_NE(nullptr, AddURL(0, i, title, url));
1453 } 1553 }
1454 1554
1455 for (int j = 0; j < 2; ++j) { 1555 for (int j = 0; j < 2; ++j) {
1456 std::string title = IndexedURLTitle(j); 1556 std::string title = IndexedURLTitle(j);
1457 GURL url = GURL(IndexedURL(j)); 1557 GURL url = GURL(IndexedURL(j));
1458 ASSERT_NE(nullptr, AddURL(1, j, title, url)); 1558 ASSERT_NE(nullptr, AddURL(1, j, title, url));
1459 } 1559 }
1460 1560
1461 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1561 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1462 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1562 ASSERT_TRUE(AwaitQuiescence());
1563 ASSERT_TRUE(AllModelsMatch());
1463 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1564 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1464 ASSERT_FALSE(ContainsDuplicateBookmarks(1)); 1565 ASSERT_FALSE(ContainsDuplicateBookmarks(1));
1465 } 1566 }
1466 1567
1467 // TCM ID - 3659294 - Merge simple bookmark hierarchy under bookmark folder. 1568 // TCM ID - 3659294 - Merge simple bookmark hierarchy under bookmark folder.
1468 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1569 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1469 MC_Merge_SimpleBMHierarchy_Under_BMFolder) { 1570 MC_Merge_SimpleBMHierarchy_Under_BMFolder) {
1470 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1571 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1471 DisableVerifier(); 1572 DisableVerifier();
1472 1573
(...skipping 10 matching lines...) Expand all
1483 ASSERT_NE(nullptr, folder1); 1584 ASSERT_NE(nullptr, folder1);
1484 ASSERT_NE(nullptr, AddFolder(1, folder1, 0, IndexedSubfolderName(0))); 1585 ASSERT_NE(nullptr, AddFolder(1, folder1, 0, IndexedSubfolderName(0)));
1485 ASSERT_NE(nullptr, AddFolder(1, folder1, 1, IndexedSubfolderName(2))); 1586 ASSERT_NE(nullptr, AddFolder(1, folder1, 1, IndexedSubfolderName(2)));
1486 ASSERT_NE(nullptr, 1587 ASSERT_NE(nullptr,
1487 AddURL(1, folder1, 2, IndexedURLTitle(3), GURL(IndexedURL(3)))); 1588 AddURL(1, folder1, 2, IndexedURLTitle(3), GURL(IndexedURL(3))));
1488 ASSERT_NE(nullptr, AddFolder(1, folder1, 3, IndexedSubfolderName(5))); 1589 ASSERT_NE(nullptr, AddFolder(1, folder1, 3, IndexedSubfolderName(5)));
1489 ASSERT_NE(nullptr, 1590 ASSERT_NE(nullptr,
1490 AddURL(1, folder1, 4, IndexedURLTitle(1), GURL(IndexedURL(1)))); 1591 AddURL(1, folder1, 4, IndexedURLTitle(1), GURL(IndexedURL(1))));
1491 1592
1492 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1593 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1493 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1594 ASSERT_TRUE(AwaitQuiescence());
1595 ASSERT_TRUE(AllModelsMatch());
1494 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1596 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1495 } 1597 }
1496 1598
1497 // TCM ID - 3711273 - Merge disjoint sets of bookmark hierarchy under bookmark 1599 // TCM ID - 3711273 - Merge disjoint sets of bookmark hierarchy under bookmark
1498 // folder. 1600 // folder.
1499 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1601 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1500 MC_Merge_SimpleBMHierarchy_DisjointSets_Under_BMFolder) { 1602 MC_Merge_SimpleBMHierarchy_DisjointSets_Under_BMFolder) {
1501 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1603 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1502 DisableVerifier(); 1604 DisableVerifier();
1503 1605
1504 const BookmarkNode* folder0 = AddFolder(0, 0, kGenericFolderName); 1606 const BookmarkNode* folder0 = AddFolder(0, 0, kGenericFolderName);
1505 ASSERT_NE(nullptr, folder0); 1607 ASSERT_NE(nullptr, folder0);
1506 ASSERT_NE(nullptr, 1608 ASSERT_NE(nullptr,
1507 AddURL(0, folder0, 0, IndexedURLTitle(1), GURL(IndexedURL(1)))); 1609 AddURL(0, folder0, 0, IndexedURLTitle(1), GURL(IndexedURL(1))));
1508 ASSERT_NE(nullptr, AddFolder(0, folder0, 1, IndexedSubfolderName(2))); 1610 ASSERT_NE(nullptr, AddFolder(0, folder0, 1, IndexedSubfolderName(2)));
1509 ASSERT_NE(nullptr, 1611 ASSERT_NE(nullptr,
1510 AddURL(0, folder0, 2, IndexedURLTitle(3), GURL(IndexedURL(3)))); 1612 AddURL(0, folder0, 2, IndexedURLTitle(3), GURL(IndexedURL(3))));
1511 ASSERT_NE(nullptr, AddFolder(0, folder0, 3, IndexedSubfolderName(4))); 1613 ASSERT_NE(nullptr, AddFolder(0, folder0, 3, IndexedSubfolderName(4)));
1512 1614
1513 const BookmarkNode* folder1 = AddFolder(1, 0, kGenericFolderName); 1615 const BookmarkNode* folder1 = AddFolder(1, 0, kGenericFolderName);
1514 ASSERT_NE(nullptr, folder1); 1616 ASSERT_NE(nullptr, folder1);
1515 ASSERT_NE(nullptr, AddFolder(1, folder1, 0, IndexedSubfolderName(5))); 1617 ASSERT_NE(nullptr, AddFolder(1, folder1, 0, IndexedSubfolderName(5)));
1516 ASSERT_NE(nullptr, AddFolder(1, folder1, 1, IndexedSubfolderName(6))); 1618 ASSERT_NE(nullptr, AddFolder(1, folder1, 1, IndexedSubfolderName(6)));
1517 ASSERT_NE(nullptr, 1619 ASSERT_NE(nullptr,
1518 AddURL(1, folder1, 2, IndexedURLTitle(7), GURL(IndexedURL(7)))); 1620 AddURL(1, folder1, 2, IndexedURLTitle(7), GURL(IndexedURL(7))));
1519 ASSERT_NE(nullptr, 1621 ASSERT_NE(nullptr,
1520 AddURL(1, folder1, 3, IndexedURLTitle(8), GURL(IndexedURL(8)))); 1622 AddURL(1, folder1, 3, IndexedURLTitle(8), GURL(IndexedURL(8))));
1521 1623
1522 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1624 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1523 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1625 ASSERT_TRUE(AwaitQuiescence());
1626 ASSERT_TRUE(AllModelsMatch());
1524 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1627 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1525 } 1628 }
1526 1629
1527 // TCM ID - 3639296 - Merge disjoint sets of bookmark hierarchy under bookmark 1630 // TCM ID - 3639296 - Merge disjoint sets of bookmark hierarchy under bookmark
1528 // bar. 1631 // bar.
1529 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1632 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1530 MC_Merge_SimpleBMHierarchy_DisjointSets_Under_BookmarkBar) { 1633 MC_Merge_SimpleBMHierarchy_DisjointSets_Under_BookmarkBar) {
1531 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1634 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1532 DisableVerifier(); 1635 DisableVerifier();
1533 1636
1534 for (int i = 0; i < 3; ++i) { 1637 for (int i = 0; i < 3; ++i) {
1535 std::string title = IndexedURLTitle(i+1); 1638 std::string title = IndexedURLTitle(i+1);
1536 GURL url = GURL(IndexedURL(i+1)); 1639 GURL url = GURL(IndexedURL(i+1));
1537 ASSERT_NE(nullptr, AddURL(0, i, title, url)); 1640 ASSERT_NE(nullptr, AddURL(0, i, title, url));
1538 } 1641 }
1539 1642
1540 for (int j = 0; j < 3; ++j) { 1643 for (int j = 0; j < 3; ++j) {
1541 std::string title = IndexedURLTitle(j+4); 1644 std::string title = IndexedURLTitle(j+4);
1542 GURL url = GURL(IndexedURL(j+4)); 1645 GURL url = GURL(IndexedURL(j+4));
1543 ASSERT_NE(nullptr, AddURL(0, j, title, url)); 1646 ASSERT_NE(nullptr, AddURL(0, j, title, url));
1544 } 1647 }
1545 1648
1546 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1649 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1547 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1650 ASSERT_TRUE(AwaitQuiescence());
1651 ASSERT_TRUE(AllModelsMatch());
1548 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1652 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1549 } 1653 }
1550 1654
1551 // TCM ID - 3616282 - Merge sets of duplicate bookmarks under bookmark bar. 1655 // TCM ID - 3616282 - Merge sets of duplicate bookmarks under bookmark bar.
1552 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1656 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1553 MC_Merge_SimpleBMHierarchy_DuplicateBMs_Under_BMBar) { 1657 MC_Merge_SimpleBMHierarchy_DuplicateBMs_Under_BMBar) {
1554 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1658 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1555 DisableVerifier(); 1659 DisableVerifier();
1556 1660
1557 // Let's add duplicate set of bookmark {1,2,2,3,3,3,4,4,4,4} to client0. 1661 // Let's add duplicate set of bookmark {1,2,2,3,3,3,4,4,4,4} to client0.
1558 int node_index = 0; 1662 int node_index = 0;
1559 for (int i = 1; i < 5 ; ++i) { 1663 for (int i = 1; i < 5 ; ++i) {
1560 for (int j = 0; j < i; ++j) { 1664 for (int j = 0; j < i; ++j) {
1561 std::string title = IndexedURLTitle(i); 1665 std::string title = IndexedURLTitle(i);
1562 GURL url = GURL(IndexedURL(i)); 1666 GURL url = GURL(IndexedURL(i));
1563 ASSERT_NE(nullptr, AddURL(0, node_index, title, url)); 1667 ASSERT_NE(nullptr, AddURL(0, node_index, title, url));
1564 ++node_index; 1668 ++node_index;
1565 } 1669 }
1566 } 1670 }
1567 // Let's add a set of bookmarks {1,2,3,4} to client1. 1671 // Let's add a set of bookmarks {1,2,3,4} to client1.
1568 for (int i = 0; i < 4; ++i) { 1672 for (int i = 0; i < 4; ++i) {
1569 std::string title = IndexedURLTitle(i+1); 1673 std::string title = IndexedURLTitle(i+1);
1570 GURL url = GURL(IndexedURL(i+1)); 1674 GURL url = GURL(IndexedURL(i+1));
1571 ASSERT_NE(nullptr, AddURL(1, i, title, url)); 1675 ASSERT_NE(nullptr, AddURL(1, i, title, url));
1572 } 1676 }
1573 1677
1574 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1678 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1575 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1679 ASSERT_TRUE(AwaitQuiescence());
1680 ASSERT_TRUE(AllModelsMatch());
1576 1681
1577 for (int i = 1; i < 5 ; ++i) { 1682 for (int i = 1; i < 5 ; ++i) {
1578 ASSERT_EQ(i, CountBookmarksWithTitlesMatching(1, IndexedURLTitle(i))); 1683 ASSERT_EQ(i, CountBookmarksWithTitlesMatching(1, IndexedURLTitle(i)));
1579 } 1684 }
1580 } 1685 }
1581 1686
1582 // TCM ID - 6593872. 1687 // TCM ID - 6593872.
1583 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, DisableBookmarks) { 1688 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, DisableBookmarks) {
1584 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1689 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1585 ASSERT_TRUE(AllModelsMatchVerifier()); 1690 ASSERT_TRUE(AllModelsMatchVerifier());
1586 1691
1587 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::BOOKMARKS)); 1692 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::BOOKMARKS));
1588 ASSERT_NE(nullptr, AddFolder(1, kGenericFolderName)); 1693 ASSERT_NE(nullptr, AddFolder(1, kGenericFolderName));
1589 ASSERT_TRUE(AwaitQuiescence()); 1694 ASSERT_TRUE(AwaitQuiescence());
1590 ASSERT_FALSE(AllModelsMatch()); 1695 ASSERT_FALSE(AllModelsMatch());
1591 1696
1592 ASSERT_TRUE(GetClient(1)->EnableSyncForDatatype(syncer::BOOKMARKS)); 1697 ASSERT_TRUE(GetClient(1)->EnableSyncForDatatype(syncer::BOOKMARKS));
1593 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1698 ASSERT_TRUE(AwaitQuiescence());
1699 ASSERT_TRUE(AllModelsMatch());
1594 } 1700 }
1595 1701
1596 // TCM ID - 7343544. 1702 // TCM ID - 7343544.
1597 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, DisableSync) { 1703 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, DisableSync) {
1598 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1704 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1599 ASSERT_TRUE(AllModelsMatchVerifier()); 1705 ASSERT_TRUE(AllModelsMatchVerifier());
1600 1706
1601 ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes()); 1707 ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes());
1602 ASSERT_NE(nullptr, AddFolder(0, IndexedFolderName(0))); 1708 ASSERT_NE(nullptr, AddFolder(0, IndexedFolderName(0)));
1603 ASSERT_TRUE(UpdatedProgressMarkerChecker(GetSyncService(0)).Wait()); 1709 ASSERT_TRUE(UpdatedProgressMarkerChecker(GetSyncService(0)).Wait());
1604 ASSERT_FALSE(AllModelsMatch()); 1710 ASSERT_FALSE(AllModelsMatch());
1605 1711
1606 ASSERT_NE(nullptr, AddFolder(1, IndexedFolderName(1))); 1712 ASSERT_NE(nullptr, AddFolder(1, IndexedFolderName(1)));
1607 ASSERT_FALSE(AllModelsMatch()); 1713 ASSERT_FALSE(AllModelsMatch());
1608 1714
1609 ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes()); 1715 ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes());
1610 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1716 ASSERT_TRUE(AwaitQuiescence());
1717 ASSERT_TRUE(AllModelsMatch());
1611 } 1718 }
1612 1719
1613 // TCM ID - 3662298 - Test adding duplicate folder - Both with different BMs 1720 // TCM ID - 3662298 - Test adding duplicate folder - Both with different BMs
1614 // underneath. 1721 // underneath.
1615 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, MC_DuplicateFolders) { 1722 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, MC_DuplicateFolders) {
1616 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1723 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1617 DisableVerifier(); 1724 DisableVerifier();
1618 1725
1619 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName); 1726 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName);
1620 ASSERT_NE(nullptr, folder0); 1727 ASSERT_NE(nullptr, folder0);
1621 const BookmarkNode* folder1 = AddFolder(1, kGenericFolderName); 1728 const BookmarkNode* folder1 = AddFolder(1, kGenericFolderName);
1622 ASSERT_NE(nullptr, folder1); 1729 ASSERT_NE(nullptr, folder1);
1623 for (int i = 0; i < 5; ++i) { 1730 for (int i = 0; i < 5; ++i) {
1624 std::string title0 = IndexedURLTitle(i); 1731 std::string title0 = IndexedURLTitle(i);
1625 GURL url0 = GURL(IndexedURL(i)); 1732 GURL url0 = GURL(IndexedURL(i));
1626 ASSERT_NE(nullptr, AddURL(0, folder0, i, title0, url0)); 1733 ASSERT_NE(nullptr, AddURL(0, folder0, i, title0, url0));
1627 std::string title1 = IndexedURLTitle(i+5); 1734 std::string title1 = IndexedURLTitle(i+5);
1628 GURL url1 = GURL(IndexedURL(i+5)); 1735 GURL url1 = GURL(IndexedURL(i+5));
1629 ASSERT_NE(nullptr, AddURL(1, folder1, i, title1, url1)); 1736 ASSERT_NE(nullptr, AddURL(1, folder1, i, title1, url1));
1630 } 1737 }
1631 1738
1632 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1739 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1633 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1740 ASSERT_TRUE(AwaitQuiescence());
1741 ASSERT_TRUE(AllModelsMatch());
1634 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1742 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1635 } 1743 }
1636 1744
1637 // This test fails when run with FakeServer and FakeServerInvalidationService. 1745 // This test fails when run with FakeServer and FakeServerInvalidationService.
1638 IN_PROC_BROWSER_TEST_F(LegacyTwoClientBookmarksSyncTest, MC_DeleteBookmark) { 1746 IN_PROC_BROWSER_TEST_F(LegacyTwoClientBookmarksSyncTest, MC_DeleteBookmark) {
1639 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1747 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1640 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::BOOKMARKS)); 1748 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::BOOKMARKS));
1641 1749
1642 const GURL bar_url("http://example.com/bar"); 1750 const GURL bar_url("http://example.com/bar");
1643 const GURL other_url("http://example.com/other"); 1751 const GURL other_url("http://example.com/other");
(...skipping 29 matching lines...) Expand all
1673 MC_BookmarkNameChangeConflict) { 1781 MC_BookmarkNameChangeConflict) {
1674 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1782 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1675 1783
1676 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName); 1784 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName);
1677 ASSERT_NE(nullptr, folder0); 1785 ASSERT_NE(nullptr, folder0);
1678 for (int i = 0; i < 3; ++i) { 1786 for (int i = 0; i < 3; ++i) {
1679 std::string title = IndexedURLTitle(i); 1787 std::string title = IndexedURLTitle(i);
1680 GURL url = GURL(IndexedURL(i)); 1788 GURL url = GURL(IndexedURL(i));
1681 ASSERT_NE(nullptr, AddURL(0, folder0, i, title, url)); 1789 ASSERT_NE(nullptr, AddURL(0, folder0, i, title, url));
1682 } 1790 }
1683 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1791 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1792 ASSERT_TRUE(AllModelsMatchVerifier());
1684 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1793 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1685 1794
1686 DisableVerifier(); 1795 DisableVerifier();
1687 GURL url(IndexedURL(0)); 1796 GURL url(IndexedURL(0));
1688 SetTitle(0, GetUniqueNodeByURL(0, url), "Title++"); 1797 SetTitle(0, GetUniqueNodeByURL(0, url), "Title++");
1689 SetTitle(1, GetUniqueNodeByURL(1, url), "Title--"); 1798 SetTitle(1, GetUniqueNodeByURL(1, url), "Title--");
1690 1799
1691 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1800 ASSERT_TRUE(AwaitQuiescence());
1801 ASSERT_TRUE(AllModelsMatch());
1692 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1802 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1693 } 1803 }
1694 1804
1695 // TCM ID - 3672299 - Test a scenario of updating the URL of the same bookmark 1805 // TCM ID - 3672299 - Test a scenario of updating the URL of the same bookmark
1696 // from two clients at the same time. 1806 // from two clients at the same time.
1697 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1807 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1698 MC_BookmarkURLChangeConflict) { 1808 MC_BookmarkURLChangeConflict) {
1699 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1809 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1700 1810
1701 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName); 1811 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName);
1702 ASSERT_NE(nullptr, folder0); 1812 ASSERT_NE(nullptr, folder0);
1703 for (int i = 0; i < 3; ++i) { 1813 for (int i = 0; i < 3; ++i) {
1704 std::string title = IndexedURLTitle(i); 1814 std::string title = IndexedURLTitle(i);
1705 GURL url = GURL(IndexedURL(i)); 1815 GURL url = GURL(IndexedURL(i));
1706 ASSERT_NE(nullptr, AddURL(0, folder0, i, title, url)); 1816 ASSERT_NE(nullptr, AddURL(0, folder0, i, title, url));
1707 } 1817 }
1708 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1818 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1819 ASSERT_TRUE(AllModelsMatchVerifier());
1709 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1820 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1710 1821
1711 DisableVerifier(); 1822 DisableVerifier();
1712 GURL url(IndexedURL(0)); 1823 GURL url(IndexedURL(0));
1713 ASSERT_TRUE(SetURL( 1824 ASSERT_TRUE(SetURL(
1714 0, GetUniqueNodeByURL(0, url), GURL("http://www.google.com/00"))); 1825 0, GetUniqueNodeByURL(0, url), GURL("http://www.google.com/00")));
1715 ASSERT_TRUE(SetURL( 1826 ASSERT_TRUE(SetURL(
1716 1, GetUniqueNodeByURL(1, url), GURL("http://www.google.com/11"))); 1827 1, GetUniqueNodeByURL(1, url), GURL("http://www.google.com/11")));
1717 1828
1718 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1829 ASSERT_TRUE(AwaitQuiescence());
1830 ASSERT_TRUE(AllModelsMatch());
1719 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1831 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1720 } 1832 }
1721 1833
1722 // TCM ID - 3699290 - Test a scenario of updating the BM Folder name from two 1834 // TCM ID - 3699290 - Test a scenario of updating the BM Folder name from two
1723 // clients at the same time. 1835 // clients at the same time.
1724 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1836 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1725 MC_FolderNameChangeConflict) { 1837 MC_FolderNameChangeConflict) {
1726 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1838 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1727 DisableVerifier(); 1839 DisableVerifier();
1728 1840
(...skipping 28 matching lines...) Expand all
1757 const BookmarkNode* subfolder = AddFolder(0, folderC[0], i, folder_name); 1869 const BookmarkNode* subfolder = AddFolder(0, folderC[0], i, folder_name);
1758 ASSERT_NE(nullptr, subfolder); 1870 ASSERT_NE(nullptr, subfolder);
1759 for (int j = 0; j < 3; ++j) { 1871 for (int j = 0; j < 3; ++j) {
1760 std::string title = IndexedURLTitle(j); 1872 std::string title = IndexedURLTitle(j);
1761 GURL url = GURL(IndexedURL(j)); 1873 GURL url = GURL(IndexedURL(j));
1762 ASSERT_NE(nullptr, AddURL(0, subfolder, j, title, url)); 1874 ASSERT_NE(nullptr, AddURL(0, subfolder, j, title, url));
1763 } 1875 }
1764 } 1876 }
1765 1877
1766 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1878 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1767 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1879 ASSERT_TRUE(AwaitQuiescence());
1880 ASSERT_TRUE(AllModelsMatch());
1768 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1881 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1769 1882
1770 // Simultaneously rename folder A on both clients. 1883 // Simultaneously rename folder A on both clients.
1771 SetTitle(0, folderA[0], "Folder A++"); 1884 SetTitle(0, folderA[0], "Folder A++");
1772 SetTitle(1, folderA[1], "Folder A--"); 1885 SetTitle(1, folderA[1], "Folder A--");
1773 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1886 ASSERT_TRUE(AwaitQuiescence());
1887 ASSERT_TRUE(AllModelsMatch());
1774 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1888 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1775 1889
1776 // Simultaneously rename folder B on both clients. 1890 // Simultaneously rename folder B on both clients.
1777 SetTitle(0, folderB[0], "Folder B++"); 1891 SetTitle(0, folderB[0], "Folder B++");
1778 SetTitle(1, folderB[1], "Folder B--"); 1892 SetTitle(1, folderB[1], "Folder B--");
1779 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1893 ASSERT_TRUE(AwaitQuiescence());
1894 ASSERT_TRUE(AllModelsMatch());
1780 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1895 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1781 1896
1782 // Simultaneously rename folder C on both clients. 1897 // Simultaneously rename folder C on both clients.
1783 SetTitle(0, folderC[0], "Folder C++"); 1898 SetTitle(0, folderC[0], "Folder C++");
1784 SetTitle(1, folderC[1], "Folder C--"); 1899 SetTitle(1, folderC[1], "Folder C--");
1785 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 1900 ASSERT_TRUE(AwaitQuiescence());
1901 ASSERT_TRUE(AllModelsMatch());
1786 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1902 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1787 } 1903 }
1788 1904
1789 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1905 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1790 SingleClientEnabledEncryption) { 1906 SingleClientEnabledEncryption) {
1791 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1907 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1792 ASSERT_TRUE(AllModelsMatchVerifier()); 1908 ASSERT_TRUE(AllModelsMatchVerifier());
1793 1909
1794 ASSERT_TRUE(EnableEncryption(0)); 1910 ASSERT_TRUE(EnableEncryption(0));
1795 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1911 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1848 1964
1849 ASSERT_NE(nullptr, AddURL(0, IndexedURLTitle(0), GURL(IndexedURL(0)))); 1965 ASSERT_NE(nullptr, AddURL(0, IndexedURLTitle(0), GURL(IndexedURL(0))));
1850 ASSERT_TRUE(EnableEncryption(0)); 1966 ASSERT_TRUE(EnableEncryption(0));
1851 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1967 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1852 ASSERT_TRUE(IsEncryptionComplete(0)); 1968 ASSERT_TRUE(IsEncryptionComplete(0));
1853 ASSERT_TRUE(IsEncryptionComplete(1)); 1969 ASSERT_TRUE(IsEncryptionComplete(1));
1854 ASSERT_TRUE(AllModelsMatchVerifier()); 1970 ASSERT_TRUE(AllModelsMatchVerifier());
1855 1971
1856 ASSERT_NE(nullptr, AddURL(0, IndexedURLTitle(1), GURL(IndexedURL(1)))); 1972 ASSERT_NE(nullptr, AddURL(0, IndexedURLTitle(1), GURL(IndexedURL(1))));
1857 ASSERT_NE(nullptr, AddFolder(0, IndexedFolderName(0))); 1973 ASSERT_NE(nullptr, AddFolder(0, IndexedFolderName(0)));
1858 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1974 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1975 ASSERT_TRUE(AllModelsMatchVerifier());
1859 } 1976 }
1860 1977
1861 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1978 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1862 FirstClientEnablesEncryptionWithPassSecondChanges) { 1979 FirstClientEnablesEncryptionWithPassSecondChanges) {
1863 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1980 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1864 ASSERT_TRUE(AllModelsMatchVerifier()); 1981 ASSERT_TRUE(AllModelsMatchVerifier());
1865 1982
1866 // Add initial bookmarks. 1983 // Add initial bookmarks.
1867 ASSERT_NE(nullptr, AddURL(0, 0, IndexedURLTitle(0), GURL(IndexedURL(0)))); 1984 ASSERT_NE(nullptr, AddURL(0, 0, IndexedURLTitle(0), GURL(IndexedURL(0))));
1868 ASSERT_NE(nullptr, AddURL(0, 1, IndexedURLTitle(1), GURL(IndexedURL(1)))); 1985 ASSERT_NE(nullptr, AddURL(0, 1, IndexedURLTitle(1), GURL(IndexedURL(1))));
1869 ASSERT_NE(nullptr, AddURL(0, 2, IndexedURLTitle(2), GURL(IndexedURL(2)))); 1986 ASSERT_NE(nullptr, AddURL(0, 2, IndexedURLTitle(2), GURL(IndexedURL(2))));
1870 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 1987 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1988 ASSERT_TRUE(AllModelsMatchVerifier());
1871 1989
1872 // Set a passphrase and enable encryption on Client 0. Client 1 will not 1990 // Set a passphrase and enable encryption on Client 0. Client 1 will not
1873 // understand the bookmark updates. 1991 // understand the bookmark updates.
1874 GetSyncService(0)->SetEncryptionPassphrase(kValidPassphrase, 1992 GetSyncService(0)->SetEncryptionPassphrase(kValidPassphrase,
1875 syncer::SyncService::EXPLICIT); 1993 syncer::SyncService::EXPLICIT);
1876 ASSERT_TRUE(PassphraseAcceptedChecker(GetSyncService(0)).Wait()); 1994 ASSERT_TRUE(PassphraseAcceptedChecker(GetSyncService(0)).Wait());
1877 ASSERT_TRUE(EnableEncryption(0)); 1995 ASSERT_TRUE(EnableEncryption(0));
1878 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1996 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1879 ASSERT_TRUE(IsEncryptionComplete(0)); 1997 ASSERT_TRUE(IsEncryptionComplete(0));
1880 ASSERT_TRUE(IsEncryptionComplete(1)); 1998 ASSERT_TRUE(IsEncryptionComplete(1));
1881 ASSERT_TRUE(GetSyncService(1)->IsPassphraseRequired()); 1999 ASSERT_TRUE(GetSyncService(1)->IsPassphraseRequired());
1882 2000
1883 // Client 1 adds bookmarks between the first two and between the second two. 2001 // Client 1 adds bookmarks between the first two and between the second two.
1884 ASSERT_NE(nullptr, AddURL(0, 1, IndexedURLTitle(3), GURL(IndexedURL(3)))); 2002 ASSERT_NE(nullptr, AddURL(0, 1, IndexedURLTitle(3), GURL(IndexedURL(3))));
1885 ASSERT_NE(nullptr, AddURL(0, 3, IndexedURLTitle(4), GURL(IndexedURL(4)))); 2003 ASSERT_NE(nullptr, AddURL(0, 3, IndexedURLTitle(4), GURL(IndexedURL(4))));
1886 EXPECT_FALSE(AllModelsMatchVerifier()); 2004 EXPECT_FALSE(AllModelsMatchVerifier());
1887 EXPECT_FALSE(AllModelsMatch()); 2005 EXPECT_FALSE(AllModelsMatch());
1888 2006
1889 // Set the passphrase. Everything should resolve. 2007 // Set the passphrase. Everything should resolve.
1890 ASSERT_TRUE(PassphraseRequiredChecker(GetSyncService(1)).Wait()); 2008 ASSERT_TRUE(PassphraseRequiredChecker(GetSyncService(1)).Wait());
1891 ASSERT_TRUE(GetSyncService(1)->SetDecryptionPassphrase(kValidPassphrase)); 2009 ASSERT_TRUE(GetSyncService(1)->SetDecryptionPassphrase(kValidPassphrase));
1892 ASSERT_TRUE(PassphraseAcceptedChecker(GetSyncService(1)).Wait()); 2010 ASSERT_TRUE(PassphraseAcceptedChecker(GetSyncService(1)).Wait());
1893 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2011 ASSERT_TRUE(AwaitQuiescence());
2012 EXPECT_TRUE(AllModelsMatch());
1894 ASSERT_EQ(0, GetClient(1)->GetLastCycleSnapshot().num_encryption_conflicts()); 2013 ASSERT_EQ(0, GetClient(1)->GetLastCycleSnapshot().num_encryption_conflicts());
1895 2014
1896 // Ensure everything is syncing normally by appending a final bookmark. 2015 // Ensure everything is syncing normally by appending a final bookmark.
1897 ASSERT_NE(nullptr, AddURL(1, 5, IndexedURLTitle(5), GURL(IndexedURL(5)))); 2016 ASSERT_NE(nullptr, AddURL(1, 5, IndexedURLTitle(5), GURL(IndexedURL(5))));
1898 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2017 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
2018 EXPECT_TRUE(AllModelsMatch());
1899 ASSERT_EQ(0, GetClient(1)->GetLastCycleSnapshot().num_encryption_conflicts()); 2019 ASSERT_EQ(0, GetClient(1)->GetLastCycleSnapshot().num_encryption_conflicts());
1900 } 2020 }
1901 2021
1902 // Deliberately racy rearranging of bookmarks to test that our conflict resolver 2022 // Deliberately racy rearranging of bookmarks to test that our conflict resolver
1903 // code results in a consistent view across machines (no matter what the final 2023 // code results in a consistent view across machines (no matter what the final
1904 // order is). 2024 // order is).
1905 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, RacyPositionChanges) { 2025 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, RacyPositionChanges) {
1906 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 2026 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1907 ASSERT_TRUE(AllModelsMatchVerifier()); 2027 ASSERT_TRUE(AllModelsMatchVerifier());
1908 2028
(...skipping 19 matching lines...) Expand all
1928 2048
1929 // Make changes on client 1. 2049 // Make changes on client 1.
1930 for (size_t i = 0; i < num_bookmarks; ++i) { 2050 for (size_t i = 0; i < num_bookmarks; ++i) {
1931 const BookmarkNode* node = GetUniqueNodeByURL(1, GURL(IndexedURL(i))); 2051 const BookmarkNode* node = GetUniqueNodeByURL(1, GURL(IndexedURL(i)));
1932 int rand_pos = base::RandInt(0, num_bookmarks-1); 2052 int rand_pos = base::RandInt(0, num_bookmarks-1);
1933 DVLOG(1) << "Moving client 1's bookmark " << i << " to position " 2053 DVLOG(1) << "Moving client 1's bookmark " << i << " to position "
1934 << rand_pos; 2054 << rand_pos;
1935 Move(1, node, node->parent(), rand_pos); 2055 Move(1, node, node->parent(), rand_pos);
1936 } 2056 }
1937 2057
1938 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2058 ASSERT_TRUE(AwaitQuiescence());
2059 ASSERT_TRUE(AllModelsMatch());
1939 2060
1940 // Now make changes to client 1 first. 2061 // Now make changes to client 1 first.
1941 for (size_t i = 0; i < num_bookmarks; ++i) { 2062 for (size_t i = 0; i < num_bookmarks; ++i) {
1942 const BookmarkNode* node = GetUniqueNodeByURL(1, GURL(IndexedURL(i))); 2063 const BookmarkNode* node = GetUniqueNodeByURL(1, GURL(IndexedURL(i)));
1943 int rand_pos = base::RandInt(0, num_bookmarks-1); 2064 int rand_pos = base::RandInt(0, num_bookmarks-1);
1944 DVLOG(1) << "Moving client 1's bookmark " << i << " to position " 2065 DVLOG(1) << "Moving client 1's bookmark " << i << " to position "
1945 << rand_pos; 2066 << rand_pos;
1946 Move(1, node, node->parent(), rand_pos); 2067 Move(1, node, node->parent(), rand_pos);
1947 } 2068 }
1948 2069
1949 // Make changes on client 0. 2070 // Make changes on client 0.
1950 for (size_t i = 0; i < num_bookmarks; ++i) { 2071 for (size_t i = 0; i < num_bookmarks; ++i) {
1951 const BookmarkNode* node = GetUniqueNodeByURL(0, GURL(IndexedURL(i))); 2072 const BookmarkNode* node = GetUniqueNodeByURL(0, GURL(IndexedURL(i)));
1952 int rand_pos = base::RandInt(0, num_bookmarks-1); 2073 int rand_pos = base::RandInt(0, num_bookmarks-1);
1953 DVLOG(1) << "Moving client 0's bookmark " << i << " to position " 2074 DVLOG(1) << "Moving client 0's bookmark " << i << " to position "
1954 << rand_pos; 2075 << rand_pos;
1955 Move(0, node, node->parent(), rand_pos); 2076 Move(0, node, node->parent(), rand_pos);
1956 } 2077 }
1957 2078
1958 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2079 ASSERT_TRUE(AwaitQuiescence());
2080 ASSERT_TRUE(AllModelsMatch());
1959 } 2081 }
1960 2082
1961 // Trigger the server side creation of Synced Bookmarks. Ensure both clients 2083 // Trigger the server side creation of Synced Bookmarks. Ensure both clients
1962 // remain syncing afterwards. Add bookmarks to the synced bookmarks folder 2084 // remain syncing afterwards. Add bookmarks to the synced bookmarks folder
1963 // and ensure both clients receive the boomkmark. 2085 // and ensure both clients receive the boomkmark.
1964 IN_PROC_BROWSER_TEST_F(LegacyTwoClientBookmarksSyncTest, 2086 IN_PROC_BROWSER_TEST_F(LegacyTwoClientBookmarksSyncTest,
1965 CreateSyncedBookmarks) { 2087 CreateSyncedBookmarks) {
1966 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 2088 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1967 ASSERT_TRUE(AllModelsMatchVerifier()); 2089 ASSERT_TRUE(AllModelsMatchVerifier());
1968 2090
1969 TriggerCreateSyncedBookmarks(); 2091 TriggerCreateSyncedBookmarks();
1970 2092
1971 // Add a bookmark on Client 0 and ensure it syncs over. This will also trigger 2093 // Add a bookmark on Client 0 and ensure it syncs over. This will also trigger
1972 // both clients downloading the new Synced Bookmarks folder. 2094 // both clients downloading the new Synced Bookmarks folder.
1973 ASSERT_NE(nullptr, AddURL(0, "Google", GURL("http://www.google.com"))); 2095 ASSERT_NE(nullptr, AddURL(0, "Google", GURL("http://www.google.com")));
1974 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2096 ASSERT_TRUE(AwaitQuiescence());
2097 ASSERT_TRUE(AllModelsMatch());
1975 2098
1976 // Now add a bookmark within the Synced Bookmarks folder and ensure it syncs 2099 // Now add a bookmark within the Synced Bookmarks folder and ensure it syncs
1977 // over. 2100 // over.
1978 const BookmarkNode* synced_bookmarks = GetSyncedBookmarksNode(0); 2101 const BookmarkNode* synced_bookmarks = GetSyncedBookmarksNode(0);
1979 ASSERT_TRUE(synced_bookmarks); 2102 ASSERT_TRUE(synced_bookmarks);
1980 ASSERT_NE(nullptr, AddURL(0, synced_bookmarks, 0, "Google2", 2103 ASSERT_NE(nullptr, AddURL(0, synced_bookmarks, 0, "Google2",
1981 GURL("http://www.google2.com"))); 2104 GURL("http://www.google2.com")));
1982 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2105 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
2106 ASSERT_TRUE(AllModelsMatch());
1983 } 2107 }
1984 2108
1985 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 2109 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1986 BookmarkAllNodesRemovedEvent) { 2110 BookmarkAllNodesRemovedEvent) {
1987 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 2111 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1988 ASSERT_TRUE(AllModelsMatchVerifier()); 2112 ASSERT_TRUE(AllModelsMatchVerifier());
1989 2113
1990 // Starting state: 2114 // Starting state:
1991 // other_node 2115 // other_node
1992 // -> folder0 2116 // -> folder0
(...skipping 23 matching lines...) Expand all
2016 AddURL(0, GetOtherNode(0), 1, "CNN", GURL("http://www.cnn.com"))); 2140 AddURL(0, GetOtherNode(0), 1, "CNN", GURL("http://www.cnn.com")));
2017 2141
2018 ASSERT_TRUE(AddFolder(0, GetBookmarkBarNode(0), 0, "empty_folder")); 2142 ASSERT_TRUE(AddFolder(0, GetBookmarkBarNode(0), 0, "empty_folder"));
2019 const BookmarkNode* folder1 = 2143 const BookmarkNode* folder1 =
2020 AddFolder(0, GetBookmarkBarNode(0), 1, "folder1"); 2144 AddFolder(0, GetBookmarkBarNode(0), 1, "folder1");
2021 ASSERT_NE(nullptr, 2145 ASSERT_NE(nullptr,
2022 AddURL(0, folder1, 0, "Yahoo", GURL("http://www.yahoo.com"))); 2146 AddURL(0, folder1, 0, "Yahoo", GURL("http://www.yahoo.com")));
2023 ASSERT_TRUE( 2147 ASSERT_TRUE(
2024 AddURL(0, GetBookmarkBarNode(0), 2, "Gmai", GURL("http://gmail.com"))); 2148 AddURL(0, GetBookmarkBarNode(0), 2, "Gmai", GURL("http://gmail.com")));
2025 2149
2026 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2150 ASSERT_TRUE(AwaitQuiescence());
2151 ASSERT_TRUE(AllModelsMatch());
2027 2152
2028 // Remove all 2153 // Remove all
2029 RemoveAll(0); 2154 RemoveAll(0);
2030 2155
2031 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 2156 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
2032 // Verify other node has no children now. 2157 // Verify other node has no children now.
2033 EXPECT_EQ(0, GetOtherNode(0)->child_count()); 2158 EXPECT_EQ(0, GetOtherNode(0)->child_count());
2034 EXPECT_EQ(0, GetBookmarkBarNode(0)->child_count()); 2159 EXPECT_EQ(0, GetBookmarkBarNode(0)->child_count());
2035 ASSERT_TRUE(AllModelsMatch()); 2160 ASSERT_TRUE(AllModelsMatch());
2036 } 2161 }
(...skipping 23 matching lines...) Expand all
2060 const BookmarkNode* bar_node0 = GetBookmarkBarNode(0); 2185 const BookmarkNode* bar_node0 = GetBookmarkBarNode(0);
2061 ASSERT_TRUE(bar_node0->empty()); 2186 ASSERT_TRUE(bar_node0->empty());
2062 ASSERT_TRUE(bar_node0->IsVisible()); 2187 ASSERT_TRUE(bar_node0->IsVisible());
2063 const BookmarkNode* bar_node1 = GetBookmarkBarNode(1); 2188 const BookmarkNode* bar_node1 = GetBookmarkBarNode(1);
2064 ASSERT_TRUE(bar_node1->empty()); 2189 ASSERT_TRUE(bar_node1->empty());
2065 ASSERT_TRUE(bar_node1->IsVisible()); 2190 ASSERT_TRUE(bar_node1->IsVisible());
2066 2191
2067 // Verify that adding a bookmark is observed by the second Profile. 2192 // Verify that adding a bookmark is observed by the second Profile.
2068 GURL google_url("http://www.google.com"); 2193 GURL google_url("http://www.google.com");
2069 ASSERT_NE(nullptr, AddURL(0, "Google", google_url)); 2194 ASSERT_NE(nullptr, AddURL(0, "Google", google_url));
2070 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 2195 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
2196 ASSERT_TRUE(AllModelsMatchVerifier());
2071 ASSERT_EQ(1, bar_node0->child_count()); 2197 ASSERT_EQ(1, bar_node0->child_count());
2072 ASSERT_EQ(1, bar_node1->child_count()); 2198 ASSERT_EQ(1, bar_node1->child_count());
2073 2199
2074 // Set the ManagedBookmarks policy for the first Profile, 2200 // Set the ManagedBookmarks policy for the first Profile,
2075 // which will add one new managed bookmark. 2201 // which will add one new managed bookmark.
2076 std::unique_ptr<base::DictionaryValue> bookmark(new base::DictionaryValue()); 2202 std::unique_ptr<base::DictionaryValue> bookmark(new base::DictionaryValue());
2077 bookmark->SetString("name", "Managed bookmark"); 2203 bookmark->SetString("name", "Managed bookmark");
2078 bookmark->SetString("url", "youtube.com"); 2204 bookmark->SetString("url", "youtube.com");
2079 std::unique_ptr<base::ListValue> list(new base::ListValue()); 2205 std::unique_ptr<base::ListValue> list(new base::ListValue());
2080 list->Append(std::move(bookmark)); 2206 list->Append(std::move(bookmark));
2081 policy::PolicyMap policy; 2207 policy::PolicyMap policy;
2082 policy.Set(policy::key::kManagedBookmarks, policy::POLICY_LEVEL_MANDATORY, 2208 policy.Set(policy::key::kManagedBookmarks, policy::POLICY_LEVEL_MANDATORY,
2083 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, 2209 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
2084 std::move(list), nullptr); 2210 std::move(list), nullptr);
2085 policy_provider_.UpdateChromePolicy(policy); 2211 policy_provider_.UpdateChromePolicy(policy);
2086 base::RunLoop().RunUntilIdle(); 2212 base::RunLoop().RunUntilIdle();
2087 2213
2088 // Now add another user bookmark and wait for it to sync. 2214 // Now add another user bookmark and wait for it to sync.
2089 ASSERT_NE(nullptr, AddURL(0, "Google 2", google_url)); 2215 ASSERT_NE(nullptr, AddURL(0, "Google 2", google_url));
2090 ASSERT_TRUE(BookmarksMatchVerifierChecker().Wait()); 2216 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
2217 ASSERT_TRUE(AllModelsMatchVerifier());
2091 2218
2092 EXPECT_FALSE(GetSyncService(0)->HasUnrecoverableError()); 2219 EXPECT_FALSE(GetSyncService(0)->HasUnrecoverableError());
2093 EXPECT_FALSE(GetSyncService(1)->HasUnrecoverableError()); 2220 EXPECT_FALSE(GetSyncService(1)->HasUnrecoverableError());
2094 2221
2095 // Verify that the managed bookmark exists in the local model of the first 2222 // Verify that the managed bookmark exists in the local model of the first
2096 // Profile, and has a child node. 2223 // Profile, and has a child node.
2097 ASSERT_EQ(1, managed_node0->child_count()); 2224 ASSERT_EQ(1, managed_node0->child_count());
2098 ASSERT_TRUE(managed_node0->IsVisible()); 2225 ASSERT_TRUE(managed_node0->IsVisible());
2099 EXPECT_EQ(GURL("http://youtube.com/"), managed_node0->GetChild(0)->url()); 2226 EXPECT_EQ(GURL("http://youtube.com/"), managed_node0->GetChild(0)->url());
2100 2227
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
2207 // second client. 2334 // second client.
2208 ASSERT_TRUE(GetClient(0)->DisableSyncForDatatype(syncer::BOOKMARKS)); 2335 ASSERT_TRUE(GetClient(0)->DisableSyncForDatatype(syncer::BOOKMARKS));
2209 const std::string url_title_2 = "another happy little url"; 2336 const std::string url_title_2 = "another happy little url";
2210 const GURL url_2("https://example.com/second"); 2337 const GURL url_2("https://example.com/second");
2211 ASSERT_NE(nullptr, AddURL(0, GetBookmarkBarNode(0), 0, url_title_2, url_2)); 2338 ASSERT_NE(nullptr, AddURL(0, GetBookmarkBarNode(0), 0, url_title_2, url_2));
2212 ASSERT_TRUE(GetClient(0)->EnableSyncForDatatype(syncer::BOOKMARKS)); 2339 ASSERT_TRUE(GetClient(0)->EnableSyncForDatatype(syncer::BOOKMARKS));
2213 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2340 ASSERT_TRUE(BookmarksMatchChecker().Wait());
2214 ASSERT_EQ(initial_count + 2, CountAllBookmarks(0)); 2341 ASSERT_EQ(initial_count + 2, CountAllBookmarks(0));
2215 ASSERT_EQ(initial_count + 2, CountAllBookmarks(1)); 2342 ASSERT_EQ(initial_count + 2, CountAllBookmarks(1));
2216 } 2343 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/test/integration/sync_test.cc ('k') | components/sync/driver/glue/sync_backend_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698