mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-11-25 15:43:13 +03:00
Summary: Technically, there are not fizz specific but ssl specific. The goal being to package all of the ssl machinery together so it can be swapped in/out for something else. Pull Request resolved: https://github.com/facebookincubator/mvfst/pull/51 Test Plan: Imported from GitHub, without a `Test Plan:` line. --- ## Proxygen Canary Traffic Canary: https://our.intern.facebook.com/intern/traffic/canary?fbid=138091837536628 * elb.prod.lax3c01 - binary - 2019-10-10 15:19 - https://fburl.com/dyndash/htdojejn * olb.prod.rprn0c01 - binary - 2019-10-10 15:19 - https://fburl.com/dyndash/u15l8f8q * slb.prod_regional.rftw0c00 - binary - 2019-10-10 15:19 - https://fburl.com/dyndash/bxdm1w7r * slb.regional.rpnb0c01 - binary - 2019-10-10 15:19 - https://fburl.com/dyndash/1nnpuznl --- Reviewed By: mjoras Differential Revision: D17831892 Pulled By: mjoras fbshipit-source-id: 16402be805ba0b3cb4d2944317d7e19f85e531bc
103 lines
3.3 KiB
C++
103 lines
3.3 KiB
C++
/*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
*/
|
|
|
|
#include <folly/portability/GMock.h>
|
|
#include <folly/portability/GTest.h>
|
|
|
|
#include <quic/common/test/TestUtils.h>
|
|
#include <quic/handshake/TransportParameters.h>
|
|
|
|
#include <fizz/record/test/ExtensionTestsBase.h>
|
|
|
|
using namespace folly;
|
|
using namespace fizz;
|
|
using namespace fizz::test;
|
|
|
|
namespace quic {
|
|
namespace test {
|
|
|
|
StringPiece clientParams{"ffa5000a0008000400049d7f3e7d"};
|
|
StringPiece d18ClientParams{"ffa5000efaceb0000008000400049d7f3e7d"};
|
|
StringPiece serverParams{"ffa5000a0008000400049d7f3e7d"};
|
|
StringPiece ticketParams{"ffa5000a0008000400049d7f3e7d"};
|
|
StringPiece d18TicketParams{"ffa5000efaceb0000008000400049d7f3e7d"};
|
|
|
|
TEST_F(ExtensionsTest, TestClientParams) {
|
|
auto exts = getExtensions(clientParams);
|
|
auto ext = getExtension<ClientTransportParameters>(exts);
|
|
EXPECT_EQ(ext->initial_version, folly::none);
|
|
EXPECT_EQ(ext->parameters.size(), 1);
|
|
EXPECT_EQ(
|
|
ext->parameters[0].parameter, TransportParameterId::initial_max_data);
|
|
EXPECT_EQ(
|
|
*getIntegerParameter(
|
|
TransportParameterId::initial_max_data, ext->parameters),
|
|
494878333ULL);
|
|
checkEncode(std::move(*ext), clientParams);
|
|
}
|
|
|
|
// We still need to be able to parse draft-18 client parameters.
|
|
TEST_F(ExtensionsTest, TestD18ClientParams) {
|
|
auto exts = getExtensions(d18ClientParams);
|
|
auto ext = getExtension<ClientTransportParameters>(exts);
|
|
EXPECT_EQ(ext->initial_version.value(), QuicVersion::MVFST_OLD);
|
|
EXPECT_EQ(ext->parameters.size(), 1);
|
|
EXPECT_EQ(
|
|
ext->parameters[0].parameter, TransportParameterId::initial_max_data);
|
|
EXPECT_EQ(
|
|
*getIntegerParameter(
|
|
TransportParameterId::initial_max_data, ext->parameters),
|
|
494878333ULL);
|
|
}
|
|
|
|
TEST_F(ExtensionsTest, TestServerParams) {
|
|
auto exts = getExtensions(serverParams);
|
|
auto ext = getExtension<ServerTransportParameters>(exts);
|
|
|
|
EXPECT_EQ(ext->negotiated_version, folly::none);
|
|
EXPECT_EQ(
|
|
ext->parameters[0].parameter, TransportParameterId::initial_max_data);
|
|
EXPECT_EQ(
|
|
*getIntegerParameter(
|
|
TransportParameterId::initial_max_data, ext->parameters),
|
|
494878333ULL);
|
|
checkEncode(std::move(*ext), serverParams);
|
|
}
|
|
|
|
TEST_F(ExtensionsTest, TestTicketParams) {
|
|
auto exts = getExtensions(ticketParams);
|
|
auto ext = getExtension<TicketTransportParameters>(exts);
|
|
|
|
EXPECT_EQ(ext->negotiated_version, folly::none);
|
|
EXPECT_EQ(ext->parameters.size(), 1);
|
|
EXPECT_EQ(
|
|
ext->parameters[0].parameter, TransportParameterId::initial_max_data);
|
|
EXPECT_EQ(
|
|
*getIntegerParameter(
|
|
TransportParameterId::initial_max_data, ext->parameters),
|
|
494878333ULL);
|
|
checkEncode(std::move(*ext), ticketParams);
|
|
}
|
|
|
|
// We still need to be able to parse draft-18 ticket parameters.
|
|
TEST_F(ExtensionsTest, TestD18TicketParams) {
|
|
auto exts = getExtensions(d18TicketParams);
|
|
auto ext = getExtension<TicketTransportParameters>(exts);
|
|
|
|
EXPECT_EQ(ext->negotiated_version.value(), QuicVersion::MVFST_OLD);
|
|
EXPECT_EQ(ext->parameters.size(), 1);
|
|
EXPECT_EQ(
|
|
ext->parameters[0].parameter, TransportParameterId::initial_max_data);
|
|
EXPECT_EQ(
|
|
*getIntegerParameter(
|
|
TransportParameterId::initial_max_data, ext->parameters),
|
|
494878333ULL);
|
|
}
|
|
}
|
|
}
|