| Index: google_apis/gcm/engine/registration_request_unittest.cc
|
| diff --git a/google_apis/gcm/engine/registration_request_unittest.cc b/google_apis/gcm/engine/registration_request_unittest.cc
|
| index 178c135583950f4225513b0d5b0cbe38ee1c9001..62b8717d2a8dd9944cb78c919f02a8b942c4d02f 100644
|
| --- a/google_apis/gcm/engine/registration_request_unittest.cc
|
| +++ b/google_apis/gcm/engine/registration_request_unittest.cc
|
| @@ -10,6 +10,7 @@
|
| #include "base/strings/string_tokenizer.h"
|
| #include "google_apis/gcm/engine/registration_request.h"
|
| #include "net/url_request/test_url_fetcher_factory.h"
|
| +#include "net/url_request/url_request_status.h"
|
| #include "net/url_request/url_request_test_util.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -311,4 +312,45 @@ TEST_F(RegistrationRequestTest, ResponseInvalidSender) {
|
| EXPECT_EQ(std::string(), registration_id_);
|
| }
|
|
|
| +TEST_F(RegistrationRequestTest, RequestNotSucessful) {
|
| + CreateRequest("sender1,sender2");
|
| + request_->Start();
|
| +
|
| + net::URLRequestStatus request_status(net::URLRequestStatus::FAILED, 1);
|
| + SetResponseStatusAndString(net::HTTP_OK, "token=2501");
|
| + net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0);
|
| + ASSERT_TRUE(fetcher);
|
| + fetcher->set_status(request_status);
|
| +
|
| + CompleteFetch();
|
| +
|
| + EXPECT_FALSE(callback_called_);
|
| +
|
| + // Ensuring a retry happened and succeeded.
|
| + SetResponseStatusAndString(net::HTTP_OK, "token=2501");
|
| + CompleteFetch();
|
| +
|
| + EXPECT_TRUE(callback_called_);
|
| + EXPECT_EQ(RegistrationRequest::SUCCESS, status_);
|
| + EXPECT_EQ("2501", registration_id_);
|
| +}
|
| +
|
| +TEST_F(RegistrationRequestTest, ResponseHttpNotOk) {
|
| + CreateRequest("sender1,sender2");
|
| + request_->Start();
|
| +
|
| + SetResponseStatusAndString(net::HTTP_GATEWAY_TIMEOUT, "token=2501");
|
| + CompleteFetch();
|
| +
|
| + EXPECT_FALSE(callback_called_);
|
| +
|
| + // Ensuring a retry happened and succeeded.
|
| + SetResponseStatusAndString(net::HTTP_OK, "token=2501");
|
| + CompleteFetch();
|
| +
|
| + EXPECT_TRUE(callback_called_);
|
| + EXPECT_EQ(RegistrationRequest::SUCCESS, status_);
|
| + EXPECT_EQ("2501", registration_id_);
|
| +}
|
| +
|
| } // namespace gcm
|
|
|