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

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

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

Powered by Google App Engine
This is Rietveld 408576698