#include "quiche/quic/core/quic_generic_session.h"
#include <cstddef>
#include <cstring>
#include <memory>
#include <optional>
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "quiche/quic/core/crypto/quic_compressed_certs_cache.h"
#include "quiche/quic/core/crypto/quic_crypto_client_config.h"
#include "quiche/quic/core/crypto/quic_crypto_server_config.h"
#include "quiche/quic/core/crypto/quic_random.h"
#include "quiche/quic/core/quic_connection.h"
#include "quiche/quic/core/quic_constants.h"
#include "quiche/quic/core/quic_datagram_queue.h"
#include "quiche/quic/core/quic_error_codes.h"
#include "quiche/quic/core/quic_stream.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/web_transport_interface.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/test_tools/crypto_test_utils.h"
#include "quiche/quic/test_tools/quic_session_peer.h"
#include "quiche/quic/test_tools/quic_test_utils.h"
#include "quiche/quic/test_tools/simulator/simulator.h"
#include "quiche/quic/test_tools/simulator/test_harness.h"
#include "quiche/quic/test_tools/web_transport_test_tools.h"
#include "quiche/quic/tools/web_transport_test_visitors.h"
#include "quiche/common/quiche_stream.h"
#include "quiche/common/test_tools/quiche_test_utils.h"
#include "quiche/web_transport/web_transport.h"
namespace quic::test {
namespace {
enum ServerType { … };
StatusIs;
Simulator;
_;
Assign;
AtMost;
Eq;
class CountingDatagramObserver : public QuicDatagramQueue::Observer { … };
class ClientEndpoint : public simulator::QuicEndpointWithConnection { … };
class ServerEndpoint : public simulator::QuicEndpointWithConnection { … };
class QuicGenericSessionTest : public QuicTest { … };
TEST_F(QuicGenericSessionTest, SuccessfulHandshake) { … }
TEST_F(QuicGenericSessionTest, SendOutgoingStreams) { … }
TEST_F(QuicGenericSessionTest, EchoBidirectionalStreams) { … }
TEST_F(QuicGenericSessionTest, EchoUnidirectionalStreams) { … }
TEST_F(QuicGenericSessionTest, EchoStreamsUsingPeekApi) { … }
TEST_F(QuicGenericSessionTest, EchoDatagram) { … }
TEST_F(QuicGenericSessionTest, EchoALotOfDatagrams) { … }
TEST_F(QuicGenericSessionTest, OutgoingStreamFlowControlBlocked) { … }
TEST_F(QuicGenericSessionTest, ExpireDatagrams) { … }
TEST_F(QuicGenericSessionTest, LoseDatagrams) { … }
TEST_F(QuicGenericSessionTest, WriteWhenBufferFull) { … }
}
}