| 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 |