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

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

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

#include "absl/base/macros.h"
#include "absl/strings/escaping.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/core/crypto/crypto_protocol.h"
#include "quiche/quic/core/quic_connection_id.h"
#include "quiche/quic/core/quic_tag.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/quic_versions.h"
#include "quiche/quic/platform/api/quic_expect_bug.h"
#include "quiche/quic/platform/api/quic_ip_address.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/test_tools/quic_test_utils.h"

namespace quic {
namespace test {
namespace {

const QuicVersionLabel kFakeVersionLabel =;
const QuicVersionLabel kFakeVersionLabel2 =;
const uint64_t kFakeIdleTimeoutMilliseconds =;
const uint64_t kFakeInitialMaxData =;
const uint64_t kFakeInitialMaxStreamDataBidiLocal =;
const uint64_t kFakeInitialMaxStreamDataBidiRemote =;
const uint64_t kFakeInitialMaxStreamDataUni =;
const uint64_t kFakeInitialMaxStreamsBidi =;
const uint64_t kFakeInitialMaxStreamsUni =;
const bool kFakeDisableMigration =;
const uint64_t kFakeInitialRoundTripTime =;
const uint8_t kFakePreferredStatelessResetTokenData[16] =;

const auto kCustomParameter1 =;
const char* kCustomParameter1Value =;
const auto kCustomParameter2 =;
const char* kCustomParameter2Value =;

const char kFakeGoogleHandshakeMessage[] =;

QuicConnectionId CreateFakeOriginalDestinationConnectionId() {}

QuicConnectionId CreateFakeInitialSourceConnectionId() {}

QuicConnectionId CreateFakeRetrySourceConnectionId() {}

QuicConnectionId CreateFakePreferredConnectionId() {}

std::vector<uint8_t> CreateFakePreferredStatelessResetToken() {}

QuicSocketAddress CreateFakeV4SocketAddress() {}

QuicSocketAddress CreateFakeV6SocketAddress() {}

std::unique_ptr<TransportParameters::PreferredAddress>
CreateFakePreferredAddress() {}

TransportParameters::LegacyVersionInformation
CreateFakeLegacyVersionInformationClient() {}

TransportParameters::LegacyVersionInformation
CreateFakeLegacyVersionInformationServer() {}

TransportParameters::VersionInformation CreateFakeVersionInformation() {}

QuicTagVector CreateFakeGoogleConnectionOptions() {}

void RemoveGreaseParameters(TransportParameters* params) {}

}  // namespace

class TransportParametersTest : public QuicTestWithParam<ParsedQuicVersion> {};

INSTANTIATE_TEST_SUITE_P();

TEST_P(TransportParametersTest, Comparator) {}

TEST_P(TransportParametersTest, CopyConstructor) {}

TEST_P(TransportParametersTest, RoundTripClient) {}

TEST_P(TransportParametersTest, RoundTripServer) {}

TEST_P(TransportParametersTest, AreValid) {}

TEST_P(TransportParametersTest, NoClientParamsWithStatelessResetToken) {}

TEST_P(TransportParametersTest, ParseClientParams) {}

TEST_P(TransportParametersTest,
       ParseClientParamsFailsWithFullStatelessResetToken) {}

TEST_P(TransportParametersTest,
       ParseClientParamsFailsWithEmptyStatelessResetToken) {}

TEST_P(TransportParametersTest, ParseClientParametersRepeated) {}

TEST_P(TransportParametersTest, ParseServerParams) {}

TEST_P(TransportParametersTest, ParseServerParametersRepeated) {}

TEST_P(TransportParametersTest,
       ParseServerParametersEmptyOriginalConnectionId) {}

TEST_P(TransportParametersTest, VeryLongCustomParameter) {}

TEST_P(TransportParametersTest, SerializationOrderIsRandom) {}

TEST_P(TransportParametersTest, Degrease) {}

class TransportParametersTicketSerializationTest : public QuicTest {};

TEST_F(TransportParametersTicketSerializationTest,
       StatelessResetTokenDoesntChangeOutput) {}

TEST_F(TransportParametersTicketSerializationTest,
       ConnectionIDDoesntChangeOutput) {}

TEST_F(TransportParametersTicketSerializationTest, StreamLimitChangesOutput) {}

TEST_F(TransportParametersTicketSerializationTest,
       ApplicationStateChangesOutput) {}

}  // namespace test
}  // namespace quic