Commit 83ba87a0 authored by Eric Orth's avatar Eric Orth Committed by Commit Bot

Create a noop test implementation of NetworkContext.

Useful to override to create specialized mocks or fakes that only care
about a portion of the overall interface.  Especially useful for mocks
or fakes owned outside the network service code as the mocks can create
an interface dependency on only the overridden methods.

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: Id03bdcaab6d991fb1a79ddcaf4eaf0612fe64d52
Reviewed-on: https://chromium-review.googlesource.com/1026418
Commit-Queue: Eric Orth <ericorth@chromium.org>
Reviewed-by: default avatarYuri Wiitala <miu@chromium.org>
Reviewed-by: default avatarHelen Li <xunjieli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554566}
parent c556883a
......@@ -81,6 +81,7 @@ source_set("unittests") {
"//media/cast:test_support",
"//mojo/public/cpp/bindings",
"//net",
"//services/network:test_support",
"//services/network/public/mojom",
"//testing/gmock",
"//testing/gtest",
......
include_rules = [
"+net",
"+services/network/public/mojom",
"+services/network/test",
]
......@@ -8,8 +8,8 @@
#include "base/callback.h"
#include "media/cast/net/cast_transport_config.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "services/network/public/mojom/network_service.mojom.h"
#include "services/network/public/mojom/udp_socket.mojom.h"
#include "services/network/test/test_network_context.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -61,7 +61,7 @@ class MockUdpSocket final : public network::mojom::UDPSocket {
DISALLOW_COPY_AND_ASSIGN(MockUdpSocket);
};
class MockNetworkContext final : public network::mojom::NetworkContext {
class MockNetworkContext final : public network::TestNetworkContext {
public:
explicit MockNetworkContext(network::mojom::NetworkContextRequest request);
~MockNetworkContext() override;
......@@ -69,57 +69,8 @@ class MockNetworkContext final : public network::mojom::NetworkContext {
MOCK_METHOD0(OnUDPSocketCreated, void());
// network::mojom::NetworkContext implementation:
void CreateURLLoaderFactory(network::mojom::URLLoaderFactoryRequest request,
uint32_t process_id) override {}
void GetCookieManager(network::mojom::CookieManagerRequest request) override {
}
void GetRestrictedCookieManager(
network::mojom::RestrictedCookieManagerRequest request,
int32_t render_process_id,
int32_t render_frame_id) override {}
void ClearNetworkingHistorySince(
base::Time time,
base::OnceClosure completion_callback) override {}
void ClearHttpCache(base::Time start_time,
base::Time end_time,
network::mojom::ClearDataFilterPtr filter,
ClearHttpCacheCallback callback) override {}
void ClearChannelIds(base::Time start_time,
base::Time end_time,
network::mojom::ClearDataFilterPtr filter,
ClearChannelIdsCallback callback) override {}
void SetNetworkConditions(
const std::string& profile_id,
network::mojom::NetworkConditionsPtr conditions) override {}
void SetAcceptLanguage(const std::string& new_accept_language) override {}
void SetCTPolicy(
const std::vector<std::string>& required_hosts,
const std::vector<std::string>& excluded_hosts,
const std::vector<std::string>& excluded_spkis,
const std::vector<std::string>& excluded_legacy_spkis) override {}
void AddHSTSForTesting(const std::string& host,
base::Time expiry,
bool include_subdomains,
AddHSTSForTestingCallback callback) override {}
void CreateUDPSocket(network::mojom::UDPSocketRequest request,
network::mojom::UDPSocketReceiverPtr receiver) override;
void CreateTCPServerSocket(
const net::IPEndPoint& local_addr,
uint32_t backlog,
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
network::mojom::TCPServerSocketRequest request,
CreateTCPServerSocketCallback callback) override {}
void CreateTCPConnectedSocket(
const base::Optional<net::IPEndPoint>& local_addr,
const net::AddressList& remote_addr_list,
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
network::mojom::TCPConnectedSocketRequest request,
network::mojom::TCPConnectedSocketObserverPtr observer,
CreateTCPConnectedSocketCallback callback) override {}
void CreateWebSocket(network::mojom::WebSocketRequest request,
int process_id,
int render_frame_id,
const url::Origin& origin) override {}
MockUdpSocket* udp_socket() const { return udp_socket_.get(); }
......
......@@ -204,6 +204,7 @@ source_set("test_support") {
sources = [
"test/test_data_pipe_getter.cc",
"test/test_data_pipe_getter.h",
"test/test_network_context.h",
"test/test_url_loader_client.cc",
"test/test_url_loader_client.h",
"test/test_url_loader_factory.cc",
......
// Copyright 2018 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.
#ifndef SERVICES_NETWORK_TEST_TEST_NETWORK_CONTEXT_H_
#define SERVICES_NETWORK_TEST_TEST_NETWORK_CONTEXT_H_
#include <cstdint>
#include <string>
#include <vector>
#include "base/component_export.h"
#include "base/optional.h"
#include "base/time/time.h"
#include "net/base/address_list.h"
#include "net/base/ip_endpoint.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "services/network/public/mojom/cookie_manager.mojom.h"
#include "services/network/public/mojom/network_service.mojom.h"
#include "services/network/public/mojom/restricted_cookie_manager.mojom.h"
#include "services/network/public/mojom/tcp_socket.mojom.h"
#include "services/network/public/mojom/udp_socket.mojom.h"
#include "services/network/public/mojom/url_loader_factory.mojom.h"
#include "services/network/public/mojom/websocket.mojom.h"
#include "url/origin.h"
namespace network {
// Noop implementation of mojom::NetworkContext. Useful to override to create
// specialized mocks or fakes.
class TestNetworkContext : public mojom::NetworkContext {
public:
TestNetworkContext() = default;
~TestNetworkContext() override = default;
void CreateURLLoaderFactory(mojom::URLLoaderFactoryRequest url_loader_factory,
uint32_t process_id) override {}
void GetCookieManager(mojom::CookieManagerRequest cookie_manager) override {}
void GetRestrictedCookieManager(
mojom::RestrictedCookieManagerRequest restricted_cookie_manager,
int32_t render_process_id,
int32_t render_frame_id) override {}
void ClearNetworkingHistorySince(
base::Time start_time,
ClearNetworkingHistorySinceCallback callback) override {}
void ClearHttpCache(base::Time start_time,
base::Time end_time,
mojom::ClearDataFilterPtr filter,
ClearHttpCacheCallback callback) override {}
void ClearChannelIds(base::Time start_time,
base::Time end_time,
mojom::ClearDataFilterPtr filter,
ClearChannelIdsCallback callback) override {}
void SetNetworkConditions(const std::string& profile_id,
mojom::NetworkConditionsPtr conditions) override {}
void SetAcceptLanguage(const std::string& new_accept_language) override {}
void SetCTPolicy(
const std::vector<std::string>& required_hosts,
const std::vector<std::string>& excluded_hosts,
const std::vector<std::string>& excluded_spkis,
const std::vector<std::string>& excluded_legacy_spkis) override {}
void CreateUDPSocket(mojom::UDPSocketRequest request,
mojom::UDPSocketReceiverPtr receiver) override {}
void CreateTCPServerSocket(
const net::IPEndPoint& local_addr,
uint32_t backlog,
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojom::TCPServerSocketRequest socket,
CreateTCPServerSocketCallback callback) override {}
void CreateTCPConnectedSocket(
const base::Optional<net::IPEndPoint>& local_addr,
const net::AddressList& remote_addr_list,
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojom::TCPConnectedSocketRequest socket,
mojom::TCPConnectedSocketObserverPtr observer,
CreateTCPConnectedSocketCallback callback) override {}
void CreateWebSocket(mojom::WebSocketRequest request,
int32_t process_id,
int32_t render_frame_id,
const url::Origin& origin) override {}
void AddHSTSForTesting(const std::string& host,
base::Time expiry,
bool include_subdomains,
AddHSTSForTestingCallback callback) override {}
};
} // namespace network
#endif // SERVICES_NETWORK_TEST_TEST_NETWORK_CONTEXT_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment