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