| Index: components/autofill/content/browser/wallet/real_pan_wallet_client_unittest.cc
|
| diff --git a/components/autofill/content/browser/wallet/real_pan_wallet_client_unittest.cc b/components/autofill/content/browser/wallet/real_pan_wallet_client_unittest.cc
|
| index 8ed271572b945bc9121d1d9b3f7d4ded8fd2c7f4..92defc007f0ab789d31cac7c87a1bf3b7a3eb575 100644
|
| --- a/components/autofill/content/browser/wallet/real_pan_wallet_client_unittest.cc
|
| +++ b/components/autofill/content/browser/wallet/real_pan_wallet_client_unittest.cc
|
| @@ -123,9 +123,7 @@ TEST_F(RealPanWalletClientTest, RetryFailure) {
|
| EXPECT_EQ("", real_pan_);
|
| }
|
|
|
| -// TODO(estade): enable when https://codereview.chromium.org/1028313006/
|
| -// lands.
|
| -TEST_F(RealPanWalletClientTest, DISABLED_PermanentFailure) {
|
| +TEST_F(RealPanWalletClientTest, PermanentFailure) {
|
| StartUnmasking();
|
| IssueOAuthToken();
|
| ReturnResponse(net::HTTP_OK,
|
| @@ -134,6 +132,50 @@ TEST_F(RealPanWalletClientTest, DISABLED_PermanentFailure) {
|
| EXPECT_EQ("", real_pan_);
|
| }
|
|
|
| +TEST_F(RealPanWalletClientTest, MalformedResponse) {
|
| + StartUnmasking();
|
| + IssueOAuthToken();
|
| + ReturnResponse(net::HTTP_OK,
|
| + "{ \"error_code\": \"WRONG_JSON_FORMAT\" }");
|
| + EXPECT_EQ(AutofillClient::PERMANENT_FAILURE, result_);
|
| + EXPECT_EQ("", real_pan_);
|
| +}
|
| +
|
| +TEST_F(RealPanWalletClientTest, ReauthNeeded) {
|
| + {
|
| + StartUnmasking();
|
| + IssueOAuthToken();
|
| + ReturnResponse(net::HTTP_UNAUTHORIZED, "");
|
| + // No response yet.
|
| + EXPECT_EQ(AutofillClient::SUCCESS, result_);
|
| + EXPECT_EQ("", real_pan_);
|
| +
|
| + // Second HTTP_UNAUTHORIZED causes permanent failure.
|
| + IssueOAuthToken();
|
| + ReturnResponse(net::HTTP_UNAUTHORIZED, "");
|
| + EXPECT_EQ(AutofillClient::PERMANENT_FAILURE, result_);
|
| + EXPECT_EQ("", real_pan_);
|
| + }
|
| +
|
| + result_ = AutofillClient::SUCCESS;
|
| + real_pan_.clear();
|
| +
|
| + {
|
| + StartUnmasking();
|
| + IssueOAuthToken();
|
| + ReturnResponse(net::HTTP_UNAUTHORIZED, "");
|
| + // No response yet.
|
| + EXPECT_EQ(AutofillClient::SUCCESS, result_);
|
| + EXPECT_EQ("", real_pan_);
|
| +
|
| + // HTTP_OK after first HTTP_UNAUTHORIZED results in success.
|
| + IssueOAuthToken();
|
| + ReturnResponse(net::HTTP_OK, "{ \"pan\": \"1234\" }");
|
| + EXPECT_EQ(AutofillClient::SUCCESS, result_);
|
| + EXPECT_EQ("1234", real_pan_);
|
| + }
|
| +}
|
| +
|
| TEST_F(RealPanWalletClientTest, NetworkError) {
|
| StartUnmasking();
|
| IssueOAuthToken();
|
|
|