OLD | NEW |
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 <cstdint> | 10 #include <cstdint> |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 // Lower limit on versions we support. | 63 // Lower limit on versions we support. |
64 QuicVersion QuicVersionMin(); | 64 QuicVersion QuicVersionMin(); |
65 | 65 |
66 // Create an encrypted packet for testing. | 66 // Create an encrypted packet for testing. |
67 // If versions == nullptr, uses &AllSupportedVersions(). | 67 // If versions == nullptr, uses &AllSupportedVersions(). |
68 // Note that the packet is encrypted with NullEncrypter, so to decrypt the | 68 // Note that the packet is encrypted with NullEncrypter, so to decrypt the |
69 // constructed packet, the framer must be set to use NullDecrypter. | 69 // constructed packet, the framer must be set to use NullDecrypter. |
70 QuicEncryptedPacket* ConstructEncryptedPacket( | 70 QuicEncryptedPacket* ConstructEncryptedPacket( |
71 QuicConnectionId connection_id, | 71 QuicConnectionId connection_id, |
72 bool version_flag, | 72 bool version_flag, |
73 bool multipath_flag, | |
74 bool reset_flag, | 73 bool reset_flag, |
75 QuicPacketNumber packet_number, | 74 QuicPacketNumber packet_number, |
76 const std::string& data, | 75 const std::string& data, |
77 QuicConnectionIdLength connection_id_length, | 76 QuicConnectionIdLength connection_id_length, |
78 QuicPacketNumberLength packet_number_length, | 77 QuicPacketNumberLength packet_number_length, |
79 QuicVersionVector* versions, | 78 QuicVersionVector* versions, |
80 Perspective perspective); | 79 Perspective perspective); |
81 | 80 |
82 // Create an encrypted packet for testing. | 81 // Create an encrypted packet for testing. |
83 // If versions == nullptr, uses &AllSupportedVersions(). | 82 // If versions == nullptr, uses &AllSupportedVersions(). |
84 // Note that the packet is encrypted with NullEncrypter, so to decrypt the | 83 // Note that the packet is encrypted with NullEncrypter, so to decrypt the |
85 // constructed packet, the framer must be set to use NullDecrypter. | 84 // constructed packet, the framer must be set to use NullDecrypter. |
86 QuicEncryptedPacket* ConstructEncryptedPacket( | 85 QuicEncryptedPacket* ConstructEncryptedPacket( |
87 QuicConnectionId connection_id, | 86 QuicConnectionId connection_id, |
88 bool version_flag, | 87 bool version_flag, |
89 bool multipath_flag, | |
90 bool reset_flag, | 88 bool reset_flag, |
91 QuicPacketNumber packet_number, | 89 QuicPacketNumber packet_number, |
92 const std::string& data, | 90 const std::string& data, |
93 QuicConnectionIdLength connection_id_length, | 91 QuicConnectionIdLength connection_id_length, |
94 QuicPacketNumberLength packet_number_length, | 92 QuicPacketNumberLength packet_number_length, |
95 QuicVersionVector* versions); | 93 QuicVersionVector* versions); |
96 | 94 |
97 // This form assumes |versions| == nullptr. | 95 // This form assumes |versions| == nullptr. |
98 QuicEncryptedPacket* ConstructEncryptedPacket( | 96 QuicEncryptedPacket* ConstructEncryptedPacket( |
99 QuicConnectionId connection_id, | 97 QuicConnectionId connection_id, |
100 bool version_flag, | 98 bool version_flag, |
101 bool multipath_flag, | |
102 bool reset_flag, | 99 bool reset_flag, |
103 QuicPacketNumber packet_number, | 100 QuicPacketNumber packet_number, |
104 const std::string& data, | 101 const std::string& data, |
105 QuicConnectionIdLength connection_id_length, | 102 QuicConnectionIdLength connection_id_length, |
106 QuicPacketNumberLength packet_number_length); | 103 QuicPacketNumberLength packet_number_length); |
107 | 104 |
108 // This form assumes |connection_id_length| == PACKET_8BYTE_CONNECTION_ID, | 105 // This form assumes |connection_id_length| == PACKET_8BYTE_CONNECTION_ID, |
109 // |packet_number_length| == PACKET_6BYTE_PACKET_NUMBER and | 106 // |packet_number_length| == PACKET_6BYTE_PACKET_NUMBER and |
110 // |versions| == nullptr. | 107 // |versions| == nullptr. |
111 QuicEncryptedPacket* ConstructEncryptedPacket(QuicConnectionId connection_id, | 108 QuicEncryptedPacket* ConstructEncryptedPacket(QuicConnectionId connection_id, |
112 bool version_flag, | 109 bool version_flag, |
113 bool multipath_flag, | |
114 bool reset_flag, | 110 bool reset_flag, |
115 QuicPacketNumber packet_number, | 111 QuicPacketNumber packet_number, |
116 const std::string& data); | 112 const std::string& data); |
117 | 113 |
118 // Constructs a received packet for testing. The caller must take ownership of | 114 // Constructs a received packet for testing. The caller must take ownership of |
119 // the returned pointer. | 115 // the returned pointer. |
120 QuicReceivedPacket* ConstructReceivedPacket( | 116 QuicReceivedPacket* ConstructReceivedPacket( |
121 const QuicEncryptedPacket& encrypted_packet, | 117 const QuicEncryptedPacket& encrypted_packet, |
122 QuicTime receipt_time); | 118 QuicTime receipt_time); |
123 | 119 |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
240 MOCK_METHOD1(OnAckFrame, bool(const QuicAckFrame& frame)); | 236 MOCK_METHOD1(OnAckFrame, bool(const QuicAckFrame& frame)); |
241 MOCK_METHOD1(OnStopWaitingFrame, bool(const QuicStopWaitingFrame& frame)); | 237 MOCK_METHOD1(OnStopWaitingFrame, bool(const QuicStopWaitingFrame& frame)); |
242 MOCK_METHOD1(OnPaddingFrame, bool(const QuicPaddingFrame& frame)); | 238 MOCK_METHOD1(OnPaddingFrame, bool(const QuicPaddingFrame& frame)); |
243 MOCK_METHOD1(OnPingFrame, bool(const QuicPingFrame& frame)); | 239 MOCK_METHOD1(OnPingFrame, bool(const QuicPingFrame& frame)); |
244 MOCK_METHOD1(OnRstStreamFrame, bool(const QuicRstStreamFrame& frame)); | 240 MOCK_METHOD1(OnRstStreamFrame, bool(const QuicRstStreamFrame& frame)); |
245 MOCK_METHOD1(OnConnectionCloseFrame, | 241 MOCK_METHOD1(OnConnectionCloseFrame, |
246 bool(const QuicConnectionCloseFrame& frame)); | 242 bool(const QuicConnectionCloseFrame& frame)); |
247 MOCK_METHOD1(OnGoAwayFrame, bool(const QuicGoAwayFrame& frame)); | 243 MOCK_METHOD1(OnGoAwayFrame, bool(const QuicGoAwayFrame& frame)); |
248 MOCK_METHOD1(OnWindowUpdateFrame, bool(const QuicWindowUpdateFrame& frame)); | 244 MOCK_METHOD1(OnWindowUpdateFrame, bool(const QuicWindowUpdateFrame& frame)); |
249 MOCK_METHOD1(OnBlockedFrame, bool(const QuicBlockedFrame& frame)); | 245 MOCK_METHOD1(OnBlockedFrame, bool(const QuicBlockedFrame& frame)); |
250 MOCK_METHOD1(OnPathCloseFrame, bool(const QuicPathCloseFrame& frame)); | |
251 MOCK_METHOD0(OnPacketComplete, void()); | 246 MOCK_METHOD0(OnPacketComplete, void()); |
252 | 247 |
253 private: | 248 private: |
254 DISALLOW_COPY_AND_ASSIGN(MockFramerVisitor); | 249 DISALLOW_COPY_AND_ASSIGN(MockFramerVisitor); |
255 }; | 250 }; |
256 | 251 |
257 class NoOpFramerVisitor : public QuicFramerVisitorInterface { | 252 class NoOpFramerVisitor : public QuicFramerVisitorInterface { |
258 public: | 253 public: |
259 NoOpFramerVisitor() {} | 254 NoOpFramerVisitor() {} |
260 | 255 |
(...skipping 11 matching lines...) Expand all Loading... |
272 bool OnStreamFrame(const QuicStreamFrame& frame) override; | 267 bool OnStreamFrame(const QuicStreamFrame& frame) override; |
273 bool OnAckFrame(const QuicAckFrame& frame) override; | 268 bool OnAckFrame(const QuicAckFrame& frame) override; |
274 bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override; | 269 bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override; |
275 bool OnPaddingFrame(const QuicPaddingFrame& frame) override; | 270 bool OnPaddingFrame(const QuicPaddingFrame& frame) override; |
276 bool OnPingFrame(const QuicPingFrame& frame) override; | 271 bool OnPingFrame(const QuicPingFrame& frame) override; |
277 bool OnRstStreamFrame(const QuicRstStreamFrame& frame) override; | 272 bool OnRstStreamFrame(const QuicRstStreamFrame& frame) override; |
278 bool OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) override; | 273 bool OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) override; |
279 bool OnGoAwayFrame(const QuicGoAwayFrame& frame) override; | 274 bool OnGoAwayFrame(const QuicGoAwayFrame& frame) override; |
280 bool OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) override; | 275 bool OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) override; |
281 bool OnBlockedFrame(const QuicBlockedFrame& frame) override; | 276 bool OnBlockedFrame(const QuicBlockedFrame& frame) override; |
282 bool OnPathCloseFrame(const QuicPathCloseFrame& frame) override; | |
283 void OnPacketComplete() override {} | 277 void OnPacketComplete() override {} |
284 | 278 |
285 private: | 279 private: |
286 DISALLOW_COPY_AND_ASSIGN(NoOpFramerVisitor); | 280 DISALLOW_COPY_AND_ASSIGN(NoOpFramerVisitor); |
287 }; | 281 }; |
288 | 282 |
289 class MockQuicConnectionVisitor : public QuicConnectionVisitorInterface { | 283 class MockQuicConnectionVisitor : public QuicConnectionVisitorInterface { |
290 public: | 284 public: |
291 MockQuicConnectionVisitor(); | 285 MockQuicConnectionVisitor(); |
292 ~MockQuicConnectionVisitor() override; | 286 ~MockQuicConnectionVisitor() override; |
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
983 iov->iov_base = const_cast<char*>(str.data()); | 977 iov->iov_base = const_cast<char*>(str.data()); |
984 iov->iov_len = static_cast<size_t>(str.size()); | 978 iov->iov_len = static_cast<size_t>(str.size()); |
985 QuicIOVector quic_iov(iov, 1, str.size()); | 979 QuicIOVector quic_iov(iov, 1, str.size()); |
986 return quic_iov; | 980 return quic_iov; |
987 } | 981 } |
988 | 982 |
989 } // namespace test | 983 } // namespace test |
990 } // namespace net | 984 } // namespace net |
991 | 985 |
992 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 986 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
OLD | NEW |