| 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/autofill_manager.h" | 5 #include "components/autofill/core/browser/autofill_manager.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 1059 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1070 | 1070 |
| 1071 void EnableUkmLogging() { | 1071 void EnableUkmLogging() { |
| 1072 scoped_feature_list_.InitAndEnableFeature(kAutofillUkmLogging); | 1072 scoped_feature_list_.InitAndEnableFeature(kAutofillUkmLogging); |
| 1073 } | 1073 } |
| 1074 | 1074 |
| 1075 void EnableAutofillUpstreamRequestCvcIfMissingExperimentAndUkmLogging() { | 1075 void EnableAutofillUpstreamRequestCvcIfMissingExperimentAndUkmLogging() { |
| 1076 scoped_feature_list_.InitWithFeatures( | 1076 scoped_feature_list_.InitWithFeatures( |
| 1077 {kAutofillUpstreamRequestCvcIfMissing, kAutofillUkmLogging}, {}); | 1077 {kAutofillUpstreamRequestCvcIfMissing, kAutofillUkmLogging}, {}); |
| 1078 } | 1078 } |
| 1079 | 1079 |
| 1080 void DisableAutofillUpstreamUseAutofillProfileComparatorForName() { |
| 1081 scoped_feature_list_.InitAndDisableFeature( |
| 1082 kAutofillUpstreamUseAutofillProfileComparatorForName); |
| 1083 } |
| 1084 |
| 1080 void ExpectUniqueFillableFormParsedUkm() { | 1085 void ExpectUniqueFillableFormParsedUkm() { |
| 1081 ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); | 1086 ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
| 1082 | 1087 |
| 1083 // Check that one source is logged. | 1088 // Check that one source is logged. |
| 1084 ASSERT_EQ(1U, ukm_service->sources_count()); | 1089 ASSERT_EQ(1U, ukm_service->sources_count()); |
| 1085 const ukm::UkmSource* source = GetUkmSources(ukm_service)[0]; | 1090 const ukm::UkmSource* source = GetUkmSources(ukm_service)[0]; |
| 1086 | 1091 |
| 1087 // Check that one entry is logged. | 1092 // Check that one entry is logged. |
| 1088 EXPECT_EQ(1U, ukm_service->entries_count()); | 1093 EXPECT_EQ(1U, ukm_service->entries_count()); |
| 1089 const ukm::UkmEntry* entry = ukm_service->GetEntry(0); | 1094 const ukm::UkmEntry* entry = ukm_service->GetEntry(0); |
| (...skipping 3532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4622 CardUnmaskDelegate::UnmaskResponse response; | 4627 CardUnmaskDelegate::UnmaskResponse response; |
| 4623 response.should_store_pan = false; | 4628 response.should_store_pan = false; |
| 4624 response.cvc = ASCIIToUTF16("123"); | 4629 response.cvc = ASCIIToUTF16("123"); |
| 4625 response.exp_month = ASCIIToUTF16("02"); | 4630 response.exp_month = ASCIIToUTF16("02"); |
| 4626 response.exp_year = ASCIIToUTF16("2018"); | 4631 response.exp_year = ASCIIToUTF16("2018"); |
| 4627 full_card_unmask_delegate()->OnUnmaskResponse(response); | 4632 full_card_unmask_delegate()->OnUnmaskResponse(response); |
| 4628 autofill_manager_->OnDidGetRealPan(AutofillClient::SUCCESS, | 4633 autofill_manager_->OnDidGetRealPan(AutofillClient::SUCCESS, |
| 4629 "4012888888881881"); | 4634 "4012888888881881"); |
| 4630 } | 4635 } |
| 4631 | 4636 |
| 4632 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 4637 TEST_F(AutofillManagerTest, UploadCreditCard) { |
| 4633 #if defined(OS_ANDROID) | |
| 4634 #define MAYBE_UploadCreditCard DISABLED_UploadCreditCard | |
| 4635 #else | |
| 4636 #define MAYBE_UploadCreditCard UploadCreditCard | |
| 4637 #endif | |
| 4638 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard) { | |
| 4639 EnableUkmLogging(); | 4638 EnableUkmLogging(); |
| 4640 personal_data_.ClearCreditCards(); | 4639 personal_data_.ClearCreditCards(); |
| 4641 personal_data_.ClearAutofillProfiles(); | 4640 personal_data_.ClearAutofillProfiles(); |
| 4642 autofill_manager_->set_credit_card_upload_enabled(true); | 4641 autofill_manager_->set_credit_card_upload_enabled(true); |
| 4643 | 4642 |
| 4644 // Create, fill and submit an address form in order to establish a recent | 4643 // Create, fill and submit an address form in order to establish a recent |
| 4645 // profile which can be selected for the upload request. | 4644 // profile which can be selected for the upload request. |
| 4646 FormData address_form; | 4645 FormData address_form; |
| 4647 test::CreateTestAddressFormData(&address_form); | 4646 test::CreateTestAddressFormData(&address_form); |
| 4648 FormsSeen(std::vector<FormData>(1, address_form)); | 4647 FormsSeen(std::vector<FormData>(1, address_form)); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 4673 // Server did not send a server_id, expect copy of card is not stored. | 4672 // Server did not send a server_id, expect copy of card is not stored. |
| 4674 EXPECT_TRUE(autofill_manager_->GetCreditCards().empty()); | 4673 EXPECT_TRUE(autofill_manager_->GetCreditCards().empty()); |
| 4675 | 4674 |
| 4676 // Verify that the correct histogram entry (and only that) was logged. | 4675 // Verify that the correct histogram entry (and only that) was logged. |
| 4677 ExpectUniqueCardUploadDecision(histogram_tester, | 4676 ExpectUniqueCardUploadDecision(histogram_tester, |
| 4678 AutofillMetrics::UPLOAD_OFFERED); | 4677 AutofillMetrics::UPLOAD_OFFERED); |
| 4679 // Verify that the correct UKM was logged. | 4678 // Verify that the correct UKM was logged. |
| 4680 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); | 4679 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); |
| 4681 } | 4680 } |
| 4682 | 4681 |
| 4683 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 4682 TEST_F(AutofillManagerTest, UploadCreditCardAndSaveCopy) { |
| 4684 #if defined(OS_ANDROID) | |
| 4685 #define MAYBE_UploadCreditCardAndSaveCopy DISABLED_UploadCreditCardAndSaveCopy | |
| 4686 #else | |
| 4687 #define MAYBE_UploadCreditCardAndSaveCopy UploadCreditCardAndSaveCopy | |
| 4688 #endif | |
| 4689 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCardAndSaveCopy) { | |
| 4690 personal_data_.ClearCreditCards(); | 4683 personal_data_.ClearCreditCards(); |
| 4691 personal_data_.ClearAutofillProfiles(); | 4684 personal_data_.ClearAutofillProfiles(); |
| 4692 autofill_manager_->set_credit_card_upload_enabled(true); | 4685 autofill_manager_->set_credit_card_upload_enabled(true); |
| 4693 | 4686 |
| 4694 const char* const server_id = "InstrumentData:1234"; | 4687 const char* const server_id = "InstrumentData:1234"; |
| 4695 autofill_manager_->ResetPaymentsClientForCardUpload(server_id); | 4688 autofill_manager_->ResetPaymentsClientForCardUpload(server_id); |
| 4696 | 4689 |
| 4697 // Create, fill and submit an address form in order to establish a recent | 4690 // Create, fill and submit an address form in order to establish a recent |
| 4698 // profile which can be selected for the upload request. | 4691 // profile which can be selected for the upload request. |
| 4699 FormData address_form; | 4692 FormData address_form; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 4725 EXPECT_EQ(CreditCard::OK, saved_card->GetServerStatus()); | 4718 EXPECT_EQ(CreditCard::OK, saved_card->GetServerStatus()); |
| 4726 EXPECT_EQ(base::ASCIIToUTF16("1111"), saved_card->LastFourDigits()); | 4719 EXPECT_EQ(base::ASCIIToUTF16("1111"), saved_card->LastFourDigits()); |
| 4727 EXPECT_EQ(kVisaCard, saved_card->network()); | 4720 EXPECT_EQ(kVisaCard, saved_card->network()); |
| 4728 EXPECT_EQ(11, saved_card->expiration_month()); | 4721 EXPECT_EQ(11, saved_card->expiration_month()); |
| 4729 EXPECT_EQ(2017, saved_card->expiration_year()); | 4722 EXPECT_EQ(2017, saved_card->expiration_year()); |
| 4730 EXPECT_EQ(server_id, saved_card->server_id()); | 4723 EXPECT_EQ(server_id, saved_card->server_id()); |
| 4731 EXPECT_EQ(CreditCard::FULL_SERVER_CARD, saved_card->record_type()); | 4724 EXPECT_EQ(CreditCard::FULL_SERVER_CARD, saved_card->record_type()); |
| 4732 EXPECT_EQ(base::ASCIIToUTF16(card_number), saved_card->number()); | 4725 EXPECT_EQ(base::ASCIIToUTF16(card_number), saved_card->number()); |
| 4733 } | 4726 } |
| 4734 | 4727 |
| 4735 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 4728 TEST_F(AutofillManagerTest, UploadCreditCard_FeatureNotEnabled) { |
| 4736 #if defined(OS_ANDROID) | |
| 4737 #define MAYBE_UploadCreditCard_FeatureNotEnabled \ | |
| 4738 DISABLED_UploadCreditCard_FeatureNotEnabled | |
| 4739 #else | |
| 4740 #define MAYBE_UploadCreditCard_FeatureNotEnabled \ | |
| 4741 UploadCreditCard_FeatureNotEnabled | |
| 4742 #endif | |
| 4743 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_FeatureNotEnabled) { | |
| 4744 personal_data_.ClearAutofillProfiles(); | 4729 personal_data_.ClearAutofillProfiles(); |
| 4745 autofill_manager_->set_credit_card_upload_enabled(false); | 4730 autofill_manager_->set_credit_card_upload_enabled(false); |
| 4746 | 4731 |
| 4747 // Create, fill and submit an address form in order to establish a recent | 4732 // Create, fill and submit an address form in order to establish a recent |
| 4748 // profile which can be selected for the upload request. | 4733 // profile which can be selected for the upload request. |
| 4749 FormData address_form; | 4734 FormData address_form; |
| 4750 test::CreateTestAddressFormData(&address_form); | 4735 test::CreateTestAddressFormData(&address_form); |
| 4751 FormsSeen(std::vector<FormData>(1, address_form)); | 4736 FormsSeen(std::vector<FormData>(1, address_form)); |
| 4752 ManuallyFillAddressForm("Flo", "Master", "77401", "US", &address_form); | 4737 ManuallyFillAddressForm("Flo", "Master", "77401", "US", &address_form); |
| 4753 FormSubmitted(address_form); | 4738 FormSubmitted(address_form); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 4768 | 4753 |
| 4769 // The save prompt should be shown instead of doing an upload. | 4754 // The save prompt should be shown instead of doing an upload. |
| 4770 EXPECT_CALL(autofill_client_, ConfirmSaveCreditCardLocally(_, _)); | 4755 EXPECT_CALL(autofill_client_, ConfirmSaveCreditCardLocally(_, _)); |
| 4771 FormSubmitted(credit_card_form); | 4756 FormSubmitted(credit_card_form); |
| 4772 EXPECT_FALSE(autofill_manager_->credit_card_was_uploaded()); | 4757 EXPECT_FALSE(autofill_manager_->credit_card_was_uploaded()); |
| 4773 | 4758 |
| 4774 // Verify that no histogram entry was logged. | 4759 // Verify that no histogram entry was logged. |
| 4775 histogram_tester.ExpectTotalCount("Autofill.CardUploadDecisionMetric", 0); | 4760 histogram_tester.ExpectTotalCount("Autofill.CardUploadDecisionMetric", 0); |
| 4776 } | 4761 } |
| 4777 | 4762 |
| 4778 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 4763 TEST_F(AutofillManagerTest, UploadCreditCard_CvcUnavailable) { |
| 4779 #if defined(OS_ANDROID) | |
| 4780 #define MAYBE_UploadCreditCard_CvcUnavailable \ | |
| 4781 DISABLED_UploadCreditCard_CvcUnavailable | |
| 4782 #else | |
| 4783 #define MAYBE_UploadCreditCard_CvcUnavailable UploadCreditCard_CvcUnavailable | |
| 4784 #endif | |
| 4785 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_CvcUnavailable) { | |
| 4786 EnableUkmLogging(); | 4764 EnableUkmLogging(); |
| 4787 personal_data_.ClearAutofillProfiles(); | 4765 personal_data_.ClearAutofillProfiles(); |
| 4788 autofill_manager_->set_credit_card_upload_enabled(true); | 4766 autofill_manager_->set_credit_card_upload_enabled(true); |
| 4789 | 4767 |
| 4790 // Create, fill and submit an address form in order to establish a recent | 4768 // Create, fill and submit an address form in order to establish a recent |
| 4791 // profile which can be selected for the upload request. | 4769 // profile which can be selected for the upload request. |
| 4792 FormData address_form; | 4770 FormData address_form; |
| 4793 test::CreateTestAddressFormData(&address_form); | 4771 test::CreateTestAddressFormData(&address_form); |
| 4794 FormsSeen(std::vector<FormData>(1, address_form)); | 4772 FormsSeen(std::vector<FormData>(1, address_form)); |
| 4795 ExpectUniqueFillableFormParsedUkm(); | 4773 ExpectUniqueFillableFormParsedUkm(); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4827 autofill_client_.test_rappor_service(); | 4805 autofill_client_.test_rappor_service(); |
| 4828 EXPECT_EQ(1, rappor_service->GetReportsCount()); | 4806 EXPECT_EQ(1, rappor_service->GetReportsCount()); |
| 4829 std::string sample; | 4807 std::string sample; |
| 4830 rappor::RapporType type; | 4808 rappor::RapporType type; |
| 4831 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( | 4809 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( |
| 4832 "Autofill.CardUploadNotOfferedNoCvc", &sample, &type)); | 4810 "Autofill.CardUploadNotOfferedNoCvc", &sample, &type)); |
| 4833 EXPECT_EQ("myform.com", sample); | 4811 EXPECT_EQ("myform.com", sample); |
| 4834 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); | 4812 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); |
| 4835 } | 4813 } |
| 4836 | 4814 |
| 4837 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 4815 TEST_F(AutofillManagerTest, UploadCreditCard_CvcInvalidLength) { |
| 4838 #if defined(OS_ANDROID) | |
| 4839 #define MAYBE_UploadCreditCard_CvcInvalidLength \ | |
| 4840 DISABLED_UploadCreditCard_CvcInvalidLength | |
| 4841 #else | |
| 4842 #define MAYBE_UploadCreditCard_CvcInvalidLength \ | |
| 4843 UploadCreditCard_CvcInvalidLength | |
| 4844 #endif | |
| 4845 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_CvcInvalidLength) { | |
| 4846 EnableUkmLogging(); | 4816 EnableUkmLogging(); |
| 4847 personal_data_.ClearAutofillProfiles(); | 4817 personal_data_.ClearAutofillProfiles(); |
| 4848 autofill_manager_->set_credit_card_upload_enabled(true); | 4818 autofill_manager_->set_credit_card_upload_enabled(true); |
| 4849 | 4819 |
| 4850 // Create, fill and submit an address form in order to establish a recent | 4820 // Create, fill and submit an address form in order to establish a recent |
| 4851 // profile which can be selected for the upload request. | 4821 // profile which can be selected for the upload request. |
| 4852 FormData address_form; | 4822 FormData address_form; |
| 4853 test::CreateTestAddressFormData(&address_form); | 4823 test::CreateTestAddressFormData(&address_form); |
| 4854 FormsSeen(std::vector<FormData>(1, address_form)); | 4824 FormsSeen(std::vector<FormData>(1, address_form)); |
| 4855 ManuallyFillAddressForm("Flo", "Master", "77401", "US", &address_form); | 4825 ManuallyFillAddressForm("Flo", "Master", "77401", "US", &address_form); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 4884 autofill_client_.test_rappor_service(); | 4854 autofill_client_.test_rappor_service(); |
| 4885 EXPECT_EQ(1, rappor_service->GetReportsCount()); | 4855 EXPECT_EQ(1, rappor_service->GetReportsCount()); |
| 4886 std::string sample; | 4856 std::string sample; |
| 4887 rappor::RapporType type; | 4857 rappor::RapporType type; |
| 4888 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( | 4858 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( |
| 4889 "Autofill.CardUploadNotOfferedNoCvc", &sample, &type)); | 4859 "Autofill.CardUploadNotOfferedNoCvc", &sample, &type)); |
| 4890 EXPECT_EQ("myform.com", sample); | 4860 EXPECT_EQ("myform.com", sample); |
| 4891 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); | 4861 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); |
| 4892 } | 4862 } |
| 4893 | 4863 |
| 4894 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 4864 TEST_F(AutofillManagerTest, UploadCreditCard_MultipleCvcFields) { |
| 4895 #if defined(OS_ANDROID) | |
| 4896 #define MAYBE_UploadCreditCard_MultipleCvcFields \ | |
| 4897 DISABLED_UploadCreditCard_MultipleCvcFields | |
| 4898 #else | |
| 4899 #define MAYBE_UploadCreditCard_MultipleCvcFields \ | |
| 4900 UploadCreditCard_MultipleCvcFields | |
| 4901 #endif | |
| 4902 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_MultipleCvcFields) { | |
| 4903 EnableUkmLogging(); | 4865 EnableUkmLogging(); |
| 4904 autofill_manager_->set_credit_card_upload_enabled(true); | 4866 autofill_manager_->set_credit_card_upload_enabled(true); |
| 4905 | 4867 |
| 4906 // Remove the profiles that were created in the TestPersonalDataManager | 4868 // Remove the profiles that were created in the TestPersonalDataManager |
| 4907 // constructor because they would result in conflicting names that would | 4869 // constructor because they would result in conflicting names that would |
| 4908 // prevent the upload. | 4870 // prevent the upload. |
| 4909 personal_data_.ClearAutofillProfiles(); | 4871 personal_data_.ClearAutofillProfiles(); |
| 4910 | 4872 |
| 4911 // Create, fill and submit an address form in order to establish a recent | 4873 // Create, fill and submit an address form in order to establish a recent |
| 4912 // profile which can be selected for the upload request. | 4874 // profile which can be selected for the upload request. |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4953 FormSubmitted(credit_card_form); | 4915 FormSubmitted(credit_card_form); |
| 4954 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); | 4916 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); |
| 4955 | 4917 |
| 4956 // Verify that the correct histogram entry (and only that) was logged. | 4918 // Verify that the correct histogram entry (and only that) was logged. |
| 4957 ExpectUniqueCardUploadDecision(histogram_tester, | 4919 ExpectUniqueCardUploadDecision(histogram_tester, |
| 4958 AutofillMetrics::UPLOAD_OFFERED); | 4920 AutofillMetrics::UPLOAD_OFFERED); |
| 4959 // Verify that the correct UKM was logged. | 4921 // Verify that the correct UKM was logged. |
| 4960 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); | 4922 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); |
| 4961 } | 4923 } |
| 4962 | 4924 |
| 4963 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 4925 TEST_F(AutofillManagerTest, UploadCreditCard_NoCvcFieldOnForm) { |
| 4964 #if defined(OS_ANDROID) | |
| 4965 #define MAYBE_UploadCreditCard_NoCvcFieldOnForm \ | |
| 4966 DISABLED_UploadCreditCard_NoCvcFieldOnForm | |
| 4967 #else | |
| 4968 #define MAYBE_UploadCreditCard_NoCvcFieldOnForm \ | |
| 4969 UploadCreditCard_NoCvcFieldOnForm | |
| 4970 #endif | |
| 4971 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_NoCvcFieldOnForm) { | |
| 4972 EnableUkmLogging(); | 4926 EnableUkmLogging(); |
| 4973 autofill_manager_->set_credit_card_upload_enabled(true); | 4927 autofill_manager_->set_credit_card_upload_enabled(true); |
| 4974 | 4928 |
| 4975 // Remove the profiles that were created in the TestPersonalDataManager | 4929 // Remove the profiles that were created in the TestPersonalDataManager |
| 4976 // constructor because they would result in conflicting names that would | 4930 // constructor because they would result in conflicting names that would |
| 4977 // prevent the upload. | 4931 // prevent the upload. |
| 4978 personal_data_.ClearAutofillProfiles(); | 4932 personal_data_.ClearAutofillProfiles(); |
| 4979 | 4933 |
| 4980 // Create, fill and submit an address form in order to establish a recent | 4934 // Create, fill and submit an address form in order to establish a recent |
| 4981 // profile which can be selected for the upload request. | 4935 // profile which can be selected for the upload request. |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5085 ExpectCardUploadDecision(histogram_tester, | 5039 ExpectCardUploadDecision(histogram_tester, |
| 5086 AutofillMetrics::CVC_FIELD_NOT_FOUND); | 5040 AutofillMetrics::CVC_FIELD_NOT_FOUND); |
| 5087 // Verify that the correct UKM was logged. | 5041 // Verify that the correct UKM was logged. |
| 5088 ExpectMetric( | 5042 ExpectMetric( |
| 5089 internal::kUKMCardUploadDecisionMetricName, | 5043 internal::kUKMCardUploadDecisionMetricName, |
| 5090 internal::kUKMCardUploadDecisionEntryName, | 5044 internal::kUKMCardUploadDecisionEntryName, |
| 5091 AutofillMetrics::UPLOAD_OFFERED | AutofillMetrics::CVC_FIELD_NOT_FOUND, | 5045 AutofillMetrics::UPLOAD_OFFERED | AutofillMetrics::CVC_FIELD_NOT_FOUND, |
| 5092 1 /* expected_num_matching_entries */); | 5046 1 /* expected_num_matching_entries */); |
| 5093 } | 5047 } |
| 5094 | 5048 |
| 5095 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 5049 TEST_F(AutofillManagerTest, UploadCreditCard_NoCvcFieldOnFormExperimentOff) { |
| 5096 #if defined(OS_ANDROID) | |
| 5097 #define MAYBE_UploadCreditCard_NoCvcFieldOnFormExperimentOff \ | |
| 5098 DISABLED_UploadCreditCard_NoCvcFieldOnFormExperimentOff | |
| 5099 #else | |
| 5100 #define MAYBE_UploadCreditCard_NoCvcFieldOnFormExperimentOff \ | |
| 5101 UploadCreditCard_NoCvcFieldOnFormExperimentOff | |
| 5102 #endif | |
| 5103 TEST_F(AutofillManagerTest, | |
| 5104 MAYBE_UploadCreditCard_NoCvcFieldOnFormExperimentOff) { | |
| 5105 EnableUkmLogging(); | 5050 EnableUkmLogging(); |
| 5106 autofill_manager_->set_credit_card_upload_enabled(true); | 5051 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5107 | 5052 |
| 5108 // Remove the profiles that were created in the TestPersonalDataManager | 5053 // Remove the profiles that were created in the TestPersonalDataManager |
| 5109 // constructor because they would result in conflicting names that would | 5054 // constructor because they would result in conflicting names that would |
| 5110 // prevent the upload. | 5055 // prevent the upload. |
| 5111 personal_data_.ClearAutofillProfiles(); | 5056 personal_data_.ClearAutofillProfiles(); |
| 5112 | 5057 |
| 5113 // Create, fill and submit an address form in order to establish a recent | 5058 // Create, fill and submit an address form in order to establish a recent |
| 5114 // profile which can be selected for the upload request. | 5059 // profile which can be selected for the upload request. |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5159 autofill_client_.test_rappor_service(); | 5104 autofill_client_.test_rappor_service(); |
| 5160 EXPECT_EQ(1, rappor_service->GetReportsCount()); | 5105 EXPECT_EQ(1, rappor_service->GetReportsCount()); |
| 5161 std::string sample; | 5106 std::string sample; |
| 5162 rappor::RapporType type; | 5107 rappor::RapporType type; |
| 5163 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( | 5108 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( |
| 5164 "Autofill.CardUploadNotOfferedNoCvc", &sample, &type)); | 5109 "Autofill.CardUploadNotOfferedNoCvc", &sample, &type)); |
| 5165 EXPECT_EQ("myform.com", sample); | 5110 EXPECT_EQ("myform.com", sample); |
| 5166 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); | 5111 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); |
| 5167 } | 5112 } |
| 5168 | 5113 |
| 5169 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 5114 TEST_F(AutofillManagerTest, UploadCreditCard_NoProfileAvailable) { |
| 5170 #if defined(OS_ANDROID) | |
| 5171 #define MAYBE_UploadCreditCard_NoProfileAvailable \ | |
| 5172 DISABLED_UploadCreditCard_NoProfileAvailable | |
| 5173 #else | |
| 5174 #define MAYBE_UploadCreditCard_NoProfileAvailable \ | |
| 5175 UploadCreditCard_NoProfileAvailable | |
| 5176 #endif | |
| 5177 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_NoProfileAvailable) { | |
| 5178 EnableUkmLogging(); | 5115 EnableUkmLogging(); |
| 5179 personal_data_.ClearAutofillProfiles(); | 5116 personal_data_.ClearAutofillProfiles(); |
| 5180 autofill_manager_->set_credit_card_upload_enabled(true); | 5117 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5181 | 5118 |
| 5182 // Don't fill or submit an address form. | 5119 // Don't fill or submit an address form. |
| 5183 | 5120 |
| 5184 // Set up our credit card form data. | 5121 // Set up our credit card form data. |
| 5185 FormData credit_card_form; | 5122 FormData credit_card_form; |
| 5186 CreateTestCreditCardFormData(&credit_card_form, true, false); | 5123 CreateTestCreditCardFormData(&credit_card_form, true, false); |
| 5187 FormsSeen(std::vector<FormData>(1, credit_card_form)); | 5124 FormsSeen(std::vector<FormData>(1, credit_card_form)); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 5211 autofill_client_.test_rappor_service(); | 5148 autofill_client_.test_rappor_service(); |
| 5212 EXPECT_EQ(1, rappor_service->GetReportsCount()); | 5149 EXPECT_EQ(1, rappor_service->GetReportsCount()); |
| 5213 std::string sample; | 5150 std::string sample; |
| 5214 rappor::RapporType type; | 5151 rappor::RapporType type; |
| 5215 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( | 5152 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( |
| 5216 "Autofill.CardUploadNotOfferedNoAddress", &sample, &type)); | 5153 "Autofill.CardUploadNotOfferedNoAddress", &sample, &type)); |
| 5217 EXPECT_EQ("myform.com", sample); | 5154 EXPECT_EQ("myform.com", sample); |
| 5218 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); | 5155 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); |
| 5219 } | 5156 } |
| 5220 | 5157 |
| 5221 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 5158 TEST_F(AutofillManagerTest, UploadCreditCard_NoRecentlyUsedProfile) { |
| 5222 #if defined(OS_ANDROID) | |
| 5223 #define MAYBE_UploadCreditCard_NoRecentlyUsedProfile \ | |
| 5224 DISABLED_UploadCreditCard_NoRecentlyUsedProfile | |
| 5225 #else | |
| 5226 #define MAYBE_UploadCreditCard_NoRecentlyUsedProfile \ | |
| 5227 UploadCreditCard_NoRecentlyUsedProfile | |
| 5228 #endif | |
| 5229 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_NoRecentlyUsedProfile) { | |
| 5230 // Create the test clock and set the time to a specific value. | 5159 // Create the test clock and set the time to a specific value. |
| 5231 TestAutofillClock test_clock; | 5160 TestAutofillClock test_clock; |
| 5232 test_clock.SetNow(kArbitraryTime); | 5161 test_clock.SetNow(kArbitraryTime); |
| 5233 | 5162 |
| 5234 EnableUkmLogging(); | 5163 EnableUkmLogging(); |
| 5235 personal_data_.ClearAutofillProfiles(); | 5164 personal_data_.ClearAutofillProfiles(); |
| 5236 autofill_manager_->set_credit_card_upload_enabled(true); | 5165 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5237 | 5166 |
| 5238 // Create, fill and submit an address form in order to establish a profile. | 5167 // Create, fill and submit an address form in order to establish a profile. |
| 5239 FormData address_form; | 5168 FormData address_form; |
| (...skipping 27 matching lines...) Expand all Loading... |
| 5267 | 5196 |
| 5268 // Verify that the correct histogram entry (and only that) was logged. | 5197 // Verify that the correct histogram entry (and only that) was logged. |
| 5269 ExpectUniqueCardUploadDecision( | 5198 ExpectUniqueCardUploadDecision( |
| 5270 histogram_tester, | 5199 histogram_tester, |
| 5271 AutofillMetrics::UPLOAD_NOT_OFFERED_NO_RECENTLY_USED_ADDRESS); | 5200 AutofillMetrics::UPLOAD_NOT_OFFERED_NO_RECENTLY_USED_ADDRESS); |
| 5272 // Verify that the correct UKM was logged. | 5201 // Verify that the correct UKM was logged. |
| 5273 ExpectCardUploadDecisionUkm( | 5202 ExpectCardUploadDecisionUkm( |
| 5274 AutofillMetrics::UPLOAD_NOT_OFFERED_NO_RECENTLY_USED_ADDRESS); | 5203 AutofillMetrics::UPLOAD_NOT_OFFERED_NO_RECENTLY_USED_ADDRESS); |
| 5275 } | 5204 } |
| 5276 | 5205 |
| 5277 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | |
| 5278 #if defined(OS_ANDROID) | |
| 5279 #define MAYBE_UploadCreditCard_CvcUnavailableAndNoProfileAvailable \ | |
| 5280 DISABLED_UploadCreditCard_CvcUnavailableAndNoProfileAvailable | |
| 5281 #else | |
| 5282 #define MAYBE_UploadCreditCard_CvcUnavailableAndNoProfileAvailable \ | |
| 5283 UploadCreditCard_CvcUnavailableAndNoProfileAvailable | |
| 5284 #endif | |
| 5285 TEST_F(AutofillManagerTest, | 5206 TEST_F(AutofillManagerTest, |
| 5286 MAYBE_UploadCreditCard_CvcUnavailableAndNoProfileAvailable) { | 5207 UploadCreditCard_CvcUnavailableAndNoProfileAvailable) { |
| 5287 EnableUkmLogging(); | 5208 EnableUkmLogging(); |
| 5288 personal_data_.ClearAutofillProfiles(); | 5209 personal_data_.ClearAutofillProfiles(); |
| 5289 autofill_manager_->set_credit_card_upload_enabled(true); | 5210 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5290 | 5211 |
| 5291 // Don't fill or submit an address form. | 5212 // Don't fill or submit an address form. |
| 5292 | 5213 |
| 5293 // Set up our credit card form data. | 5214 // Set up our credit card form data. |
| 5294 FormData credit_card_form; | 5215 FormData credit_card_form; |
| 5295 CreateTestCreditCardFormData(&credit_card_form, true, false); | 5216 CreateTestCreditCardFormData(&credit_card_form, true, false); |
| 5296 FormsSeen(std::vector<FormData>(1, credit_card_form)); | 5217 FormsSeen(std::vector<FormData>(1, credit_card_form)); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 5327 autofill_client_.test_rappor_service(); | 5248 autofill_client_.test_rappor_service(); |
| 5328 EXPECT_EQ(1, rappor_service->GetReportsCount()); | 5249 EXPECT_EQ(1, rappor_service->GetReportsCount()); |
| 5329 std::string sample; | 5250 std::string sample; |
| 5330 rappor::RapporType type; | 5251 rappor::RapporType type; |
| 5331 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( | 5252 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( |
| 5332 "Autofill.CardUploadNotOfferedNoCvc", &sample, &type)); | 5253 "Autofill.CardUploadNotOfferedNoCvc", &sample, &type)); |
| 5333 EXPECT_EQ("myform.com", sample); | 5254 EXPECT_EQ("myform.com", sample); |
| 5334 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); | 5255 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); |
| 5335 } | 5256 } |
| 5336 | 5257 |
| 5337 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 5258 TEST_F(AutofillManagerTest, UploadCreditCard_NoNameAvailable) { |
| 5338 #if defined(OS_ANDROID) | |
| 5339 #define MAYBE_UploadCreditCard_NoNameAvailable \ | |
| 5340 DISABLED_UploadCreditCard_NoNameAvailable | |
| 5341 #else | |
| 5342 #define MAYBE_UploadCreditCard_NoNameAvailable UploadCreditCard_NoNameAvailable | |
| 5343 #endif | |
| 5344 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_NoNameAvailable) { | |
| 5345 EnableUkmLogging(); | 5259 EnableUkmLogging(); |
| 5346 personal_data_.ClearAutofillProfiles(); | 5260 personal_data_.ClearAutofillProfiles(); |
| 5347 autofill_manager_->set_credit_card_upload_enabled(true); | 5261 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5348 | 5262 |
| 5349 // Create, fill and submit an address form in order to establish a recent | 5263 // Create, fill and submit an address form in order to establish a recent |
| 5350 // profile which can be selected for the upload request. | 5264 // profile which can be selected for the upload request. |
| 5351 FormData address_form; | 5265 FormData address_form; |
| 5352 test::CreateTestAddressFormData(&address_form); | 5266 test::CreateTestAddressFormData(&address_form); |
| 5353 FormsSeen(std::vector<FormData>(1, address_form)); | 5267 FormsSeen(std::vector<FormData>(1, address_form)); |
| 5354 // But omit the name: | 5268 // But omit the name: |
| (...skipping 28 matching lines...) Expand all Loading... |
| 5383 autofill_client_.test_rappor_service(); | 5297 autofill_client_.test_rappor_service(); |
| 5384 EXPECT_EQ(1, rappor_service->GetReportsCount()); | 5298 EXPECT_EQ(1, rappor_service->GetReportsCount()); |
| 5385 std::string sample; | 5299 std::string sample; |
| 5386 rappor::RapporType type; | 5300 rappor::RapporType type; |
| 5387 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( | 5301 EXPECT_TRUE(rappor_service->GetRecordedSampleForMetric( |
| 5388 "Autofill.CardUploadNotOfferedNoName", &sample, &type)); | 5302 "Autofill.CardUploadNotOfferedNoName", &sample, &type)); |
| 5389 EXPECT_EQ("myform.com", sample); | 5303 EXPECT_EQ("myform.com", sample); |
| 5390 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); | 5304 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); |
| 5391 } | 5305 } |
| 5392 | 5306 |
| 5393 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 5307 TEST_F(AutofillManagerTest, UploadCreditCard_ZipCodesConflict) { |
| 5394 #if defined(OS_ANDROID) | |
| 5395 #define MAYBE_UploadCreditCard_ZipCodesConflict \ | |
| 5396 DISABLED_UploadCreditCard_ZipCodesConflict | |
| 5397 #else | |
| 5398 #define MAYBE_UploadCreditCard_ZipCodesConflict \ | |
| 5399 UploadCreditCard_ZipCodesConflict | |
| 5400 #endif | |
| 5401 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_ZipCodesConflict) { | |
| 5402 EnableUkmLogging(); | 5308 EnableUkmLogging(); |
| 5403 personal_data_.ClearAutofillProfiles(); | 5309 personal_data_.ClearAutofillProfiles(); |
| 5404 autofill_manager_->set_credit_card_upload_enabled(true); | 5310 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5405 | 5311 |
| 5406 // Create, fill and submit two address forms with different zip codes. | 5312 // Create, fill and submit two address forms with different zip codes. |
| 5407 FormData address_form1, address_form2; | 5313 FormData address_form1, address_form2; |
| 5408 test::CreateTestAddressFormData(&address_form1); | 5314 test::CreateTestAddressFormData(&address_form1); |
| 5409 test::CreateTestAddressFormData(&address_form2); | 5315 test::CreateTestAddressFormData(&address_form2); |
| 5410 | 5316 |
| 5411 std::vector<FormData> address_forms; | 5317 std::vector<FormData> address_forms; |
| (...skipping 29 matching lines...) Expand all Loading... |
| 5441 EXPECT_FALSE(autofill_manager_->credit_card_was_uploaded()); | 5347 EXPECT_FALSE(autofill_manager_->credit_card_was_uploaded()); |
| 5442 | 5348 |
| 5443 // Verify that the correct histogram entry (and only that) was logged. | 5349 // Verify that the correct histogram entry (and only that) was logged. |
| 5444 ExpectUniqueCardUploadDecision( | 5350 ExpectUniqueCardUploadDecision( |
| 5445 histogram_tester, AutofillMetrics::UPLOAD_NOT_OFFERED_CONFLICTING_ZIPS); | 5351 histogram_tester, AutofillMetrics::UPLOAD_NOT_OFFERED_CONFLICTING_ZIPS); |
| 5446 // Verify that the correct UKM was logged. | 5352 // Verify that the correct UKM was logged. |
| 5447 ExpectCardUploadDecisionUkm( | 5353 ExpectCardUploadDecisionUkm( |
| 5448 AutofillMetrics::UPLOAD_NOT_OFFERED_CONFLICTING_ZIPS); | 5354 AutofillMetrics::UPLOAD_NOT_OFFERED_CONFLICTING_ZIPS); |
| 5449 } | 5355 } |
| 5450 | 5356 |
| 5451 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 5357 TEST_F(AutofillManagerTest, UploadCreditCard_ZipCodesHavePrefixMatch) { |
| 5452 #if defined(OS_ANDROID) | |
| 5453 #define MAYBE_UploadCreditCard_ZipCodesHavePrefixMatch \ | |
| 5454 DISABLED_UploadCreditCard_ZipCodesHavePrefixMatch | |
| 5455 #else | |
| 5456 #define MAYBE_UploadCreditCard_ZipCodesHavePrefixMatch \ | |
| 5457 UploadCreditCard_ZipCodesHavePrefixMatch | |
| 5458 #endif | |
| 5459 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_ZipCodesHavePrefixMatch) { | |
| 5460 EnableUkmLogging(); | 5358 EnableUkmLogging(); |
| 5461 personal_data_.ClearAutofillProfiles(); | 5359 personal_data_.ClearAutofillProfiles(); |
| 5462 autofill_manager_->set_credit_card_upload_enabled(true); | 5360 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5463 | 5361 |
| 5464 // Create, fill and submit two address forms with different zip codes. | 5362 // Create, fill and submit two address forms with different zip codes. |
| 5465 FormData address_form1, address_form2; | 5363 FormData address_form1, address_form2; |
| 5466 test::CreateTestAddressFormData(&address_form1); | 5364 test::CreateTestAddressFormData(&address_form1); |
| 5467 test::CreateTestAddressFormData(&address_form2); | 5365 test::CreateTestAddressFormData(&address_form2); |
| 5468 | 5366 |
| 5469 std::vector<FormData> address_forms; | 5367 std::vector<FormData> address_forms; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 5496 FormSubmitted(credit_card_form); | 5394 FormSubmitted(credit_card_form); |
| 5497 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); | 5395 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); |
| 5498 | 5396 |
| 5499 // Verify that the correct histogram entry (and only that) was logged. | 5397 // Verify that the correct histogram entry (and only that) was logged. |
| 5500 ExpectUniqueCardUploadDecision(histogram_tester, | 5398 ExpectUniqueCardUploadDecision(histogram_tester, |
| 5501 AutofillMetrics::UPLOAD_OFFERED); | 5399 AutofillMetrics::UPLOAD_OFFERED); |
| 5502 // Verify that the correct UKM was logged. | 5400 // Verify that the correct UKM was logged. |
| 5503 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); | 5401 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); |
| 5504 } | 5402 } |
| 5505 | 5403 |
| 5506 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 5404 TEST_F(AutofillManagerTest, UploadCreditCard_NoZipCodeAvailable) { |
| 5507 #if defined(OS_ANDROID) | |
| 5508 #define MAYBE_UploadCreditCard_NoZipCodeAvailable \ | |
| 5509 DISABLED_UploadCreditCard_NoZipCodeAvailable | |
| 5510 #else | |
| 5511 #define MAYBE_UploadCreditCard_NoZipCodeAvailable \ | |
| 5512 UploadCreditCard_NoZipCodeAvailable | |
| 5513 #endif | |
| 5514 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_NoZipCodeAvailable) { | |
| 5515 EnableUkmLogging(); | 5405 EnableUkmLogging(); |
| 5516 personal_data_.ClearAutofillProfiles(); | 5406 personal_data_.ClearAutofillProfiles(); |
| 5517 autofill_manager_->set_credit_card_upload_enabled(true); | 5407 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5518 | 5408 |
| 5519 // Create, fill and submit an address form in order to establish a recent | 5409 // Create, fill and submit an address form in order to establish a recent |
| 5520 // profile which can be selected for the upload request. | 5410 // profile which can be selected for the upload request. |
| 5521 FormData address_form; | 5411 FormData address_form; |
| 5522 test::CreateTestAddressFormData(&address_form); | 5412 test::CreateTestAddressFormData(&address_form); |
| 5523 FormsSeen(std::vector<FormData>(1, address_form)); | 5413 FormsSeen(std::vector<FormData>(1, address_form)); |
| 5524 // Autofill's validation requirements for Venezuala ("VE", see | 5414 // Autofill's validation requirements for Venezuala ("VE", see |
| (...skipping 25 matching lines...) Expand all Loading... |
| 5550 FormSubmitted(credit_card_form); | 5440 FormSubmitted(credit_card_form); |
| 5551 EXPECT_FALSE(autofill_manager_->credit_card_was_uploaded()); | 5441 EXPECT_FALSE(autofill_manager_->credit_card_was_uploaded()); |
| 5552 | 5442 |
| 5553 // Verify that the correct histogram entry (and only that) was logged. | 5443 // Verify that the correct histogram entry (and only that) was logged. |
| 5554 ExpectUniqueCardUploadDecision( | 5444 ExpectUniqueCardUploadDecision( |
| 5555 histogram_tester, AutofillMetrics::UPLOAD_NOT_OFFERED_NO_ZIP_CODE); | 5445 histogram_tester, AutofillMetrics::UPLOAD_NOT_OFFERED_NO_ZIP_CODE); |
| 5556 // Verify that the correct UKM was logged. | 5446 // Verify that the correct UKM was logged. |
| 5557 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_NOT_OFFERED_NO_ZIP_CODE); | 5447 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_NOT_OFFERED_NO_ZIP_CODE); |
| 5558 } | 5448 } |
| 5559 | 5449 |
| 5560 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 5450 TEST_F(AutofillManagerTest, UploadCreditCard_CCFormHasMiddleInitial) { |
| 5561 #if defined(OS_ANDROID) | |
| 5562 #define MAYBE_UploadCreditCard_CreditCardFormHasMiddleInitial \ | |
| 5563 DISABLED_UploadCreditCard_CreditCardFormHasMiddleInitial | |
| 5564 #else | |
| 5565 #define MAYBE_UploadCreditCard_CreditCardFormHasMiddleInitial \ | |
| 5566 UploadCreditCard_CreditCardFormHasMiddleInitial | |
| 5567 #endif | |
| 5568 TEST_F(AutofillManagerTest, | |
| 5569 MAYBE_UploadCreditCard_CreditCardFormHasMiddleInitial) { | |
| 5570 EnableUkmLogging(); | 5451 EnableUkmLogging(); |
| 5571 personal_data_.ClearAutofillProfiles(); | 5452 personal_data_.ClearAutofillProfiles(); |
| 5572 autofill_manager_->set_credit_card_upload_enabled(true); | 5453 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5573 | 5454 |
| 5574 // Create, fill and submit two address forms with different names. | 5455 // Create, fill and submit two address forms with different names. |
| 5575 FormData address_form1, address_form2; | 5456 FormData address_form1, address_form2; |
| 5576 test::CreateTestAddressFormData(&address_form1); | 5457 test::CreateTestAddressFormData(&address_form1); |
| 5577 test::CreateTestAddressFormData(&address_form2); | 5458 test::CreateTestAddressFormData(&address_form2); |
| 5578 FormsSeen({address_form1, address_form2}); | 5459 FormsSeen({address_form1, address_form2}); |
| 5579 | 5460 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 5605 FormSubmitted(credit_card_form); | 5486 FormSubmitted(credit_card_form); |
| 5606 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); | 5487 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); |
| 5607 | 5488 |
| 5608 // Verify that the correct histogram entry (and only that) was logged. | 5489 // Verify that the correct histogram entry (and only that) was logged. |
| 5609 ExpectUniqueCardUploadDecision(histogram_tester, | 5490 ExpectUniqueCardUploadDecision(histogram_tester, |
| 5610 AutofillMetrics::UPLOAD_OFFERED); | 5491 AutofillMetrics::UPLOAD_OFFERED); |
| 5611 // Verify that the correct UKM was logged. | 5492 // Verify that the correct UKM was logged. |
| 5612 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); | 5493 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); |
| 5613 } | 5494 } |
| 5614 | 5495 |
| 5615 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | |
| 5616 #if defined(OS_ANDROID) | |
| 5617 #define MAYBE_UploadCreditCard_CreditCardFormDoesNotHaveMiddleInitial \ | |
| 5618 DISABLED_UploadCreditCard_CreditCardFormDoesNotHaveMiddleInitial | |
| 5619 #else | |
| 5620 #define MAYBE_UploadCreditCard_CreditCardFormDoesNotHaveMiddleInitial \ | |
| 5621 UploadCreditCard_CreditCardFormDoesNotHaveMiddleInitial | |
| 5622 #endif | |
| 5623 TEST_F(AutofillManagerTest, | 5496 TEST_F(AutofillManagerTest, |
| 5624 MAYBE_UploadCreditCard_CreditCardFormDoesNotHaveMiddleInitial) { | 5497 UploadCreditCard_CCFormHasMiddleInitial_DisableComparator) { |
| 5498 DisableAutofillUpstreamUseAutofillProfileComparatorForName(); |
| 5499 personal_data_.ClearAutofillProfiles(); |
| 5500 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5501 |
| 5502 // Create, fill and submit two address forms with different names. |
| 5503 FormData address_form1, address_form2; |
| 5504 test::CreateTestAddressFormData(&address_form1); |
| 5505 test::CreateTestAddressFormData(&address_form2); |
| 5506 FormsSeen({address_form1, address_form2}); |
| 5507 |
| 5508 // Names can be different case. |
| 5509 ManuallyFillAddressForm("flo", "master", "77401", "US", &address_form1); |
| 5510 FormSubmitted(address_form1); |
| 5511 |
| 5512 // And they can have a middle initial even if the other names don't. |
| 5513 ManuallyFillAddressForm("Flo W", "Master", "77401", "US", &address_form2); |
| 5514 FormSubmitted(address_form2); |
| 5515 |
| 5516 // Set up our credit card form data. |
| 5517 FormData credit_card_form; |
| 5518 CreateTestCreditCardFormData(&credit_card_form, true, false); |
| 5519 FormsSeen({credit_card_form}); |
| 5520 |
| 5521 // Edit the data, but use the name with a middle initial *and* period, and |
| 5522 // submit. |
| 5523 credit_card_form.fields[0].value = ASCIIToUTF16("Flo W. Master"); |
| 5524 credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111"); |
| 5525 credit_card_form.fields[2].value = ASCIIToUTF16("11"); |
| 5526 credit_card_form.fields[3].value = ASCIIToUTF16("2017"); |
| 5527 credit_card_form.fields[4].value = ASCIIToUTF16("123"); |
| 5528 |
| 5529 base::HistogramTester histogram_tester; |
| 5530 |
| 5531 // Names match loosely, upload should happen. |
| 5532 EXPECT_CALL(autofill_client_, ConfirmSaveCreditCardLocally(_, _)).Times(0); |
| 5533 FormSubmitted(credit_card_form); |
| 5534 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); |
| 5535 |
| 5536 // Verify that the correct histogram entry (and only that) was logged. |
| 5537 ExpectUniqueCardUploadDecision(histogram_tester, |
| 5538 AutofillMetrics::UPLOAD_OFFERED); |
| 5539 } |
| 5540 |
| 5541 TEST_F(AutofillManagerTest, UploadCreditCard_NoMiddleInitialInCCForm) { |
| 5625 EnableUkmLogging(); | 5542 EnableUkmLogging(); |
| 5626 personal_data_.ClearAutofillProfiles(); | 5543 personal_data_.ClearAutofillProfiles(); |
| 5627 autofill_manager_->set_credit_card_upload_enabled(true); | 5544 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5628 | 5545 |
| 5629 // Create, fill and submit two address forms with different names. | 5546 // Create, fill and submit two address forms with different names. |
| 5630 FormData address_form1, address_form2; | 5547 FormData address_form1, address_form2; |
| 5631 test::CreateTestAddressFormData(&address_form1); | 5548 test::CreateTestAddressFormData(&address_form1); |
| 5632 test::CreateTestAddressFormData(&address_form2); | 5549 test::CreateTestAddressFormData(&address_form2); |
| 5633 FormsSeen({address_form1, address_form2}); | 5550 FormsSeen({address_form1, address_form2}); |
| 5634 | 5551 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 5657 FormSubmitted(credit_card_form); | 5574 FormSubmitted(credit_card_form); |
| 5658 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); | 5575 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); |
| 5659 | 5576 |
| 5660 // Verify that the correct histogram entry (and only that) was logged. | 5577 // Verify that the correct histogram entry (and only that) was logged. |
| 5661 ExpectUniqueCardUploadDecision(histogram_tester, | 5578 ExpectUniqueCardUploadDecision(histogram_tester, |
| 5662 AutofillMetrics::UPLOAD_OFFERED); | 5579 AutofillMetrics::UPLOAD_OFFERED); |
| 5663 // Verify that the correct UKM was logged. | 5580 // Verify that the correct UKM was logged. |
| 5664 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); | 5581 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); |
| 5665 } | 5582 } |
| 5666 | 5583 |
| 5667 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | |
| 5668 #if defined(OS_ANDROID) | |
| 5669 #define MAYBE_UploadCreditCard_CreditCardFormHasMiddleName \ | |
| 5670 DISABLED_UploadCreditCard_CreditCardFormHasMiddleName | |
| 5671 #else | |
| 5672 #define MAYBE_UploadCreditCard_CreditCardFormHasMiddleName \ | |
| 5673 UploadCreditCard_CreditCardFormHasMiddleName | |
| 5674 #endif | |
| 5675 TEST_F(AutofillManagerTest, | 5584 TEST_F(AutofillManagerTest, |
| 5676 MAYBE_UploadCreditCard_CreditCardFormHasMiddleName) { | 5585 UploadCreditCard_NoMiddleInitialInCCForm_DisableComparator) { |
| 5586 DisableAutofillUpstreamUseAutofillProfileComparatorForName(); |
| 5587 personal_data_.ClearAutofillProfiles(); |
| 5588 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5589 |
| 5590 // Create, fill and submit two address forms with different names. |
| 5591 FormData address_form1, address_form2; |
| 5592 test::CreateTestAddressFormData(&address_form1); |
| 5593 test::CreateTestAddressFormData(&address_form2); |
| 5594 FormsSeen({address_form1, address_form2}); |
| 5595 |
| 5596 // Names can have different variations of middle initials. |
| 5597 ManuallyFillAddressForm("flo w.", "master", "77401", "US", &address_form1); |
| 5598 FormSubmitted(address_form1); |
| 5599 ManuallyFillAddressForm("Flo W", "Master", "77401", "US", &address_form2); |
| 5600 FormSubmitted(address_form2); |
| 5601 |
| 5602 // Set up our credit card form data. |
| 5603 FormData credit_card_form; |
| 5604 CreateTestCreditCardFormData(&credit_card_form, true, false); |
| 5605 FormsSeen({credit_card_form}); |
| 5606 |
| 5607 // Edit the data, but do not use middle initial. |
| 5608 credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master"); |
| 5609 credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111"); |
| 5610 credit_card_form.fields[2].value = ASCIIToUTF16("11"); |
| 5611 credit_card_form.fields[3].value = ASCIIToUTF16("2017"); |
| 5612 credit_card_form.fields[4].value = ASCIIToUTF16("123"); |
| 5613 |
| 5614 base::HistogramTester histogram_tester; |
| 5615 |
| 5616 // Names match loosely, upload should happen. |
| 5617 EXPECT_CALL(autofill_client_, ConfirmSaveCreditCardLocally(_, _)).Times(0); |
| 5618 FormSubmitted(credit_card_form); |
| 5619 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); |
| 5620 |
| 5621 // Verify that the correct histogram entry (and only that) was logged. |
| 5622 ExpectUniqueCardUploadDecision(histogram_tester, |
| 5623 AutofillMetrics::UPLOAD_OFFERED); |
| 5624 } |
| 5625 |
| 5626 TEST_F(AutofillManagerTest, UploadCreditCard_CCFormHasMiddleName) { |
| 5677 EnableUkmLogging(); | 5627 EnableUkmLogging(); |
| 5678 personal_data_.ClearAutofillProfiles(); | 5628 personal_data_.ClearAutofillProfiles(); |
| 5679 autofill_manager_->set_credit_card_upload_enabled(true); | 5629 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5680 | 5630 |
| 5681 // Create, fill and submit address form without middle name. | 5631 // Create, fill and submit address form without middle name. |
| 5682 FormData address_form; | 5632 FormData address_form; |
| 5683 test::CreateTestAddressFormData(&address_form); | 5633 test::CreateTestAddressFormData(&address_form); |
| 5684 FormsSeen({address_form}); | 5634 FormsSeen({address_form}); |
| 5685 ManuallyFillAddressForm("John", "Adams", "77401", "US", &address_form); | 5635 ManuallyFillAddressForm("John", "Adams", "77401", "US", &address_form); |
| 5686 FormSubmitted(address_form); | 5636 FormSubmitted(address_form); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 5704 FormSubmitted(credit_card_form); | 5654 FormSubmitted(credit_card_form); |
| 5705 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); | 5655 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); |
| 5706 | 5656 |
| 5707 // Verify that the correct histogram entry (and only that) was logged. | 5657 // Verify that the correct histogram entry (and only that) was logged. |
| 5708 ExpectUniqueCardUploadDecision(histogram_tester, | 5658 ExpectUniqueCardUploadDecision(histogram_tester, |
| 5709 AutofillMetrics::UPLOAD_OFFERED); | 5659 AutofillMetrics::UPLOAD_OFFERED); |
| 5710 // Verify that the correct UKM was logged. | 5660 // Verify that the correct UKM was logged. |
| 5711 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); | 5661 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); |
| 5712 } | 5662 } |
| 5713 | 5663 |
| 5714 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | |
| 5715 #if defined(OS_ANDROID) | |
| 5716 #define MAYBE_UploadCreditCard_CreditCardFormRemovesMiddleName \ | |
| 5717 DISABLED_UploadCreditCard_CreditCardFormRemovesMiddleName | |
| 5718 #else | |
| 5719 #define MAYBE_UploadCreditCard_CreditCardFormRemovesMiddleName \ | |
| 5720 UploadCreditCard_CreditCardFormRemovesMiddleName | |
| 5721 #endif | |
| 5722 TEST_F(AutofillManagerTest, | 5664 TEST_F(AutofillManagerTest, |
| 5723 MAYBE_UploadCreditCard_CreditCardFormRemovesMiddleName) { | 5665 UploadCreditCard_CCFormHasMiddleName_DisableComparator) { |
| 5666 DisableAutofillUpstreamUseAutofillProfileComparatorForName(); |
| 5667 personal_data_.ClearAutofillProfiles(); |
| 5668 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5669 |
| 5670 // Create, fill and submit address form without middle name. |
| 5671 FormData address_form; |
| 5672 test::CreateTestAddressFormData(&address_form); |
| 5673 FormsSeen({address_form}); |
| 5674 ManuallyFillAddressForm("John", "Adams", "77401", "US", &address_form); |
| 5675 FormSubmitted(address_form); |
| 5676 |
| 5677 // Set up our credit card form data. |
| 5678 FormData credit_card_form; |
| 5679 CreateTestCreditCardFormData(&credit_card_form, true, false); |
| 5680 FormsSeen({credit_card_form}); |
| 5681 |
| 5682 // Edit the name by adding a middle name. |
| 5683 credit_card_form.fields[0].value = ASCIIToUTF16("John Quincy Adams"); |
| 5684 credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111"); |
| 5685 credit_card_form.fields[2].value = ASCIIToUTF16("11"); |
| 5686 credit_card_form.fields[3].value = ASCIIToUTF16("2017"); |
| 5687 credit_card_form.fields[4].value = ASCIIToUTF16("123"); |
| 5688 |
| 5689 base::HistogramTester histogram_tester; |
| 5690 |
| 5691 // Names match loosely but we have disabled comparator. Upload should not |
| 5692 // happen. |
| 5693 EXPECT_CALL(autofill_client_, ConfirmSaveCreditCardLocally(_, _)).Times(0); |
| 5694 FormSubmitted(credit_card_form); |
| 5695 EXPECT_FALSE(autofill_manager_->credit_card_was_uploaded()); |
| 5696 |
| 5697 // Verify that the correct histogram entry (and only that) was logged. |
| 5698 ExpectUniqueCardUploadDecision( |
| 5699 histogram_tester, AutofillMetrics::UPLOAD_NOT_OFFERED_CONFLICTING_NAMES); |
| 5700 } |
| 5701 |
| 5702 TEST_F(AutofillManagerTest, UploadCreditCard_CCFormRemovesMiddleName) { |
| 5724 EnableUkmLogging(); | 5703 EnableUkmLogging(); |
| 5725 personal_data_.ClearAutofillProfiles(); | 5704 personal_data_.ClearAutofillProfiles(); |
| 5726 autofill_manager_->set_credit_card_upload_enabled(true); | 5705 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5727 | 5706 |
| 5728 // Create, fill and submit address form with middle name. | 5707 // Create, fill and submit address form with middle name. |
| 5729 FormData address_form; | 5708 FormData address_form; |
| 5730 test::CreateTestAddressFormData(&address_form); | 5709 test::CreateTestAddressFormData(&address_form); |
| 5731 FormsSeen({address_form}); | 5710 FormsSeen({address_form}); |
| 5732 ManuallyFillAddressForm("John Quincy", "Adams", "77401", "US", &address_form); | 5711 ManuallyFillAddressForm("John Quincy", "Adams", "77401", "US", &address_form); |
| 5733 FormSubmitted(address_form); | 5712 FormSubmitted(address_form); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 5751 FormSubmitted(credit_card_form); | 5730 FormSubmitted(credit_card_form); |
| 5752 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); | 5731 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); |
| 5753 | 5732 |
| 5754 // Verify that the correct histogram entry (and only that) was logged. | 5733 // Verify that the correct histogram entry (and only that) was logged. |
| 5755 ExpectUniqueCardUploadDecision(histogram_tester, | 5734 ExpectUniqueCardUploadDecision(histogram_tester, |
| 5756 AutofillMetrics::UPLOAD_OFFERED); | 5735 AutofillMetrics::UPLOAD_OFFERED); |
| 5757 // Verify that the correct UKM was logged. | 5736 // Verify that the correct UKM was logged. |
| 5758 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); | 5737 ExpectCardUploadDecisionUkm(AutofillMetrics::UPLOAD_OFFERED); |
| 5759 } | 5738 } |
| 5760 | 5739 |
| 5761 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 5740 TEST_F(AutofillManagerTest, UploadCreditCard_NamesHaveToMatch) { |
| 5762 #if defined(OS_ANDROID) | |
| 5763 #define MAYBE_UploadCreditCard_NamesHaveToMatch \ | |
| 5764 DISABLED_UploadCreditCard_NamesHaveToMatch | |
| 5765 #else | |
| 5766 #define MAYBE_UploadCreditCard_NamesHaveToMatch \ | |
| 5767 UploadCreditCard_NamesHaveToMatch | |
| 5768 #endif | |
| 5769 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_NamesHaveToMatch) { | |
| 5770 EnableUkmLogging(); | 5741 EnableUkmLogging(); |
| 5771 personal_data_.ClearAutofillProfiles(); | 5742 personal_data_.ClearAutofillProfiles(); |
| 5772 autofill_manager_->set_credit_card_upload_enabled(true); | 5743 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5773 | 5744 |
| 5774 // Create, fill and submit two address forms with different names. | 5745 // Create, fill and submit two address forms with different names. |
| 5775 FormData address_form1, address_form2; | 5746 FormData address_form1, address_form2; |
| 5776 test::CreateTestAddressFormData(&address_form1); | 5747 test::CreateTestAddressFormData(&address_form1); |
| 5777 test::CreateTestAddressFormData(&address_form2); | 5748 test::CreateTestAddressFormData(&address_form2); |
| 5778 | 5749 |
| 5779 std::vector<FormData> address_forms; | 5750 std::vector<FormData> address_forms; |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5865 // Name matches recently used profile, should offer upload. | 5836 // Name matches recently used profile, should offer upload. |
| 5866 EXPECT_CALL(autofill_client_, ConfirmSaveCreditCardLocally(_, _)).Times(0); | 5837 EXPECT_CALL(autofill_client_, ConfirmSaveCreditCardLocally(_, _)).Times(0); |
| 5867 FormSubmitted(credit_card_form); | 5838 FormSubmitted(credit_card_form); |
| 5868 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); | 5839 EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded()); |
| 5869 | 5840 |
| 5870 // Verify that the correct histogram entry (and only that) was logged. | 5841 // Verify that the correct histogram entry (and only that) was logged. |
| 5871 ExpectUniqueCardUploadDecision(histogram_tester, | 5842 ExpectUniqueCardUploadDecision(histogram_tester, |
| 5872 AutofillMetrics::UPLOAD_OFFERED); | 5843 AutofillMetrics::UPLOAD_OFFERED); |
| 5873 } | 5844 } |
| 5874 | 5845 |
| 5875 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 5846 TEST_F(AutofillManagerTest, |
| 5876 #if defined(OS_ANDROID) | 5847 UploadCreditCard_NamesHaveToMatch_DisableComparator) { |
| 5877 #define MAYBE_UploadCreditCard_UploadDetailsFails \ | 5848 DisableAutofillUpstreamUseAutofillProfileComparatorForName(); |
| 5878 DISABLED_UploadCreditCard_UploadDetailsFails | 5849 personal_data_.ClearAutofillProfiles(); |
| 5879 #else | 5850 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5880 #define MAYBE_UploadCreditCard_UploadDetailsFails \ | 5851 |
| 5881 UploadCreditCard_UploadDetailsFails | 5852 // Create, fill and submit two address forms with different names. |
| 5882 #endif | 5853 FormData address_form1, address_form2; |
| 5883 TEST_F(AutofillManagerTest, MAYBE_UploadCreditCard_UploadDetailsFails) { | 5854 test::CreateTestAddressFormData(&address_form1); |
| 5855 test::CreateTestAddressFormData(&address_form2); |
| 5856 |
| 5857 std::vector<FormData> address_forms; |
| 5858 address_forms.push_back(address_form1); |
| 5859 address_forms.push_back(address_form2); |
| 5860 FormsSeen(address_forms); |
| 5861 |
| 5862 ManuallyFillAddressForm("Flo", "Master", "77401", "US", &address_form1); |
| 5863 FormSubmitted(address_form1); |
| 5864 |
| 5865 ManuallyFillAddressForm("Master", "Blaster", "77401", "US", &address_form2); |
| 5866 FormSubmitted(address_form2); |
| 5867 |
| 5868 // Set up our credit card form data. |
| 5869 FormData credit_card_form; |
| 5870 CreateTestCreditCardFormData(&credit_card_form, true, false); |
| 5871 FormsSeen(std::vector<FormData>(1, credit_card_form)); |
| 5872 |
| 5873 // Edit the data, but use yet another name, and submit. |
| 5874 credit_card_form.fields[0].value = ASCIIToUTF16("Bob Master"); |
| 5875 credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111"); |
| 5876 credit_card_form.fields[2].value = ASCIIToUTF16("11"); |
| 5877 credit_card_form.fields[3].value = ASCIIToUTF16("2017"); |
| 5878 credit_card_form.fields[4].value = ASCIIToUTF16("123"); |
| 5879 |
| 5880 base::HistogramTester histogram_tester; |
| 5881 |
| 5882 // Names are required to match, upload should not happen. |
| 5883 EXPECT_CALL(autofill_client_, ConfirmSaveCreditCardLocally(_, _)).Times(0); |
| 5884 FormSubmitted(credit_card_form); |
| 5885 EXPECT_FALSE(autofill_manager_->credit_card_was_uploaded()); |
| 5886 |
| 5887 // Verify that the correct histogram entry (and only that) was logged. |
| 5888 ExpectUniqueCardUploadDecision( |
| 5889 histogram_tester, AutofillMetrics::UPLOAD_NOT_OFFERED_CONFLICTING_NAMES); |
| 5890 } |
| 5891 |
| 5892 TEST_F(AutofillManagerTest, UploadCreditCard_UploadDetailsFails) { |
| 5884 EnableUkmLogging(); | 5893 EnableUkmLogging(); |
| 5885 personal_data_.ClearAutofillProfiles(); | 5894 personal_data_.ClearAutofillProfiles(); |
| 5886 autofill_manager_->set_credit_card_upload_enabled(true); | 5895 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5887 | 5896 |
| 5888 // Anything other than "en-US" will cause GetUploadDetails to return a failure | 5897 // Anything other than "en-US" will cause GetUploadDetails to return a failure |
| 5889 // response. | 5898 // response. |
| 5890 autofill_manager_->set_app_locale("pt-BR"); | 5899 autofill_manager_->set_app_locale("pt-BR"); |
| 5891 | 5900 |
| 5892 // Create, fill and submit an address form in order to establish a recent | 5901 // Create, fill and submit an address form in order to establish a recent |
| 5893 // profile which can be selected for the upload request. | 5902 // profile which can be selected for the upload request. |
| (...skipping 24 matching lines...) Expand all Loading... |
| 5918 | 5927 |
| 5919 // Verify that the correct histogram entry (and only that) was logged. | 5928 // Verify that the correct histogram entry (and only that) was logged. |
| 5920 ExpectUniqueCardUploadDecision( | 5929 ExpectUniqueCardUploadDecision( |
| 5921 histogram_tester, | 5930 histogram_tester, |
| 5922 AutofillMetrics::UPLOAD_NOT_OFFERED_GET_UPLOAD_DETAILS_FAILED); | 5931 AutofillMetrics::UPLOAD_NOT_OFFERED_GET_UPLOAD_DETAILS_FAILED); |
| 5923 // Verify that the correct UKM was logged. | 5932 // Verify that the correct UKM was logged. |
| 5924 ExpectCardUploadDecisionUkm( | 5933 ExpectCardUploadDecisionUkm( |
| 5925 AutofillMetrics::UPLOAD_NOT_OFFERED_GET_UPLOAD_DETAILS_FAILED); | 5934 AutofillMetrics::UPLOAD_NOT_OFFERED_GET_UPLOAD_DETAILS_FAILED); |
| 5926 } | 5935 } |
| 5927 | 5936 |
| 5928 // TODO(crbug.com/666704): Flaky on android_n5x_swarming_rel bot. | 5937 TEST_F(AutofillManagerTest, DuplicateMaskedCreditCard) { |
| 5929 #if defined(OS_ANDROID) | |
| 5930 #define MAYBE_DuplicateMaskedCreditCard DISABLED_DuplicatedMaskedCreditCard | |
| 5931 #else | |
| 5932 #define MAYBE_DuplicateMaskedCreditCard DuplicateMaskedCreditCard | |
| 5933 #endif | |
| 5934 TEST_F(AutofillManagerTest, MAYBE_DuplicateMaskedCreditCard) { | |
| 5935 personal_data_.ClearAutofillProfiles(); | 5938 personal_data_.ClearAutofillProfiles(); |
| 5936 autofill_manager_->set_credit_card_upload_enabled(true); | 5939 autofill_manager_->set_credit_card_upload_enabled(true); |
| 5937 autofill_manager_->set_app_locale("en-US"); | 5940 autofill_manager_->set_app_locale("en-US"); |
| 5938 | 5941 |
| 5939 // Create, fill and submit an address form in order to establish a recent | 5942 // Create, fill and submit an address form in order to establish a recent |
| 5940 // profile which can be selected for the upload request. | 5943 // profile which can be selected for the upload request. |
| 5941 FormData address_form; | 5944 FormData address_form; |
| 5942 test::CreateTestAddressFormData(&address_form); | 5945 test::CreateTestAddressFormData(&address_form); |
| 5943 FormsSeen(std::vector<FormData>(1, address_form)); | 5946 FormsSeen(std::vector<FormData>(1, address_form)); |
| 5944 ManuallyFillAddressForm("Flo", "Master", "77401", "US", &address_form); | 5947 ManuallyFillAddressForm("Flo", "Master", "77401", "US", &address_form); |
| (...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6578 | 6581 |
| 6579 // Wait for upload to complete (will check expected types as well). | 6582 // Wait for upload to complete (will check expected types as well). |
| 6580 autofill_manager_->WaitForAsyncUploadProcess(); | 6583 autofill_manager_->WaitForAsyncUploadProcess(); |
| 6581 | 6584 |
| 6582 EXPECT_EQ(signature, autofill_manager_->GetSubmittedFormSignature()); | 6585 EXPECT_EQ(signature, autofill_manager_->GetSubmittedFormSignature()); |
| 6583 EXPECT_NE(uploaded_available_types.end(), | 6586 EXPECT_NE(uploaded_available_types.end(), |
| 6584 uploaded_available_types.find(autofill::PASSWORD)); | 6587 uploaded_available_types.find(autofill::PASSWORD)); |
| 6585 } | 6588 } |
| 6586 | 6589 |
| 6587 } // namespace autofill | 6590 } // namespace autofill |
| OLD | NEW |