| 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 <utility> | 5 #include <utility> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
| 9 #include "base/files/scoped_temp_dir.h" | 9 #include "base/files/scoped_temp_dir.h" |
| 10 #include "base/guid.h" | 10 #include "base/guid.h" |
| (...skipping 1647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1658 inputs.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); | 1658 inputs.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); |
| 1659 inputs[0].SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Jay Johnson")); | 1659 inputs[0].SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Jay Johnson")); |
| 1660 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1660 inputs[0].SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
| 1661 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1661 inputs[0].SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
| 1662 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, masked_number); | 1662 inputs[0].SetRawInfo(CREDIT_CARD_NUMBER, masked_number); |
| 1663 inputs[0].SetTypeForMaskedCard(kVisaCard); | 1663 inputs[0].SetTypeForMaskedCard(kVisaCard); |
| 1664 test::SetServerCreditCards(table_.get(), inputs); | 1664 test::SetServerCreditCards(table_.get(), inputs); |
| 1665 | 1665 |
| 1666 // Unmask the number. The full number should be available. | 1666 // Unmask the number. The full number should be available. |
| 1667 base::string16 full_number(ASCIIToUTF16("4111111111111111")); | 1667 base::string16 full_number(ASCIIToUTF16("4111111111111111")); |
| 1668 ASSERT_TRUE(table_->UnmaskServerCreditCard(inputs[0].server_id(), | 1668 ASSERT_TRUE(table_->UnmaskServerCreditCard(inputs[0], |
| 1669 full_number)); | 1669 full_number)); |
| 1670 | 1670 |
| 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(CreditCard::FULL_SERVER_CARD == outputs[0]->record_type()); | 1674 EXPECT_TRUE(CreditCard::FULL_SERVER_CARD == outputs[0]->record_type()); |
| 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 STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
| 1678 outputs.clear(); | 1678 outputs.clear(); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1698 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1698 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
| 1699 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); | 1699 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); |
| 1700 masked_card.SetTypeForMaskedCard(kVisaCard); | 1700 masked_card.SetTypeForMaskedCard(kVisaCard); |
| 1701 | 1701 |
| 1702 std::vector<CreditCard> inputs; | 1702 std::vector<CreditCard> inputs; |
| 1703 inputs.push_back(masked_card); | 1703 inputs.push_back(masked_card); |
| 1704 test::SetServerCreditCards(table_.get(), inputs); | 1704 test::SetServerCreditCards(table_.get(), inputs); |
| 1705 | 1705 |
| 1706 // Now unmask it. | 1706 // Now unmask it. |
| 1707 base::string16 full_number = ASCIIToUTF16("4111111111111111"); | 1707 base::string16 full_number = ASCIIToUTF16("4111111111111111"); |
| 1708 table_->UnmaskServerCreditCard(masked_card.server_id(), full_number); | 1708 table_->UnmaskServerCreditCard(masked_card, full_number); |
| 1709 | 1709 |
| 1710 // The card should now be unmasked. | 1710 // The card should now be unmasked. |
| 1711 std::vector<CreditCard*> outputs; | 1711 std::vector<CreditCard*> outputs; |
| 1712 table_->GetServerCreditCards(&outputs); | 1712 table_->GetServerCreditCards(&outputs); |
| 1713 ASSERT_EQ(1u, outputs.size()); | 1713 ASSERT_EQ(1u, outputs.size()); |
| 1714 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::FULL_SERVER_CARD); | 1714 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::FULL_SERVER_CARD); |
| 1715 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1715 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
| 1716 | 1716 |
| 1717 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1717 STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
| 1718 outputs.clear(); | 1718 outputs.clear(); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1757 table_->GetServerCreditCards(&outputs); | 1757 table_->GetServerCreditCards(&outputs); |
| 1758 ASSERT_EQ(1u, outputs.size()); | 1758 ASSERT_EQ(1u, outputs.size()); |
| 1759 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::MASKED_SERVER_CARD); | 1759 EXPECT_TRUE(outputs[0]->record_type() == CreditCard::MASKED_SERVER_CARD); |
| 1760 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); | 1760 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); |
| 1761 EXPECT_EQ(ASCIIToUTF16("1111"), outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1761 EXPECT_EQ(ASCIIToUTF16("1111"), outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
| 1762 | 1762 |
| 1763 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1763 STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
| 1764 outputs.clear(); | 1764 outputs.clear(); |
| 1765 } | 1765 } |
| 1766 | 1766 |
| 1767 TEST_F(AutofillTableTest, SetServerCardUpdateUsageStats) { |
| 1768 // Add a masked card. |
| 1769 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); |
| 1770 masked_card.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Paul F. Tompkins")); |
| 1771 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
| 1772 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
| 1773 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1111")); |
| 1774 masked_card.SetTypeForMaskedCard(kVisaCard); |
| 1775 |
| 1776 std::vector<CreditCard> inputs; |
| 1777 inputs.push_back(masked_card); |
| 1778 test::SetServerCreditCards(table_.get(), inputs); |
| 1779 |
| 1780 ScopedVector<CreditCard> outputs; |
| 1781 table_->GetServerCreditCards(&outputs.get()); |
| 1782 ASSERT_EQ(1u, outputs.size()); |
| 1783 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); |
| 1784 EXPECT_EQ(0U, outputs[0]->use_count()); |
| 1785 EXPECT_EQ(base::Time(), outputs[0]->use_date()); |
| 1786 outputs.clear(); |
| 1787 |
| 1788 // Update the usage stats; make sure they're reflected in GetServerProfiles. |
| 1789 inputs.back().set_use_count(4U); |
| 1790 inputs.back().set_use_date(base::Time::Now()); |
| 1791 table_->UpdateServerCardUsageStats(inputs.back()); |
| 1792 table_->GetServerCreditCards(&outputs.get()); |
| 1793 ASSERT_EQ(1u, outputs.size()); |
| 1794 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); |
| 1795 EXPECT_EQ(4U, outputs[0]->use_count()); |
| 1796 EXPECT_NE(base::Time(), outputs[0]->use_date()); |
| 1797 outputs.clear(); |
| 1798 |
| 1799 // Setting the cards again shouldn't delete the usage stats. |
| 1800 table_->SetServerCreditCards(inputs); |
| 1801 table_->GetServerCreditCards(&outputs.get()); |
| 1802 ASSERT_EQ(1u, outputs.size()); |
| 1803 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); |
| 1804 EXPECT_EQ(4U, outputs[0]->use_count()); |
| 1805 EXPECT_NE(base::Time(), outputs[0]->use_date()); |
| 1806 outputs.clear(); |
| 1807 |
| 1808 // Set a card list where the card is missing --- this should clear metadata. |
| 1809 CreditCard masked_card2(CreditCard::MASKED_SERVER_CARD, "b456"); |
| 1810 inputs.back() = masked_card2; |
| 1811 table_->SetServerCreditCards(inputs); |
| 1812 |
| 1813 // Back to the original card list. |
| 1814 inputs.back() = masked_card; |
| 1815 table_->SetServerCreditCards(inputs); |
| 1816 table_->GetServerCreditCards(&outputs.get()); |
| 1817 ASSERT_EQ(1u, outputs.size()); |
| 1818 EXPECT_EQ(masked_card.server_id(), outputs[0]->server_id()); |
| 1819 EXPECT_EQ(0U, outputs[0]->use_count()); |
| 1820 EXPECT_EQ(base::Time(), outputs[0]->use_date()); |
| 1821 outputs.clear(); |
| 1822 } |
| 1823 |
| 1767 TEST_F(AutofillTableTest, SetServerProfile) { | 1824 TEST_F(AutofillTableTest, SetServerProfile) { |
| 1768 AutofillProfile one(AutofillProfile::SERVER_PROFILE, "a123"); | 1825 AutofillProfile one(AutofillProfile::SERVER_PROFILE, "a123"); |
| 1769 std::vector<AutofillProfile> inputs; | 1826 std::vector<AutofillProfile> inputs; |
| 1770 inputs.push_back(one); | 1827 inputs.push_back(one); |
| 1771 table_->SetServerProfiles(inputs); | 1828 table_->SetServerProfiles(inputs); |
| 1772 | 1829 |
| 1773 std::vector<AutofillProfile*> outputs; | 1830 std::vector<AutofillProfile*> outputs; |
| 1774 table_->GetServerProfiles(&outputs); | 1831 table_->GetServerProfiles(&outputs); |
| 1775 ASSERT_EQ(1u, outputs.size()); | 1832 ASSERT_EQ(1u, outputs.size()); |
| 1776 EXPECT_EQ(one.server_id(), outputs[0]->server_id()); | 1833 EXPECT_EQ(one.server_id(), outputs[0]->server_id()); |
| 1777 | 1834 |
| 1778 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1835 STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
| 1779 outputs.clear(); | 1836 outputs.clear(); |
| 1780 | 1837 |
| 1781 // Set a different profile. | 1838 // Set a different profile. |
| 1782 AutofillProfile two(AutofillProfile::SERVER_PROFILE, "b456"); | 1839 AutofillProfile two(AutofillProfile::SERVER_PROFILE, "b456"); |
| 1783 inputs[0] = two; | 1840 inputs[0] = two; |
| 1784 table_->SetServerProfiles(inputs); | 1841 table_->SetServerProfiles(inputs); |
| 1785 | 1842 |
| 1786 // The original one should have been replaced. | 1843 // The original one should have been replaced. |
| 1787 table_->GetServerProfiles(&outputs); | 1844 table_->GetServerProfiles(&outputs); |
| 1788 ASSERT_EQ(1u, outputs.size()); | 1845 ASSERT_EQ(1u, outputs.size()); |
| 1789 EXPECT_EQ(two.server_id(), outputs[0]->server_id()); | 1846 EXPECT_EQ(two.server_id(), outputs[0]->server_id()); |
| 1790 | 1847 |
| 1791 STLDeleteContainerPointers(outputs.begin(), outputs.end()); | 1848 STLDeleteContainerPointers(outputs.begin(), outputs.end()); |
| 1792 outputs.clear(); | 1849 outputs.clear(); |
| 1793 } | 1850 } |
| 1794 | 1851 |
| 1852 TEST_F(AutofillTableTest, SetServerProfileUpdateUsageStats) { |
| 1853 AutofillProfile one(AutofillProfile::SERVER_PROFILE, "a123"); |
| 1854 std::vector<AutofillProfile> inputs; |
| 1855 inputs.push_back(one); |
| 1856 table_->SetServerProfiles(inputs); |
| 1857 |
| 1858 ScopedVector<AutofillProfile> outputs; |
| 1859 table_->GetServerProfiles(&outputs.get()); |
| 1860 ASSERT_EQ(1u, outputs.size()); |
| 1861 EXPECT_EQ(one.server_id(), outputs[0]->server_id()); |
| 1862 EXPECT_EQ(0U, outputs[0]->use_count()); |
| 1863 EXPECT_EQ(base::Time(), outputs[0]->use_date()); |
| 1864 outputs.clear(); |
| 1865 |
| 1866 // Update the usage stats; make sure they're reflected in GetServerProfiles. |
| 1867 inputs.back().set_use_count(4U); |
| 1868 inputs.back().set_use_date(base::Time::Now()); |
| 1869 table_->UpdateServerAddressUsageStats(inputs.back()); |
| 1870 table_->GetServerProfiles(&outputs.get()); |
| 1871 ASSERT_EQ(1u, outputs.size()); |
| 1872 EXPECT_EQ(one.server_id(), outputs[0]->server_id()); |
| 1873 EXPECT_EQ(4U, outputs[0]->use_count()); |
| 1874 EXPECT_NE(base::Time(), outputs[0]->use_date()); |
| 1875 outputs.clear(); |
| 1876 |
| 1877 // Setting the profiles again shouldn't delete the usage stats. |
| 1878 table_->SetServerProfiles(inputs); |
| 1879 table_->GetServerProfiles(&outputs.get()); |
| 1880 ASSERT_EQ(1u, outputs.size()); |
| 1881 EXPECT_EQ(one.server_id(), outputs[0]->server_id()); |
| 1882 EXPECT_EQ(4U, outputs[0]->use_count()); |
| 1883 EXPECT_NE(base::Time(), outputs[0]->use_date()); |
| 1884 outputs.clear(); |
| 1885 |
| 1886 // Set a null profile list --- this should clear metadata. |
| 1887 table_->SetServerProfiles(std::vector<AutofillProfile>()); |
| 1888 // Reset the old profile list and see the metadata is reset. |
| 1889 table_->SetServerProfiles(inputs); |
| 1890 table_->GetServerProfiles(&outputs.get()); |
| 1891 ASSERT_EQ(1u, outputs.size()); |
| 1892 EXPECT_EQ(one.server_id(), outputs[0]->server_id()); |
| 1893 EXPECT_EQ(0U, outputs[0]->use_count()); |
| 1894 EXPECT_EQ(base::Time(), outputs[0]->use_date()); |
| 1895 outputs.clear(); |
| 1896 } |
| 1897 |
| 1795 // Tests that deleting time ranges re-masks server credit cards that were | 1898 // Tests that deleting time ranges re-masks server credit cards that were |
| 1796 // unmasked in that time. | 1899 // unmasked in that time. |
| 1797 // TODO(brettw) fix flakiness and re-enable: crbug.com/465882 | 1900 // TODO(brettw) fix flakiness and re-enable: crbug.com/465882 |
| 1798 TEST_F(AutofillTableTest, DISABLED_DeleteUnmaskedCard) { | 1901 TEST_F(AutofillTableTest, DISABLED_DeleteUnmaskedCard) { |
| 1799 // This isn't the exact unmasked time, since the database will use the | 1902 // This isn't the exact unmasked time, since the database will use the |
| 1800 // current time that it is called. The code below has to be approximate. | 1903 // current time that it is called. The code below has to be approximate. |
| 1801 base::Time unmasked_time = base::Time::Now(); | 1904 base::Time unmasked_time = base::Time::Now(); |
| 1802 | 1905 |
| 1803 // Add a masked card. | 1906 // Add a masked card. |
| 1804 base::string16 masked_number = ASCIIToUTF16("1111"); | 1907 base::string16 masked_number = ASCIIToUTF16("1111"); |
| 1805 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); | 1908 CreditCard masked_card(CreditCard::MASKED_SERVER_CARD, "a123"); |
| 1806 masked_card.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Paul F. Tompkins")); | 1909 masked_card.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Paul F. Tompkins")); |
| 1807 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); | 1910 masked_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
| 1808 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); | 1911 masked_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2020")); |
| 1809 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, masked_number); | 1912 masked_card.SetRawInfo(CREDIT_CARD_NUMBER, masked_number); |
| 1810 masked_card.SetTypeForMaskedCard(kVisaCard); | 1913 masked_card.SetTypeForMaskedCard(kVisaCard); |
| 1811 | 1914 |
| 1812 std::vector<CreditCard> inputs; | 1915 std::vector<CreditCard> inputs; |
| 1813 inputs.push_back(masked_card); | 1916 inputs.push_back(masked_card); |
| 1814 table_->SetServerCreditCards(inputs); | 1917 table_->SetServerCreditCards(inputs); |
| 1815 | 1918 |
| 1816 // Unmask it. | 1919 // Unmask it. |
| 1817 base::string16 full_number = ASCIIToUTF16("4111111111111111"); | 1920 base::string16 full_number = ASCIIToUTF16("4111111111111111"); |
| 1818 table_->UnmaskServerCreditCard(masked_card.server_id(), full_number); | 1921 table_->UnmaskServerCreditCard(masked_card, full_number); |
| 1819 | 1922 |
| 1820 // Delete data in a range a year in the future. | 1923 // Delete data in a range a year in the future. |
| 1821 std::vector<std::string> profile_guids; | 1924 std::vector<std::string> profile_guids; |
| 1822 std::vector<std::string> credit_card_guids; | 1925 std::vector<std::string> credit_card_guids; |
| 1823 ASSERT_TRUE(table_->RemoveAutofillDataModifiedBetween( | 1926 ASSERT_TRUE(table_->RemoveAutofillDataModifiedBetween( |
| 1824 unmasked_time + base::TimeDelta::FromDays(365), | 1927 unmasked_time + base::TimeDelta::FromDays(365), |
| 1825 unmasked_time + base::TimeDelta::FromDays(530), | 1928 unmasked_time + base::TimeDelta::FromDays(530), |
| 1826 &profile_guids, &credit_card_guids)); | 1929 &profile_guids, &credit_card_guids)); |
| 1827 | 1930 |
| 1828 // This should not affect the unmasked card (should be unmasked). | 1931 // This should not affect the unmasked card (should be unmasked). |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1840 &profile_guids, &credit_card_guids)); | 1943 &profile_guids, &credit_card_guids)); |
| 1841 | 1944 |
| 1842 // This should re-mask. | 1945 // This should re-mask. |
| 1843 ASSERT_TRUE(table_->GetServerCreditCards(&outputs.get())); | 1946 ASSERT_TRUE(table_->GetServerCreditCards(&outputs.get())); |
| 1844 ASSERT_EQ(1u, outputs.size()); | 1947 ASSERT_EQ(1u, outputs.size()); |
| 1845 EXPECT_EQ(CreditCard::MASKED_SERVER_CARD, outputs[0]->record_type()); | 1948 EXPECT_EQ(CreditCard::MASKED_SERVER_CARD, outputs[0]->record_type()); |
| 1846 EXPECT_EQ(masked_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1949 EXPECT_EQ(masked_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
| 1847 outputs.clear(); | 1950 outputs.clear(); |
| 1848 | 1951 |
| 1849 // Unmask again, the card should be back. | 1952 // Unmask again, the card should be back. |
| 1850 table_->UnmaskServerCreditCard(masked_card.server_id(), full_number); | 1953 table_->UnmaskServerCreditCard(masked_card, full_number); |
| 1851 ASSERT_TRUE(table_->GetServerCreditCards(&outputs.get())); | 1954 ASSERT_TRUE(table_->GetServerCreditCards(&outputs.get())); |
| 1852 ASSERT_EQ(1u, outputs.size()); | 1955 ASSERT_EQ(1u, outputs.size()); |
| 1853 EXPECT_EQ(CreditCard::FULL_SERVER_CARD, outputs[0]->record_type()); | 1956 EXPECT_EQ(CreditCard::FULL_SERVER_CARD, outputs[0]->record_type()); |
| 1854 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1957 EXPECT_EQ(full_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
| 1855 outputs.clear(); | 1958 outputs.clear(); |
| 1856 | 1959 |
| 1857 // Delete all data. | 1960 // Delete all data. |
| 1858 ASSERT_TRUE(table_->RemoveAutofillDataModifiedBetween( | 1961 ASSERT_TRUE(table_->RemoveAutofillDataModifiedBetween( |
| 1859 base::Time(), base::Time::Max(), &profile_guids, &credit_card_guids)); | 1962 base::Time(), base::Time::Max(), &profile_guids, &credit_card_guids)); |
| 1860 | 1963 |
| 1861 // Should be masked again. | 1964 // Should be masked again. |
| 1862 ASSERT_TRUE(table_->GetServerCreditCards(&outputs.get())); | 1965 ASSERT_TRUE(table_->GetServerCreditCards(&outputs.get())); |
| 1863 ASSERT_EQ(1u, outputs.size()); | 1966 ASSERT_EQ(1u, outputs.size()); |
| 1864 EXPECT_EQ(CreditCard::MASKED_SERVER_CARD, outputs[0]->record_type()); | 1967 EXPECT_EQ(CreditCard::MASKED_SERVER_CARD, outputs[0]->record_type()); |
| 1865 EXPECT_EQ(masked_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); | 1968 EXPECT_EQ(masked_number, outputs[0]->GetRawInfo(CREDIT_CARD_NUMBER)); |
| 1866 outputs.clear(); | 1969 outputs.clear(); |
| 1867 } | 1970 } |
| 1868 | 1971 |
| 1869 } // namespace autofill | 1972 } // namespace autofill |
| OLD | NEW |