chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_crypto_server_config_test.cc

// Copyright 2013 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 "quiche/quic/core/crypto/quic_crypto_server_config.h"

#include <stdarg.h>

#include <memory>
#include <string>
#include <utility>
#include <vector>

#include "absl/strings/match.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/core/crypto/cert_compressor.h"
#include "quiche/quic/core/crypto/chacha20_poly1305_encrypter.h"
#include "quiche/quic/core/crypto/crypto_handshake_message.h"
#include "quiche/quic/core/crypto/crypto_secret_boxer.h"
#include "quiche/quic/core/crypto/quic_random.h"
#include "quiche/quic/core/proto/crypto_server_config_proto.h"
#include "quiche/quic/core/quic_time.h"
#include "quiche/quic/core/quic_versions.h"
#include "quiche/quic/platform/api/quic_socket_address.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/test_tools/crypto_test_utils.h"
#include "quiche/quic/test_tools/mock_clock.h"
#include "quiche/quic/test_tools/quic_crypto_server_config_peer.h"
#include "quiche/quic/test_tools/quic_test_utils.h"

namespace quic {
namespace test {
Not;

// NOTE: This matcher depends on the wire format of serialzied protocol buffers,
// which may change in the future.
// Switch to ::testing::EqualsProto once it is available in Chromium.
MATCHER_P(SerializedProtoEquals, message, "") {}

class QuicCryptoServerConfigTest : public QuicTest {};

TEST_F(QuicCryptoServerConfigTest, ServerConfig) {}

TEST_F(QuicCryptoServerConfigTest, CompressCerts) {}

TEST_F(QuicCryptoServerConfigTest, CompressSameCertsTwice) {}

TEST_F(QuicCryptoServerConfigTest, CompressDifferentCerts) {}

class SourceAddressTokenTest : public QuicTest {};

// Test basic behavior of source address tokens including being specific
// to a single IP address and server config.
TEST_F(SourceAddressTokenTest, SourceAddressToken) {}

TEST_F(SourceAddressTokenTest, SourceAddressTokenExpiration) {}

TEST_F(SourceAddressTokenTest, SourceAddressTokenWithNetworkParams) {}

// Test the ability for a source address token to be valid for multiple
// addresses.
TEST_F(SourceAddressTokenTest, SourceAddressTokenMultipleAddresses) {}

class CryptoServerConfigsTest : public QuicTest {};

TEST_F(CryptoServerConfigsTest, NoConfigs) {}

TEST_F(CryptoServerConfigsTest, MakePrimaryFirst) {}

TEST_F(CryptoServerConfigsTest, MakePrimarySecond) {}

TEST_F(CryptoServerConfigsTest, Delete) {}

TEST_F(CryptoServerConfigsTest, DeletePrimary) {}

TEST_F(CryptoServerConfigsTest, FailIfDeletingAllConfigs) {}

TEST_F(CryptoServerConfigsTest, ChangePrimaryTime) {}

TEST_F(CryptoServerConfigsTest, AllConfigsInThePast) {}

TEST_F(CryptoServerConfigsTest, AllConfigsInTheFuture) {}

TEST_F(CryptoServerConfigsTest, SortByPriority) {}

TEST_F(CryptoServerConfigsTest, AdvancePrimary) {}

class ValidateCallback : public ValidateClientHelloResultCallback {};

TEST_F(CryptoServerConfigsTest, AdvancePrimaryViaValidate) {}

TEST_F(CryptoServerConfigsTest, InvalidConfigs) {}

}  // namespace test
}  // namespace quic