| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/strings/utf_string_conversions.h" | 5 #include "base/strings/utf_string_conversions.h" |
| 6 #include "chrome/browser/sync/test/integration/passwords_helper.h" | 6 #include "chrome/browser/sync/test/integration/passwords_helper.h" |
| 7 #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h" | 7 #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h" |
| 8 #include "chrome/browser/sync/test/integration/sync_test.h" | 8 #include "chrome/browser/sync/test/integration/sync_test.h" |
| 9 #include "sync/internal_api/public/engine/model_safe_worker.h" | 9 #include "sync/internal_api/public/engine/model_safe_worker.h" |
| 10 #include "sync/internal_api/public/sessions/sync_session_snapshot.h" | 10 #include "sync/internal_api/public/sessions/sync_session_snapshot.h" |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 73 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 74 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier()); | 74 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier()); |
| 75 | 75 |
| 76 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::PASSWORDS)); | 76 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::PASSWORDS)); |
| 77 PasswordForm form = CreateTestPasswordForm(0); | 77 PasswordForm form = CreateTestPasswordForm(0); |
| 78 AddLogin(GetVerifierPasswordStore(), form); | 78 AddLogin(GetVerifierPasswordStore(), form); |
| 79 ASSERT_EQ(1, GetVerifierPasswordCount()); | 79 ASSERT_EQ(1, GetVerifierPasswordCount()); |
| 80 AddLogin(GetPasswordStore(0), form); | 80 AddLogin(GetPasswordStore(0), form); |
| 81 ASSERT_EQ(1, GetPasswordCount(0)); | 81 ASSERT_EQ(1, GetPasswordCount(0)); |
| 82 | 82 |
| 83 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion()); | 83 ASSERT_TRUE(GetClient(0)->AwaitCommitActivityCompletion()); |
| 84 ASSERT_TRUE(ProfileContainsSamePasswordFormsAsVerifier(0)); | 84 ASSERT_TRUE(ProfileContainsSamePasswordFormsAsVerifier(0)); |
| 85 ASSERT_FALSE(ProfileContainsSamePasswordFormsAsVerifier(1)); | 85 ASSERT_FALSE(ProfileContainsSamePasswordFormsAsVerifier(1)); |
| 86 | 86 |
| 87 ASSERT_TRUE(GetClient(1)->EnableSyncForDatatype(syncer::PASSWORDS)); | 87 ASSERT_TRUE(GetClient(1)->EnableSyncForDatatype(syncer::PASSWORDS)); |
| 88 ASSERT_TRUE(AwaitQuiescence()); | 88 ASSERT_TRUE(AwaitQuiescence()); |
| 89 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier()); | 89 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier()); |
| 90 ASSERT_EQ(1, GetPasswordCount(1)); | 90 ASSERT_EQ(1, GetPasswordCount(1)); |
| 91 } | 91 } |
| 92 | 92 |
| 93 // TCM ID - 4649281. | 93 // TCM ID - 4649281. |
| 94 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DisableSync) { | 94 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, DisableSync) { |
| 95 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 95 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 96 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier()); | 96 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier()); |
| 97 | 97 |
| 98 ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes()); | 98 ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes()); |
| 99 PasswordForm form = CreateTestPasswordForm(0); | 99 PasswordForm form = CreateTestPasswordForm(0); |
| 100 AddLogin(GetVerifierPasswordStore(), form); | 100 AddLogin(GetVerifierPasswordStore(), form); |
| 101 ASSERT_EQ(1, GetVerifierPasswordCount()); | 101 ASSERT_EQ(1, GetVerifierPasswordCount()); |
| 102 AddLogin(GetPasswordStore(0), form); | 102 AddLogin(GetPasswordStore(0), form); |
| 103 ASSERT_EQ(1, GetPasswordCount(0)); | 103 ASSERT_EQ(1, GetPasswordCount(0)); |
| 104 | 104 |
| 105 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion()); | 105 ASSERT_TRUE(GetClient(0)->AwaitCommitActivityCompletion()); |
| 106 ASSERT_TRUE(ProfileContainsSamePasswordFormsAsVerifier(0)); | 106 ASSERT_TRUE(ProfileContainsSamePasswordFormsAsVerifier(0)); |
| 107 ASSERT_FALSE(ProfileContainsSamePasswordFormsAsVerifier(1)); | 107 ASSERT_FALSE(ProfileContainsSamePasswordFormsAsVerifier(1)); |
| 108 | 108 |
| 109 ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes()); | 109 ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes()); |
| 110 ASSERT_TRUE(AwaitQuiescence()); | 110 ASSERT_TRUE(AwaitQuiescence()); |
| 111 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier()); | 111 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier()); |
| 112 ASSERT_EQ(1, GetPasswordCount(1)); | 112 ASSERT_EQ(1, GetPasswordCount(1)); |
| 113 } | 113 } |
| 114 | 114 |
| 115 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, SetPassphrase) { | 115 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, SetPassphrase) { |
| 116 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 116 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 117 | 117 |
| 118 SetEncryptionPassphrase(0, kValidPassphrase, ProfileSyncService::EXPLICIT); | 118 SetEncryptionPassphrase(0, kValidPassphrase, ProfileSyncService::EXPLICIT); |
| 119 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted()); | 119 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted()); |
| 120 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 120 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 121 | 121 |
| 122 ASSERT_TRUE(GetClient(1)->AwaitPassphraseRequired()); | 122 ASSERT_TRUE(GetClient(1)->AwaitPassphraseRequired()); |
| 123 ASSERT_TRUE(SetDecryptionPassphrase(1, kValidPassphrase)); | 123 ASSERT_TRUE(SetDecryptionPassphrase(1, kValidPassphrase)); |
| 124 ASSERT_TRUE(GetClient(1)->AwaitPassphraseAccepted()); | 124 ASSERT_TRUE(GetClient(1)->AwaitPassphraseAccepted()); |
| 125 ASSERT_TRUE(GetClient(1)->AwaitFullSyncCompletion()); | 125 ASSERT_TRUE(GetClient(1)->AwaitCommitActivityCompletion()); |
| 126 } | 126 } |
| 127 | 127 |
| 128 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, | 128 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, |
| 129 SetPassphraseAndAddPassword) { | 129 SetPassphraseAndAddPassword) { |
| 130 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 130 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 131 | 131 |
| 132 SetEncryptionPassphrase(0, kValidPassphrase, ProfileSyncService::EXPLICIT); | 132 SetEncryptionPassphrase(0, kValidPassphrase, ProfileSyncService::EXPLICIT); |
| 133 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted()); | 133 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted()); |
| 134 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 134 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 135 | 135 |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 ASSERT_TRUE(AllProfilesContainSamePasswordForms()); | 229 ASSERT_TRUE(AllProfilesContainSamePasswordForms()); |
| 230 } | 230 } |
| 231 | 231 |
| 232 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, | 232 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, |
| 233 SetPassphraseAndThenSetupSync) { | 233 SetPassphraseAndThenSetupSync) { |
| 234 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; | 234 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 235 | 235 |
| 236 ASSERT_TRUE(GetClient(0)->SetupSync()); | 236 ASSERT_TRUE(GetClient(0)->SetupSync()); |
| 237 SetEncryptionPassphrase(0, kValidPassphrase, ProfileSyncService::EXPLICIT); | 237 SetEncryptionPassphrase(0, kValidPassphrase, ProfileSyncService::EXPLICIT); |
| 238 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted()); | 238 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted()); |
| 239 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion()); | 239 ASSERT_TRUE(GetClient(0)->AwaitCommitActivityCompletion()); |
| 240 | 240 |
| 241 ASSERT_FALSE(GetClient(1)->SetupSync()); | 241 ASSERT_FALSE(GetClient(1)->SetupSync()); |
| 242 ASSERT_TRUE(GetClient(1)->AwaitPassphraseRequired()); | 242 ASSERT_TRUE(GetClient(1)->AwaitPassphraseRequired()); |
| 243 ASSERT_TRUE(SetDecryptionPassphrase(1, kValidPassphrase)); | 243 ASSERT_TRUE(SetDecryptionPassphrase(1, kValidPassphrase)); |
| 244 ASSERT_TRUE(GetClient(1)->AwaitPassphraseAccepted()); | 244 ASSERT_TRUE(GetClient(1)->AwaitPassphraseAccepted()); |
| 245 ASSERT_TRUE(GetClient(1)->AwaitFullSyncCompletion()); | 245 ASSERT_TRUE(GetClient(1)->AwaitCommitActivityCompletion()); |
| 246 | 246 |
| 247 // Following ensures types are enabled and active (see bug 87572). | 247 // Following ensures types are enabled and active (see bug 87572). |
| 248 syncer::ModelSafeRoutingInfo routes; | 248 syncer::ModelSafeRoutingInfo routes; |
| 249 GetClient(0)->service()->GetModelSafeRoutingInfo(&routes); | 249 GetClient(0)->service()->GetModelSafeRoutingInfo(&routes); |
| 250 ASSERT_EQ(syncer::GROUP_PASSWORD, routes[syncer::PASSWORDS]); | 250 ASSERT_EQ(syncer::GROUP_PASSWORD, routes[syncer::PASSWORDS]); |
| 251 routes.clear(); | 251 routes.clear(); |
| 252 GetClient(1)->service()->GetModelSafeRoutingInfo(&routes); | 252 GetClient(1)->service()->GetModelSafeRoutingInfo(&routes); |
| 253 ASSERT_EQ(syncer::GROUP_PASSWORD, routes[syncer::PASSWORDS]); | 253 ASSERT_EQ(syncer::GROUP_PASSWORD, routes[syncer::PASSWORDS]); |
| 254 } | 254 } |
| 255 | 255 |
| 256 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, | 256 IN_PROC_BROWSER_TEST_F(TwoClientPasswordsSyncTest, |
| 257 SetDifferentPassphraseAndThenSetupSync) { | 257 SetDifferentPassphraseAndThenSetupSync) { |
| 258 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; | 258 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 259 | 259 |
| 260 ASSERT_TRUE(GetClient(0)->SetupSync()); | 260 ASSERT_TRUE(GetClient(0)->SetupSync()); |
| 261 SetEncryptionPassphrase(0, kValidPassphrase, ProfileSyncService::EXPLICIT); | 261 SetEncryptionPassphrase(0, kValidPassphrase, ProfileSyncService::EXPLICIT); |
| 262 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted()); | 262 ASSERT_TRUE(GetClient(0)->AwaitPassphraseAccepted()); |
| 263 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion()); | 263 ASSERT_TRUE(GetClient(0)->AwaitCommitActivityCompletion()); |
| 264 | 264 |
| 265 // Setup 1 with a different passphrase, so that it fails to sync. | 265 // Setup 1 with a different passphrase, so that it fails to sync. |
| 266 ASSERT_FALSE(GetClient(1)->SetupSync()); | 266 ASSERT_FALSE(GetClient(1)->SetupSync()); |
| 267 ASSERT_TRUE(GetClient(1)->AwaitPassphraseRequired()); | 267 ASSERT_TRUE(GetClient(1)->AwaitPassphraseRequired()); |
| 268 ASSERT_FALSE(SetDecryptionPassphrase(1, kAnotherValidPassphrase)); | 268 ASSERT_FALSE(SetDecryptionPassphrase(1, kAnotherValidPassphrase)); |
| 269 ASSERT_TRUE(GetClient(1)->AwaitPassphraseRequired()); | 269 ASSERT_TRUE(GetClient(1)->AwaitPassphraseRequired()); |
| 270 | 270 |
| 271 // Add a password on 0 while clients have different passphrases. | 271 // Add a password on 0 while clients have different passphrases. |
| 272 PasswordForm form0 = CreateTestPasswordForm(0); | 272 PasswordForm form0 = CreateTestPasswordForm(0); |
| 273 AddLogin(GetVerifierPasswordStore(), form0); | 273 AddLogin(GetVerifierPasswordStore(), form0); |
| 274 AddLogin(GetPasswordStore(0), form0); | 274 AddLogin(GetPasswordStore(0), form0); |
| 275 | 275 |
| 276 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion()); | 276 ASSERT_TRUE(GetClient(0)->AwaitCommitActivityCompletion()); |
| 277 | 277 |
| 278 // Password hasn't been synced to 1 yet. | 278 // Password hasn't been synced to 1 yet. |
| 279 ASSERT_FALSE(AllProfilesContainSamePasswordFormsAsVerifier()); | 279 ASSERT_FALSE(AllProfilesContainSamePasswordFormsAsVerifier()); |
| 280 | 280 |
| 281 // Update 1 with the correct passphrase, the password should now sync over. | 281 // Update 1 with the correct passphrase, the password should now sync over. |
| 282 ASSERT_TRUE(GetClient(1)->AwaitPassphraseRequired()); | 282 ASSERT_TRUE(GetClient(1)->AwaitPassphraseRequired()); |
| 283 ASSERT_TRUE(SetDecryptionPassphrase(1, kValidPassphrase)); | 283 ASSERT_TRUE(SetDecryptionPassphrase(1, kValidPassphrase)); |
| 284 ASSERT_TRUE(GetClient(1)->AwaitPassphraseAccepted()); | 284 ASSERT_TRUE(GetClient(1)->AwaitPassphraseAccepted()); |
| 285 | 285 |
| 286 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 286 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 287 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier()); | 287 ASSERT_TRUE(AllProfilesContainSamePasswordFormsAsVerifier()); |
| 288 } | 288 } |
| OLD | NEW |