OLD | NEW |
| (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 | |
OLD | NEW |