Index: components/copresence/rpc/http_post_unittest.cc |
diff --git a/components/copresence/rpc/http_post_unittest.cc b/components/copresence/rpc/http_post_unittest.cc |
deleted file mode 100644 |
index 92bc5808ffa04a8a1189d18e51db909decc52ebf..0000000000000000000000000000000000000000 |
--- a/components/copresence/rpc/http_post_unittest.cc |
+++ /dev/null |
@@ -1,143 +0,0 @@ |
-// Copyright 2014 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 "components/copresence/rpc/http_post.h" |
- |
-#include "base/test/test_simple_task_runner.h" |
-#include "components/copresence/proto/data.pb.h" |
-#include "net/base/url_util.h" |
-#include "net/http/http_status_code.h" |
-#include "net/url_request/test_url_fetcher_factory.h" |
-#include "net/url_request/url_request_test_util.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
-#include "url/gurl.h" |
- |
-namespace { |
- |
-const char kFakeServerHost[] = "test.server.google.com"; |
-const char kRPCName[] = "testRpc"; |
-const char kTracingToken[] = "trace me!"; |
-const char kApiKey[] = "unlock ALL the APIz"; |
-const char kAuthToken[] = "oogabooga"; |
- |
-} // namespace |
- |
-using google::protobuf::MessageLite; |
- |
-namespace copresence { |
- |
-class HttpPostTest : public testing::Test { |
- public: |
- HttpPostTest() { |
- context_getter_ = new net::TestURLRequestContextGetter( |
- make_scoped_refptr(new base::TestSimpleTaskRunner)); |
- proto_.set_client("test_client"); |
- proto_.set_version_code(123); |
- } |
- ~HttpPostTest() override {} |
- |
- // Check that the correct response was sent. |
- void TestResponseCallback(int expected_response_code, |
- const std::string& expected_response, |
- int actual_response_code, |
- const std::string& actual_response) { |
- CHECK_EQ(expected_response_code, actual_response_code); |
- CHECK_EQ(expected_response, actual_response); |
- } |
- |
- protected: |
- void CheckPassthrough(int response_code, const std::string& response) { |
- HttpPost* post = new HttpPost( |
- context_getter_.get(), std::string("http://") + kFakeServerHost, |
- kRPCName, kApiKey, |
- "", // auth token |
- "", // tracing token |
- proto_); |
- post->Start(base::Bind(&HttpPostTest::TestResponseCallback, |
- base::Unretained(this), |
- response_code, |
- response)); |
- |
- net::TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID( |
- HttpPost::kUrlFetcherId); |
- fetcher->set_response_code(response_code); |
- fetcher->SetResponseString(response); |
- fetcher->delegate()->OnURLFetchComplete(fetcher); |
- } |
- |
- net::TestURLFetcher* GetFetcher() { |
- return fetcher_factory_.GetFetcherByID(HttpPost::kUrlFetcherId); |
- } |
- |
- const std::string GetApiKeySent() { |
- std::string api_key_sent; |
- net::GetValueForKeyInQuery(GetFetcher()->GetOriginalURL(), |
- HttpPost::kApiKeyField, |
- &api_key_sent); |
- return api_key_sent; |
- } |
- |
- const std::string GetAuthHeaderSent() { |
- net::HttpRequestHeaders headers; |
- std::string header; |
- GetFetcher()->GetExtraRequestHeaders(&headers); |
- return headers.GetHeader("Authorization", &header) ? header : ""; |
- } |
- |
- const std::string GetTracingTokenSent() { |
- std::string tracing_token_sent; |
- net::GetValueForKeyInQuery(GetFetcher()->GetOriginalURL(), |
- HttpPost::kTracingField, |
- &tracing_token_sent); |
- return tracing_token_sent; |
- } |
- |
- net::TestURLFetcherFactory fetcher_factory_; |
- scoped_refptr<net::TestURLRequestContextGetter> context_getter_; |
- |
- ClientVersion proto_; |
-}; |
- |
-TEST_F(HttpPostTest, OKResponse) { |
- // "Send" the proto to the "server". |
- HttpPost* post = new HttpPost(context_getter_.get(), |
- std::string("http://") + kFakeServerHost, |
- kRPCName, |
- kApiKey, |
- kAuthToken, |
- kTracingToken, |
- proto_); |
- post->Start(base::Bind(&HttpPostTest::TestResponseCallback, |
- base::Unretained(this), |
- net::HTTP_OK, |
- "Hello World!")); |
- |
- // Verify that the data was sent to the right place. |
- GURL requested_url = GetFetcher()->GetOriginalURL(); |
- EXPECT_EQ(kFakeServerHost, requested_url.host()); |
- EXPECT_EQ(std::string("/") + kRPCName, requested_url.path()); |
- |
- // Check parameters. |
- EXPECT_EQ("", GetApiKeySent()); // No API key when using an auth token. |
- EXPECT_EQ(std::string("Bearer ") + kAuthToken, GetAuthHeaderSent()); |
- EXPECT_EQ(std::string("token:") + kTracingToken, GetTracingTokenSent()); |
- |
- // Verify that the right data was sent. |
- std::string upload_data; |
- ASSERT_TRUE(proto_.SerializeToString(&upload_data)); |
- EXPECT_EQ(upload_data, GetFetcher()->upload_data()); |
- |
- // Send a response and check that it's passed along correctly. |
- GetFetcher()->set_response_code(net::HTTP_OK); |
- GetFetcher()->SetResponseString("Hello World!"); |
- GetFetcher()->delegate()->OnURLFetchComplete(GetFetcher()); |
-} |
- |
-TEST_F(HttpPostTest, ErrorResponse) { |
- CheckPassthrough(net::HTTP_BAD_REQUEST, "Bad client. Shame on you."); |
- CheckPassthrough(net::HTTP_INTERNAL_SERVER_ERROR, "I'm dying. Forgive me."); |
- CheckPassthrough(-1, ""); |
-} |
- |
-} // namespace copresence |