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

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

Issue 982203002: Autofill - Move test only code to a test util file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add dcheck Created 5 years, 9 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 <algorithm> 5 #include <algorithm>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); 421 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123"));
422 test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", 422 test::SetCreditCardInfo(&server_cards.back(), "John Dillinger",
423 "9012" /* Visa */, "01", "2010"); 423 "9012" /* Visa */, "01", "2010");
424 server_cards.back().SetTypeForMaskedCard(kVisaCard); 424 server_cards.back().SetTypeForMaskedCard(kVisaCard);
425 425
426 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); 426 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456"));
427 test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker", 427 test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker",
428 "2109" /* Mastercard */, "12", "2012"); 428 "2109" /* Mastercard */, "12", "2012");
429 server_cards.back().SetTypeForMaskedCard(kMasterCard); 429 server_cards.back().SetTypeForMaskedCard(kMasterCard);
430 430
431 autofill_table_->SetServerCreditCards(server_cards); 431 test::SetServerCreditCards(autofill_table_, server_cards);
432 personal_data_->Refresh(); 432 personal_data_->Refresh();
433 433
434 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 434 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
435 .WillOnce(QuitMainMessageLoop()); 435 .WillOnce(QuitMainMessageLoop());
436 base::MessageLoop::current()->Run(); 436 base::MessageLoop::current()->Run();
437 437
438 EXPECT_EQ(0U, personal_data_->GetCreditCards().size()); 438 EXPECT_EQ(0U, personal_data_->GetCreditCards().size());
439 } 439 }
440 440
441 // Tests that UpdateServerCreditCard can be used to mask or unmask server cards. 441 // Tests that UpdateServerCreditCard can be used to mask or unmask server cards.
442 TEST_F(PersonalDataManagerTest, UpdateServerCreditCards) { 442 TEST_F(PersonalDataManagerTest, UpdateServerCreditCards) {
443 EnableWalletCardImport(); 443 EnableWalletCardImport();
444 444
445 std::vector<CreditCard> server_cards; 445 std::vector<CreditCard> server_cards;
446 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); 446 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123"));
447 test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", 447 test::SetCreditCardInfo(&server_cards.back(), "John Dillinger",
448 "9012" /* Visa */, "01", "2010"); 448 "9012" /* Visa */, "01", "2010");
449 server_cards.back().SetTypeForMaskedCard(kVisaCard); 449 server_cards.back().SetTypeForMaskedCard(kVisaCard);
450 450
451 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); 451 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456"));
452 test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker", 452 test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker",
453 "2109" /* Mastercard */, "12", "2012"); 453 "2109" /* Mastercard */, "12", "2012");
454 server_cards.back().SetTypeForMaskedCard(kMasterCard); 454 server_cards.back().SetTypeForMaskedCard(kMasterCard);
455 455
456 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789")); 456 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789"));
457 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow", 457 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow",
458 "347666888555" /* American Express */, "04", "2015"); 458 "347666888555" /* American Express */, "04", "2015");
459 459
460 autofill_table_->SetServerCreditCards(server_cards); 460 test::SetServerCreditCards(autofill_table_, server_cards);
461 personal_data_->Refresh(); 461 personal_data_->Refresh();
462 462
463 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 463 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
464 .WillOnce(QuitMainMessageLoop()); 464 .WillOnce(QuitMainMessageLoop());
465 base::MessageLoop::current()->Run(); 465 base::MessageLoop::current()->Run();
466 466
467 ASSERT_EQ(3U, personal_data_->GetCreditCards().size()); 467 ASSERT_EQ(3U, personal_data_->GetCreditCards().size());
468 // The GUIDs will be different, so just compare the data. 468 // The GUIDs will be different, so just compare the data.
469 for (size_t i = 0; i < 3; ++i) 469 for (size_t i = 0; i < 3; ++i)
470 EXPECT_EQ(0, server_cards[i].Compare(*personal_data_->GetCreditCards()[i])); 470 EXPECT_EQ(0, server_cards[i].Compare(*personal_data_->GetCreditCards()[i]));
(...skipping 1214 matching lines...) Expand 10 before | Expand all | Expand 10 after
1685 TEST_F(PersonalDataManagerTest, AggregateCardsThatDuplicateServerCards) { 1685 TEST_F(PersonalDataManagerTest, AggregateCardsThatDuplicateServerCards) {
1686 // Add server cards. 1686 // Add server cards.
1687 std::vector<CreditCard> server_cards; 1687 std::vector<CreditCard> server_cards;
1688 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); 1688 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123"));
1689 test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", 1689 test::SetCreditCardInfo(&server_cards.back(), "John Dillinger",
1690 "1111" /* Visa */, "01", "2010"); 1690 "1111" /* Visa */, "01", "2010");
1691 server_cards.back().SetTypeForMaskedCard(kVisaCard); 1691 server_cards.back().SetTypeForMaskedCard(kVisaCard);
1692 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789")); 1692 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789"));
1693 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow", 1693 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow",
1694 "347666888555" /* American Express */, "04", "2015"); 1694 "347666888555" /* American Express */, "04", "2015");
1695 autofill_table_->SetServerCreditCards(server_cards); 1695 test::SetServerCreditCards(autofill_table_, server_cards);
1696 1696
1697 FormData form1; 1697 FormData form1;
1698 1698
1699 // Type the same data as the masked card into a form. 1699 // Type the same data as the masked card into a form.
1700 FormFieldData field; 1700 FormFieldData field;
1701 test::CreateTestFormField( 1701 test::CreateTestFormField(
1702 "Name on card:", "name_on_card", "John Dillinger", "text", &field); 1702 "Name on card:", "name_on_card", "John Dillinger", "text", &field);
1703 form1.fields.push_back(field); 1703 form1.fields.push_back(field);
1704 test::CreateTestFormField( 1704 test::CreateTestFormField(
1705 "Card Number:", "card_number", "4111111111111111", "text", &field); 1705 "Card Number:", "card_number", "4111111111111111", "text", &field);
(...skipping 1170 matching lines...) Expand 10 before | Expand all | Expand 10 after
2876 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); 2876 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456"));
2877 test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker", 2877 test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker",
2878 "2109", "12", "2012"); 2878 "2109", "12", "2012");
2879 server_cards.back().SetTypeForMaskedCard(kVisaCard); 2879 server_cards.back().SetTypeForMaskedCard(kVisaCard);
2880 2880
2881 // This unmasked server card is a dupe. 2881 // This unmasked server card is a dupe.
2882 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789")); 2882 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789"));
2883 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow", 2883 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow",
2884 "347666888555" /* American Express */, "04", "2015"); 2884 "347666888555" /* American Express */, "04", "2015");
2885 2885
2886 autofill_table_->SetServerCreditCards(server_cards); 2886 test::SetServerCreditCards(autofill_table_, server_cards);
2887 personal_data_->Refresh(); 2887 personal_data_->Refresh();
2888 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 2888 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
2889 .WillOnce(QuitMainMessageLoop()); 2889 .WillOnce(QuitMainMessageLoop());
2890 base::MessageLoop::current()->Run(); 2890 base::MessageLoop::current()->Run();
2891 2891
2892 suggestions = personal_data_->GetCreditCardSuggestions( 2892 suggestions = personal_data_->GetCreditCardSuggestions(
2893 AutofillType(CREDIT_CARD_NAME), base::string16()); 2893 AutofillType(CREDIT_CARD_NAME), base::string16());
2894 ASSERT_EQ(4U, suggestions.size()); 2894 ASSERT_EQ(4U, suggestions.size());
2895 EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[0].value); 2895 EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[0].value);
2896 EXPECT_EQ(suggestions[0].backend_id.guid, credit_card2.guid());
2897 EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[1].value);
2898 EXPECT_NE(suggestions[1].backend_id.guid, credit_card1.guid());
2899 EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[2].value);
2900 EXPECT_NE(suggestions[2].backend_id.guid, credit_card2.guid());
2901 EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[3].value);
2902 EXPECT_NE(suggestions[0].backend_id.guid, credit_card0.guid()); 2896 EXPECT_NE(suggestions[0].backend_id.guid, credit_card0.guid());
2897 EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[1].value);
Evan Stade 2015/03/06 00:10:41 suggestions changed order because unmasking update
2898 EXPECT_EQ(suggestions[1].backend_id.guid, credit_card2.guid());
2899 EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[2].value);
2900 EXPECT_NE(suggestions[2].backend_id.guid, credit_card1.guid());
2901 EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[3].value);
2902 EXPECT_NE(suggestions[3].backend_id.guid, credit_card2.guid());
2903 2903
2904 suggestions = personal_data_->GetCreditCardSuggestions( 2904 suggestions = personal_data_->GetCreditCardSuggestions(
2905 AutofillType(CREDIT_CARD_NUMBER), base::string16()); 2905 AutofillType(CREDIT_CARD_NUMBER), base::string16());
2906 ASSERT_EQ(4U, suggestions.size()); 2906 ASSERT_EQ(4U, suggestions.size());
2907 EXPECT_EQ(ASCIIToUTF16("MasterCard - 2109"), suggestions[0].value); 2907 EXPECT_EQ(ASCIIToUTF16("Amex - 8555"), suggestions[0].value);
2908 EXPECT_EQ(ASCIIToUTF16("Visa - 9012"), suggestions[1].value); 2908 EXPECT_EQ(ASCIIToUTF16("MasterCard - 2109"), suggestions[1].value);
2909 EXPECT_EQ(ASCIIToUTF16("Visa - 2109"), suggestions[2].value); 2909 EXPECT_EQ(ASCIIToUTF16("Visa - 9012"), suggestions[2].value);
2910 EXPECT_EQ(ASCIIToUTF16("Amex - 8555"), suggestions[3].value); 2910 EXPECT_EQ(ASCIIToUTF16("Visa - 2109"), suggestions[3].value);
2911 2911
2912 // Make sure a server card can be a dupe of more than one local card. 2912 // Make sure a server card can be a dupe of more than one local card.
2913 CreditCard credit_card3("4141084B-72D7-4B73-90CF-3D6AC154673B", 2913 CreditCard credit_card3("4141084B-72D7-4B73-90CF-3D6AC154673B",
2914 "https://www.example.com"); 2914 "https://www.example.com");
2915 test::SetCreditCardInfo(&credit_card3, "John Dillinger", "", "01", ""); 2915 test::SetCreditCardInfo(&credit_card3, "John Dillinger", "", "01", "");
2916 personal_data_->AddCreditCard(credit_card3); 2916 personal_data_->AddCreditCard(credit_card3);
2917 2917
2918 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 2918 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
2919 .WillOnce(QuitMainMessageLoop()); 2919 .WillOnce(QuitMainMessageLoop());
2920 base::MessageLoop::current()->Run(); 2920 base::MessageLoop::current()->Run();
2921 2921
2922 suggestions = personal_data_->GetCreditCardSuggestions( 2922 suggestions = personal_data_->GetCreditCardSuggestions(
2923 AutofillType(CREDIT_CARD_NAME), base::string16()); 2923 AutofillType(CREDIT_CARD_NAME), base::string16());
2924 ASSERT_EQ(4U, suggestions.size()); 2924 ASSERT_EQ(4U, suggestions.size());
2925 EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[0].value); 2925 EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[0].value);
2926 EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[1].value); 2926 EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[1].value);
2927 EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[2].value); 2927 EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[2].value);
2928 EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[3].value); 2928 EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[3].value);
2929 } 2929 }
2930 2930
2931 #if defined(OS_MACOSX) && !defined(OS_IOS) 2931 #if defined(OS_MACOSX) && !defined(OS_IOS)
2932 TEST_F(PersonalDataManagerTest, ShowAddressBookPrompt) { 2932 TEST_F(PersonalDataManagerTest, ShowAddressBookPrompt) {
2933 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()).Times(2); 2933 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()).Times(2);
2934 2934
2935 AutofillType type(ADDRESS_HOME_STREET_ADDRESS); 2935 AutofillType type(ADDRESS_HOME_STREET_ADDRESS);
2936 2936
2937 prefs_->SetBoolean(prefs::kAutofillEnabled, false); 2937 prefs_->SetBoolean(prefs::kAutofillEnabled, false);
2938 EXPECT_FALSE(personal_data_->ShouldShowAccessAddressBookSuggestion(type)); 2938 EXPECT_FALSE(personal_data_->ShouldShowAccessAddressBookSuggestion(type));
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
3041 3041
3042 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); 3042 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456"));
3043 test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker", 3043 test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker",
3044 "2109" /* Mastercard */, "12", "2012"); 3044 "2109" /* Mastercard */, "12", "2012");
3045 server_cards.back().SetTypeForMaskedCard(kMasterCard); 3045 server_cards.back().SetTypeForMaskedCard(kMasterCard);
3046 3046
3047 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789")); 3047 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789"));
3048 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow", 3048 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow",
3049 "347666888555" /* American Express */, "04", "2015"); 3049 "347666888555" /* American Express */, "04", "2015");
3050 3050
3051 autofill_table_->SetServerCreditCards(server_cards); 3051 test::SetServerCreditCards(autofill_table_, server_cards);
3052 personal_data_->Refresh(); 3052 personal_data_->Refresh();
3053 3053
3054 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 3054 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
3055 .WillOnce(QuitMainMessageLoop()); 3055 .WillOnce(QuitMainMessageLoop());
3056 base::MessageLoop::current()->Run(); 3056 base::MessageLoop::current()->Run();
3057 3057
3058 ASSERT_EQ(3U, personal_data_->GetCreditCards().size()); 3058 ASSERT_EQ(3U, personal_data_->GetCreditCards().size());
3059 // The GUIDs will be different, so just compare the data. 3059 // The GUIDs will be different, so just compare the data.
3060 for (size_t i = 0; i < 3; ++i) 3060 for (size_t i = 0; i < 3; ++i)
3061 EXPECT_EQ(0, server_cards[i].Compare(*personal_data_->GetCreditCards()[i])); 3061 EXPECT_EQ(0, server_cards[i].Compare(*personal_data_->GetCreditCards()[i]));
(...skipping 12 matching lines...) Expand all
3074 for (size_t i = 0; i < 3; ++i) 3074 for (size_t i = 0; i < 3; ++i)
3075 EXPECT_EQ(0, server_cards[i].Compare(*personal_data_->GetCreditCards()[i])); 3075 EXPECT_EQ(0, server_cards[i].Compare(*personal_data_->GetCreditCards()[i]));
3076 3076
3077 // For an unmasked card, usage data starts out as 1 and Now(). 3077 // For an unmasked card, usage data starts out as 1 and Now().
3078 EXPECT_EQ(1U, personal_data_->GetCreditCards()[0]->use_count()); 3078 EXPECT_EQ(1U, personal_data_->GetCreditCards()[0]->use_count());
3079 EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[0]->use_date()); 3079 EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[0]->use_date());
3080 3080
3081 EXPECT_EQ(0U, personal_data_->GetCreditCards()[1]->use_count()); 3081 EXPECT_EQ(0U, personal_data_->GetCreditCards()[1]->use_count());
3082 EXPECT_EQ(base::Time(), personal_data_->GetCreditCards()[1]->use_date()); 3082 EXPECT_EQ(base::Time(), personal_data_->GetCreditCards()[1]->use_date());
3083 3083
3084 EXPECT_EQ(0U, personal_data_->GetCreditCards()[2]->use_count()); 3084 // Having unmasked this card, usage stats should be 1 and Now().
3085 EXPECT_EQ(base::Time(), personal_data_->GetCreditCards()[2]->use_date()); 3085 EXPECT_EQ(1U, personal_data_->GetCreditCards()[2]->use_count());
3086 EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[2]->use_date());
3087 base::Time initial_use_date = personal_data_->GetCreditCards()[2]->use_date();
3086 3088
3087 server_cards.back().set_guid(personal_data_->GetCreditCards()[2]->guid()); 3089 server_cards.back().set_guid(personal_data_->GetCreditCards()[2]->guid());
3088 personal_data_->RecordUseOf(server_cards.back()); 3090 personal_data_->RecordUseOf(server_cards.back());
3089 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 3091 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
3090 .WillOnce(QuitMainMessageLoop()); 3092 .WillOnce(QuitMainMessageLoop());
3091 base::MessageLoop::current()->Run(); 3093 base::MessageLoop::current()->Run();
3092 3094
3093 EXPECT_EQ(1U, personal_data_->GetCreditCards()[0]->use_count()); 3095 EXPECT_EQ(1U, personal_data_->GetCreditCards()[0]->use_count());
3094 EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[0]->use_date()); 3096 EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[0]->use_date());
3095 3097
3096 EXPECT_EQ(0U, personal_data_->GetCreditCards()[1]->use_count()); 3098 EXPECT_EQ(0U, personal_data_->GetCreditCards()[1]->use_count());
3097 EXPECT_EQ(base::Time(), personal_data_->GetCreditCards()[1]->use_date()); 3099 EXPECT_EQ(base::Time(), personal_data_->GetCreditCards()[1]->use_date());
3098 3100
3099 EXPECT_EQ(1U, personal_data_->GetCreditCards()[2]->use_count()); 3101 EXPECT_EQ(2U, personal_data_->GetCreditCards()[2]->use_count());
3100 EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[2]->use_date()); 3102 EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[2]->use_date());
3103 EXPECT_NE(initial_use_date, personal_data_->GetCreditCards()[2]->use_date());
3101 } 3104 }
3102 3105
3103 } // namespace autofill 3106 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/core/browser/autofill_test_utils.cc ('k') | components/autofill/core/browser/webdata/autofill_table.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698