| Index: chrome/browser/autofill/wallet/wallet_client_unittest.cc
|
| diff --git a/chrome/browser/autofill/wallet/wallet_client_unittest.cc b/chrome/browser/autofill/wallet/wallet_client_unittest.cc
|
| index 0fbebd4032e7d6c3fc638b0e35ef2c8f91a02e3f..ab7fc03ba1a03de9dd5f1f53cbd32d958af8253c 100644
|
| --- a/chrome/browser/autofill/wallet/wallet_client_unittest.cc
|
| +++ b/chrome/browser/autofill/wallet/wallet_client_unittest.cc
|
| @@ -167,6 +167,9 @@ const char kSendExtendedAutofillStatusOfFailureValidRequest[] =
|
| "\"success\":false"
|
| "}";
|
|
|
| +const char kEscrowSensitiveInformationRequest[] =
|
| + "gid=obfuscated_gaia_id&cardNumber=pan&cvv=cvn";
|
| +
|
| } // anonymous namespace
|
|
|
| namespace wallet {
|
| @@ -202,6 +205,8 @@ class MockWalletClientObserver
|
| MOCK_METHOD0(OnAcceptLegalDocuments, void());
|
| MOCK_METHOD2(OnEncryptOtp, void(const std::string& encrypted_otp,
|
| const std::string& session_material));
|
| + MOCK_METHOD1(OnDidEscrowSensitiveInformation,
|
| + void(const std::string& escrow_handle));
|
| MOCK_METHOD1(OnGetFullWallet, void(FullWallet* full_wallet));
|
| MOCK_METHOD1(OnGetWalletItems, void(WalletItems* wallet_items));
|
| MOCK_METHOD0(OnSendExtendedAutofillStatus, void());
|
| @@ -223,7 +228,7 @@ TEST_F(WalletClientTest, WalletErrorOnExpectedVoidResponse) {
|
| WalletClient wallet_client(profile_.GetRequestContext());
|
| wallet_client.SendExtendedAutofillStatus(true, "", "", "", &observer);
|
| net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| - DCHECK(fetcher);
|
| + ASSERT_TRUE(fetcher);
|
| fetcher->set_response_code(net::HTTP_INTERNAL_SERVER_ERROR);
|
| fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| }
|
| @@ -240,7 +245,7 @@ TEST_F(WalletClientTest, WalletErrorOnExpectedResponse) {
|
| Cart cart("currency_code", "currency_code");
|
| wallet_client.GetFullWallet("", "", "", cart, "", "", "", &observer);
|
| net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| - DCHECK(fetcher);
|
| + ASSERT_TRUE(fetcher);
|
| fetcher->set_response_code(net::HTTP_INTERNAL_SERVER_ERROR);
|
| fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| }
|
| @@ -254,7 +259,7 @@ TEST_F(WalletClientTest, NetworkFailureOnExpectedVoidResponse) {
|
| WalletClient wallet_client(profile_.GetRequestContext());
|
| wallet_client.SendExtendedAutofillStatus(true, "", "", "", &observer);
|
| net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| - DCHECK(fetcher);
|
| + ASSERT_TRUE(fetcher);
|
| fetcher->set_response_code(net::HTTP_UNAUTHORIZED);
|
| fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| }
|
| @@ -269,7 +274,7 @@ TEST_F(WalletClientTest, NetworkFailureOnExpectedResponse) {
|
| Cart cart("currency_code", "currency_code");
|
| wallet_client.GetFullWallet("", "", "", cart, "", "", "", &observer);
|
| net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| - DCHECK(fetcher);
|
| + ASSERT_TRUE(fetcher);
|
| fetcher->set_response_code(net::HTTP_UNAUTHORIZED);
|
| fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| }
|
| @@ -283,15 +288,53 @@ TEST_F(WalletClientTest, RequestError) {
|
| WalletClient wallet_client(profile_.GetRequestContext());
|
| wallet_client.SendExtendedAutofillStatus(true, "", "", "", &observer);
|
| net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| - DCHECK(fetcher);
|
| + ASSERT_TRUE(fetcher);
|
| fetcher->set_response_code(net::HTTP_BAD_REQUEST);
|
| fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| }
|
|
|
| // TODO(ahutter): Add test for EncryptOtp.
|
| -// TODO(ahutter): Add retry and failure tests for EncryptOtp, GetWalletItems,
|
| +// TODO(ahutter): Add failure tests for EncryptOtp, GetWalletItems,
|
| // GetFullWallet for when data is missing or invalid.
|
|
|
| +TEST_F(WalletClientTest, EscrowSensitiveInformationSuccess) {
|
| + MockWalletClientObserver observer;
|
| + EXPECT_CALL(observer, OnDidEscrowSensitiveInformation("abc")).Times(1);
|
| +
|
| + net::TestURLFetcherFactory factory;
|
| +
|
| + WalletClient wallet_client(profile_.GetRequestContext());
|
| + wallet_client.EscrowSensitiveInformation("pan",
|
| + "cvn",
|
| + "obfuscated_gaia_id",
|
| + &observer);
|
| + net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| + ASSERT_TRUE(fetcher);
|
| + EXPECT_EQ(kEscrowSensitiveInformationRequest, fetcher->upload_data());
|
| + fetcher->set_response_code(net::HTTP_OK);
|
| + fetcher->SetResponseString("abc");
|
| + fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| +}
|
| +
|
| +TEST_F(WalletClientTest, EscrowSensitiveInformationFailure) {
|
| + MockWalletClientObserver observer;
|
| + EXPECT_CALL(observer, OnWalletError()).Times(1);
|
| +
|
| + net::TestURLFetcherFactory factory;
|
| +
|
| + WalletClient wallet_client(profile_.GetRequestContext());
|
| + wallet_client.EscrowSensitiveInformation("pan",
|
| + "cvn",
|
| + "obfuscated_gaia_id",
|
| + &observer);
|
| + net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| + ASSERT_TRUE(fetcher);
|
| + EXPECT_EQ(kEscrowSensitiveInformationRequest, fetcher->upload_data());
|
| + fetcher->set_response_code(net::HTTP_OK);
|
| + fetcher->SetResponseString("");
|
| + fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| +}
|
| +
|
| TEST_F(WalletClientTest, GetFullWallet) {
|
| MockWalletClientObserver observer;
|
| EXPECT_CALL(observer, OnGetFullWallet(testing::NotNull())).Times(1);
|
| @@ -309,8 +352,8 @@ TEST_F(WalletClientTest, GetFullWallet) {
|
| "session_material",
|
| &observer);
|
| net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| - DCHECK(fetcher);
|
| - ASSERT_EQ(kGetFullWalletValidRequest, fetcher->upload_data());
|
| + ASSERT_TRUE(fetcher);
|
| + EXPECT_EQ(kGetFullWalletValidRequest, fetcher->upload_data());
|
| fetcher->set_response_code(net::HTTP_OK);
|
| fetcher->SetResponseString(kGetFullWalletValidResponse);
|
| fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| @@ -330,8 +373,8 @@ TEST_F(WalletClientTest, AcceptLegalDocuments) {
|
| kGoogleTransactionId,
|
| &observer);
|
| net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| - DCHECK(fetcher);
|
| - ASSERT_EQ(kAcceptLegalDocumentsValidRequest, fetcher->upload_data());
|
| + ASSERT_TRUE(fetcher);
|
| + EXPECT_EQ(kAcceptLegalDocumentsValidRequest, fetcher->upload_data());
|
| fetcher->set_response_code(net::HTTP_OK);
|
| fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| }
|
| @@ -345,8 +388,8 @@ TEST_F(WalletClientTest, GetWalletItems) {
|
| WalletClient wallet_client(profile_.GetRequestContext());
|
| wallet_client.GetWalletItems(&observer);
|
| net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| - DCHECK(fetcher);
|
| - ASSERT_EQ(kGetWalletItemsValidRequest, fetcher->upload_data());
|
| + ASSERT_TRUE(fetcher);
|
| + EXPECT_EQ(kGetWalletItemsValidRequest, fetcher->upload_data());
|
| fetcher->set_response_code(net::HTTP_OK);
|
| fetcher->SetResponseString(kGetWalletItemsValidResponse);
|
| fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| @@ -365,8 +408,8 @@ TEST_F(WalletClientTest, SendExtendedAutofillOfStatusSuccess) {
|
| "google_transaction_id",
|
| &observer);
|
| net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| - DCHECK(fetcher);
|
| - ASSERT_EQ(kSendExtendedAutofillStatusOfSuccessValidRequest,
|
| + ASSERT_TRUE(fetcher);
|
| + EXPECT_EQ(kSendExtendedAutofillStatusOfSuccessValidRequest,
|
| fetcher->upload_data());
|
| fetcher->set_response_code(net::HTTP_OK);
|
| fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| @@ -385,8 +428,8 @@ TEST_F(WalletClientTest, SendExtendedAutofillStatusOfFailure) {
|
| "google_transaction_id",
|
| &observer);
|
| net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
|
| - DCHECK(fetcher);
|
| - ASSERT_EQ(kSendExtendedAutofillStatusOfFailureValidRequest,
|
| + ASSERT_TRUE(fetcher);
|
| + EXPECT_EQ(kSendExtendedAutofillStatusOfFailureValidRequest,
|
| fetcher->upload_data());
|
| fetcher->set_response_code(net::HTTP_OK);
|
| fetcher->delegate()->OnURLFetchComplete(fetcher);
|
|
|