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

Side by Side Diff: chrome/test/live_sync/single_client_bookmarks_sync_test.cc

Issue 7259005: Allow sync integration tests to operate on multiple datatypes: Preferences + Bookmarks (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add BookmarksHelper class. (TODO: Trim lines to 80 chars) Created 9 years, 5 months 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/profiles/profile.h"
6 #include "chrome/browser/sync/profile_sync_service_harness.h"
7 #include "chrome/test/live_sync/bookmarks_helper.h"
8 #include "chrome/test/live_sync/live_sync_test.h"
9
10 class SingleClientBookmarksSyncTest : public LiveSyncTest {
11 public:
12 SingleClientBookmarksSyncTest() : LiveSyncTest(SINGLE_CLIENT) {}
13 virtual ~SingleClientBookmarksSyncTest() {}
14
15 private:
16 DISALLOW_COPY_AND_ASSIGN(SingleClientBookmarksSyncTest);
17 };
18
19 IN_PROC_BROWSER_TEST_F(SingleClientBookmarksSyncTest, OfflineToOnline) {
20 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
21
22 DisableNetwork(GetProfile(0));
23 const BookmarkNode* node = BookmarksHelper::AddFolder(0, L"title");
24 BookmarksHelper::SetTitle(0, node, L"new_title");
25 ASSERT_FALSE(GetClient(0)->AwaitSyncCycleCompletion("Offline state change."));
26 ASSERT_EQ(ProfileSyncService::Status::OFFLINE_UNSYNCED,
27 GetClient(0)->GetStatus().summary);
28
29 EnableNetwork(GetProfile(0));
30 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion("Commit changes."));
31 ASSERT_EQ(ProfileSyncService::Status::READY,
32 GetClient(0)->GetStatus().summary);
33 ASSERT_TRUE(BookmarksHelper::ModelMatchesVerifier(0));
34 }
35
36 IN_PROC_BROWSER_TEST_F(SingleClientBookmarksSyncTest, Sanity) {
37 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
38
39 // Starting state:
40 // other_node
41 // -> top
42 // -> tier1_a
43 // -> http://mail.google.com "tier1_a_url0"
44 // -> http://www.pandora.com "tier1_a_url1"
45 // -> http://www.facebook.com "tier1_a_url2"
46 // -> tier1_b
47 // -> http://www.nhl.com "tier1_b_url0"
48 const BookmarkNode* top = BookmarksHelper::AddFolder(0, BookmarksHelper::GetOt herNode(0), 0, L"top");
49 const BookmarkNode* tier1_a = BookmarksHelper::AddFolder(0, top, 0, L"tier1_a" );
50 const BookmarkNode* tier1_b = BookmarksHelper::AddFolder(0, top, 1, L"tier1_b" );
51 const BookmarkNode* tier1_a_url0 = BookmarksHelper::AddURL(0, tier1_a, 0, L"ti er1_a_url0",
52 GURL("http://mail.google.com"));
53 const BookmarkNode* tier1_a_url1 = BookmarksHelper::AddURL(0, tier1_a, 1, L"ti er1_a_url1",
54 GURL("http://www.pandora.com"));
55 const BookmarkNode* tier1_a_url2 = BookmarksHelper::AddURL(0, tier1_a, 2, L"ti er1_a_url2",
56 GURL("http://www.facebook.com"));
57 const BookmarkNode* tier1_b_url0 = BookmarksHelper::AddURL(0, tier1_b, 0, L"ti er1_b_url0",
58 GURL("http://www.nhl.com"));
59
60 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
61 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion(
62 "Waiting for initial sync completed."));
63 ASSERT_TRUE(BookmarksHelper::ModelMatchesVerifier(0));
64
65 // Ultimately we want to end up with the following model; but this test is
66 // more about the journey than the destination.
67 //
68 // bookmark_bar
69 // -> CNN (www.cnn.com)
70 // -> tier1_a
71 // -> tier1_a_url2 (www.facebook.com)
72 // -> tier1_a_url1 (www.pandora.com)
73 // -> Porsche (www.porsche.com)
74 // -> Bank of America (www.bankofamerica.com)
75 // -> Seattle Bubble
76 // other_node
77 // -> top
78 // -> tier1_b
79 // -> Wired News (www.wired.com)
80 // -> tier2_b
81 // -> tier1_b_url0
82 // -> tier3_b
83 // -> Toronto Maple Leafs (mapleleafs.nhl.com)
84 // -> Wynn (www.wynnlasvegas.com)
85 // -> tier1_a_url0
86 const BookmarkNode* bar = BookmarksHelper::GetBookmarkBarNode(0);
87 const BookmarkNode* cnn = BookmarksHelper::AddURL(0, bar, 0, L"CNN",
88 GURL("http://www.cnn.com"));
89 ASSERT_TRUE(cnn != NULL);
90 BookmarksHelper::Move(0, tier1_a, bar, 1); // 1 should be the end at this poi nt.
91 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion("Bookmark moved."));
92 ASSERT_TRUE(BookmarksHelper::ModelMatchesVerifier(0));
93
94 const BookmarkNode* porsche = BookmarksHelper::AddURL(0, bar, 2, L"Porsche",
95 GURL("http://www.porsche.com"));
96 // Rearrange stuff in tier1_a.
97 ASSERT_EQ(tier1_a, tier1_a_url2->parent());
98 ASSERT_EQ(tier1_a, tier1_a_url1->parent());
99 BookmarksHelper::Move(0, tier1_a_url2, tier1_a, 0);
100 BookmarksHelper::Move(0, tier1_a_url1, tier1_a, 2);
101 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion(
102 "Rearrange stuff in tier1_a"));
103 ASSERT_TRUE(BookmarksHelper::ModelMatchesVerifier(0));
104
105 ASSERT_EQ(1, tier1_a_url0->parent()->GetIndexOf(tier1_a_url0));
106 BookmarksHelper::Move(0, tier1_a_url0, bar, bar->child_count());
107 const BookmarkNode* boa = BookmarksHelper::AddURL(0, bar, bar->child_count(),
108 L"Bank of America", GURL("https://www.bankofamerica.com"));
109 ASSERT_TRUE(boa != NULL);
110 BookmarksHelper::Move(0, tier1_a_url0, top, top->child_count());
111 const BookmarkNode* bubble = BookmarksHelper::AddURL(0, bar, bar->child_count( ),
112 L"Seattle Bubble", GURL("http://seattlebubble.com"));
113 ASSERT_TRUE(bubble != NULL);
114 const BookmarkNode* wired = BookmarksHelper::AddURL(0, bar, 2, L"Wired News",
115 GURL("http://www.wired.com"));
116 const BookmarkNode* tier2_b = BookmarksHelper::AddFolder(0, tier1_b, 0, L"tier 2_b");
117 BookmarksHelper::Move(0, tier1_b_url0, tier2_b, 0);
118 BookmarksHelper::Move(0, porsche, bar, 0);
119 BookmarksHelper::SetTitle(0, wired, L"News Wired");
120 BookmarksHelper::SetTitle(0, porsche, L"ICanHazPorsche?");
121 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion("Change title."));
122 ASSERT_TRUE(BookmarksHelper::ModelMatchesVerifier(0));
123
124 ASSERT_EQ(tier1_a_url0->id(), top->GetChild(top->child_count() - 1)->id());
125 BookmarksHelper::Remove(0, top, top->child_count() - 1);
126 BookmarksHelper::Move(0, wired, tier1_b, 0);
127 BookmarksHelper::Move(0, porsche, bar, 3);
128 const BookmarkNode* tier3_b = BookmarksHelper::AddFolder(0, tier2_b, 1, L"tier 3_b");
129 const BookmarkNode* leafs = BookmarksHelper::AddURL(0, tier1_a, 0, L"Toronto M aple Leafs",
130 GURL("http://mapleleafs.nhl.com"));
131 const BookmarkNode* wynn = BookmarksHelper::AddURL(0, bar, 1, L"Wynn",
132 GURL("http://www.wynnlasvegas.com"));
133
134 BookmarksHelper::Move(0, wynn, tier3_b, 0);
135 BookmarksHelper::Move(0, leafs, tier3_b, 0);
136 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion(
137 "Move after addition of bookmarks."));
138 ASSERT_TRUE(BookmarksHelper::ModelMatchesVerifier(0));
139 }
OLDNEW
« no previous file with comments | « chrome/test/live_sync/preferences_helper.cc ('k') | chrome/test/live_sync/single_client_live_bookmarks_sync_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698