Chromium Code Reviews| 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..632d8423948bf28c6f7527b1b958032657925540 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(OnEscrowSensitiveInformation, |
| + void(const std::string& escrow_handle)); |
| MOCK_METHOD1(OnGetFullWallet, void(FullWallet* full_wallet)); |
| MOCK_METHOD1(OnGetWalletItems, void(WalletItems* wallet_items)); |
| MOCK_METHOD0(OnSendExtendedAutofillStatus, void()); |
| @@ -289,9 +294,47 @@ TEST_F(WalletClientTest, RequestError) { |
| } |
| // 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, OnEscrowSensitiveInformation("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); |
| + DCHECK(fetcher); |
|
Ilya Sherman
2013/01/09 23:30:48
Unit tests should not use DCHECKs, as they can cra
ahutter
2013/01/10 00:24:46
Done.
|
| + ASSERT_EQ(kEscrowSensitiveInformationRequest, fetcher->upload_data()); |
|
Ilya Sherman
2013/01/09 23:30:48
nit: I think Chrome code prefers EXPECT_EQ for thi
ahutter
2013/01/10 00:24:46
Done.
|
| + 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); |
| + DCHECK(fetcher); |
| + ASSERT_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); |