chromium/net/third_party/quiche/src/quiche/web_transport/encapsulated/encapsulated_web_transport_test.cc

// Copyright (c) 2023 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/web_transport/encapsulated/encapsulated_web_transport.h"

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

#include "absl/status/status.h"
#include "absl/strings/string_view.h"
#include "absl/types/span.h"
#include "quiche/common/capsule.h"
#include "quiche/common/http/http_header_block.h"
#include "quiche/common/platform/api/quiche_test.h"
#include "quiche/common/quiche_buffer_allocator.h"
#include "quiche/common/quiche_stream.h"
#include "quiche/common/simple_buffer_allocator.h"
#include "quiche/common/test_tools/mock_streams.h"
#include "quiche/common/test_tools/quiche_test_utils.h"
#include "quiche/web_transport/test_tools/mock_web_transport.h"
#include "quiche/web_transport/web_transport.h"

namespace webtransport::test {
namespace {

Capsule;
CapsuleType;
StatusIs;
_;
ElementsAre;
HasSubstr;
IsEmpty;
Return;
StrEq;

class EncapsulatedWebTransportTest : public quiche::test::QuicheTest,
                                     public quiche::CapsuleParser::Visitor {};

TEST_F(EncapsulatedWebTransportTest, IsOpenedBy) {}

TEST_F(EncapsulatedWebTransportTest, SetupClientSession) {}

TEST_F(EncapsulatedWebTransportTest, SetupServerSession) {}

TEST_F(EncapsulatedWebTransportTest, CloseSession) {}

TEST_F(EncapsulatedWebTransportTest, CloseSessionWriteBlocked) {}

TEST_F(EncapsulatedWebTransportTest, ReceiveFin) {}

TEST_F(EncapsulatedWebTransportTest, ReceiveCloseSession) {}

TEST_F(EncapsulatedWebTransportTest, ReceiveMalformedData) {}

TEST_F(EncapsulatedWebTransportTest, SendDatagrams) {}

TEST_F(EncapsulatedWebTransportTest, SendDatagramsEarly) {}

TEST_F(EncapsulatedWebTransportTest, SendDatagramsBeforeInitialization) {}

TEST_F(EncapsulatedWebTransportTest, SendDatagramsTooBig) {}

TEST_F(EncapsulatedWebTransportTest, ReceiveDatagrams) {}

TEST_F(EncapsulatedWebTransportTest, SendDraining) {}

TEST_F(EncapsulatedWebTransportTest, ReceiveDraining) {}

TEST_F(EncapsulatedWebTransportTest, WriteErrorDatagram) {}

TEST_F(EncapsulatedWebTransportTest, WriteErrorControlCapsule) {}

TEST_F(EncapsulatedWebTransportTest, SimpleRead) {}

class MockStreamVisitorWithDestructor : public MockStreamVisitor {};

MockStreamVisitorWithDestructor* SetupVisitor(Stream& stream) {}

TEST_F(EncapsulatedWebTransportTest, ImmediateRead) {}

TEST_F(EncapsulatedWebTransportTest, FinPeek) {}

TEST_F(EncapsulatedWebTransportTest, FinRead) {}

TEST_F(EncapsulatedWebTransportTest, LargeRead) {}

TEST_F(EncapsulatedWebTransportTest, DoubleFinReceived) {}

TEST_F(EncapsulatedWebTransportTest, CanWriteUnidiBidi) {}

TEST_F(EncapsulatedWebTransportTest, ReadOnlyGarbageCollection) {}

TEST_F(EncapsulatedWebTransportTest, WriteOnlyGarbageCollection) {}

TEST_F(EncapsulatedWebTransportTest, SimpleWrite) {}

TEST_F(EncapsulatedWebTransportTest, WriteWithFin) {}

TEST_F(EncapsulatedWebTransportTest, FinOnlyWrite) {}

TEST_F(EncapsulatedWebTransportTest, BufferedWriteThenUnbuffer) {}

TEST_F(EncapsulatedWebTransportTest, BufferedWriteThenFlush) {}

TEST_F(EncapsulatedWebTransportTest, BufferedStreamBlocksAnother) {}

TEST_F(EncapsulatedWebTransportTest, SendReset) {}

TEST_F(EncapsulatedWebTransportTest, ReceiveReset) {}

TEST_F(EncapsulatedWebTransportTest, SendStopSending) {}

TEST_F(EncapsulatedWebTransportTest, ReceiveStopSending) {}

}  // namespace
}  // namespace webtransport::test