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

Side by Side Diff: components/autofill/core/browser/personal_data_manager_unittest.cc

Issue 2829853008: Stores server card as a full server card when upload to server succeeds. (Closed)
Patch Set: Renames AddServerCreditCard to AddFullServerCreditCard. Adds DCHECK to verify that we are in a tran… Created 3 years, 7 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "components/autofill/core/browser/personal_data_manager.h" 5 #include "components/autofill/core/browser/personal_data_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <list> 10 #include <list>
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 // Reset the PersonalDataManager. This tests that the personal data was saved 490 // Reset the PersonalDataManager. This tests that the personal data was saved
491 // to the web database, and that we can load the profiles from the web 491 // to the web database, and that we can load the profiles from the web
492 // database. 492 // database.
493 ResetPersonalDataManager(USER_MODE_NORMAL); 493 ResetPersonalDataManager(USER_MODE_NORMAL);
494 494
495 // Verify that we've loaded the profiles from the web database. 495 // Verify that we've loaded the profiles from the web database.
496 ExpectSameElements(profiles, personal_data_->GetProfiles()); 496 ExpectSameElements(profiles, personal_data_->GetProfiles());
497 } 497 }
498 498
499 TEST_F(PersonalDataManagerTest, AddUpdateRemoveCreditCards) { 499 TEST_F(PersonalDataManagerTest, AddUpdateRemoveCreditCards) {
500 EnableWalletCardImport();
500 CreditCard credit_card0(base::GenerateGUID(), "https://www.example.com"); 501 CreditCard credit_card0(base::GenerateGUID(), "https://www.example.com");
501 test::SetCreditCardInfo(&credit_card0, 502 test::SetCreditCardInfo(&credit_card0,
502 "John Dillinger", "423456789012" /* Visa */, "01", "2999"); 503 "John Dillinger", "423456789012" /* Visa */, "01", "2999");
503 504
504 CreditCard credit_card1(base::GenerateGUID(), "https://www.example.com"); 505 CreditCard credit_card1(base::GenerateGUID(), "https://www.example.com");
505 test::SetCreditCardInfo(&credit_card1, "Bonnie Parker", 506 test::SetCreditCardInfo(&credit_card1, "Bonnie Parker",
506 "518765432109" /* Mastercard */, "12", "2999"); 507 "518765432109" /* Mastercard */, "12", "2999");
507 508
508 CreditCard credit_card2(base::GenerateGUID(), "https://www.example.com"); 509 CreditCard credit_card2(base::GenerateGUID(), "https://www.example.com");
509 test::SetCreditCardInfo(&credit_card2, "Clyde Barrow", 510 test::SetCreditCardInfo(&credit_card2, "Clyde Barrow",
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 // Reset the PersonalDataManager. This tests that the personal data was saved 543 // Reset the PersonalDataManager. This tests that the personal data was saved
543 // to the web database, and that we can load the credit cards from the web 544 // to the web database, and that we can load the credit cards from the web
544 // database. 545 // database.
545 ResetPersonalDataManager(USER_MODE_NORMAL); 546 ResetPersonalDataManager(USER_MODE_NORMAL);
546 547
547 // Verify that we've loaded the credit cards from the web database. 548 // Verify that we've loaded the credit cards from the web database.
548 cards.clear(); 549 cards.clear();
549 cards.push_back(&credit_card0); 550 cards.push_back(&credit_card0);
550 cards.push_back(&credit_card2); 551 cards.push_back(&credit_card2);
551 ExpectSameElements(cards, personal_data_->GetCreditCards()); 552 ExpectSameElements(cards, personal_data_->GetCreditCards());
553
554 // Add a full server card.
555 CreditCard credit_card3(base::GenerateGUID(), "https://www.example.com");
556 test::SetCreditCardInfo(&credit_card3, "Jane Doe",
557 "4111111111111111" /* Visa */, "04", "2999");
558 credit_card3.set_record_type(CreditCard::FULL_SERVER_CARD);
559 credit_card3.set_server_id("server_id");
560
561 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
562 .WillOnce(QuitMainMessageLoop());
563
564 personal_data_->AddFullServerCreditCard(credit_card3);
565 base::RunLoop().Run();
566
567 cards.push_back(&credit_card3);
568 ExpectSameElements(cards, personal_data_->GetCreditCards());
569
570 // Must not add a duplicate server card with same GUID.
571 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()).Times(0);
572
573 personal_data_->AddFullServerCreditCard(credit_card3);
574
575 ExpectSameElements(cards, personal_data_->GetCreditCards());
576
577 // Must not add a duplicate card with same contents as another server card.
578 CreditCard duplicate_server_card(credit_card3);
579 duplicate_server_card.set_guid(base::GenerateGUID());
580
581 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()).Times(0);
582
583 personal_data_->AddFullServerCreditCard(duplicate_server_card);
584
585 ExpectSameElements(cards, personal_data_->GetCreditCards());
552 } 586 }
553 587
554 // Test that a new credit card has its basic information set. 588 // Test that a new credit card has its basic information set.
555 TEST_F(PersonalDataManagerTest, AddCreditCard_BasicInformation) { 589 TEST_F(PersonalDataManagerTest, AddCreditCard_BasicInformation) {
556 // Create the test clock and set the time to a specific value. 590 // Create the test clock and set the time to a specific value.
557 TestAutofillClock test_clock; 591 TestAutofillClock test_clock;
558 test_clock.SetNow(kArbitraryTime); 592 test_clock.SetNow(kArbitraryTime);
559 593
560 // Add a credit to the database. 594 // Add a credit card to the database.
561 CreditCard credit_card(base::GenerateGUID(), "https://www.example.com"); 595 CreditCard credit_card(base::GenerateGUID(), "https://www.example.com");
562 test::SetCreditCardInfo(&credit_card, "John Dillinger", 596 test::SetCreditCardInfo(&credit_card, "John Dillinger",
563 "423456789012" /* Visa */, "01", "2999"); 597 "423456789012" /* Visa */, "01", "2999");
564 personal_data_->AddCreditCard(credit_card); 598 personal_data_->AddCreditCard(credit_card);
565 599
566 // Reload the database. 600 // Reload the database.
567 ResetPersonalDataManager(USER_MODE_NORMAL); 601 ResetPersonalDataManager(USER_MODE_NORMAL);
568 602
569 // Verify the addition. 603 // Verify the addition.
570 const std::vector<CreditCard*>& results = personal_data_->GetCreditCards(); 604 const std::vector<CreditCard*>& results = personal_data_->GetCreditCards();
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 710
677 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 711 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
678 .WillOnce(QuitMainMessageLoop()); 712 .WillOnce(QuitMainMessageLoop());
679 base::RunLoop().Run(); 713 base::RunLoop().Run();
680 714
681 ASSERT_EQ(1U, personal_data_->GetCreditCards().size()); 715 ASSERT_EQ(1U, personal_data_->GetCreditCards().size());
682 EXPECT_EQ(CreditCard::MASKED_SERVER_CARD, 716 EXPECT_EQ(CreditCard::MASKED_SERVER_CARD,
683 personal_data_->GetCreditCards()[0]->record_type()); 717 personal_data_->GetCreditCards()[0]->record_type());
684 } 718 }
685 719
720 // Makes sure that full cards are only added as masked card when full PAN
721 // storage is disabled.
722 TEST_F(PersonalDataManagerTest, AddFullCardAsMaskedCard) {
723 // On Linux this should be disabled automatically. Elsewhere, only if the
724 // flag is passed.
725 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
726 EXPECT_FALSE(base::CommandLine::ForCurrentProcess()->HasSwitch(
727 switches::kDisableOfferStoreUnmaskedWalletCards));
728 #else
729 base::CommandLine::ForCurrentProcess()->AppendSwitch(
730 switches::kDisableOfferStoreUnmaskedWalletCards);
731 #endif
732
733 CreditCard server_card(CreditCard::FULL_SERVER_CARD, "c789");
734 test::SetCreditCardInfo(&server_card, "Clyde Barrow",
735 "347666888555" /* American Express */, "04", "2999");
736
737 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
738 .WillOnce(QuitMainMessageLoop());
739
740 personal_data_->AddFullServerCreditCard(server_card);
741
742 base::RunLoop().Run();
743
744 ASSERT_EQ(1U, personal_data_->GetCreditCards().size());
745 EXPECT_EQ(CreditCard::MASKED_SERVER_CARD,
746 personal_data_->GetCreditCards()[0]->record_type());
747 }
748
686 TEST_F(PersonalDataManagerTest, OfferStoreUnmaskedCards) { 749 TEST_F(PersonalDataManagerTest, OfferStoreUnmaskedCards) {
687 #if defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_MACOSX) || \ 750 #if defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_MACOSX) || \
688 defined(OS_IOS) || defined(OS_ANDROID) 751 defined(OS_IOS) || defined(OS_ANDROID)
689 bool should_offer = true; 752 bool should_offer = true;
690 #elif defined(OS_LINUX) 753 #elif defined(OS_LINUX)
691 bool should_offer = false; 754 bool should_offer = false;
692 #endif 755 #endif
693 EXPECT_EQ(should_offer, OfferStoreUnmaskedCards()); 756 EXPECT_EQ(should_offer, OfferStoreUnmaskedCards());
694 } 757 }
695 758
(...skipping 5516 matching lines...) Expand 10 before | Expand all | Expand 10 after
6212 // to the converted address. 6275 // to the converted address.
6213 EXPECT_EQ(profiles[0]->guid(), 6276 EXPECT_EQ(profiles[0]->guid(),
6214 personal_data_->GetCreditCards()[0]->billing_address_id()); 6277 personal_data_->GetCreditCards()[0]->billing_address_id());
6215 // Make sure that the billing address id of the new server card still refers 6278 // Make sure that the billing address id of the new server card still refers
6216 // to the converted address. 6279 // to the converted address.
6217 EXPECT_EQ(profiles[0]->guid(), 6280 EXPECT_EQ(profiles[0]->guid(),
6218 personal_data_->GetCreditCards()[1]->billing_address_id()); 6281 personal_data_->GetCreditCards()[1]->billing_address_id());
6219 } 6282 }
6220 6283
6221 } // namespace autofill 6284 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/core/browser/personal_data_manager.cc ('k') | components/autofill/core/browser/webdata/autofill_table.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698