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