blob: 7ee77979a0cb51dc40692684a38f22e78707e068 [file] [log] [blame]
QUICHE team2252b702019-05-14 23:55:14 -04001// Copyright (c) 2019 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "net/third_party/quiche/src/quic/core/quic_packets.h"
6
7#include "net/third_party/quiche/src/quic/platform/api/quic_test.h"
8#include "net/third_party/quiche/src/quic/test_tools/quic_test_utils.h"
9
10namespace quic {
11namespace test {
12namespace {
13
14QuicPacketHeader CreateFakePacketHeader() {
15 QuicPacketHeader header;
16 header.destination_connection_id = TestConnectionId(1);
17 header.destination_connection_id_included = CONNECTION_ID_PRESENT;
18 header.source_connection_id = TestConnectionId(2);
19 header.source_connection_id_included = CONNECTION_ID_ABSENT;
20 return header;
21}
22
23class QuicPacketsTest : public QuicTest {};
24
25TEST_F(QuicPacketsTest, GetServerConnectionIdAsRecipient) {
26 QuicPacketHeader header = CreateFakePacketHeader();
QUICHE team2252b702019-05-14 23:55:14 -040027 EXPECT_EQ(TestConnectionId(1),
28 GetServerConnectionIdAsRecipient(header, Perspective::IS_SERVER));
29 EXPECT_EQ(TestConnectionId(2),
30 GetServerConnectionIdAsRecipient(header, Perspective::IS_CLIENT));
31}
32
33TEST_F(QuicPacketsTest, GetServerConnectionIdAsSender) {
34 QuicPacketHeader header = CreateFakePacketHeader();
QUICHE team2252b702019-05-14 23:55:14 -040035 EXPECT_EQ(TestConnectionId(2),
36 GetServerConnectionIdAsSender(header, Perspective::IS_SERVER));
37 EXPECT_EQ(TestConnectionId(1),
38 GetServerConnectionIdAsSender(header, Perspective::IS_CLIENT));
39}
40
41TEST_F(QuicPacketsTest, GetServerConnectionIdIncludedAsSender) {
42 QuicPacketHeader header = CreateFakePacketHeader();
QUICHE team2252b702019-05-14 23:55:14 -040043 EXPECT_EQ(CONNECTION_ID_ABSENT, GetServerConnectionIdIncludedAsSender(
44 header, Perspective::IS_SERVER));
45 EXPECT_EQ(CONNECTION_ID_PRESENT, GetServerConnectionIdIncludedAsSender(
46 header, Perspective::IS_CLIENT));
47}
48
49TEST_F(QuicPacketsTest, GetClientConnectionIdIncludedAsSender) {
50 QuicPacketHeader header = CreateFakePacketHeader();
QUICHE team2252b702019-05-14 23:55:14 -040051 EXPECT_EQ(CONNECTION_ID_PRESENT, GetClientConnectionIdIncludedAsSender(
52 header, Perspective::IS_SERVER));
53 EXPECT_EQ(CONNECTION_ID_ABSENT, GetClientConnectionIdIncludedAsSender(
54 header, Perspective::IS_CLIENT));
55}
56
dschinaziac6805d2019-05-30 09:44:27 -070057TEST_F(QuicPacketsTest, GetClientConnectionIdAsRecipient) {
dschinaziac6805d2019-05-30 09:44:27 -070058 QuicPacketHeader header = CreateFakePacketHeader();
59 EXPECT_EQ(TestConnectionId(2),
60 GetClientConnectionIdAsRecipient(header, Perspective::IS_SERVER));
61 EXPECT_EQ(TestConnectionId(1),
62 GetClientConnectionIdAsRecipient(header, Perspective::IS_CLIENT));
63}
64
65TEST_F(QuicPacketsTest, GetClientConnectionIdAsSender) {
66 QuicPacketHeader header = CreateFakePacketHeader();
dschinaziac6805d2019-05-30 09:44:27 -070067 EXPECT_EQ(TestConnectionId(1),
68 GetClientConnectionIdAsSender(header, Perspective::IS_SERVER));
69 EXPECT_EQ(TestConnectionId(2),
70 GetClientConnectionIdAsSender(header, Perspective::IS_CLIENT));
71}
72
QUICHE team2252b702019-05-14 23:55:14 -040073} // namespace
74} // namespace test
75} // namespace quic