chromium/net/third_party/quiche/src/quiche/quic/core/quic_crypto_stream_test.cc

// Copyright (c) 2012 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/quic_crypto_stream.h"

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

#include "quiche/quic/core/crypto/crypto_handshake.h"
#include "quiche/quic/core/crypto/crypto_protocol.h"
#include "quiche/quic/core/crypto/null_encrypter.h"
#include "quiche/quic/core/quic_error_codes.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/platform/api/quic_expect_bug.h"
#include "quiche/quic/platform/api/quic_flags.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/quic_connection_peer.h"
#include "quiche/quic/test_tools/quic_stream_peer.h"
#include "quiche/quic/test_tools/quic_test_utils.h"

_;
InSequence;
Invoke;
InvokeWithoutArgs;
Return;

namespace quic {
namespace test {
namespace {

class MockQuicCryptoStream : public QuicCryptoStream,
                             public QuicCryptoHandshaker {};

class QuicCryptoStreamTest : public QuicTest {};

TEST_F(QuicCryptoStreamTest, NotInitiallyConected) {}

TEST_F(QuicCryptoStreamTest, ProcessRawData) {}

TEST_F(QuicCryptoStreamTest, ProcessBadData) {}

TEST_F(QuicCryptoStreamTest, NoConnectionLevelFlowControl) {}

TEST_F(QuicCryptoStreamTest, RetransmitCryptoData) {}

TEST_F(QuicCryptoStreamTest, RetransmitCryptoDataInCryptoFrames) {}

// Regression test for handling the missing ENCRYPTION_HANDSHAKE in
// quic_crypto_stream.cc. This test is essentially the same as
// RetransmitCryptoDataInCryptoFrames, except it uses ENCRYPTION_HANDSHAKE in
// place of ENCRYPTION_ZERO_RTT.
TEST_F(QuicCryptoStreamTest, RetransmitEncryptionHandshakeLevelCryptoFrames) {}

TEST_F(QuicCryptoStreamTest, NeuterUnencryptedStreamData) {}

TEST_F(QuicCryptoStreamTest, NeuterUnencryptedCryptoData) {}

TEST_F(QuicCryptoStreamTest, RetransmitStreamData) {}

TEST_F(QuicCryptoStreamTest, RetransmitStreamDataWithCryptoFrames) {}

// Regression test for b/115926584.
TEST_F(QuicCryptoStreamTest, HasUnackedCryptoData) {}

TEST_F(QuicCryptoStreamTest, HasUnackedCryptoDataWithCryptoFrames) {}

// Regression test for bugfix of GetPacketHeaderSize.
TEST_F(QuicCryptoStreamTest, CryptoMessageFramingOverhead) {}

TEST_F(QuicCryptoStreamTest, WriteCryptoDataExceedsSendBufferLimit) {}

TEST_F(QuicCryptoStreamTest, WriteBufferedCryptoFrames) {}

TEST_F(QuicCryptoStreamTest, LimitBufferedCryptoData) {}

TEST_F(QuicCryptoStreamTest, CloseConnectionWithZeroRttCryptoFrame) {}

TEST_F(QuicCryptoStreamTest, RetransmitCryptoFramesAndPartialWrite) {}

// Regression test for b/203199510
TEST_F(QuicCryptoStreamTest, EmptyCryptoFrame) {}

}  // namespace
}  // namespace test
}  // namespace quic