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

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

Powered by Google App Engine
This is Rietveld 408576698