#include <algorithm>
#include <map>
#include <memory>
#include <utility>
#include <vector>
#include "absl/strings/string_view.h"
#include "quiche/quic/core/crypto/aes_128_gcm_12_encrypter.h"
#include "quiche/quic/core/crypto/crypto_framer.h"
#include "quiche/quic/core/crypto/crypto_handshake.h"
#include "quiche/quic/core/crypto/crypto_protocol.h"
#include "quiche/quic/core/crypto/crypto_utils.h"
#include "quiche/quic/core/crypto/quic_crypto_server_config.h"
#include "quiche/quic/core/crypto/quic_decrypter.h"
#include "quiche/quic/core/crypto/quic_encrypter.h"
#include "quiche/quic/core/crypto/quic_random.h"
#include "quiche/quic/core/quic_crypto_client_stream.h"
#include "quiche/quic/core/quic_crypto_server_stream_base.h"
#include "quiche/quic/core/quic_packets.h"
#include "quiche/quic/core/quic_session.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/core/quic_versions.h"
#include "quiche/quic/platform/api/quic_flags.h"
#include "quiche/quic/platform/api/quic_logging.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/failing_proof_source.h"
#include "quiche/quic/test_tools/fake_proof_source.h"
#include "quiche/quic/test_tools/quic_crypto_server_config_peer.h"
#include "quiche/quic/test_tools/quic_test_utils.h"
namespace quic {
class QuicConnection;
class QuicStream;
}
_;
NiceMock;
namespace quic {
namespace test {
namespace {
const char kServerHostname[] = …;
const uint16_t kServerPort = …;
class QuicCryptoServerStreamTest : public QuicTest { … };
TEST_F(QuicCryptoServerStreamTest, NotInitiallyConected) { … }
TEST_F(QuicCryptoServerStreamTest, ConnectedAfterCHLO) { … }
TEST_F(QuicCryptoServerStreamTest, ForwardSecureAfterCHLO) { … }
TEST_F(QuicCryptoServerStreamTest, ZeroRTT) { … }
TEST_F(QuicCryptoServerStreamTest, FailByPolicy) { … }
TEST_F(QuicCryptoServerStreamTest, MessageAfterHandshake) { … }
TEST_F(QuicCryptoServerStreamTest, BadMessageType) { … }
TEST_F(QuicCryptoServerStreamTest, OnlySendSCUPAfterHandshakeComplete) { … }
TEST_F(QuicCryptoServerStreamTest, SendSCUPAfterHandshakeComplete) { … }
class QuicCryptoServerStreamTestWithFailingProofSource
: public QuicCryptoServerStreamTest { … };
TEST_F(QuicCryptoServerStreamTestWithFailingProofSource, Test) { … }
class QuicCryptoServerStreamTestWithFakeProofSource
: public QuicCryptoServerStreamTest { … };
TEST_F(QuicCryptoServerStreamTestWithFakeProofSource, MultipleChlo) { … }
}
}
}