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

Side by Side Diff: chrome/test/live_sync/two_client_passwords_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/utf_string_conversions.h"
6 #include "chrome/browser/sync/engine/model_safe_worker.h"
7 #include "chrome/browser/sync/profile_sync_service_harness.h"
8 #include "chrome/browser/sync/sessions/session_state.h"
9 #include "chrome/test/live_sync/live_sync_test.h"
10 #include "chrome/test/live_sync/passwords_helper.h"
11
12 using passwords_helper::AddLogin;
13 using passwords_helper::AllProfilesContainSamePasswordForms;
14 using passwords_helper::AllProfilesContainSamePasswordFormsAsVerifier;
15 using passwords_helper::CreateTestPasswordForm;
16 using passwords_helper::GetPasswordCount;
17 using passwords_helper::GetPasswordStore;
18 using passwords_helper::GetVerifierPasswordCount;
19 using passwords_helper::GetVerifierPasswordStore;
20 using passwords_helper::ProfileContainsSamePasswordFormsAsVerifier;
21 using passwords_helper::RemoveLogin;
22 using passwords_helper::RemoveLogins;
23 using passwords_helper::SetPassphrase;
24 using passwords_helper::UpdateLogin;
25
26 using webkit_glue::PasswordForm;
27
28 static const char* kValidPassphrase = "passphrase!";
29
30 class TwoClientPasswordsSyncTest : public LiveSyncTest {
31 public:
32 TwoClientPasswordsSyncTest() : LiveSyncTest(TWO_CLIENT) {}
33 virtual ~TwoClientPasswordsSyncTest() {}
34
35 private:
36 DISALLOW_COPY_AND_ASSIGN(TwoClientPasswordsSyncTest);
37 };
38
39 // TCM ID - 3732277
40 // TODO(sync): Enable after MockKeychain is fixed. http://crbug.com/89808.
41 #if defined(OS_MACOSX)
42 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DISABLED_Add) {
43 #else
44 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, Add) {
45 #endif
46 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
47 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
48
49 PasswordForm form = CreateTestPasswordForm(0);
50 AddLogin(GetVerifierPasswordStore(), form);
51 ASSERT_EQ(1, GetVerifierPasswordCount());
52 AddLogin(GetPasswordStore(0), form);
53 ASSERT_EQ(1, GetPasswordCount(0));
54
55 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
56 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
57 }
58
59 // TODO(sync): Enable after MockKeychain is fixed. http://crbug.com/89808.
60 #if defined(OS_MACOSX)
61 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DISABLED_Race) {
62 #else
63 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, Race) {
64 #endif
65 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
66 ASSERT_TRUE(AllProfilesContainSamePasswordForms());
67
68 PasswordForm form0 = CreateTestPasswordForm(0);
69 AddLogin(GetPasswordStore(0), form0);
70
71 PasswordForm form1 = form0;
72 form1.password_value = ASCIIToUTF16("password1");
73 AddLogin(GetPasswordStore(1), form1);
74
75 ASSERT_TRUE(AwaitQuiescence());
76 ASSERT_TRUE(AllProfilesContainSamePasswordForms());
77 }
78
79 // TCM ID - 4577932.
80 // TODO(sync): Enable after MockKeychain is fixed. http://crbug.com/89808.
81 #if defined(OS_MACOSX)
82 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DISABLED_DisablePasswords) {
83 #else
84 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DisablePasswords) {
85 #endif
86 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
87 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
88
89 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncable::PASSWORDS));
90 PasswordForm form = CreateTestPasswordForm(0);
91 AddLogin(GetVerifierPasswordStore(), form);
92 ASSERT_EQ(1, GetVerifierPasswordCount());
93 AddLogin(GetPasswordStore(0), form);
94 ASSERT_EQ(1, GetPasswordCount(0));
95
96 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
97 ASSERT_TRUE(ProfileContainsSamePasswordFormsAsVerifier(0));
98 ASSERT_FALSE(ProfileContainsSamePasswordFormsAsVerifier(1));
99
100 ASSERT_TRUE(GetClient(1)->EnableSyncForDatatype(syncable::PASSWORDS));
101 ASSERT_TRUE(AwaitQuiescence());
102 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
103 ASSERT_EQ(1, GetPasswordCount(1));
104 }
105
106 // TCM ID - 4649281.
107 // TODO(sync): Enable after MockKeychain is fixed. http://crbug.com/89808.
108 #if defined(OS_MACOSX)
109 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DISABLED_DisableSync) {
110 #else
111 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DisableSync) {
112 #endif
113 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
114 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
115
116 ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes());
117 PasswordForm form = CreateTestPasswordForm(0);
118 AddLogin(GetVerifierPasswordStore(), form);
119 ASSERT_EQ(1, GetVerifierPasswordCount());
120 AddLogin(GetPasswordStore(0), form);
121 ASSERT_EQ(1, GetPasswordCount(0));
122
123 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion("Added a password."));
124 ASSERT_TRUE(ProfileContainsSamePasswordFormsAsVerifier(0));
125 ASSERT_FALSE(ProfileContainsSamePasswordFormsAsVerifier(1));
126
127 ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes());
128 ASSERT_TRUE(AwaitQuiescence());
129 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
130 ASSERT_EQ(1, GetPasswordCount(1));
131 }
132
133 // TODO(sync): Enable after MockKeychain is fixed. http://crbug.com/89808.
134 #if defined(OS_MACOSX)
135 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DISABLED_SetPassphrase) {
136 #else
137 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, SetPassphrase) {
138 #endif
139 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
140
141 SetPassphrase(0, kValidPassphrase, true);
142 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted());
143 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
144
145 SetPassphrase(1, kValidPassphrase, false);
146 ASSERT_TRUE(GetClient(1)->AwaitPassphraseAccepted());
147 ASSERT_TRUE(GetClient(1)->AwaitSyncCycleCompletion("Set passphrase."));
148 }
149
150 // TODO(sync): Enable after MockKeychain is fixed. http://crbug.com/89808.
151 #if defined(OS_MACOSX)
152 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest,
153 DISABLED_SetPassphraseAndAddPassword) {
154 #else
155 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest,
156 SetPassphraseAndAddPassword) {
157 #endif
158 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
159
160 SetPassphrase(0, kValidPassphrase, true);
161 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted());
162 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
163
164 SetPassphrase(1, kValidPassphrase, false);
165 ASSERT_TRUE(GetClient(1)->AwaitPassphraseAccepted());
166
167 PasswordForm form = CreateTestPasswordForm(0);
168 AddLogin(GetPasswordStore(0), form);
169 ASSERT_EQ(1, GetPasswordCount(0));
170
171 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
172 ASSERT_EQ(1, GetPasswordCount(1));
173 }
174
175 // TCM ID - 4603879
176 // TODO(sync): Enable after MockKeychain is fixed. http://crbug.com/89808.
177 #if defined(OS_MACOSX)
178 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DISABLED_Update) {
179 #else
180 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, Update) {
181 #endif
182 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
183 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
184
185 PasswordForm form = CreateTestPasswordForm(0);
186 AddLogin(GetVerifierPasswordStore(), form);
187 AddLogin(GetPasswordStore(0), form);
188 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
189
190 form.password_value = ASCIIToUTF16("updated");
191 UpdateLogin(GetVerifierPasswordStore(), form);
192 UpdateLogin(GetPasswordStore(1), form);
193 ASSERT_TRUE(AwaitQuiescence());
194
195 ASSERT_EQ(1, GetVerifierPasswordCount());
196 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
197 }
198
199 // TCM ID - 3719309
200 // TODO(sync): Enable after MockKeychain is fixed. http://crbug.com/89808.
201 #if defined(OS_MACOSX)
202 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DISABLED_Delete) {
203 #else
204 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, Delete) {
205 #endif
206 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
207 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
208
209 PasswordForm form0 = CreateTestPasswordForm(0);
210 AddLogin(GetVerifierPasswordStore(), form0);
211 AddLogin(GetPasswordStore(0), form0);
212 PasswordForm form1 = CreateTestPasswordForm(1);
213 AddLogin(GetVerifierPasswordStore(), form1);
214 AddLogin(GetPasswordStore(0), form1);
215 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
216
217 RemoveLogin(GetPasswordStore(1), form0);
218 RemoveLogin(GetVerifierPasswordStore(), form0);
219 ASSERT_TRUE(AwaitQuiescence());
220
221 ASSERT_EQ(1, GetVerifierPasswordCount());
222 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
223 }
224
225 // TCM ID - 7573511
226 // TODO(sync): Enable after MockKeychain is fixed. http://crbug.com/89808.
227 #if defined(OS_MACOSX)
228 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DISABLED_DeleteAll) {
229 #else
230 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DeleteAll) {
231 #endif
232 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
233 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
234
235 PasswordForm form0 = CreateTestPasswordForm(0);
236 AddLogin(GetVerifierPasswordStore(), form0);
237 AddLogin(GetPasswordStore(0), form0);
238 PasswordForm form1 = CreateTestPasswordForm(1);
239 AddLogin(GetVerifierPasswordStore(), form1);
240 AddLogin(GetPasswordStore(0), form1);
241 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
242
243 RemoveLogins(GetPasswordStore(1));
244 RemoveLogins(GetVerifierPasswordStore());
245 ASSERT_TRUE(AwaitQuiescence());
246
247 ASSERT_EQ(0, GetVerifierPasswordCount());
248 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
249 }
250
251 // TCM ID - 3694311
252 // http://crbug.com/90460
253 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DISABLED_Merge) {
254 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
255 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
256
257 PasswordForm form0 = CreateTestPasswordForm(0);
258 AddLogin(GetVerifierPasswordStore(), form0);
259 AddLogin(GetPasswordStore(0), form0);
260 PasswordForm form1 = CreateTestPasswordForm(1);
261 AddLogin(GetVerifierPasswordStore(), form1);
262 AddLogin(GetPasswordStore(0), form1);
263 AddLogin(GetPasswordStore(1), form1);
264 PasswordForm form2 = CreateTestPasswordForm(2);
265 AddLogin(GetVerifierPasswordStore(), form2);
266 AddLogin(GetPasswordStore(1), form2);
267 ASSERT_TRUE(AwaitQuiescence());
268
269 ASSERT_EQ(3, GetVerifierPasswordCount());
270 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier());
271 }
272
273 // TODO(sync): Enable after MockKeychain is fixed. http://crbug.com/89808.
274 #if defined(OS_MACOSX)
275 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest,
276 DISABLED_SetPassphraseAndThenSetupSync) {
277 #else
278 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest,
279 SetPassphraseAndThenSetupSync) {
280 #endif
281 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
282
283 ASSERT_TRUE(GetClient(0)->SetupSync());
284 SetPassphrase(0, kValidPassphrase, true);
285 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted());
286 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion("Initial sync."));
287
288 ASSERT_FALSE(GetClient(1)->SetupSync());
289 SetPassphrase(1, kValidPassphrase, false);
290 ASSERT_TRUE(GetClient(1)->AwaitPassphraseAccepted());
291 ASSERT_TRUE(GetClient(1)->AwaitSyncCycleCompletion("Initial sync."));
292
293 // Following ensures types are enabled and active (see bug 87572).
294 browser_sync::ModelSafeRoutingInfo routes;
295 GetClient(0)->service()->GetModelSafeRoutingInfo(&routes);
296 ASSERT_EQ(browser_sync::GROUP_PASSWORD, routes[syncable::PASSWORDS]);
297 routes.clear();
298 GetClient(1)->service()->GetModelSafeRoutingInfo(&routes);
299 ASSERT_EQ(browser_sync::GROUP_PASSWORD, routes[syncable::PASSWORDS]);
300 }
301
302 // TODO(sync): Enable after MockKeychain is fixed. http://crbug.com/89808.
303 #if defined(OS_MACOSX)
304 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest,
305 DISABLED_SetPassphraseTwice) {
306 #else
307 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest,
308 SetPassphraseTwice) {
309 #endif
310 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
311
312 SetPassphrase(0, kValidPassphrase, true);
313 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted());
314 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
315
316 SetPassphrase(1, kValidPassphrase, false);
317 ASSERT_TRUE(GetClient(1)->AwaitPassphraseAccepted());
318 ASSERT_TRUE(GetClient(1)->AwaitSyncCycleCompletion("Set passphrase."));
319
320 SetPassphrase(1, kValidPassphrase, false);
321 ASSERT_TRUE(GetClient(1)->AwaitPassphraseAccepted());
322 ASSERT_TRUE(GetClient(1)->AwaitSyncCycleCompletion("Set passphrase again."));
323 }
OLDNEW
« no previous file with comments | « chrome/test/live_sync/two_client_extensions_sync_test.cc ('k') | chrome/test/live_sync/two_client_preferences_sync_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698