| OLD | NEW |
| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include <tuple> | 7 #include <tuple> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 896 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 907 EXPECT_TRUE(table_->EmptyAutofillProfilesTrash()); | 907 EXPECT_TRUE(table_->EmptyAutofillProfilesTrash()); |
| 908 EXPECT_TRUE(table_->RemoveAutofillProfile(profile.guid())); | 908 EXPECT_TRUE(table_->RemoveAutofillProfile(profile.guid())); |
| 909 removed_profile = table_->GetAutofillProfile(profile.guid()); | 909 removed_profile = table_->GetAutofillProfile(profile.guid()); |
| 910 EXPECT_FALSE(removed_profile); | 910 EXPECT_FALSE(removed_profile); |
| 911 } | 911 } |
| 912 | 912 |
| 913 TEST_F(AutofillTableTest, CreditCard) { | 913 TEST_F(AutofillTableTest, CreditCard) { |
| 914 // Add a 'Work' credit card. | 914 // Add a 'Work' credit card. |
| 915 CreditCard work_creditcard; | 915 CreditCard work_creditcard; |
| 916 work_creditcard.set_origin("https://www.example.com/"); | 916 work_creditcard.set_origin("https://www.example.com/"); |
| 917 work_creditcard.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Jack Torrance")); | 917 work_creditcard.SetRawInfo(CREDIT_CARD_NAME_FULL, |
| 918 ASCIIToUTF16("Jack Torrance")); |
| 918 work_creditcard.SetRawInfo(CREDIT_CARD_NUMBER, | 919 work_creditcard.SetRawInfo(CREDIT_CARD_NUMBER, |
| 919 ASCIIToUTF16("1234567890123456")); | 920 ASCIIToUTF16("1234567890123456")); |
| 920 work_creditcard.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("04")); | 921 work_creditcard.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("04")); |
| 921 work_creditcard.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, | 922 work_creditcard.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, |
| 922 ASCIIToUTF16("2013")); | 923 ASCIIToUTF16("2013")); |
| 923 | 924 |
| 924 Time pre_creation_time = Time::Now(); | 925 Time pre_creation_time = Time::Now(); |
| 925 EXPECT_TRUE(table_->AddCreditCard(work_creditcard)); | 926 EXPECT_TRUE(table_->AddCreditCard(work_creditcard)); |
| 926 Time post_creation_time = Time::Now(); | 927 Time post_creation_time = Time::Now(); |
| 927 | 928 |
| 928 // Get the 'Work' credit card. | 929 // Get the 'Work' credit card. |
| 929 scoped_ptr<CreditCard> db_creditcard = | 930 scoped_ptr<CreditCard> db_creditcard = |
| 930 table_->GetCreditCard(work_creditcard.guid()); | 931 table_->GetCreditCard(work_creditcard.guid()); |
| 931 ASSERT_TRUE(db_creditcard); | 932 ASSERT_TRUE(db_creditcard); |
| 932 EXPECT_EQ(work_creditcard, *db_creditcard); | 933 EXPECT_EQ(work_creditcard, *db_creditcard); |
| 933 sql::Statement s_work(db_->GetSQLConnection()->GetUniqueStatement( | 934 sql::Statement s_work(db_->GetSQLConnection()->GetUniqueStatement( |
| 934 "SELECT guid, name_on_card, expiration_month, expiration_year, " | 935 "SELECT guid, name_on_card, expiration_month, expiration_year, " |
| 935 "card_number_encrypted, date_modified " | 936 "card_number_encrypted, date_modified " |
| 936 "FROM credit_cards WHERE guid=?")); | 937 "FROM credit_cards WHERE guid=?")); |
| 937 s_work.BindString(0, work_creditcard.guid()); | 938 s_work.BindString(0, work_creditcard.guid()); |
| 938 ASSERT_TRUE(s_work.is_valid()); | 939 ASSERT_TRUE(s_work.is_valid()); |
| 939 ASSERT_TRUE(s_work.Step()); | 940 ASSERT_TRUE(s_work.Step()); |
| 940 EXPECT_GE(s_work.ColumnInt64(5), pre_creation_time.ToTimeT()); | 941 EXPECT_GE(s_work.ColumnInt64(5), pre_creation_time.ToTimeT()); |
| 941 EXPECT_LE(s_work.ColumnInt64(5), post_creation_time.ToTimeT()); | 942 EXPECT_LE(s_work.ColumnInt64(5), post_creation_time.ToTimeT()); |
| 942 EXPECT_FALSE(s_work.Step()); | 943 EXPECT_FALSE(s_work.Step()); |
| 943 | 944 |
| 944 // Add a 'Target' credit card. | 945 // Add a 'Target' credit card. |
| 945 CreditCard target_creditcard; | 946 CreditCard target_creditcard; |
| 946 target_creditcard.set_origin(std::string()); | 947 target_creditcard.set_origin(std::string()); |
| 947 target_creditcard.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Jack Torrance")); | 948 target_creditcard.SetRawInfo(CREDIT_CARD_NAME_FULL, |
| 949 ASCIIToUTF16("Jack Torrance")); |
| 948 target_creditcard.SetRawInfo(CREDIT_CARD_NUMBER, | 950 target_creditcard.SetRawInfo(CREDIT_CARD_NUMBER, |
| 949 ASCIIToUTF16("1111222233334444")); | 951 ASCIIToUTF16("1111222233334444")); |
| 950 target_creditcard.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("06")); | 952 target_creditcard.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("06")); |
| 951 target_creditcard.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, | 953 target_creditcard.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, |
| 952 ASCIIToUTF16("2012")); | 954 ASCIIToUTF16("2012")); |
| 953 | 955 |
| 954 pre_creation_time = Time::Now(); | 956 pre_creation_time = Time::Now(); |
| 955 EXPECT_TRUE(table_->AddCreditCard(target_creditcard)); | 957 EXPECT_TRUE(table_->AddCreditCard(target_creditcard)); |
| 956 post_creation_time = Time::Now(); | 958 post_creation_time = Time::Now(); |
| 957 db_creditcard = table_->GetCreditCard(target_creditcard.guid()); | 959 db_creditcard = table_->GetCreditCard(target_creditcard.guid()); |
| 958 ASSERT_TRUE(db_creditcard); | 960 ASSERT_TRUE(db_creditcard); |
| 959 EXPECT_EQ(target_creditcard, *db_creditcard); | 961 EXPECT_EQ(target_creditcard, *db_creditcard); |
| 960 sql::Statement s_target(db_->GetSQLConnection()->GetUniqueStatement( | 962 sql::Statement s_target(db_->GetSQLConnection()->GetUniqueStatement( |
| 961 "SELECT guid, name_on_card, expiration_month, expiration_year, " | 963 "SELECT guid, name_on_card, expiration_month, expiration_year, " |
| 962 "card_number_encrypted, date_modified " | 964 "card_number_encrypted, date_modified " |
| 963 "FROM credit_cards WHERE guid=?")); | 965 "FROM credit_cards WHERE guid=?")); |
| 964 s_target.BindString(0, target_creditcard.guid()); | 966 s_target.BindString(0, target_creditcard.guid()); |
| 965 ASSERT_TRUE(s_target.is_valid()); | 967 ASSERT_TRUE(s_target.is_valid()); |
| 966 ASSERT_TRUE(s_target.Step()); | 968 ASSERT_TRUE(s_target.Step()); |
| 967 EXPECT_GE(s_target.ColumnInt64(5), pre_creation_time.ToTimeT()); | 969 EXPECT_GE(s_target.ColumnInt64(5), pre_creation_time.ToTimeT()); |
| 968 EXPECT_LE(s_target.ColumnInt64(5), post_creation_time.ToTimeT()); | 970 EXPECT_LE(s_target.ColumnInt64(5), post_creation_time.ToTimeT()); |
| 969 EXPECT_FALSE(s_target.Step()); | 971 EXPECT_FALSE(s_target.Step()); |
| 970 | 972 |
| 971 // Update the 'Target' credit card. | 973 // Update the 'Target' credit card. |
| 972 target_creditcard.set_origin("Interactive Autofill dialog"); | 974 target_creditcard.set_origin("Interactive Autofill dialog"); |
| 973 target_creditcard.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Charles Grady")); | 975 target_creditcard.SetRawInfo(CREDIT_CARD_NAME_FULL, |
| 976 ASCIIToUTF16("Charles Grady")); |
| 974 Time pre_modification_time = Time::Now(); | 977 Time pre_modification_time = Time::Now(); |
| 975 EXPECT_TRUE(table_->UpdateCreditCard(target_creditcard)); | 978 EXPECT_TRUE(table_->UpdateCreditCard(target_creditcard)); |
| 976 Time post_modification_time = Time::Now(); | 979 Time post_modification_time = Time::Now(); |
| 977 db_creditcard = table_->GetCreditCard(target_creditcard.guid()); | 980 db_creditcard = table_->GetCreditCard(target_creditcard.guid()); |
| 978 ASSERT_TRUE(db_creditcard); | 981 ASSERT_TRUE(db_creditcard); |
| 979 EXPECT_EQ(target_creditcard, *db_creditcard); | 982 EXPECT_EQ(target_creditcard, *db_creditcard); |
| 980 sql::Statement s_target_updated(db_->GetSQLConnection()->GetUniqueStatement( | 983 sql::Statement s_target_updated(db_->GetSQLConnection()->GetUniqueStatement( |
| 981 "SELECT guid, name_on_card, expiration_month, expiration_year, " | 984 "SELECT guid, name_on_card, expiration_month, expiration_year, " |
| 982 "card_number_encrypted, date_modified " | 985 "card_number_encrypted, date_modified " |
| 983 "FROM credit_cards WHERE guid=?")); | 986 "FROM credit_cards WHERE guid=?")); |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1070 "SELECT date_modified FROM autofill_profiles")); | 1073 "SELECT date_modified FROM autofill_profiles")); |
| 1071 ASSERT_TRUE(s_unchanged.is_valid()); | 1074 ASSERT_TRUE(s_unchanged.is_valid()); |
| 1072 ASSERT_TRUE(s_unchanged.Step()); | 1075 ASSERT_TRUE(s_unchanged.Step()); |
| 1073 EXPECT_EQ(mock_modification_date, s_unchanged.ColumnInt64(0)); | 1076 EXPECT_EQ(mock_modification_date, s_unchanged.ColumnInt64(0)); |
| 1074 EXPECT_FALSE(s_unchanged.Step()); | 1077 EXPECT_FALSE(s_unchanged.Step()); |
| 1075 } | 1078 } |
| 1076 | 1079 |
| 1077 TEST_F(AutofillTableTest, UpdateCreditCard) { | 1080 TEST_F(AutofillTableTest, UpdateCreditCard) { |
| 1078 // Add a credit card to the db. | 1081 // Add a credit card to the db. |
| 1079 CreditCard credit_card; | 1082 CreditCard credit_card; |
| 1080 credit_card.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Jack Torrance")); | 1083 credit_card.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Jack Torrance")); |
| 1081 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1234567890123456")); | 1084 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1234567890123456")); |
| 1082 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("04")); | 1085 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("04")); |
| 1083 credit_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2013")); | 1086 credit_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2013")); |
| 1084 table_->AddCreditCard(credit_card); | 1087 table_->AddCreditCard(credit_card); |
| 1085 | 1088 |
| 1086 // Set a mocked value for the credit card's creation time. | 1089 // Set a mocked value for the credit card's creation time. |
| 1087 const time_t kMockCreationDate = Time::Now().ToTimeT() - 13; | 1090 const time_t kMockCreationDate = Time::Now().ToTimeT() - 13; |
| 1088 sql::Statement s_mock_creation_date( | 1091 sql::Statement s_mock_creation_date( |
| 1089 db_->GetSQLConnection()->GetUniqueStatement( | 1092 db_->GetSQLConnection()->GetUniqueStatement( |
| 1090 "UPDATE credit_cards SET date_modified = ?")); | 1093 "UPDATE credit_cards SET date_modified = ?")); |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1196 "SELECT date_modified FROM autofill_profiles")); | 1199 "SELECT date_modified FROM autofill_profiles")); |
| 1197 ASSERT_TRUE(s_updated.is_valid()); | 1200 ASSERT_TRUE(s_updated.is_valid()); |
| 1198 ASSERT_TRUE(s_updated.Step()); | 1201 ASSERT_TRUE(s_updated.Step()); |
| 1199 EXPECT_LT(kMockCreationDate, s_updated.ColumnInt64(0)); | 1202 EXPECT_LT(kMockCreationDate, s_updated.ColumnInt64(0)); |
| 1200 EXPECT_FALSE(s_updated.Step()); | 1203 EXPECT_FALSE(s_updated.Step()); |
| 1201 } | 1204 } |
| 1202 | 1205 |
| 1203 TEST_F(AutofillTableTest, UpdateCreditCardOriginOnly) { | 1206 TEST_F(AutofillTableTest, UpdateCreditCardOriginOnly) { |
| 1204 // Add a credit card to the db. | 1207 // Add a credit card to the db. |
| 1205 CreditCard credit_card; | 1208 CreditCard credit_card; |
| 1206 credit_card.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Jack Torrance")); | 1209 credit_card.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Jack Torrance")); |
| 1207 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1234567890123456")); | 1210 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1234567890123456")); |
| 1208 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("04")); | 1211 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("04")); |
| 1209 credit_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2013")); | 1212 credit_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2013")); |
| 1210 table_->AddCreditCard(credit_card); | 1213 table_->AddCreditCard(credit_card); |
| 1211 | 1214 |
| 1212 // Set a mocked value for the credit card's creation time. | 1215 // Set a mocked value for the credit card's creation time. |
| 1213 const time_t kMockCreationDate = Time::Now().ToTimeT() - 13; | 1216 const time_t kMockCreationDate = Time::Now().ToTimeT() - 13; |
| 1214 sql::Statement s_mock_creation_date( | 1217 sql::Statement s_mock_creation_date( |
| 1215 db_->GetSQLConnection()->GetUniqueStatement( | 1218 db_->GetSQLConnection()->GetUniqueStatement( |
| 1216 "UPDATE credit_cards SET date_modified = ?")); | 1219 "UPDATE credit_cards SET date_modified = ?")); |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1556 ASSERT_TRUE(table_->GetAllAutofillEntries(&entries)); | 1559 ASSERT_TRUE(table_->GetAllAutofillEntries(&entries)); |
| 1557 AutofillEntrySet entry_set(entries.begin(), entries.end(), | 1560 AutofillEntrySet entry_set(entries.begin(), entries.end(), |
| 1558 CompareAutofillEntries); | 1561 CompareAutofillEntries); |
| 1559 | 1562 |
| 1560 CompareAutofillEntrySets(entry_set, expected_entries); | 1563 CompareAutofillEntrySets(entry_set, expected_entries); |
| 1561 } | 1564 } |
| 1562 | 1565 |
| 1563 TEST_F(AutofillTableTest, SetGetServerCards) { | 1566 TEST_F(AutofillTableTest, SetGetServerCards) { |
| 1564 std::vector<CreditCard> inputs; | 1567 std::vector<CreditCard> inputs; |
| 1565 inputs.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "a123")); | 1568 inputs.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "a123")); |
| 1566 inputs[0].SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Paul F. Tompkins")); | 1569 inputs[0].SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Paul F. Tompkins")); |
| 1567 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1570 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
| 1568 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1571 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
| 1569 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111")); | 1572 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111")); |
| 1570 | 1573 |
| 1571 inputs.push_back( | 1574 inputs.push_back( |
| 1572 CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); | 1575 CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); |
| 1573 inputs[1].SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Rick Roman")); | 1576 inputs[1].SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Rick Roman")); |
| 1574 inputs[1].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); | 1577 inputs[1].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); |
| 1575 inputs[1].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("1997")); | 1578 inputs[1].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("1997")); |
| 1576 inputs[1].SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); | 1579 inputs[1].SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); |
| 1577 inputs[1].SetTypeForMaskedCard(kVisaCard); | 1580 inputs[1].SetTypeForMaskedCard(kVisaCard); |
| 1578 inputs[1].SetServerStatus(CreditCard::EXPIRED); | 1581 inputs[1].SetServerStatus(CreditCard::EXPIRED); |
| 1579 | 1582 |
| 1580 test::SetServerCreditCards(table_.get(), inputs); | 1583 test::SetServerCreditCards(table_.get(), inputs); |
| 1581 | 1584 |
| 1582 std::vector<CreditCard*> outputs; | 1585 std::vector<CreditCard*> outputs; |
| 1583 ASSERT_TRUE(table_->GetServerCreditCards(&outputs)); | 1586 ASSERT_TRUE(table_->GetServerCreditCards(&outputs)); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 1601 EXPECT_EQ(CreditCard::OK, outputs[0]->GetServerStatus()); | 1604 EXPECT_EQ(CreditCard::OK, outputs[0]->GetServerStatus()); |
| 1602 EXPECT_EQ(CreditCard::EXPIRED, outputs[1]->GetServerStatus()); | 1605 EXPECT_EQ(CreditCard::EXPIRED, outputs[1]->GetServerStatus()); |
| 1603 | 1606 |
| 1604 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1607 STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
| 1605 } | 1608 } |
| 1606 | 1609 |
| 1607 TEST_F(AutofillTableTest, MaskUnmaskServerCards) { | 1610 TEST_F(AutofillTableTest, MaskUnmaskServerCards) { |
| 1608 base::string16 masked_number(ASCIIToUTF16("1111")); | 1611 base::string16 masked_number(ASCIIToUTF16("1111")); |
| 1609 std::vector<CreditCard> inputs; | 1612 std::vector<CreditCard> inputs; |
| 1610 inputs.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); | 1613 inputs.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); |
| 1611 inputs[0].SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Jay Johnson")); | 1614 inputs[0].SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Jay Johnson")); |
| 1612 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1615 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
| 1613 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1616 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
| 1614 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, masked_number); | 1617 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, masked_number); |
| 1615 inputs[0].SetTypeForMaskedCard(kVisaCard); | 1618 inputs[0].SetTypeForMaskedCard(kVisaCard); |
| 1616 test::SetServerCreditCards(table_.get(), inputs); | 1619 test::SetServerCreditCards(table_.get(), inputs); |
| 1617 | 1620 |
| 1618 // Unmask the number. The full number should be available. | 1621 // Unmask the number. The full number should be available. |
| 1619 base::string16 full_number(ASCIIToUTF16("4111111111111111")); | 1622 base::string16 full_number(ASCIIToUTF16("4111111111111111")); |
| 1620 ASSERT_TRUE(table_->UnmaskServerCreditCard(inputs[0], | 1623 ASSERT_TRUE(table_->UnmaskServerCreditCard(inputs[0], |
| 1621 full_number)); | 1624 full_number)); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1638 | 1641 |
| 1639 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1642 STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
| 1640 outputs.clear(); | 1643 outputs.clear(); |
| 1641 } | 1644 } |
| 1642 | 1645 |
| 1643 // Calling SetServerCreditCards should replace all existing cards, but unmasked | 1646 // Calling SetServerCreditCards should replace all existing cards, but unmasked |
| 1644 // cards should not be re-masked. | 1647 // cards should not be re-masked. |
| 1645 TEST_F(AutofillTableTest, SetServerCardModify) { | 1648 TEST_F(AutofillTableTest, SetServerCardModify) { |
| 1646 // Add a masked card. | 1649 // Add a masked card. |
| 1647 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); | 1650 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); |
| 1648 masked_card.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Paul F. Tompkins")); | 1651 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, |
| 1652 ASCIIToUTF16("Paul F. Tompkins")); |
| 1649 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1653 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
| 1650 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1654 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
| 1651 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); | 1655 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); |
| 1652 masked_card.SetTypeForMaskedCard(kVisaCard); | 1656 masked_card.SetTypeForMaskedCard(kVisaCard); |
| 1653 | 1657 |
| 1654 std::vector<CreditCard> inputs; | 1658 std::vector<CreditCard> inputs; |
| 1655 inputs.push_back(masked_card); | 1659 inputs.push_back(masked_card); |
| 1656 test::SetServerCreditCards(table_.get(), inputs); | 1660 test::SetServerCreditCards(table_.get(), inputs); |
| 1657 | 1661 |
| 1658 // Now unmask it. | 1662 // Now unmask it. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1677 table_->GetServerCreditCards(&outputs); | 1681 table_->GetServerCreditCards(&outputs); |
| 1678 ASSERT_EQ(1u, outputs.size()); | 1682 ASSERT_EQ(1u, outputs.size()); |
| 1679 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::FULL_SERVER_CARD); | 1683 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::FULL_SERVER_CARD); |
| 1680 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1684 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
| 1681 | 1685 |
| 1682 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1686 STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
| 1683 outputs.clear(); | 1687 outputs.clear(); |
| 1684 | 1688 |
| 1685 // Set inputs that do not include our old card. | 1689 // Set inputs that do not include our old card. |
| 1686 CreditCard random_card(CreditCard::MASKED_SERVER_CARD, "b456"); | 1690 CreditCard random_card(CreditCard::MASKED_SERVER_CARD, "b456"); |
| 1687 random_card.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Rick Roman")); | 1691 random_card.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Rick Roman")); |
| 1688 random_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); | 1692 random_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); |
| 1689 random_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("1997")); | 1693 random_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("1997")); |
| 1690 random_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("2222")); | 1694 random_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("2222")); |
| 1691 random_card.SetTypeForMaskedCard(kVisaCard); | 1695 random_card.SetTypeForMaskedCard(kVisaCard); |
| 1692 inputs[0] = random_card; | 1696 inputs[0] = random_card; |
| 1693 test::SetServerCreditCards(table_.get(), inputs); | 1697 test::SetServerCreditCards(table_.get(), inputs); |
| 1694 | 1698 |
| 1695 // We should have only the new card, the other one should have been deleted. | 1699 // We should have only the new card, the other one should have been deleted. |
| 1696 table_->GetServerCreditCards(&outputs); | 1700 table_->GetServerCreditCards(&outputs); |
| 1697 ASSERT_EQ(1u, outputs.size()); | 1701 ASSERT_EQ(1u, outputs.size()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1712 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); | 1716 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); |
| 1713 EXPECT_EQ(ASCIIToUTF16("1111"), outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1717 EXPECT_EQ(ASCIIToUTF16("1111"), outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
| 1714 | 1718 |
| 1715 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1719 STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
| 1716 outputs.clear(); | 1720 outputs.clear(); |
| 1717 } | 1721 } |
| 1718 | 1722 |
| 1719 TEST_F(AutofillTableTest, SetServerCardUpdateUsageStats) { | 1723 TEST_F(AutofillTableTest, SetServerCardUpdateUsageStats) { |
| 1720 // Add a masked card. | 1724 // Add a masked card. |
| 1721 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); | 1725 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); |
| 1722 masked_card.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Paul F. Tompkins")); | 1726 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, |
| 1727 ASCIIToUTF16("Paul F. Tompkins")); |
| 1723 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1728 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
| 1724 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1729 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
| 1725 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); | 1730 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); |
| 1726 masked_card.SetTypeForMaskedCard(kVisaCard); | 1731 masked_card.SetTypeForMaskedCard(kVisaCard); |
| 1727 | 1732 |
| 1728 std::vector<CreditCard> inputs; | 1733 std::vector<CreditCard> inputs; |
| 1729 inputs.push_back(masked_card); | 1734 inputs.push_back(masked_card); |
| 1730 test::SetServerCreditCards(table_.get(), inputs); | 1735 test::SetServerCreditCards(table_.get(), inputs); |
| 1731 | 1736 |
| 1732 ScopedVector<CreditCard> outputs; | 1737 ScopedVector<CreditCard> outputs; |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1850 // Tests that deleting time ranges re-masks server credit cards that were | 1855 // Tests that deleting time ranges re-masks server credit cards that were |
| 1851 // unmasked in that time. | 1856 // unmasked in that time. |
| 1852 TEST_F(AutofillTableTest, DeleteUnmaskedCard) { | 1857 TEST_F(AutofillTableTest, DeleteUnmaskedCard) { |
| 1853 // This isn't the exact unmasked time, since the database will use the | 1858 // This isn't the exact unmasked time, since the database will use the |
| 1854 // current time that it is called. The code below has to be approximate. | 1859 // current time that it is called. The code below has to be approximate. |
| 1855 base::Time unmasked_time = base::Time::Now(); | 1860 base::Time unmasked_time = base::Time::Now(); |
| 1856 | 1861 |
| 1857 // Add a masked card. | 1862 // Add a masked card. |
| 1858 base::string16 masked_number = ASCIIToUTF16("1111"); | 1863 base::string16 masked_number = ASCIIToUTF16("1111"); |
| 1859 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); | 1864 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); |
| 1860 masked_card.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Paul F. Tompkins")); | 1865 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, |
| 1866 ASCIIToUTF16("Paul F. Tompkins")); |
| 1861 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1867 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
| 1862 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1868 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
| 1863 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, masked_number); | 1869 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, masked_number); |
| 1864 masked_card.SetTypeForMaskedCard(kVisaCard); | 1870 masked_card.SetTypeForMaskedCard(kVisaCard); |
| 1865 | 1871 |
| 1866 std::vector<CreditCard> inputs; | 1872 std::vector<CreditCard> inputs; |
| 1867 inputs.push_back(masked_card); | 1873 inputs.push_back(masked_card); |
| 1868 table_->SetServerCreditCards(inputs); | 1874 table_->SetServerCreditCards(inputs); |
| 1869 | 1875 |
| 1870 // Unmask it. | 1876 // Unmask it. |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1972 for (size_t j = 0; j < kTestCases[i].expected_suggestion_count; ++j) { | 1978 for (size_t j = 0; j < kTestCases[i].expected_suggestion_count; ++j) { |
| 1973 EXPECT_EQ(ASCIIToUTF16(kTestCases[i].expected_suggestion[j]), v[j]); | 1979 EXPECT_EQ(ASCIIToUTF16(kTestCases[i].expected_suggestion[j]), v[j]); |
| 1974 } | 1980 } |
| 1975 | 1981 |
| 1976 changes.clear(); | 1982 changes.clear(); |
| 1977 table_->RemoveFormElementsAddedBetween(t1, Time(), &changes); | 1983 table_->RemoveFormElementsAddedBetween(t1, Time(), &changes); |
| 1978 } | 1984 } |
| 1979 } | 1985 } |
| 1980 | 1986 |
| 1981 } // namespace autofill | 1987 } // namespace autofill |
| OLD | NEW |