Index: chrome/browser/google_apis/base_requests_unittest.cc |
diff --git a/chrome/browser/google_apis/base_requests_unittest.cc b/chrome/browser/google_apis/base_requests_unittest.cc |
deleted file mode 100644 |
index ca22d1194339b196a572c40b8da72075cce1b063..0000000000000000000000000000000000000000 |
--- a/chrome/browser/google_apis/base_requests_unittest.cc |
+++ /dev/null |
@@ -1,204 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/google_apis/base_requests.h" |
- |
-#include "base/bind.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/message_loop/message_loop.h" |
-#include "base/run_loop.h" |
-#include "base/values.h" |
-#include "chrome/browser/google_apis/dummy_auth_service.h" |
-#include "chrome/browser/google_apis/request_sender.h" |
-#include "chrome/browser/google_apis/test_util.h" |
-#include "net/test/embedded_test_server/embedded_test_server.h" |
-#include "net/test/embedded_test_server/http_request.h" |
-#include "net/test/embedded_test_server/http_response.h" |
-#include "net/url_request/url_request_test_util.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace google_apis { |
- |
-namespace { |
- |
-const char kValidJsonString[] = "{ \"test\": 123 }"; |
-const char kInvalidJsonString[] = "$$$"; |
- |
-class FakeUrlFetchRequest : public UrlFetchRequestBase { |
- public: |
- explicit FakeUrlFetchRequest(RequestSender* sender, |
- const EntryActionCallback& callback, |
- const GURL& url) |
- : UrlFetchRequestBase(sender), |
- callback_(callback), |
- url_(url) { |
- } |
- |
- virtual ~FakeUrlFetchRequest() { |
- } |
- |
- protected: |
- virtual GURL GetURL() const OVERRIDE { return url_; } |
- virtual void ProcessURLFetchResults(const net::URLFetcher* source) OVERRIDE { |
- callback_.Run(GetErrorCode()); |
- } |
- virtual void RunCallbackOnPrematureFailure(GDataErrorCode code) OVERRIDE { |
- callback_.Run(code); |
- } |
- |
- EntryActionCallback callback_; |
- GURL url_; |
-}; |
- |
-class FakeGetDataRequest : public GetDataRequest { |
- public: |
- explicit FakeGetDataRequest(RequestSender* sender, |
- const GetDataCallback& callback, |
- const GURL& url) |
- : GetDataRequest(sender, callback), |
- url_(url) { |
- } |
- |
- virtual ~FakeGetDataRequest() { |
- } |
- |
- protected: |
- virtual GURL GetURL() const OVERRIDE { return url_; } |
- |
- GURL url_; |
-}; |
- |
-} // namespace |
- |
-class BaseRequestsTest : public testing::Test { |
- public: |
- BaseRequestsTest() : response_code_(net::HTTP_OK) {} |
- |
- virtual void SetUp() OVERRIDE { |
- request_context_getter_ = new net::TestURLRequestContextGetter( |
- message_loop_.message_loop_proxy()); |
- |
- sender_.reset(new RequestSender(new DummyAuthService, |
- request_context_getter_.get(), |
- message_loop_.message_loop_proxy(), |
- std::string() /* custom user agent */)); |
- |
- ASSERT_TRUE(test_server_.InitializeAndWaitUntilReady()); |
- test_server_.RegisterRequestHandler( |
- base::Bind(&BaseRequestsTest::HandleRequest, base::Unretained(this))); |
- } |
- |
- scoped_ptr<net::test_server::HttpResponse> HandleRequest( |
- const net::test_server::HttpRequest& request) { |
- scoped_ptr<net::test_server::BasicHttpResponse> response( |
- new net::test_server::BasicHttpResponse); |
- response->set_code(response_code_); |
- response->set_content(response_body_); |
- response->set_content_type("application/json"); |
- return response.PassAs<net::test_server::HttpResponse>(); |
- } |
- |
- base::MessageLoopForIO message_loop_; |
- scoped_refptr<net::TestURLRequestContextGetter> request_context_getter_; |
- scoped_ptr<RequestSender> sender_; |
- net::test_server::EmbeddedTestServer test_server_; |
- |
- net::HttpStatusCode response_code_; |
- std::string response_body_; |
-}; |
- |
-TEST_F(BaseRequestsTest, ParseValidJson) { |
- scoped_ptr<base::Value> json; |
- ParseJson(message_loop_.message_loop_proxy(), |
- kValidJsonString, |
- base::Bind(test_util::CreateCopyResultCallback(&json))); |
- base::RunLoop().RunUntilIdle(); |
- |
- DictionaryValue* root_dict = NULL; |
- ASSERT_TRUE(json); |
- ASSERT_TRUE(json->GetAsDictionary(&root_dict)); |
- |
- int int_value = 0; |
- ASSERT_TRUE(root_dict->GetInteger("test", &int_value)); |
- EXPECT_EQ(123, int_value); |
-} |
- |
-TEST_F(BaseRequestsTest, ParseInvalidJson) { |
- // Initialize with a valid pointer to verify that null is indeed assigned. |
- scoped_ptr<base::Value> json(base::Value::CreateNullValue()); |
- ParseJson(message_loop_.message_loop_proxy(), |
- kInvalidJsonString, |
- base::Bind(test_util::CreateCopyResultCallback(&json))); |
- base::RunLoop().RunUntilIdle(); |
- |
- EXPECT_FALSE(json); |
-} |
- |
-TEST_F(BaseRequestsTest, UrlFetchRequestBaseResponseCodeOverride) { |
- response_code_ = net::HTTP_FORBIDDEN; |
- response_body_ = |
- "{\"error\": {\n" |
- " \"errors\": [\n" |
- " {\n" |
- " \"domain\": \"usageLimits\",\n" |
- " \"reason\": \"rateLimitExceeded\",\n" |
- " \"message\": \"Rate Limit Exceeded\"\n" |
- " }\n" |
- " ],\n" |
- " \"code\": 403,\n" |
- " \"message\": \"Rate Limit Exceeded\"\n" |
- " }\n" |
- "}\n"; |
- |
- GDataErrorCode error = GDATA_OTHER_ERROR; |
- base::RunLoop run_loop; |
- sender_->StartRequestWithRetry( |
- new FakeUrlFetchRequest( |
- sender_.get(), |
- test_util::CreateQuitCallback( |
- &run_loop, test_util::CreateCopyResultCallback(&error)), |
- test_server_.base_url())); |
- run_loop.Run(); |
- |
- // HTTP_FORBIDDEN (403) is overridden by the error reason. |
- EXPECT_EQ(HTTP_SERVICE_UNAVAILABLE, error); |
-} |
- |
-TEST_F(BaseRequestsTest, GetDataRequestParseValidResponse) { |
- response_body_ = kValidJsonString; |
- |
- GDataErrorCode error = GDATA_OTHER_ERROR; |
- scoped_ptr<base::Value> value; |
- base::RunLoop run_loop; |
- sender_->StartRequestWithRetry( |
- new FakeGetDataRequest( |
- sender_.get(), |
- test_util::CreateQuitCallback( |
- &run_loop, test_util::CreateCopyResultCallback(&error, &value)), |
- test_server_.base_url())); |
- run_loop.Run(); |
- |
- EXPECT_EQ(HTTP_SUCCESS, error); |
- EXPECT_TRUE(value); |
-} |
- |
-TEST_F(BaseRequestsTest, GetDataRequestParseInvalidResponse) { |
- response_body_ = kInvalidJsonString; |
- |
- GDataErrorCode error = GDATA_OTHER_ERROR; |
- scoped_ptr<base::Value> value; |
- base::RunLoop run_loop; |
- sender_->StartRequestWithRetry( |
- new FakeGetDataRequest( |
- sender_.get(), |
- test_util::CreateQuitCallback( |
- &run_loop, test_util::CreateCopyResultCallback(&error, &value)), |
- test_server_.base_url())); |
- run_loop.Run(); |
- |
- EXPECT_EQ(GDATA_PARSE_ERROR, error); |
- EXPECT_FALSE(value); |
-} |
- |
-} // namespace google_apis |