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 "components/autofill/core/browser/webdata/autofill_table.h" | 5 #include "components/autofill/core/browser/webdata/autofill_table.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <tuple> | 9 #include <tuple> |
10 #include <utility> | 10 #include <utility> |
(...skipping 1609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1620 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1620 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
1621 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1621 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
1622 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111")); | 1622 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111")); |
1623 | 1623 |
1624 inputs.push_back( | 1624 inputs.push_back( |
1625 CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); | 1625 CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); |
1626 inputs[1].SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Rick Roman")); | 1626 inputs[1].SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Rick Roman")); |
1627 inputs[1].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); | 1627 inputs[1].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); |
1628 inputs[1].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("1997")); | 1628 inputs[1].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("1997")); |
1629 inputs[1].SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); | 1629 inputs[1].SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); |
1630 inputs[1].SetTypeForMaskedCard(kVisaCard); | 1630 inputs[1].SetNetworkForMaskedCard(kVisaCard); |
1631 inputs[1].SetServerStatus(CreditCard::EXPIRED); | 1631 inputs[1].SetServerStatus(CreditCard::EXPIRED); |
1632 | 1632 |
1633 test::SetServerCreditCards(table_.get(), inputs); | 1633 test::SetServerCreditCards(table_.get(), inputs); |
1634 | 1634 |
1635 std::vector<std::unique_ptr<CreditCard>> outputs; | 1635 std::vector<std::unique_ptr<CreditCard>> outputs; |
1636 ASSERT_TRUE(table_->GetServerCreditCards(&outputs)); | 1636 ASSERT_TRUE(table_->GetServerCreditCards(&outputs)); |
1637 ASSERT_EQ(inputs.size(), outputs.size()); | 1637 ASSERT_EQ(inputs.size(), outputs.size()); |
1638 | 1638 |
1639 // Ordering isn't guaranteed, so fix the ordering if it's backwards. | 1639 // Ordering isn't guaranteed, so fix the ordering if it's backwards. |
1640 if (outputs[1]->server_id() == inputs[0].server_id()) | 1640 if (outputs[1]->server_id() == inputs[0].server_id()) |
(...skipping 15 matching lines...) Expand all Loading... |
1656 } | 1656 } |
1657 | 1657 |
1658 TEST_F(AutofillTableTest, MaskUnmaskServerCards) { | 1658 TEST_F(AutofillTableTest, MaskUnmaskServerCards) { |
1659 base::string16 masked_number(ASCIIToUTF16("1111")); | 1659 base::string16 masked_number(ASCIIToUTF16("1111")); |
1660 std::vector<CreditCard> inputs; | 1660 std::vector<CreditCard> inputs; |
1661 inputs.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); | 1661 inputs.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); |
1662 inputs[0].SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Jay Johnson")); | 1662 inputs[0].SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Jay Johnson")); |
1663 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1663 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
1664 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1664 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
1665 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, masked_number); | 1665 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, masked_number); |
1666 inputs[0].SetTypeForMaskedCard(kVisaCard); | 1666 inputs[0].SetNetworkForMaskedCard(kVisaCard); |
1667 test::SetServerCreditCards(table_.get(), inputs); | 1667 test::SetServerCreditCards(table_.get(), inputs); |
1668 | 1668 |
1669 // Unmask the number. The full number should be available. | 1669 // Unmask the number. The full number should be available. |
1670 base::string16 full_number(ASCIIToUTF16("4111111111111111")); | 1670 base::string16 full_number(ASCIIToUTF16("4111111111111111")); |
1671 ASSERT_TRUE(table_->UnmaskServerCreditCard(inputs[0], | 1671 ASSERT_TRUE(table_->UnmaskServerCreditCard(inputs[0], |
1672 full_number)); | 1672 full_number)); |
1673 | 1673 |
1674 std::vector<std::unique_ptr<CreditCard>> outputs; | 1674 std::vector<std::unique_ptr<CreditCard>> outputs; |
1675 table_->GetServerCreditCards(&outputs); | 1675 table_->GetServerCreditCards(&outputs); |
1676 ASSERT_EQ(1u, outputs.size()); | 1676 ASSERT_EQ(1u, outputs.size()); |
(...skipping 15 matching lines...) Expand all Loading... |
1692 // Calling SetServerCreditCards should replace all existing cards, but unmasked | 1692 // Calling SetServerCreditCards should replace all existing cards, but unmasked |
1693 // cards should not be re-masked. | 1693 // cards should not be re-masked. |
1694 TEST_F(AutofillTableTest, SetServerCardModify) { | 1694 TEST_F(AutofillTableTest, SetServerCardModify) { |
1695 // Add a masked card. | 1695 // Add a masked card. |
1696 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); | 1696 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); |
1697 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, | 1697 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, |
1698 ASCIIToUTF16("Paul F. Tompkins")); | 1698 ASCIIToUTF16("Paul F. Tompkins")); |
1699 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1699 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
1700 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1700 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
1701 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); | 1701 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); |
1702 masked_card.SetTypeForMaskedCard(kVisaCard); | 1702 masked_card.SetNetworkForMaskedCard(kVisaCard); |
1703 | 1703 |
1704 std::vector<CreditCard> inputs; | 1704 std::vector<CreditCard> inputs; |
1705 inputs.push_back(masked_card); | 1705 inputs.push_back(masked_card); |
1706 test::SetServerCreditCards(table_.get(), inputs); | 1706 test::SetServerCreditCards(table_.get(), inputs); |
1707 | 1707 |
1708 // Now unmask it. | 1708 // Now unmask it. |
1709 base::string16 full_number = ASCIIToUTF16("4111111111111111"); | 1709 base::string16 full_number = ASCIIToUTF16("4111111111111111"); |
1710 table_->UnmaskServerCreditCard(masked_card, full_number); | 1710 table_->UnmaskServerCreditCard(masked_card, full_number); |
1711 | 1711 |
1712 // The card should now be unmasked. | 1712 // The card should now be unmasked. |
(...skipping 16 matching lines...) Expand all Loading... |
1729 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1729 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
1730 | 1730 |
1731 outputs.clear(); | 1731 outputs.clear(); |
1732 | 1732 |
1733 // Set inputs that do not include our old card. | 1733 // Set inputs that do not include our old card. |
1734 CreditCard random_card(CreditCard::MASKED_SERVER_CARD, "b456"); | 1734 CreditCard random_card(CreditCard::MASKED_SERVER_CARD, "b456"); |
1735 random_card.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Rick Roman")); | 1735 random_card.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Rick Roman")); |
1736 random_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); | 1736 random_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); |
1737 random_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("1997")); | 1737 random_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("1997")); |
1738 random_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("2222")); | 1738 random_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("2222")); |
1739 random_card.SetTypeForMaskedCard(kVisaCard); | 1739 random_card.SetNetworkForMaskedCard(kVisaCard); |
1740 inputs[0] = random_card; | 1740 inputs[0] = random_card; |
1741 test::SetServerCreditCards(table_.get(), inputs); | 1741 test::SetServerCreditCards(table_.get(), inputs); |
1742 | 1742 |
1743 // We should have only the new card, the other one should have been deleted. | 1743 // We should have only the new card, the other one should have been deleted. |
1744 table_->GetServerCreditCards(&outputs); | 1744 table_->GetServerCreditCards(&outputs); |
1745 ASSERT_EQ(1u, outputs.size()); | 1745 ASSERT_EQ(1u, outputs.size()); |
1746 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::MASKED_SERVER_CARD); | 1746 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::MASKED_SERVER_CARD); |
1747 EXPECT_EQ(random_card.server_id(), outputs[0]->server_id()); | 1747 EXPECT_EQ(random_card.server_id(), outputs[0]->server_id()); |
1748 EXPECT_EQ(ASCIIToUTF16("2222"), outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1748 EXPECT_EQ(ASCIIToUTF16("2222"), outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
1749 | 1749 |
(...skipping 14 matching lines...) Expand all Loading... |
1764 | 1764 |
1765 TEST_F(AutofillTableTest, SetServerCardUpdateUsageStatsAndBillingAddress) { | 1765 TEST_F(AutofillTableTest, SetServerCardUpdateUsageStatsAndBillingAddress) { |
1766 // Add a masked card. | 1766 // Add a masked card. |
1767 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); | 1767 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); |
1768 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, | 1768 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, |
1769 ASCIIToUTF16("Paul F. Tompkins")); | 1769 ASCIIToUTF16("Paul F. Tompkins")); |
1770 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1770 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
1771 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1771 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
1772 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); | 1772 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); |
1773 masked_card.set_billing_address_id("1"); | 1773 masked_card.set_billing_address_id("1"); |
1774 masked_card.SetTypeForMaskedCard(kVisaCard); | 1774 masked_card.SetNetworkForMaskedCard(kVisaCard); |
1775 | 1775 |
1776 std::vector<CreditCard> inputs; | 1776 std::vector<CreditCard> inputs; |
1777 inputs.push_back(masked_card); | 1777 inputs.push_back(masked_card); |
1778 test::SetServerCreditCards(table_.get(), inputs); | 1778 test::SetServerCreditCards(table_.get(), inputs); |
1779 | 1779 |
1780 std::vector<std::unique_ptr<CreditCard>> outputs; | 1780 std::vector<std::unique_ptr<CreditCard>> outputs; |
1781 table_->GetServerCreditCards(&outputs); | 1781 table_->GetServerCreditCards(&outputs); |
1782 ASSERT_EQ(1u, outputs.size()); | 1782 ASSERT_EQ(1u, outputs.size()); |
1783 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); | 1783 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); |
1784 EXPECT_EQ(1U, outputs[0]->use_count()); | 1784 EXPECT_EQ(1U, outputs[0]->use_count()); |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1905 base::Time unmasked_time = base::Time::Now(); | 1905 base::Time unmasked_time = base::Time::Now(); |
1906 | 1906 |
1907 // Add a masked card. | 1907 // Add a masked card. |
1908 base::string16 masked_number = ASCIIToUTF16("1111"); | 1908 base::string16 masked_number = ASCIIToUTF16("1111"); |
1909 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); | 1909 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); |
1910 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, | 1910 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, |
1911 ASCIIToUTF16("Paul F. Tompkins")); | 1911 ASCIIToUTF16("Paul F. Tompkins")); |
1912 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1912 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
1913 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1913 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
1914 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, masked_number); | 1914 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, masked_number); |
1915 masked_card.SetTypeForMaskedCard(kVisaCard); | 1915 masked_card.SetNetworkForMaskedCard(kVisaCard); |
1916 | 1916 |
1917 std::vector<CreditCard> inputs; | 1917 std::vector<CreditCard> inputs; |
1918 inputs.push_back(masked_card); | 1918 inputs.push_back(masked_card); |
1919 table_->SetServerCreditCards(inputs); | 1919 table_->SetServerCreditCards(inputs); |
1920 | 1920 |
1921 // Unmask it. | 1921 // Unmask it. |
1922 base::string16 full_number = ASCIIToUTF16("4111111111111111"); | 1922 base::string16 full_number = ASCIIToUTF16("4111111111111111"); |
1923 table_->UnmaskServerCreditCard(masked_card, full_number); | 1923 table_->UnmaskServerCreditCard(masked_card, full_number); |
1924 | 1924 |
1925 // Delete data in a range a year in the future. | 1925 // Delete data in a range a year in the future. |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2170 sql::Statement s(db_->GetSQLConnection()->GetUniqueStatement( | 2170 sql::Statement s(db_->GetSQLConnection()->GetUniqueStatement( |
2171 "INSERT OR REPLACE INTO autofill_model_type_state " | 2171 "INSERT OR REPLACE INTO autofill_model_type_state " |
2172 "(rowid, value) VALUES(1, ?)")); | 2172 "(rowid, value) VALUES(1, ?)")); |
2173 s.BindString(0, "unparseable"); | 2173 s.BindString(0, "unparseable"); |
2174 EXPECT_TRUE(s.Run()); | 2174 EXPECT_TRUE(s.Run()); |
2175 | 2175 |
2176 EXPECT_FALSE(table_->GetAllSyncMetadata(syncer::AUTOFILL, &metadata_batch)); | 2176 EXPECT_FALSE(table_->GetAllSyncMetadata(syncer::AUTOFILL, &metadata_batch)); |
2177 } | 2177 } |
2178 | 2178 |
2179 } // namespace autofill | 2179 } // namespace autofill |
OLD | NEW |