quic_test_utils.cc revision 5f1c94371a64b3196d4be9466099bb892df9b88e
1// Copyright (c) 2012 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/tools/quic/test_tools/quic_test_utils.h"
6
7#include "net/quic/quic_connection.h"
8#include "net/quic/test_tools/quic_connection_peer.h"
9#include "net/quic/test_tools/quic_test_utils.h"
10#include "net/tools/quic/quic_epoll_connection_helper.h"
11
12using base::StringPiece;
13using net::test::MakeAckFrame;
14using net::test::MockHelper;
15using net::test::QuicConnectionPeer;
16
17namespace net {
18namespace tools {
19namespace test {
20
21MockConnection::MockConnection(bool is_server)
22    : QuicConnection(kTestConnectionId,
23                     IPEndPoint(net::test::Loopback4(), kTestPort),
24                     new testing::NiceMock<MockHelper>(),
25                     new testing::NiceMock<MockPacketWriter>(),
26                     true  /* owns_writer */,
27                     is_server, QuicSupportedVersions()),
28      helper_(helper()) {
29}
30
31MockConnection::MockConnection(IPEndPoint address,
32                               bool is_server)
33    : QuicConnection(kTestConnectionId, address,
34                     new testing::NiceMock<MockHelper>(),
35                     new testing::NiceMock<MockPacketWriter>(),
36                     true  /* owns_writer */,
37                     is_server, QuicSupportedVersions()),
38      helper_(helper()) {
39}
40
41MockConnection::MockConnection(QuicConnectionId connection_id,
42                               bool is_server)
43    : QuicConnection(connection_id,
44                     IPEndPoint(net::test::Loopback4(), kTestPort),
45                     new testing::NiceMock<MockHelper>(),
46                     new testing::NiceMock<MockPacketWriter>(),
47                     true  /* owns_writer */,
48                     is_server, QuicSupportedVersions()),
49      helper_(helper()) {
50}
51
52MockConnection::MockConnection(bool is_server,
53                               const QuicVersionVector& supported_versions)
54    : QuicConnection(kTestConnectionId,
55                     IPEndPoint(net::test::Loopback4(), kTestPort),
56                     new testing::NiceMock<MockHelper>(),
57                     new testing::NiceMock<MockPacketWriter>(),
58                     true  /* owns_writer */,
59                     is_server, QuicSupportedVersions()),
60      helper_(helper()) {
61}
62
63MockConnection::~MockConnection() {
64}
65
66void MockConnection::AdvanceTime(QuicTime::Delta delta) {
67  static_cast<MockHelper*>(helper())->AdvanceTime(delta);
68}
69
70QuicAckFrame MakeAckFrameWithNackRanges(
71    size_t num_nack_ranges, QuicPacketSequenceNumber least_unacked) {
72  QuicAckFrame ack = MakeAckFrame(2 * num_nack_ranges + least_unacked);
73  // Add enough missing packets to get num_nack_ranges nack ranges.
74  for (QuicPacketSequenceNumber i = 1; i < 2 * num_nack_ranges; i += 2) {
75    ack.missing_packets.insert(least_unacked + i);
76  }
77  return ack;
78}
79
80TestSession::TestSession(QuicConnection* connection,
81                         const QuicConfig& config)
82    : QuicSession(connection, config),
83      crypto_stream_(NULL) {
84  InitializeSession();
85}
86
87TestSession::~TestSession() {}
88
89void TestSession::SetCryptoStream(QuicCryptoStream* stream) {
90  crypto_stream_ = stream;
91}
92
93QuicCryptoStream* TestSession::GetCryptoStream() {
94  return crypto_stream_;
95}
96
97MockPacketWriter::MockPacketWriter() {
98}
99
100MockPacketWriter::~MockPacketWriter() {
101}
102
103MockQuicServerSessionVisitor::MockQuicServerSessionVisitor() {
104}
105
106MockQuicServerSessionVisitor::~MockQuicServerSessionVisitor() {
107}
108
109MockAckNotifierDelegate::MockAckNotifierDelegate() {
110}
111
112MockAckNotifierDelegate::~MockAckNotifierDelegate() {
113}
114
115}  // namespace test
116}  // namespace tools
117}  // namespace net
118