Commit 24f00a5f authored by Matthew Denton's avatar Matthew Denton Committed by Commit Bot

Fix unittests to use CertVerifierService

The Network Service previously used concrete net::CertVerifier
implementations, but is now switching to use the CertVerifierService.
When creating a NetworkContext, a remote to a CertVerifierService
needs to be included in the NetworkContextParams.

Some unit tests don't do this, which is fixed in this CL in preparation
for enabling the CertVerifierService by default.

Since there's no need to test cert verification in most of these
unit tests, just add a pipe to a fake CertVerifierService that
always passes cert verification.

Bug: 1015134, 1111472
Change-Id: I378ff0930148bcc229b774c1bec1f7020ce97082
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2509429Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#823410}
parent 0bb86ecc
......@@ -669,6 +669,8 @@ class NetworkServiceWithUDPSocketLimit : public NetworkServiceBrowserTest {
mojo::Remote<network::mojom::NetworkContext> network_context;
network::mojom::NetworkContextParamsPtr context_params =
network::mojom::NetworkContextParams::New();
context_params->cert_verifier_params = GetCertVerifierParams(
network::mojom::CertVerifierCreationParams::New());
GetNetworkService()->CreateNetworkContext(
network_context.BindNewPipeAndPassReceiver(),
std::move(context_params));
......
......@@ -344,6 +344,7 @@ test("web_engine_unittests") {
"//mojo/core/embedder",
"//services/media_session/public/mojom",
"//services/network:network_service",
"//services/network:test_support",
"//services/network/public/mojom",
"//testing/gmock",
"//testing/gtest",
......
......@@ -21,6 +21,7 @@
#include "services/network/network_service.h"
#include "services/network/public/mojom/cookie_manager.mojom.h"
#include "services/network/public/mojom/network_context.mojom.h"
#include "services/network/test/fake_test_cert_verifier_params_factory.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
......@@ -59,9 +60,14 @@ class CookieManagerImplTest : public testing::Test {
protected:
network::mojom::NetworkContext* GetNetworkContext() {
if (!network_context_.is_bound()) {
network::mojom::NetworkContextParamsPtr params =
network::mojom::NetworkContextParams::New();
// Use a dummy CertVerifier that always passes cert verification, since
// these unittests don't need to test CertVerifier behavior.
params->cert_verifier_params =
network::FakeTestCertVerifierParamsFactory::GetCertVerifierParams();
network_service_->CreateNetworkContext(
network_context_.BindNewPipeAndPassReceiver(),
network::mojom::NetworkContextParams::New());
network_context_.BindNewPipeAndPassReceiver(), std::move(params));
network_context_.reset_on_disconnect();
}
return network_context_.get();
......
......@@ -84,6 +84,7 @@ source_set("drive_unittests") {
":test_support",
"//base",
"//base/test:test_support",
"//services/network:test_support",
"//testing/gmock",
"//testing/gtest",
]
......
......@@ -24,6 +24,7 @@
#include "services/network/network_service.h"
#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
#include "services/network/public/mojom/url_loader_factory.mojom.h"
#include "services/network/test/fake_test_cert_verifier_params_factory.h"
#include "services/network/test/test_network_service_client.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -43,6 +44,10 @@ class BaseRequestsServerTest : public testing::Test {
network_service_remote.BindNewPipeAndPassReceiver());
network::mojom::NetworkContextParamsPtr context_params =
network::mojom::NetworkContextParams::New();
// Use a dummy CertVerifier that always passes cert verification, since
// these unittests don't need to test CertVerifier behavior.
context_params->cert_verifier_params =
network::FakeTestCertVerifierParamsFactory::GetCertVerifierParams();
network_service_remote->CreateNetworkContext(
network_context_.BindNewPipeAndPassReceiver(),
std::move(context_params));
......
......@@ -26,6 +26,7 @@
#include "services/network/network_service.h"
#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
#include "services/network/public/mojom/url_response_head.mojom.h"
#include "services/network/test/fake_test_cert_verifier_params_factory.h"
#include "services/network/test/test_network_service_client.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -118,6 +119,10 @@ class BaseRequestsTest : public testing::Test {
network_service_remote.BindNewPipeAndPassReceiver());
network::mojom::NetworkContextParamsPtr context_params =
network::mojom::NetworkContextParams::New();
// Use a dummy CertVerifier that always passes cert verification, since
// these unittests don't need to test CertVerifier behavior.
context_params->cert_verifier_params =
network::FakeTestCertVerifierParamsFactory::GetCertVerifierParams();
network_service_remote->CreateNetworkContext(
network_context_.BindNewPipeAndPassReceiver(),
std::move(context_params));
......
......@@ -34,6 +34,7 @@
#include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
#include "services/network/network_service.h"
#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
#include "services/network/test/fake_test_cert_verifier_params_factory.h"
#include "services/network/test/test_network_context_client.h"
#include "services/network/test/test_network_service_client.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -129,6 +130,10 @@ class DriveApiRequestsTest : public testing::Test {
network_service_remote.BindNewPipeAndPassReceiver());
network::mojom::NetworkContextParamsPtr context_params =
network::mojom::NetworkContextParams::New();
// Use a dummy CertVerifier that always passes cert verification, since
// these unittests don't need to test CertVerifier behavior.
context_params->cert_verifier_params =
network::FakeTestCertVerifierParamsFactory::GetCertVerifierParams();
network_service_remote->CreateNetworkContext(
network_context_.BindNewPipeAndPassReceiver(),
std::move(context_params));
......
......@@ -24,6 +24,7 @@
#include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
#include "services/network/network_service.h"
#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
#include "services/network/test/fake_test_cert_verifier_params_factory.h"
#include "services/network/test/test_network_service_client.h"
#include "services/network/test/test_url_loader_factory.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -75,6 +76,10 @@ class FilesListRequestRunnerTest : public testing::Test {
network_service_remote.BindNewPipeAndPassReceiver());
network::mojom::NetworkContextParamsPtr context_params =
network::mojom::NetworkContextParams::New();
// Use a dummy CertVerifier that always passes cert verification, since
// these unittests don't need to test CertVerifier behavior.
context_params->cert_verifier_params =
network::FakeTestCertVerifierParamsFactory::GetCertVerifierParams();
network_service_remote->CreateNetworkContext(
network_context_.BindNewPipeAndPassReceiver(),
std::move(context_params));
......
......@@ -24,6 +24,7 @@
#include "services/network/network_context.h"
#include "services/network/network_service.h"
#include "services/network/public/mojom/proxy_resolving_socket.mojom.h"
#include "services/network/test/fake_test_cert_verifier_params_factory.h"
#include "services/network/test/test_network_connection_tracker.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -331,6 +332,10 @@ ConnectionFactoryImplTest::ConnectionFactoryImplTest()
network_service_(network::NetworkService::CreateForTesting()) {
network::mojom::NetworkContextParamsPtr params =
network::mojom::NetworkContextParams::New();
// Use a dummy CertVerifier that always passes cert verification, since
// these unittests don't need to test CertVerifier behavior.
params->cert_verifier_params =
network::FakeTestCertVerifierParamsFactory::GetCertVerifierParams();
// Use a fixed proxy config, to avoid dependencies on local network
// configuration.
params->initial_proxy_config = net::ProxyConfigWithAnnotation::CreateDirect();
......
......@@ -21,6 +21,7 @@
#include "services/network/network_service.h"
#include "services/network/public/cpp/features.h"
#include "services/network/public/proto/sct_audit_report.pb.h"
#include "services/network/test/fake_test_cert_verifier_params_factory.h"
#include "services/network/test/test_network_context_client.h"
#include "services/network/test/test_url_loader_factory.h"
......@@ -49,10 +50,16 @@ class SCTAuditingCacheTest : public testing::Test {
protected:
void InitNetworkContext() {
mojom::NetworkContextParamsPtr params = mojom::NetworkContextParams::New();
// Use a dummy CertVerifier that always passes cert verification, since
// these unittests don't need to test CertVerifier behavior.
params->cert_verifier_params =
FakeTestCertVerifierParamsFactory::GetCertVerifierParams();
network_context_ = std::make_unique<NetworkContext>(
network_service_.get(),
network_context_remote_.BindNewPipeAndPassReceiver(),
mojom::NetworkContextParams::New());
std::move(params));
// A NetworkContextClient is needed for embedder notifications to work.
mojo::PendingRemote<network::mojom::NetworkContextClient>
......
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