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

Side by Side Diff: chrome/browser/password_manager/native_backend_libsecret_unittest.cc

Issue 1314903003: Updating of all entries in PasswordManager of the same credentials on password update (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed strings from progress loader Created 5 years, 2 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) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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 <stdarg.h> 5 #include <stdarg.h>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 PasswordForm m_facebook_lookup; 457 PasswordForm m_facebook_lookup;
458 m_facebook_lookup.origin = kMobileURL; 458 m_facebook_lookup.origin = kMobileURL;
459 m_facebook_lookup.signon_realm = kMobileURL.spec(); 459 m_facebook_lookup.signon_realm = kMobileURL.spec();
460 ScopedVector<autofill::PasswordForm> form_list; 460 ScopedVector<autofill::PasswordForm> form_list;
461 EXPECT_TRUE(backend.GetLogins(m_facebook_lookup, &form_list)); 461 EXPECT_TRUE(backend.GetLogins(m_facebook_lookup, &form_list));
462 462
463 EXPECT_EQ(1u, global_mock_libsecret_items->size()); 463 EXPECT_EQ(1u, global_mock_libsecret_items->size());
464 EXPECT_EQ(1u, form_list.size()); 464 EXPECT_EQ(1u, form_list.size());
465 PasswordForm m_facebook = *form_list[0]; 465 PasswordForm m_facebook = *form_list[0];
466 form_list.clear(); 466 form_list.clear();
467 EXPECT_EQ(kMobileURL, m_facebook.origin); 467 m_facebook.origin = kMobileURL;
468 EXPECT_EQ(kMobileURL.spec(), m_facebook.signon_realm); 468 m_facebook.signon_realm = kMobileURL.spec();
469 469
470 // Add the PSL-matched copy to saved logins. 470 // Add the PSL-matched copy to saved logins.
471 VerifiedAdd(&backend, m_facebook); 471 VerifiedAdd(&backend, m_facebook);
472 EXPECT_EQ(2u, global_mock_libsecret_items->size()); 472 EXPECT_EQ(2u, global_mock_libsecret_items->size());
473 473
474 // Update www.facebook.com login. 474 // Update www.facebook.com login.
475 PasswordForm new_facebook(form_facebook_); 475 PasswordForm new_facebook(form_facebook_);
476 const base::string16 kOldPassword(form_facebook_.password_value); 476 const base::string16 kOldPassword(form_facebook_.password_value);
477 const base::string16 kNewPassword(UTF8ToUTF16("new_b")); 477 const base::string16 kNewPassword(UTF8ToUTF16("new_b"));
478 EXPECT_NE(kOldPassword, kNewPassword); 478 EXPECT_NE(kOldPassword, kNewPassword);
479 new_facebook.password_value = kNewPassword; 479 new_facebook.password_value = kNewPassword;
480 switch (update_type) { 480 switch (update_type) {
481 case UPDATE_BY_UPDATELOGIN: 481 case UPDATE_BY_UPDATELOGIN:
482 VerifiedUpdate(&backend, new_facebook); 482 VerifiedUpdate(&backend, new_facebook);
483 break; 483 break;
484 case UPDATE_BY_ADDLOGIN: 484 case UPDATE_BY_ADDLOGIN:
485 // This is an overwrite call. 485 // This is an overwrite call.
486 backend.AddLogin(new_facebook); 486 backend.AddLogin(new_facebook);
487 break; 487 break;
488 } 488 }
489 489
490 EXPECT_EQ(2u, global_mock_libsecret_items->size()); 490 EXPECT_EQ(2u, global_mock_libsecret_items->size());
491 491
492 // Check that m.facebook.com login was not modified by the update. 492 // Check that m.facebook.com login was not modified by the update.
493 EXPECT_TRUE(backend.GetLogins(m_facebook_lookup, &form_list)); 493 EXPECT_TRUE(backend.GetLogins(m_facebook_lookup, &form_list));
494 494
495 // There should be two results -- the exact one, and the PSL-matched one. 495 // There should be two results -- the exact one, and the PSL-matched one.
496 EXPECT_EQ(2u, form_list.size()); 496 EXPECT_EQ(2u, form_list.size());
497 size_t index_non_psl = 0; 497 size_t index_non_psl = 0;
498 if (!form_list[index_non_psl]->original_signon_realm.empty()) 498 if (form_list[index_non_psl]->IsPublicSuffixMatch())
499 index_non_psl = 1; 499 index_non_psl = 1;
500 EXPECT_EQ(kMobileURL, form_list[index_non_psl]->origin); 500 EXPECT_EQ(kMobileURL, form_list[index_non_psl]->origin);
501 EXPECT_EQ(kMobileURL.spec(), form_list[index_non_psl]->signon_realm); 501 EXPECT_EQ(kMobileURL.spec(), form_list[index_non_psl]->signon_realm);
502 EXPECT_EQ(kOldPassword, form_list[index_non_psl]->password_value); 502 EXPECT_EQ(kOldPassword, form_list[index_non_psl]->password_value);
503 form_list.clear(); 503 form_list.clear();
504 504
505 // Check that www.facebook.com login was modified by the update. 505 // Check that www.facebook.com login was modified by the update.
506 EXPECT_TRUE(backend.GetLogins(form_facebook_, &form_list)); 506 EXPECT_TRUE(backend.GetLogins(form_facebook_, &form_list));
507 // There should be two results -- the exact one, and the PSL-matched one. 507 // There should be two results -- the exact one, and the PSL-matched one.
508 EXPECT_EQ(2u, form_list.size()); 508 EXPECT_EQ(2u, form_list.size());
509 index_non_psl = 0; 509 index_non_psl = 0;
510 if (!form_list[index_non_psl]->original_signon_realm.empty()) 510 if (form_list[index_non_psl]->IsPublicSuffixMatch())
511 index_non_psl = 1; 511 index_non_psl = 1;
512 EXPECT_EQ(form_facebook_.origin, form_list[index_non_psl]->origin); 512 EXPECT_EQ(form_facebook_.origin, form_list[index_non_psl]->origin);
513 EXPECT_EQ(form_facebook_.signon_realm, 513 EXPECT_EQ(form_facebook_.signon_realm,
514 form_list[index_non_psl]->signon_realm); 514 form_list[index_non_psl]->signon_realm);
515 EXPECT_EQ(kNewPassword, form_list[index_non_psl]->password_value); 515 EXPECT_EQ(kNewPassword, form_list[index_non_psl]->password_value);
516 form_list.clear(); 516 form_list.clear();
517 } 517 }
518 518
519 // Checks various types of matching for forms with a non-HTML |scheme|. 519 // Checks various types of matching for forms with a non-HTML |scheme|.
520 void CheckMatchingWithScheme(const PasswordForm::Scheme& scheme) { 520 void CheckMatchingWithScheme(const PasswordForm::Scheme& scheme) {
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 CheckMockSecretItem((*global_mock_libsecret_items)[0], form_google_, 625 CheckMockSecretItem((*global_mock_libsecret_items)[0], form_google_,
626 "chrome-42"); 626 "chrome-42");
627 } 627 }
628 628
629 // Save a password for www.facebook.com and see it suggested for m.facebook.com. 629 // Save a password for www.facebook.com and see it suggested for m.facebook.com.
630 TEST_F(NativeBackendLibsecretTest, PSLMatchingPositive) { 630 TEST_F(NativeBackendLibsecretTest, PSLMatchingPositive) {
631 PasswordForm result; 631 PasswordForm result;
632 const GURL kMobileURL("http://m.facebook.com/"); 632 const GURL kMobileURL("http://m.facebook.com/");
633 EXPECT_TRUE(CheckCredentialAvailability(form_facebook_, kMobileURL, 633 EXPECT_TRUE(CheckCredentialAvailability(form_facebook_, kMobileURL,
634 PasswordForm::SCHEME_HTML, &result)); 634 PasswordForm::SCHEME_HTML, &result));
635 EXPECT_EQ(kMobileURL, result.origin); 635 EXPECT_EQ(form_facebook_.origin, result.origin);
636 EXPECT_EQ(kMobileURL.spec(), result.signon_realm); 636 EXPECT_EQ(form_facebook_.signon_realm, result.signon_realm);
637 } 637 }
638 638
639 // Save a password for www.facebook.com and see it not suggested for 639 // Save a password for www.facebook.com and see it not suggested for
640 // m-facebook.com. 640 // m-facebook.com.
641 TEST_F(NativeBackendLibsecretTest, PSLMatchingNegativeDomainMismatch) { 641 TEST_F(NativeBackendLibsecretTest, PSLMatchingNegativeDomainMismatch) {
642 EXPECT_FALSE(CheckCredentialAvailability(form_facebook_, 642 EXPECT_FALSE(CheckCredentialAvailability(form_facebook_,
643 GURL("http://m-facebook.com/"), 643 GURL("http://m-facebook.com/"),
644 PasswordForm::SCHEME_HTML, nullptr)); 644 PasswordForm::SCHEME_HTML, nullptr));
645 } 645 }
646 646
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
905 EXPECT_EQ(form_google_, *form_list[0]); 905 EXPECT_EQ(form_google_, *form_list[0]);
906 906
907 EXPECT_EQ(1u, global_mock_libsecret_items->size()); 907 EXPECT_EQ(1u, global_mock_libsecret_items->size());
908 if (!global_mock_libsecret_items->empty()) { 908 if (!global_mock_libsecret_items->empty()) {
909 CheckMockSecretItem((*global_mock_libsecret_items)[0], form_google_, 909 CheckMockSecretItem((*global_mock_libsecret_items)[0], form_google_,
910 "chrome-42"); 910 "chrome-42");
911 } 911 }
912 } 912 }
913 913
914 // TODO(mdm): add more basic tests here at some point. 914 // TODO(mdm): add more basic tests here at some point.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698