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

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

Issue 7828055: Move sync test code out of chrome/test (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 3 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 "base/basictypes.h"
6 #include "chrome/browser/sync/profile_sync_service_harness.h"
7 #include "chrome/test/live_sync/extensions_helper.h"
8 #include "chrome/test/live_sync/live_sync_test.h"
9
10 using extensions_helper::AllProfilesHaveSameExtensionsAsVerifier;
11 using extensions_helper::DisableExtension;
12 using extensions_helper::EnableExtension;
13 using extensions_helper::HasSameExtensionsAsVerifier;
14 using extensions_helper::IncognitoDisableExtension;
15 using extensions_helper::IncognitoEnableExtension;
16 using extensions_helper::InstallExtension;
17 using extensions_helper::InstallExtensionsPendingForSync;
18 using extensions_helper::UninstallExtension;
19
20 class TwoClientExtensionsSyncTest : public LiveSyncTest {
21 public:
22 TwoClientExtensionsSyncTest() : LiveSyncTest(TWO_CLIENT) {}
23
24 virtual ~TwoClientExtensionsSyncTest() {}
25
26 private:
27 DISALLOW_COPY_AND_ASSIGN(TwoClientExtensionsSyncTest);
28 };
29
30 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, StartWithNoExtensions) {
31 ASSERT_TRUE(SetupSync());
32
33 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
34 }
35
36 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, StartWithSameExtensions) {
37 ASSERT_TRUE(SetupClients());
38
39 const int kNumExtensions = 5;
40 for (int i = 0; i < kNumExtensions; ++i) {
41 InstallExtension(GetProfile(0), i);
42 InstallExtension(GetProfile(1), i);
43 InstallExtension(verifier(), i);
44 }
45
46 ASSERT_TRUE(SetupSync());
47
48 ASSERT_TRUE(AwaitQuiescence());
49
50 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
51 }
52
53 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest,
54 StartWithDifferentExtensions) {
55 ASSERT_TRUE(SetupClients());
56
57 int i = 0;
58
59 const int kNumCommonExtensions = 5;
60 for (int j = 0; j < kNumCommonExtensions; ++i, ++j) {
61 InstallExtension(GetProfile(0), i);
62 InstallExtension(GetProfile(1), i);
63 InstallExtension(verifier(), i);
64 }
65
66 const int kNumProfile0Extensions = 10;
67 for (int j = 0; j < kNumProfile0Extensions; ++i, ++j) {
68 InstallExtension(GetProfile(0), i);
69 InstallExtension(verifier(), i);
70 }
71
72 const int kNumProfile1Extensions = 10;
73 for (int j = 0; j < kNumProfile1Extensions; ++i, ++j) {
74 InstallExtension(GetProfile(1), i);
75 InstallExtension(verifier(), i);
76 }
77
78 ASSERT_TRUE(SetupSync());
79
80 ASSERT_TRUE(AwaitQuiescence());
81
82 InstallExtensionsPendingForSync(GetProfile(0));
83 InstallExtensionsPendingForSync(GetProfile(1));
84
85 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
86 }
87
88 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest,
89 InstallDifferentExtensions) {
90 ASSERT_TRUE(SetupClients());
91
92 int i = 0;
93
94 const int kNumCommonExtensions = 5;
95 for (int j = 0; j < kNumCommonExtensions; ++i, ++j) {
96 InstallExtension(GetProfile(0), i);
97 InstallExtension(GetProfile(1), i);
98 InstallExtension(verifier(), i);
99 }
100
101 ASSERT_TRUE(SetupSync());
102
103 ASSERT_TRUE(AwaitQuiescence());
104
105 const int kNumProfile0Extensions = 10;
106 for (int j = 0; j < kNumProfile0Extensions; ++i, ++j) {
107 InstallExtension(GetProfile(0), i);
108 InstallExtension(verifier(), i);
109 }
110
111 const int kNumProfile1Extensions = 10;
112 for (int j = 0; j < kNumProfile1Extensions; ++i, ++j) {
113 InstallExtension(GetProfile(1), i);
114 InstallExtension(verifier(), i);
115 }
116
117 ASSERT_TRUE(AwaitQuiescence());
118
119 InstallExtensionsPendingForSync(GetProfile(0));
120 InstallExtensionsPendingForSync(GetProfile(1));
121
122 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
123 }
124
125 // TCM ID - 3637311.
126 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, Add) {
127 ASSERT_TRUE(SetupSync());
128 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
129
130 InstallExtension(GetProfile(0), 0);
131 InstallExtension(verifier(), 0);
132 ASSERT_TRUE(AwaitQuiescence());
133
134 InstallExtensionsPendingForSync(GetProfile(0));
135 InstallExtensionsPendingForSync(GetProfile(1));
136 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
137 }
138
139 // TCM ID - 3724281.
140 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, Uninstall) {
141 ASSERT_TRUE(SetupSync());
142 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
143
144 InstallExtension(GetProfile(0), 0);
145 InstallExtension(verifier(), 0);
146 ASSERT_TRUE(AwaitQuiescence());
147
148 InstallExtensionsPendingForSync(GetProfile(0));
149 InstallExtensionsPendingForSync(GetProfile(1));
150 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
151
152 UninstallExtension(GetProfile(0), 0);
153 UninstallExtension(verifier(), 0);
154 ASSERT_TRUE(AwaitQuiescence());
155 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
156 }
157
158 // TCM ID - 3635304.
159 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, Merge) {
160 ASSERT_TRUE(SetupSync());
161 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
162
163 InstallExtension(GetProfile(0), 0);
164 InstallExtension(GetProfile(1), 0);
165 ASSERT_TRUE(AwaitQuiescence());
166
167 UninstallExtension(GetProfile(0), 0);
168 InstallExtension(GetProfile(0), 1);
169 InstallExtension(verifier(), 1);
170
171 InstallExtension(GetProfile(0), 2);
172 InstallExtension(GetProfile(1), 2);
173 InstallExtension(verifier(), 2);
174
175 InstallExtension(GetProfile(1), 3);
176 InstallExtension(verifier(), 3);
177
178 ASSERT_TRUE(AwaitQuiescence());
179 InstallExtensionsPendingForSync(GetProfile(0));
180 InstallExtensionsPendingForSync(GetProfile(1));
181 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
182 }
183
184 // TCM ID - 3605300.
185 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest,
186 UpdateEnableDisableExtension) {
187 ASSERT_TRUE(SetupSync());
188 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
189
190 InstallExtension(GetProfile(0), 0);
191 InstallExtension(GetProfile(1), 0);
192 InstallExtension(verifier(), 0);
193 ASSERT_TRUE(AwaitQuiescence());
194 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
195
196 DisableExtension(GetProfile(0), 0);
197 DisableExtension(verifier(), 0);
198 ASSERT_TRUE(HasSameExtensionsAsVerifier(0));
199 ASSERT_FALSE(HasSameExtensionsAsVerifier(1));
200
201 ASSERT_TRUE(AwaitQuiescence());
202 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
203
204 EnableExtension(GetProfile(1), 0);
205 EnableExtension(verifier(), 0);
206 ASSERT_TRUE(HasSameExtensionsAsVerifier(1));
207 ASSERT_FALSE(HasSameExtensionsAsVerifier(0));
208
209 ASSERT_TRUE(AwaitQuiescence());
210 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
211 }
212
213 // TCM ID - 3728322.
214 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest,
215 UpdateIncognitoEnableDisable) {
216 ASSERT_TRUE(SetupSync());
217 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
218
219 InstallExtension(GetProfile(0), 0);
220 InstallExtension(GetProfile(1), 0);
221 InstallExtension(verifier(), 0);
222 ASSERT_TRUE(AwaitQuiescence());
223 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
224
225 IncognitoEnableExtension(GetProfile(0), 0);
226 IncognitoEnableExtension(verifier(), 0);
227 ASSERT_TRUE(HasSameExtensionsAsVerifier(0));
228 ASSERT_FALSE(HasSameExtensionsAsVerifier(1));
229
230 ASSERT_TRUE(AwaitQuiescence());
231 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
232
233 IncognitoDisableExtension(GetProfile(1), 0);
234 IncognitoDisableExtension(verifier(), 0);
235 ASSERT_TRUE(HasSameExtensionsAsVerifier(1));
236 ASSERT_FALSE(HasSameExtensionsAsVerifier(0));
237
238 ASSERT_TRUE(AwaitQuiescence());
239 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
240 }
241
242 // TCM ID - 3732278.
243 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, DisableExtensions) {
244 ASSERT_TRUE(SetupSync());
245 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
246
247 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncable::EXTENSIONS));
248 InstallExtension(GetProfile(0), 1);
249 InstallExtension(verifier(), 1);
250 ASSERT_TRUE(AwaitQuiescence());
251 ASSERT_FALSE(AllProfilesHaveSameExtensionsAsVerifier());
252
253 ASSERT_TRUE(GetClient(1)->EnableSyncForDatatype(syncable::EXTENSIONS));
254 ASSERT_TRUE(AwaitQuiescence());
255 InstallExtensionsPendingForSync(GetProfile(0));
256 InstallExtensionsPendingForSync(GetProfile(1));
257 InstallExtensionsPendingForSync(verifier());
258 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
259 }
260
261 // TCM ID - 3606290.
262 IN_PROC_BROWSER_TEST_F(TwoClientExtensionsSyncTest, DisableSync) {
263 ASSERT_TRUE(SetupSync());
264 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
265
266 ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes());
267 InstallExtension(GetProfile(0), 0);
268 InstallExtension(verifier(), 0);
269 ASSERT_TRUE(
270 GetClient(0)->AwaitSyncCycleCompletion("Installed an extension."));
271 ASSERT_TRUE(HasSameExtensionsAsVerifier(0));
272 ASSERT_FALSE(HasSameExtensionsAsVerifier(1));
273
274 ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes());
275 ASSERT_TRUE(AwaitQuiescence());
276 InstallExtensionsPendingForSync(GetProfile(0));
277 InstallExtensionsPendingForSync(GetProfile(1));
278 InstallExtensionsPendingForSync(verifier());
279 ASSERT_TRUE(AllProfilesHaveSameExtensionsAsVerifier());
280 }
281
282 // TODO(akalin): Add tests exercising:
283 // - Offline installation/uninstallation behavior
OLDNEW
« no previous file with comments | « chrome/test/live_sync/two_client_bookmarks_sync_test.cc ('k') | chrome/test/live_sync/two_client_passwords_sync_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698