Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Side by Side Diff: net/quic/test_tools/quic_test_utils.h

Issue 11365080: Revert 165858 - Add QuicStream and friends to QUIC code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/quic/reliable_quic_stream.cc ('k') | net/quic/test_tools/quic_test_utils.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // Common utilities for Quic tests 5 // Common utilities for Quic tests
6 6
7 #ifndef NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ 7 #ifndef NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_
8 #define NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ 8 #define NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_
9 9
10 #include "net/quic/congestion_control/quic_send_scheduler.h" 10 #include "net/quic/congestion_control/quic_send_scheduler.h"
11 #include "net/quic/quic_connection.h" 11 #include "net/quic/quic_connection.h"
12 #include "net/quic/quic_framer.h" 12 #include "net/quic/quic_framer.h"
13 #include "net/quic/quic_session.h"
14 #include "net/quic/test_tools/mock_clock.h"
15 #include "testing/gmock/include/gmock/gmock.h" 13 #include "testing/gmock/include/gmock/gmock.h"
16 14
17 namespace net { 15 namespace net {
18 16
19 namespace test { 17 namespace test {
20 18
21 void CompareCharArraysWithHexError(const std::string& description, 19 void CompareCharArraysWithHexError(const std::string& description,
22 const char* actual, 20 const char* actual,
23 const int actual_len, 21 const int actual_len,
24 const char* expected, 22 const char* expected,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 virtual void OnFecProtectedPayload(base::StringPiece payload) OVERRIDE {} 59 virtual void OnFecProtectedPayload(base::StringPiece payload) OVERRIDE {}
62 virtual void OnStreamFrame(const QuicStreamFrame& frame) OVERRIDE {} 60 virtual void OnStreamFrame(const QuicStreamFrame& frame) OVERRIDE {}
63 virtual void OnAckFrame(const QuicAckFrame& frame) OVERRIDE {} 61 virtual void OnAckFrame(const QuicAckFrame& frame) OVERRIDE {}
64 virtual void OnFecData(const QuicFecData& fec) OVERRIDE {} 62 virtual void OnFecData(const QuicFecData& fec) OVERRIDE {}
65 virtual void OnRstStreamFrame(const QuicRstStreamFrame& frame) OVERRIDE {} 63 virtual void OnRstStreamFrame(const QuicRstStreamFrame& frame) OVERRIDE {}
66 virtual void OnConnectionCloseFrame( 64 virtual void OnConnectionCloseFrame(
67 const QuicConnectionCloseFrame& frame) OVERRIDE {} 65 const QuicConnectionCloseFrame& frame) OVERRIDE {}
68 virtual void OnPacketComplete() OVERRIDE {} 66 virtual void OnPacketComplete() OVERRIDE {}
69 }; 67 };
70 68
69
71 class FramerVisitorCapturingAcks : public NoOpFramerVisitor { 70 class FramerVisitorCapturingAcks : public NoOpFramerVisitor {
72 public: 71 public:
73 // NoOpFramerVisitor 72 // NoOpFramerVisitor
74 virtual bool OnPacketHeader(const QuicPacketHeader& header) OVERRIDE; 73 virtual bool OnPacketHeader(const QuicPacketHeader& header) OVERRIDE;
75 virtual void OnAckFrame(const QuicAckFrame& frame) OVERRIDE; 74 virtual void OnAckFrame(const QuicAckFrame& frame) OVERRIDE;
76 75
77 QuicPacketHeader* header() { return &header_; } 76 QuicPacketHeader* header() { return &header_; }
78 QuicAckFrame* frame() { return &frame_; } 77 QuicAckFrame* frame() { return &frame_; }
79 private: 78 private:
80 QuicPacketHeader header_; 79 QuicPacketHeader header_;
81 QuicAckFrame frame_; 80 QuicAckFrame frame_;
82 }; 81 };
83 82
84 class MockConnectionVisitor : public QuicConnectionVisitorInterface { 83 class MockConnectionVisitor : public QuicConnectionVisitorInterface {
85 public: 84 public:
86 MockConnectionVisitor(); 85 MockConnectionVisitor();
87 virtual ~MockConnectionVisitor(); 86 ~MockConnectionVisitor();
88 MOCK_METHOD4(OnPacket, bool(const IPEndPoint& self_address, 87 MOCK_METHOD4(OnPacket, bool(const IPEndPoint& self_address,
89 const IPEndPoint& peer_address, 88 const IPEndPoint& peer_address,
90 const QuicPacketHeader& header, 89 const QuicPacketHeader& header,
91 const std::vector<QuicStreamFrame>& frame)); 90 const std::vector<QuicStreamFrame>& frame));
92 MOCK_METHOD1(OnRstStream, void(const QuicRstStreamFrame& frame)); 91 MOCK_METHOD1(OnRstStream, void(const QuicRstStreamFrame& frame));
93 MOCK_METHOD2(ConnectionClose, void(QuicErrorCode error, bool from_peer)); 92 MOCK_METHOD2(ConnectionClose, void(QuicErrorCode error, bool from_peer));
94 MOCK_METHOD1(OnAck, void(AckedPackets acked_packets)); 93 MOCK_METHOD1(OnAck, void(AckedPackets acked_packets));
95 }; 94 };
96 95
97 class MockScheduler : public QuicSendScheduler { 96 class MockScheduler : public QuicSendScheduler {
98 public: 97 public:
99 MockScheduler(); 98 MockScheduler();
100 virtual ~MockScheduler(); 99 virtual ~MockScheduler();
101 100
102 MOCK_METHOD1(TimeUntilSend, int(bool)); 101 MOCK_METHOD1(TimeUntilSend, int(bool));
103 MOCK_METHOD1(OnIncomingAckFrame, void(const QuicAckFrame&)); 102 MOCK_METHOD1(OnIncomingAckFrame, void(const QuicAckFrame&));
104 MOCK_METHOD3(SentPacket, void(QuicPacketSequenceNumber, size_t, bool)); 103 MOCK_METHOD3(SentPacket, void(QuicPacketSequenceNumber, size_t, bool));
105 }; 104 };
106 105
107 class MockHelper : public QuicConnectionHelperInterface {
108 public:
109 MockHelper();
110 virtual ~MockHelper();
111
112 MOCK_METHOD1(SetConnection, void(QuicConnection* connection));
113 QuicClock* GetClock();
114 MOCK_METHOD4(WritePacketToWire, int(QuicPacketSequenceNumber number,
115 const QuicEncryptedPacket& packet,
116 bool resend,
117 int* error));
118 MOCK_METHOD2(SetResendAlarm, void(QuicPacketSequenceNumber sequence_number,
119 uint64 delay_in_us));
120 MOCK_METHOD1(SetSendAlarm, void(uint64 delay_in_us));
121 MOCK_METHOD1(SetTimeoutAlarm, void(uint64 delay_in_us));
122 MOCK_METHOD0(IsSendAlarmSet, bool());
123 MOCK_METHOD0(UnregisterSendAlarmIfRegistered, void());
124 private:
125 MockClock clock_;
126 };
127
128 class MockConnection : public QuicConnection {
129 public:
130 MockConnection(QuicGuid guid, IPEndPoint address);
131 virtual ~MockConnection();
132
133 MOCK_METHOD3(ProcessUdpPacket, void(const IPEndPoint& self_address,
134 const IPEndPoint& peer_address,
135 const QuicEncryptedPacket& packet));
136 MOCK_METHOD1(SendConnectionClose, void(QuicErrorCode error));
137
138 MOCK_METHOD3(SendRstStream, void(QuicStreamId id,
139 QuicErrorCode error,
140 QuicStreamOffset offset));
141
142 MOCK_METHOD0(OnCanWrite, bool());
143 };
144
145 class PacketSavingConnection : public MockConnection {
146 public:
147 PacketSavingConnection(QuicGuid guid, IPEndPoint address);
148 virtual ~PacketSavingConnection();
149
150 virtual bool SendPacket(QuicPacketSequenceNumber number,
151 QuicPacket* packet,
152 bool resend,
153 bool force) OVERRIDE;
154
155 std::vector<QuicPacket*> packets_;
156 };
157
158 class MockSession : public QuicSession {
159 public:
160 MockSession(QuicConnection* connection, bool is_server);
161 ~MockSession();
162
163 MOCK_METHOD4(OnPacket, bool(const IPEndPoint& seld_address,
164 const IPEndPoint& peer_address,
165 const QuicPacketHeader& header,
166 const std::vector<QuicStreamFrame>& frame));
167 MOCK_METHOD2(ConnectionClose, void(QuicErrorCode error, bool from_peer));
168 MOCK_METHOD1(CreateIncomingReliableStream,
169 ReliableQuicStream*(QuicStreamId id));
170 MOCK_METHOD0(GetCryptoStream, QuicCryptoStream*());
171 MOCK_METHOD0(CreateOutgoingReliableStream, ReliableQuicStream*());
172 MOCK_METHOD3(WriteData,
173 void(QuicStreamId id, base::StringPiece data, bool fin));
174 MOCK_METHOD4(WriteData, int(QuicStreamId id, base::StringPiece data,
175 QuicStreamOffset offset, bool fin));
176 MOCK_METHOD0(IsHandshakeComplete, bool());
177 };
178
179 } // namespace test 106 } // namespace test
180 107
181 } // namespace net 108 } // namespace net
182 109
183 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ 110 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_
OLDNEW
« no previous file with comments | « net/quic/reliable_quic_stream.cc ('k') | net/quic/test_tools/quic_test_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698