| Index: components/autofill/content/browser/payments/payments_client_unittest.cc
|
| diff --git a/components/autofill/content/browser/payments/payments_client_unittest.cc b/components/autofill/content/browser/payments/payments_client_unittest.cc
|
| index 055829e9a519480753e9af1bb22d90af18f939fd..c825367b63b7718ddb35c5dcca88f4017400d521 100644
|
| --- a/components/autofill/content/browser/payments/payments_client_unittest.cc
|
| +++ b/components/autofill/content/browser/payments/payments_client_unittest.cc
|
| @@ -3,9 +3,11 @@
|
| // found in the LICENSE file.
|
|
|
| #include <utility>
|
| +#include <vector>
|
|
|
| #include "base/command_line.h"
|
| #include "base/macros.h"
|
| +#include "base/strings/string_piece.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "base/values.h"
|
| #include "components/autofill/core/browser/autofill_test_utils.h"
|
| @@ -82,7 +84,7 @@ class PaymentsClientTest : public testing::Test, public PaymentsClientDelegate {
|
| void StartGettingUploadDetails() {
|
| token_service_->AddAccount("example@gmail.com");
|
| identity_provider_->LogIn("example@gmail.com");
|
| - client_->GetUploadDetails("language-LOCALE");
|
| + client_->GetUploadDetails(BuildTestProfiles(), "language-LOCALE");
|
| }
|
|
|
| void StartUploading() {
|
| @@ -94,9 +96,14 @@ class PaymentsClientTest : public testing::Test, public PaymentsClientDelegate {
|
| request_details.context_token = base::ASCIIToUTF16("context token");
|
| request_details.risk_data = "some risk data";
|
| request_details.app_locale = "language-LOCALE";
|
| + request_details.profiles = BuildTestProfiles();
|
| client_->UploadCard(request_details);
|
| }
|
|
|
| + const std::string& GetUploadData() {
|
| + return factory_.GetFetcherByID(0)->upload_data();
|
| + }
|
| +
|
| void IssueOAuthToken() {
|
| token_service_->IssueAllTokensForAccount(
|
| "example@gmail.com", "totally_real_token",
|
| @@ -135,6 +142,40 @@ class PaymentsClientTest : public testing::Test, public PaymentsClientDelegate {
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(PaymentsClientTest);
|
| +
|
| + std::vector<AutofillProfile> BuildTestProfiles() {
|
| + std::vector<AutofillProfile> profiles;
|
| + profiles.push_back(BuildProfile("John", "Smith", "1234 Main St.", "Miami",
|
| + "FL", "32006", "212-555-0162"));
|
| + profiles.push_back(BuildProfile("Pat", "Jones", "432 Oak Lane", "Lincoln",
|
| + "OH", "43005", "(834)555-0090"));
|
| + return profiles;
|
| + }
|
| +
|
| + AutofillProfile BuildProfile(base::StringPiece first_name,
|
| + base::StringPiece last_name,
|
| + base::StringPiece address_line,
|
| + base::StringPiece city,
|
| + base::StringPiece state,
|
| + base::StringPiece zip,
|
| + base::StringPiece phone_number) {
|
| + AutofillProfile profile;
|
| +
|
| + profile.SetInfo(AutofillType(NAME_FIRST), ASCIIToUTF16(first_name),
|
| + "en-US");
|
| + profile.SetInfo(AutofillType(NAME_LAST), ASCIIToUTF16(last_name), "en-US");
|
| + profile.SetInfo(AutofillType(ADDRESS_HOME_LINE1),
|
| + ASCIIToUTF16(address_line), "en-US");
|
| + profile.SetInfo(AutofillType(ADDRESS_HOME_CITY), ASCIIToUTF16(city),
|
| + "en-US");
|
| + profile.SetInfo(AutofillType(ADDRESS_HOME_STATE), ASCIIToUTF16(state),
|
| + "en-US");
|
| + profile.SetInfo(AutofillType(ADDRESS_HOME_ZIP), ASCIIToUTF16(zip), "en-US");
|
| + profile.SetInfo(AutofillType(PHONE_HOME_WHOLE_NUMBER),
|
| + ASCIIToUTF16(phone_number), "en-US");
|
| +
|
| + return profile;
|
| + }
|
| };
|
|
|
| TEST_F(PaymentsClientTest, OAuthError) {
|
| @@ -163,6 +204,29 @@ TEST_F(PaymentsClientTest, GetDetailsSuccess) {
|
| EXPECT_NE(nullptr, legal_message_.get());
|
| }
|
|
|
| +TEST_F(PaymentsClientTest, GetDetailsRemovesNonLocationData) {
|
| + StartGettingUploadDetails();
|
| +
|
| + // Verify that the recipient name field and test names appear nowhere in the
|
| + // upload data.
|
| + EXPECT_TRUE(GetUploadData().find(PaymentsClient::kRecipientName) ==
|
| + std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("John") == std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("Smith") == std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("Pat") == std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("Jones") == std::string::npos);
|
| +
|
| + // Verify that the phone number field and test numbers appear nowhere in the
|
| + // upload data.
|
| + EXPECT_TRUE(GetUploadData().find(PaymentsClient::kPhoneNumber) ==
|
| + std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("212") == std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("555") == std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("0162") == std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("834") == std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("0090") == std::string::npos);
|
| +}
|
| +
|
| TEST_F(PaymentsClientTest, UploadSuccess) {
|
| StartUploading();
|
| IssueOAuthToken();
|
| @@ -170,6 +234,29 @@ TEST_F(PaymentsClientTest, UploadSuccess) {
|
| EXPECT_EQ(AutofillClient::SUCCESS, result_);
|
| }
|
|
|
| +TEST_F(PaymentsClientTest, UploadIncludesNonLocationData) {
|
| + StartUploading();
|
| +
|
| + // Verify that the recipient name field and test names do appear in the upload
|
| + // data.
|
| + EXPECT_TRUE(GetUploadData().find(PaymentsClient::kRecipientName) !=
|
| + std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("John") != std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("Smith") != std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("Pat") != std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("Jones") != std::string::npos);
|
| +
|
| + // Verify that the phone number field and test numbers do appear in the upload
|
| + // data.
|
| + EXPECT_TRUE(GetUploadData().find(PaymentsClient::kPhoneNumber) !=
|
| + std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("212") != std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("555") != std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("0162") != std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("834") != std::string::npos);
|
| + EXPECT_TRUE(GetUploadData().find("0090") != std::string::npos);
|
| +}
|
| +
|
| TEST_F(PaymentsClientTest, GetDetailsFollowedByUploadSuccess) {
|
| StartGettingUploadDetails();
|
| ReturnResponse(
|
|
|