chromium/services/cert_verifier/cert_verifier_service_unittest.cc

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "services/cert_verifier/cert_verifier_service.h"

#include <stdint.h>

#include <iterator>
#include <memory>
#include <string>
#include <string_view>
#include <tuple>

#include "base/containers/adapters.h"
#include "base/functional/callback_helpers.h"
#include "base/memory/ptr_util.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
#include "base/strings/string_number_conversions.h"
#include "base/test/bind.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "net/base/net_errors.h"
#include "net/cert/cert_status_flags.h"
#include "net/cert/cert_verifier.h"
#include "net/cert/cert_verify_proc.h"
#include "net/cert/cert_verify_result.h"
#include "net/cert/crl_set.h"
#include "net/cert/x509_certificate.h"
#include "net/cert/x509_util.h"
#include "net/log/net_log.h"
#include "net/test/cert_test_util.h"
#include "net/test/test_data_directory.h"
#include "services/cert_verifier/cert_verifier_service_factory.h"
#include "services/network/public/mojom/cert_verifier_service.mojom.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/platform_test.h"

namespace net {
class CertNetFetcher;
class ChromeRootStoreData;
}  // namespace net

namespace cert_verifier {
namespace {
const int kExpectedNetError =;
const unsigned int kExpectedCertStatus =;

scoped_refptr<net::X509Certificate> GetTestCert() {}

class DummyCertVerifier : public net::CertVerifierWithUpdatableProc {};

struct DummyCVServiceRequest : public mojom::CertVerifierRequest {};

class CertVerifierServiceTest : public PlatformTest,
                                public mojom::CertVerifierServiceClient {};
}  // namespace

TEST_F(CertVerifierServiceTest, TestSingleCompletion) {}

TEST_F(CertVerifierServiceTest, TestMultipleSimultaneousCompletions) {}

TEST_F(CertVerifierServiceTest, TestSingleSyncCompletion) {}

TEST_F(CertVerifierServiceTest, TestMultipleSimultaneousSyncCompletions) {}

TEST_F(CertVerifierServiceTest, TestInvalidIntermediate) {}

TEST_F(CertVerifierServiceTest, TestRequestDisconnectionCancelsCVRequest) {}

TEST_F(CertVerifierServiceTest, TestCVServiceDisconnection) {}

// Check that calling SetConfig() on the Mojo interface results in a SetConfig
// call to the underlying net::CertVerifier.
TEST_F(CertVerifierServiceTest, StoresConfig) {}

// CertVerifierService should register an Observer on the underlying
// CertVerifier and when that observer is notified, it should proxy the
// notifications to the CertVerifierServiceClient.
TEST_F(CertVerifierServiceTest, ObserverIsRegistered) {}

}  // namespace cert_verifier