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

Side by Side Diff: chrome/browser/sync/test/integration/passwords_helper.cc

Issue 1022823002: Make test outputs involving PasswordForms more readable. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase + added new field that was added inbetween. Created 5 years, 8 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
OLDNEW
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 "chrome/browser/sync/test/integration/passwords_helper.h" 5 #include "chrome/browser/sync/test/integration/passwords_helper.h"
6 6
7 #include <sstream>
8
7 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
8 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
9 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
10 #include "base/synchronization/waitable_event.h" 12 #include "base/synchronization/waitable_event.h"
11 #include "base/time/time.h" 13 #include "base/time/time.h"
12 #include "chrome/browser/password_manager/password_store_factory.h" 14 #include "chrome/browser/password_manager/password_store_factory.h"
13 #include "chrome/browser/sync/profile_sync_service.h" 15 #include "chrome/browser/sync/profile_sync_service.h"
14 #include "chrome/browser/sync/profile_sync_service_factory.h" 16 #include "chrome/browser/sync/profile_sync_service_factory.h"
15 #include "chrome/browser/sync/test/integration/multi_client_status_change_checke r.h" 17 #include "chrome/browser/sync/test/integration/multi_client_status_change_checke r.h"
16 #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h" 18 #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 PasswordStore* GetVerifierPasswordStore() { 133 PasswordStore* GetVerifierPasswordStore() {
132 return PasswordStoreFactory::GetForProfile( 134 return PasswordStoreFactory::GetForProfile(
133 test()->verifier(), ServiceAccessType::IMPLICIT_ACCESS).get(); 135 test()->verifier(), ServiceAccessType::IMPLICIT_ACCESS).get();
134 } 136 }
135 137
136 bool ProfileContainsSamePasswordFormsAsVerifier(int index) { 138 bool ProfileContainsSamePasswordFormsAsVerifier(int index) {
137 ScopedVector<PasswordForm> verifier_forms = 139 ScopedVector<PasswordForm> verifier_forms =
138 GetLogins(GetVerifierPasswordStore()); 140 GetLogins(GetVerifierPasswordStore());
139 ScopedVector<PasswordForm> forms = GetLogins(GetPasswordStore(index)); 141 ScopedVector<PasswordForm> forms = GetLogins(GetPasswordStore(index));
140 ClearSyncDateField(&forms.get()); 142 ClearSyncDateField(&forms.get());
141 bool result = password_manager::ContainsSamePasswordFormsPtr( 143
142 verifier_forms.get(), forms.get()); 144 std::ostringstream mismatch_details_stream;
143 if (!result) { 145 bool is_matching = password_manager::ContainsEqualPasswordFormsUnordered(
144 VLOG(1) << "Password forms in Verifier Profile:"; 146 verifier_forms.get(), forms.get(), &mismatch_details_stream);
145 for (const PasswordForm* form : verifier_forms) { 147 if (!is_matching) {
146 VLOG(1) << *form; 148 VLOG(1) << "Profile " << index
147 } 149 << " does not contain the same Password forms as Verifier Profile.";
148 VLOG(1) << "Password forms in Profile" << index << ":"; 150 VLOG(1) << mismatch_details_stream.str();
149 for (const PasswordForm* form : forms) {
150 VLOG(1) << *form;
151 }
152 } 151 }
153 return result; 152 return is_matching;
154 } 153 }
155 154
156 bool ProfilesContainSamePasswordForms(int index_a, int index_b) { 155 bool ProfilesContainSamePasswordForms(int index_a, int index_b) {
157 ScopedVector<PasswordForm> forms_a = GetLogins(GetPasswordStore(index_a)); 156 ScopedVector<PasswordForm> forms_a = GetLogins(GetPasswordStore(index_a));
158 ScopedVector<PasswordForm> forms_b = GetLogins(GetPasswordStore(index_b)); 157 ScopedVector<PasswordForm> forms_b = GetLogins(GetPasswordStore(index_b));
159 ClearSyncDateField(&forms_a.get()); 158 ClearSyncDateField(&forms_a.get());
160 ClearSyncDateField(&forms_b.get()); 159 ClearSyncDateField(&forms_b.get());
161 bool result = password_manager::ContainsSamePasswordFormsPtr(forms_a.get(), 160
162 forms_b.get()); 161 std::ostringstream mismatch_details_stream;
163 if (!result) { 162 bool is_matching = password_manager::ContainsEqualPasswordFormsUnordered(
164 VLOG(1) << "Password forms in Profile" << index_a << ":"; 163 forms_a.get(), forms_b.get(), &mismatch_details_stream);
165 for (const PasswordForm* form : forms_a) { 164 if (!is_matching) {
166 VLOG(1) << *form; 165 VLOG(1) << "Password forms in Profile " << index_a
167 } 166 << " (listed as 'expected forms' below)"
168 VLOG(1) << "Password forms in Profile" << index_b << ":"; 167 << " do not match those in Profile " << index_b
169 for (const PasswordForm* form : forms_b) { 168 << " (listed as 'actual forms' below)";
170 VLOG(1) << *form; 169 VLOG(1) << mismatch_details_stream.str();
171 }
172 } 170 }
173 return result; 171 return is_matching;
174 } 172 }
175 173
176 bool AllProfilesContainSamePasswordFormsAsVerifier() { 174 bool AllProfilesContainSamePasswordFormsAsVerifier() {
177 for (int i = 0; i < test()->num_clients(); ++i) { 175 for (int i = 0; i < test()->num_clients(); ++i) {
178 if (!ProfileContainsSamePasswordFormsAsVerifier(i)) { 176 if (!ProfileContainsSamePasswordFormsAsVerifier(i)) {
179 DVLOG(1) << "Profile " << i << " does not contain the same password" 177 DVLOG(1) << "Profile " << i << " does not contain the same password"
180 " forms as the verifier."; 178 " forms as the verifier.";
181 return false; 179 return false;
182 } 180 }
183 } 181 }
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 form.origin = GURL(base::StringPrintf(kIndexedFakeOrigin, index)); 342 form.origin = GURL(base::StringPrintf(kIndexedFakeOrigin, index));
345 form.username_value = 343 form.username_value =
346 base::ASCIIToUTF16(base::StringPrintf("username%d", index)); 344 base::ASCIIToUTF16(base::StringPrintf("username%d", index));
347 form.password_value = 345 form.password_value =
348 base::ASCIIToUTF16(base::StringPrintf("password%d", index)); 346 base::ASCIIToUTF16(base::StringPrintf("password%d", index));
349 form.date_created = base::Time::Now(); 347 form.date_created = base::Time::Now();
350 return form; 348 return form;
351 } 349 }
352 350
353 } // namespace passwords_helper 351 } // namespace passwords_helper
OLDNEW
« no previous file with comments | « chrome/browser/password_manager/password_store_x_unittest.cc ('k') | components/autofill/core/common/password_form.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698