Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(737)

Unified Diff: components/sync/core_impl/syncapi_server_connection_manager_unittest.cc

Issue 2408463002: [Sync] Move network-related code from core/ to engine/net/. (Closed)
Patch Set: Use SyncServerConnectionManager instead of ServerConnectionManagerImpl. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/sync/core_impl/syncapi_server_connection_manager_unittest.cc
diff --git a/components/sync/core_impl/syncapi_server_connection_manager_unittest.cc b/components/sync/core_impl/syncapi_server_connection_manager_unittest.cc
deleted file mode 100644
index 1620d91620a564ae6575bfe2ff7d8096faa742c4..0000000000000000000000000000000000000000
--- a/components/sync/core_impl/syncapi_server_connection_manager_unittest.cc
+++ /dev/null
@@ -1,191 +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 "components/sync/core_impl/syncapi_server_connection_manager.h"
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/single_thread_task_runner.h"
-#include "base/synchronization/waitable_event.h"
-#include "base/test/test_timeouts.h"
-#include "base/threading/thread.h"
-#include "base/time/time.h"
-#include "components/sync/base/cancelation_signal.h"
-#include "components/sync/core/http_post_provider_factory.h"
-#include "components/sync/core/http_post_provider_interface.h"
-#include "net/base/net_errors.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace syncer {
-namespace {
-
-using base::TimeDelta;
-
-class BlockingHttpPost : public HttpPostProviderInterface {
- public:
- BlockingHttpPost()
- : wait_for_abort_(base::WaitableEvent::ResetPolicy::AUTOMATIC,
- base::WaitableEvent::InitialState::NOT_SIGNALED) {}
- ~BlockingHttpPost() override {}
-
- void SetExtraRequestHeaders(const char* headers) override {}
- void SetURL(const char* url, int port) override {}
- void SetPostPayload(const char* content_type,
- int content_length,
- const char* content) override {}
- bool MakeSynchronousPost(int* error_code, int* response_code) override {
- wait_for_abort_.TimedWait(TestTimeouts::action_max_timeout());
- *error_code = net::ERR_ABORTED;
- return false;
- }
- int GetResponseContentLength() const override { return 0; }
- const char* GetResponseContent() const override { return ""; }
- const std::string GetResponseHeaderValue(
- const std::string& name) const override {
- return std::string();
- }
- void Abort() override { wait_for_abort_.Signal(); }
-
- private:
- base::WaitableEvent wait_for_abort_;
-};
-
-class BlockingHttpPostFactory : public HttpPostProviderFactory {
- public:
- ~BlockingHttpPostFactory() override {}
- void Init(const std::string& user_agent,
- const BindToTrackerCallback& bind_to_tracker_callback) override {}
-
- HttpPostProviderInterface* Create() override {
- return new BlockingHttpPost();
- }
- void Destroy(HttpPostProviderInterface* http) override {
- delete static_cast<BlockingHttpPost*>(http);
- }
-};
-
-} // namespace
-
-// Ask the ServerConnectionManager to stop before it is created.
-TEST(SyncAPIServerConnectionManagerTest, VeryEarlyAbortPost) {
- CancelationSignal signal;
- signal.Signal();
- SyncAPIServerConnectionManager server("server", 0, true,
- new BlockingHttpPostFactory(), &signal);
-
- ServerConnectionManager::PostBufferParams params;
-
- bool result = server.PostBufferToPath(&params, "/testpath", "testauth");
-
- EXPECT_FALSE(result);
- EXPECT_EQ(HttpResponse::CONNECTION_UNAVAILABLE,
- params.response.server_status);
-}
-
-// Ask the ServerConnectionManager to stop before its first request is made.
-TEST(SyncAPIServerConnectionManagerTest, EarlyAbortPost) {
- CancelationSignal signal;
- SyncAPIServerConnectionManager server("server", 0, true,
- new BlockingHttpPostFactory(), &signal);
-
- ServerConnectionManager::PostBufferParams params;
-
- signal.Signal();
- bool result = server.PostBufferToPath(&params, "/testpath", "testauth");
-
- EXPECT_FALSE(result);
- EXPECT_EQ(HttpResponse::CONNECTION_UNAVAILABLE,
- params.response.server_status);
-}
-
-// Ask the ServerConnectionManager to stop during a request.
-TEST(SyncAPIServerConnectionManagerTest, AbortPost) {
- CancelationSignal signal;
- SyncAPIServerConnectionManager server("server", 0, true,
- new BlockingHttpPostFactory(), &signal);
-
- ServerConnectionManager::PostBufferParams params;
-
- base::Thread abort_thread("Test_AbortThread");
- ASSERT_TRUE(abort_thread.Start());
- abort_thread.task_runner()->PostDelayedTask(
- FROM_HERE,
- base::Bind(&CancelationSignal::Signal, base::Unretained(&signal)),
- TestTimeouts::tiny_timeout());
-
- bool result = server.PostBufferToPath(&params, "/testpath", "testauth");
-
- EXPECT_FALSE(result);
- EXPECT_EQ(HttpResponse::CONNECTION_UNAVAILABLE,
- params.response.server_status);
- abort_thread.Stop();
-}
-
-namespace {
-
-class FailingHttpPost : public HttpPostProviderInterface {
- public:
- explicit FailingHttpPost(int error_code) : error_code_(error_code) {}
- ~FailingHttpPost() override {}
-
- void SetExtraRequestHeaders(const char* headers) override {}
- void SetURL(const char* url, int port) override {}
- void SetPostPayload(const char* content_type,
- int content_length,
- const char* content) override {}
- bool MakeSynchronousPost(int* error_code, int* response_code) override {
- *error_code = error_code_;
- return false;
- }
- int GetResponseContentLength() const override { return 0; }
- const char* GetResponseContent() const override { return ""; }
- const std::string GetResponseHeaderValue(
- const std::string& name) const override {
- return std::string();
- }
- void Abort() override {}
-
- private:
- int error_code_;
-};
-
-class FailingHttpPostFactory : public HttpPostProviderFactory {
- public:
- explicit FailingHttpPostFactory(int error_code) : error_code_(error_code) {}
- ~FailingHttpPostFactory() override {}
- void Init(const std::string& user_agent,
- const BindToTrackerCallback& bind_to_tracker_callback) override {}
-
- HttpPostProviderInterface* Create() override {
- return new FailingHttpPost(error_code_);
- }
- void Destroy(HttpPostProviderInterface* http) override {
- delete static_cast<FailingHttpPost*>(http);
- }
-
- private:
- int error_code_;
-};
-
-} // namespace
-
-// Fail request with TIMED_OUT error. Make sure server status is
-// CONNECTION_UNAVAILABLE and therefore request will be retried after network
-// change.
-TEST(SyncAPIServerConnectionManagerTest, FailPostWithTimedOut) {
- CancelationSignal signal;
- SyncAPIServerConnectionManager server(
- "server", 0, true, new FailingHttpPostFactory(net::ERR_TIMED_OUT),
- &signal);
-
- ServerConnectionManager::PostBufferParams params;
-
- bool result = server.PostBufferToPath(&params, "/testpath", "testauth");
-
- EXPECT_FALSE(result);
- EXPECT_EQ(HttpResponse::CONNECTION_UNAVAILABLE,
- params.response.server_status);
-}
-
-} // namespace syncer
« no previous file with comments | « components/sync/core_impl/syncapi_server_connection_manager.cc ('k') | components/sync/core_impl/test/fake_sync_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698