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 <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <tuple> | 10 #include <tuple> |
(...skipping 1590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1601 inputs[1].set_guid(std::string()); | 1601 inputs[1].set_guid(std::string()); |
1602 outputs[0]->set_guid(std::string()); | 1602 outputs[0]->set_guid(std::string()); |
1603 outputs[1]->set_guid(std::string()); | 1603 outputs[1]->set_guid(std::string()); |
1604 | 1604 |
1605 EXPECT_EQ(inputs[0], *outputs[0]); | 1605 EXPECT_EQ(inputs[0], *outputs[0]); |
1606 EXPECT_EQ(inputs[1], *outputs[1]); | 1606 EXPECT_EQ(inputs[1], *outputs[1]); |
1607 | 1607 |
1608 EXPECT_EQ(CreditCard::OK, outputs[0]->GetServerStatus()); | 1608 EXPECT_EQ(CreditCard::OK, outputs[0]->GetServerStatus()); |
1609 EXPECT_EQ(CreditCard::EXPIRED, outputs[1]->GetServerStatus()); | 1609 EXPECT_EQ(CreditCard::EXPIRED, outputs[1]->GetServerStatus()); |
1610 | 1610 |
1611 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1611 base::STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
1612 } | 1612 } |
1613 | 1613 |
1614 TEST_F(AutofillTableTest, MaskUnmaskServerCards) { | 1614 TEST_F(AutofillTableTest, MaskUnmaskServerCards) { |
1615 base::string16 masked_number(ASCIIToUTF16("1111")); | 1615 base::string16 masked_number(ASCIIToUTF16("1111")); |
1616 std::vector<CreditCard> inputs; | 1616 std::vector<CreditCard> inputs; |
1617 inputs.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); | 1617 inputs.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); |
1618 inputs[0].SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Jay Johnson")); | 1618 inputs[0].SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Jay Johnson")); |
1619 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1619 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
1620 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1620 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
1621 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, masked_number); | 1621 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, masked_number); |
1622 inputs[0].SetTypeForMaskedCard(kVisaCard); | 1622 inputs[0].SetTypeForMaskedCard(kVisaCard); |
1623 test::SetServerCreditCards(table_.get(), inputs); | 1623 test::SetServerCreditCards(table_.get(), inputs); |
1624 | 1624 |
1625 // Unmask the number. The full number should be available. | 1625 // Unmask the number. The full number should be available. |
1626 base::string16 full_number(ASCIIToUTF16("4111111111111111")); | 1626 base::string16 full_number(ASCIIToUTF16("4111111111111111")); |
1627 ASSERT_TRUE(table_->UnmaskServerCreditCard(inputs[0], | 1627 ASSERT_TRUE(table_->UnmaskServerCreditCard(inputs[0], |
1628 full_number)); | 1628 full_number)); |
1629 | 1629 |
1630 std::vector<CreditCard*> outputs; | 1630 std::vector<CreditCard*> outputs; |
1631 table_->GetServerCreditCards(&outputs); | 1631 table_->GetServerCreditCards(&outputs); |
1632 ASSERT_EQ(1u, outputs.size()); | 1632 ASSERT_EQ(1u, outputs.size()); |
1633 EXPECT_TRUE(CreditCard::FULL_SERVER_CARD == outputs[0]->record_type()); | 1633 EXPECT_TRUE(CreditCard::FULL_SERVER_CARD == outputs[0]->record_type()); |
1634 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1634 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
1635 | 1635 |
1636 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1636 base::STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
1637 outputs.clear(); | 1637 outputs.clear(); |
1638 | 1638 |
1639 // Re-mask the number, we should only get the last 4 digits out. | 1639 // Re-mask the number, we should only get the last 4 digits out. |
1640 ASSERT_TRUE(table_->MaskServerCreditCard(inputs[0].server_id())); | 1640 ASSERT_TRUE(table_->MaskServerCreditCard(inputs[0].server_id())); |
1641 table_->GetServerCreditCards(&outputs); | 1641 table_->GetServerCreditCards(&outputs); |
1642 ASSERT_EQ(1u, outputs.size()); | 1642 ASSERT_EQ(1u, outputs.size()); |
1643 EXPECT_TRUE(CreditCard::MASKED_SERVER_CARD == outputs[0]->record_type()); | 1643 EXPECT_TRUE(CreditCard::MASKED_SERVER_CARD == outputs[0]->record_type()); |
1644 EXPECT_EQ(masked_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1644 EXPECT_EQ(masked_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
1645 | 1645 |
1646 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1646 base::STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
1647 outputs.clear(); | 1647 outputs.clear(); |
1648 } | 1648 } |
1649 | 1649 |
1650 // Calling SetServerCreditCards should replace all existing cards, but unmasked | 1650 // Calling SetServerCreditCards should replace all existing cards, but unmasked |
1651 // cards should not be re-masked. | 1651 // cards should not be re-masked. |
1652 TEST_F(AutofillTableTest, SetServerCardModify) { | 1652 TEST_F(AutofillTableTest, SetServerCardModify) { |
1653 // Add a masked card. | 1653 // Add a masked card. |
1654 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); | 1654 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); |
1655 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, | 1655 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, |
1656 ASCIIToUTF16("Paul F. Tompkins")); | 1656 ASCIIToUTF16("Paul F. Tompkins")); |
(...skipping 10 matching lines...) Expand all Loading... |
1667 base::string16 full_number = ASCIIToUTF16("4111111111111111"); | 1667 base::string16 full_number = ASCIIToUTF16("4111111111111111"); |
1668 table_->UnmaskServerCreditCard(masked_card, full_number); | 1668 table_->UnmaskServerCreditCard(masked_card, full_number); |
1669 | 1669 |
1670 // The card should now be unmasked. | 1670 // The card should now be unmasked. |
1671 std::vector<CreditCard*> outputs; | 1671 std::vector<CreditCard*> outputs; |
1672 table_->GetServerCreditCards(&outputs); | 1672 table_->GetServerCreditCards(&outputs); |
1673 ASSERT_EQ(1u, outputs.size()); | 1673 ASSERT_EQ(1u, outputs.size()); |
1674 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::FULL_SERVER_CARD); | 1674 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::FULL_SERVER_CARD); |
1675 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1675 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
1676 | 1676 |
1677 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1677 base::STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
1678 outputs.clear(); | 1678 outputs.clear(); |
1679 | 1679 |
1680 // Call set again with the masked number. | 1680 // Call set again with the masked number. |
1681 inputs[0] = masked_card; | 1681 inputs[0] = masked_card; |
1682 test::SetServerCreditCards(table_.get(), inputs); | 1682 test::SetServerCreditCards(table_.get(), inputs); |
1683 | 1683 |
1684 // The card should stay unmasked. | 1684 // The card should stay unmasked. |
1685 table_->GetServerCreditCards(&outputs); | 1685 table_->GetServerCreditCards(&outputs); |
1686 ASSERT_EQ(1u, outputs.size()); | 1686 ASSERT_EQ(1u, outputs.size()); |
1687 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::FULL_SERVER_CARD); | 1687 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::FULL_SERVER_CARD); |
1688 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1688 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
1689 | 1689 |
1690 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1690 base::STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
1691 outputs.clear(); | 1691 outputs.clear(); |
1692 | 1692 |
1693 // Set inputs that do not include our old card. | 1693 // Set inputs that do not include our old card. |
1694 CreditCard random_card(CreditCard::MASKED_SERVER_CARD, "b456"); | 1694 CreditCard random_card(CreditCard::MASKED_SERVER_CARD, "b456"); |
1695 random_card.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Rick Roman")); | 1695 random_card.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Rick Roman")); |
1696 random_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); | 1696 random_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); |
1697 random_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("1997")); | 1697 random_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("1997")); |
1698 random_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("2222")); | 1698 random_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("2222")); |
1699 random_card.SetTypeForMaskedCard(kVisaCard); | 1699 random_card.SetTypeForMaskedCard(kVisaCard); |
1700 inputs[0] = random_card; | 1700 inputs[0] = random_card; |
1701 test::SetServerCreditCards(table_.get(), inputs); | 1701 test::SetServerCreditCards(table_.get(), inputs); |
1702 | 1702 |
1703 // We should have only the new card, the other one should have been deleted. | 1703 // We should have only the new card, the other one should have been deleted. |
1704 table_->GetServerCreditCards(&outputs); | 1704 table_->GetServerCreditCards(&outputs); |
1705 ASSERT_EQ(1u, outputs.size()); | 1705 ASSERT_EQ(1u, outputs.size()); |
1706 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::MASKED_SERVER_CARD); | 1706 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::MASKED_SERVER_CARD); |
1707 EXPECT_EQ(random_card.server_id(), outputs[0]->server_id()); | 1707 EXPECT_EQ(random_card.server_id(), outputs[0]->server_id()); |
1708 EXPECT_EQ(ASCIIToUTF16("2222"), outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1708 EXPECT_EQ(ASCIIToUTF16("2222"), outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
1709 | 1709 |
1710 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1710 base::STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
1711 outputs.clear(); | 1711 outputs.clear(); |
1712 | 1712 |
1713 // Putting back the original card masked should make it masked (this tests | 1713 // Putting back the original card masked should make it masked (this tests |
1714 // that the unmasked data was really deleted). | 1714 // that the unmasked data was really deleted). |
1715 inputs[0] = masked_card; | 1715 inputs[0] = masked_card; |
1716 test::SetServerCreditCards(table_.get(), inputs); | 1716 test::SetServerCreditCards(table_.get(), inputs); |
1717 table_->GetServerCreditCards(&outputs); | 1717 table_->GetServerCreditCards(&outputs); |
1718 ASSERT_EQ(1u, outputs.size()); | 1718 ASSERT_EQ(1u, outputs.size()); |
1719 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::MASKED_SERVER_CARD); | 1719 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::MASKED_SERVER_CARD); |
1720 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); | 1720 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); |
1721 EXPECT_EQ(ASCIIToUTF16("1111"), outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1721 EXPECT_EQ(ASCIIToUTF16("1111"), outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
1722 | 1722 |
1723 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1723 base::STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
1724 outputs.clear(); | 1724 outputs.clear(); |
1725 } | 1725 } |
1726 | 1726 |
1727 TEST_F(AutofillTableTest, SetServerCardUpdateUsageStats) { | 1727 TEST_F(AutofillTableTest, SetServerCardUpdateUsageStats) { |
1728 // Add a masked card. | 1728 // Add a masked card. |
1729 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); | 1729 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); |
1730 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, | 1730 masked_card.SetRawInfo(CREDIT_CARD_NAME_FULL, |
1731 ASCIIToUTF16("Paul F. Tompkins")); | 1731 ASCIIToUTF16("Paul F. Tompkins")); |
1732 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1732 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
1733 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1733 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1819 AutofillProfile one(AutofillProfile::SERVER_PROFILE, "a123"); | 1819 AutofillProfile one(AutofillProfile::SERVER_PROFILE, "a123"); |
1820 std::vector<AutofillProfile> inputs; | 1820 std::vector<AutofillProfile> inputs; |
1821 inputs.push_back(one); | 1821 inputs.push_back(one); |
1822 table_->SetServerProfiles(inputs); | 1822 table_->SetServerProfiles(inputs); |
1823 | 1823 |
1824 std::vector<AutofillProfile*> outputs; | 1824 std::vector<AutofillProfile*> outputs; |
1825 table_->GetServerProfiles(&outputs); | 1825 table_->GetServerProfiles(&outputs); |
1826 ASSERT_EQ(1u, outputs.size()); | 1826 ASSERT_EQ(1u, outputs.size()); |
1827 EXPECT_EQ(one.server_id(), outputs[0]->server_id()); | 1827 EXPECT_EQ(one.server_id(), outputs[0]->server_id()); |
1828 | 1828 |
1829 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1829 base::STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
1830 outputs.clear(); | 1830 outputs.clear(); |
1831 | 1831 |
1832 // Set a different profile. | 1832 // Set a different profile. |
1833 AutofillProfile two(AutofillProfile::SERVER_PROFILE, "b456"); | 1833 AutofillProfile two(AutofillProfile::SERVER_PROFILE, "b456"); |
1834 inputs[0] = two; | 1834 inputs[0] = two; |
1835 table_->SetServerProfiles(inputs); | 1835 table_->SetServerProfiles(inputs); |
1836 | 1836 |
1837 // The original one should have been replaced. | 1837 // The original one should have been replaced. |
1838 table_->GetServerProfiles(&outputs); | 1838 table_->GetServerProfiles(&outputs); |
1839 ASSERT_EQ(1u, outputs.size()); | 1839 ASSERT_EQ(1u, outputs.size()); |
1840 EXPECT_EQ(two.server_id(), outputs[0]->server_id()); | 1840 EXPECT_EQ(two.server_id(), outputs[0]->server_id()); |
1841 | 1841 |
1842 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1842 base::STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
1843 outputs.clear(); | 1843 outputs.clear(); |
1844 } | 1844 } |
1845 | 1845 |
1846 TEST_F(AutofillTableTest, SetServerProfileUpdateUsageStats) { | 1846 TEST_F(AutofillTableTest, SetServerProfileUpdateUsageStats) { |
1847 AutofillProfile one(AutofillProfile::SERVER_PROFILE, "a123"); | 1847 AutofillProfile one(AutofillProfile::SERVER_PROFILE, "a123"); |
1848 std::vector<AutofillProfile> inputs; | 1848 std::vector<AutofillProfile> inputs; |
1849 inputs.push_back(one); | 1849 inputs.push_back(one); |
1850 table_->SetServerProfiles(inputs); | 1850 table_->SetServerProfiles(inputs); |
1851 | 1851 |
1852 ScopedVector<AutofillProfile> outputs; | 1852 ScopedVector<AutofillProfile> outputs; |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2021 for (size_t j = 0; j < kTestCases[i].expected_suggestion_count; ++j) { | 2021 for (size_t j = 0; j < kTestCases[i].expected_suggestion_count; ++j) { |
2022 EXPECT_EQ(ASCIIToUTF16(kTestCases[i].expected_suggestion[j]), v[j]); | 2022 EXPECT_EQ(ASCIIToUTF16(kTestCases[i].expected_suggestion[j]), v[j]); |
2023 } | 2023 } |
2024 | 2024 |
2025 changes.clear(); | 2025 changes.clear(); |
2026 table_->RemoveFormElementsAddedBetween(t1, Time(), &changes); | 2026 table_->RemoveFormElementsAddedBetween(t1, Time(), &changes); |
2027 } | 2027 } |
2028 } | 2028 } |
2029 | 2029 |
2030 } // namespace autofill | 2030 } // namespace autofill |
OLD | NEW |