chromium/net/quic/crypto/proof_test_chromium.cc

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

#include <memory>

#include "base/files/file_path.h"
#include "base/memory/raw_ptr.h"
#include "net/base/ip_endpoint.h"
#include "net/base/net_errors.h"
#include "net/base/test_completion_callback.h"
#include "net/cert/cert_status_flags.h"
#include "net/cert/cert_verify_result.h"
#include "net/cert/x509_certificate.h"
#include "net/quic/quic_context.h"
#include "net/test/cert_test_util.h"
#include "net/test/test_data_directory.h"
#include "net/third_party/quiche/src/quiche/quic/core/crypto/proof_source.h"
#include "net/third_party/quiche/src/quiche/quic/core/crypto/proof_verifier.h"
#include "net/third_party/quiche/src/quiche/quic/test_tools/crypto_test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/boringssl/src/include/openssl/ssl.h"

string;

namespace net::test {
namespace {

// TestProofVerifierCallback is a simple callback for a quic::ProofVerifier that
// signals a TestCompletionCallback when called and stores the results from the
// quic::ProofVerifier in pointers passed to the constructor.
class TestProofVerifierCallback : public quic::ProofVerifierCallback {};

// RunVerification runs |verifier->VerifyProof| and asserts that the result
// matches |expected_ok|.
void RunVerification(quic::ProofVerifier* verifier,
                     const string& hostname,
                     const uint16_t port,
                     const string& server_config,
                     quic::QuicTransportVersion quic_version,
                     std::string_view chlo_hash,
                     const std::vector<string>& certs,
                     const string& proof,
                     bool expected_ok) {}

class TestCallback : public quic::ProofSource::Callback {};

class ProofTest : public ::testing::TestWithParam<quic::ParsedQuicVersion> {};

}  // namespace

INSTANTIATE_TEST_SUITE_P();

TEST_P(ProofTest, Verify) {}

namespace {

class TestingSignatureCallback : public quic::ProofSource::SignatureCallback {};

}  // namespace

TEST_P(ProofTest, TlsSignature) {}

TEST_P(ProofTest, UseAfterFree) {}

}  // namespace net::test