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

Side by Side Diff: content/browser/renderer_host/p2p/socket_host_udp_unittest.cc

Issue 13584008: Send notification about outgoing p2p packets from browser to renderer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months 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
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 #include "content/browser/renderer_host/p2p/socket_host_udp.h" 5 #include "content/browser/renderer_host/p2p/socket_host_udp.h"
6 6
7 #include <deque> 7 #include <deque>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 157
158 net::IPEndPoint local_address_; 158 net::IPEndPoint local_address_;
159 159
160 net::IPEndPoint dest1_; 160 net::IPEndPoint dest1_;
161 net::IPEndPoint dest2_; 161 net::IPEndPoint dest2_;
162 }; 162 };
163 163
164 // Verify that we can send STUN messages before we receive anything 164 // Verify that we can send STUN messages before we receive anything
165 // from the other side. 165 // from the other side.
166 TEST_F(P2PSocketHostUdpTest, SendStunNoAuth) { 166 TEST_F(P2PSocketHostUdpTest, SendStunNoAuth) {
167 EXPECT_CALL(sender_, Send(
168 MatchMessage(static_cast<uint32>(P2PMsg_OnSendComplete::ID))))
169 .Times(3)
170 .WillRepeatedly(DoAll(DeleteArg<0>(), Return(true)));
171
167 std::vector<char> packet1; 172 std::vector<char> packet1;
168 CreateStunRequest(&packet1); 173 CreateStunRequest(&packet1);
169 socket_host_->Send(dest1_, packet1); 174 socket_host_->Send(dest1_, packet1);
170 175
171 std::vector<char> packet2; 176 std::vector<char> packet2;
172 CreateStunResponse(&packet2); 177 CreateStunResponse(&packet2);
173 socket_host_->Send(dest1_, packet2); 178 socket_host_->Send(dest1_, packet2);
174 179
175 std::vector<char> packet3; 180 std::vector<char> packet3;
176 CreateStunError(&packet3); 181 CreateStunError(&packet3);
(...skipping 24 matching lines...) Expand all
201 TEST_F(P2PSocketHostUdpTest, SendAfterStunRequest) { 206 TEST_F(P2PSocketHostUdpTest, SendAfterStunRequest) {
202 // Receive packet from |dest1_|. 207 // Receive packet from |dest1_|.
203 std::vector<char> request_packet; 208 std::vector<char> request_packet;
204 CreateStunRequest(&request_packet); 209 CreateStunRequest(&request_packet);
205 210
206 EXPECT_CALL(sender_, Send(MatchPacketMessage(request_packet))) 211 EXPECT_CALL(sender_, Send(MatchPacketMessage(request_packet)))
207 .WillOnce(DoAll(DeleteArg<0>(), Return(true))); 212 .WillOnce(DoAll(DeleteArg<0>(), Return(true)));
208 socket_->ReceivePacket(dest1_, request_packet); 213 socket_->ReceivePacket(dest1_, request_packet);
209 214
210 // Now we should be able to send any data to |dest1_|. 215 // Now we should be able to send any data to |dest1_|.
216 EXPECT_CALL(sender_, Send(
217 MatchMessage(static_cast<uint32>(P2PMsg_OnSendComplete::ID))))
218 .WillOnce(DoAll(DeleteArg<0>(), Return(true)));
211 std::vector<char> packet; 219 std::vector<char> packet;
212 CreateRandomPacket(&packet); 220 CreateRandomPacket(&packet);
213 socket_host_->Send(dest1_, packet); 221 socket_host_->Send(dest1_, packet);
214 222
215 ASSERT_EQ(1U, sent_packets_.size()); 223 ASSERT_EQ(1U, sent_packets_.size());
216 ASSERT_EQ(dest1_, sent_packets_[0].first); 224 ASSERT_EQ(dest1_, sent_packets_[0].first);
217 } 225 }
218 226
219 // Verify that we can send data after we've received STUN response 227 // Verify that we can send data after we've received STUN response
220 // from the other side. 228 // from the other side.
221 TEST_F(P2PSocketHostUdpTest, SendAfterStunResponse) { 229 TEST_F(P2PSocketHostUdpTest, SendAfterStunResponse) {
222 // Receive packet from |dest1_|. 230 // Receive packet from |dest1_|.
223 std::vector<char> request_packet; 231 std::vector<char> request_packet;
224 CreateStunRequest(&request_packet); 232 CreateStunRequest(&request_packet);
225 233
226 EXPECT_CALL(sender_, Send(MatchPacketMessage(request_packet))) 234 EXPECT_CALL(sender_, Send(MatchPacketMessage(request_packet)))
227 .WillOnce(DoAll(DeleteArg<0>(), Return(true))); 235 .WillOnce(DoAll(DeleteArg<0>(), Return(true)));
228 socket_->ReceivePacket(dest1_, request_packet); 236 socket_->ReceivePacket(dest1_, request_packet);
229 237
230 // Now we should be able to send any data to |dest1_|. 238 // Now we should be able to send any data to |dest1_|.
239 EXPECT_CALL(sender_, Send(
240 MatchMessage(static_cast<uint32>(P2PMsg_OnSendComplete::ID))))
241 .WillOnce(DoAll(DeleteArg<0>(), Return(true)));
231 std::vector<char> packet; 242 std::vector<char> packet;
232 CreateRandomPacket(&packet); 243 CreateRandomPacket(&packet);
233 socket_host_->Send(dest1_, packet); 244 socket_host_->Send(dest1_, packet);
234 245
235 ASSERT_EQ(1U, sent_packets_.size()); 246 ASSERT_EQ(1U, sent_packets_.size());
236 ASSERT_EQ(dest1_, sent_packets_[0].first); 247 ASSERT_EQ(dest1_, sent_packets_[0].first);
237 } 248 }
238 249
239 // Verify messages still cannot be sent to an unathorized host after 250 // Verify messages still cannot be sent to an unathorized host after
240 // successful binding with different host. 251 // successful binding with different host.
241 TEST_F(P2PSocketHostUdpTest, SendAfterStunResponseDifferentHost) { 252 TEST_F(P2PSocketHostUdpTest, SendAfterStunResponseDifferentHost) {
242 // Receive packet from |dest1_|. 253 // Receive packet from |dest1_|.
243 std::vector<char> request_packet; 254 std::vector<char> request_packet;
244 CreateStunRequest(&request_packet); 255 CreateStunRequest(&request_packet);
245 256
246 EXPECT_CALL(sender_, Send(MatchPacketMessage(request_packet))) 257 EXPECT_CALL(sender_, Send(MatchPacketMessage(request_packet)))
247 .WillOnce(DoAll(DeleteArg<0>(), Return(true))); 258 .WillOnce(DoAll(DeleteArg<0>(), Return(true)));
248 socket_->ReceivePacket(dest1_, request_packet); 259 socket_->ReceivePacket(dest1_, request_packet);
249 260
250 // Should fail when trying to send the same packet to |dest2_|. 261 // Should fail when trying to send the same packet to |dest2_|.
251 std::vector<char> packet; 262 std::vector<char> packet;
252 CreateRandomPacket(&packet); 263 CreateRandomPacket(&packet);
253 EXPECT_CALL(sender_, Send( 264 EXPECT_CALL(sender_, Send(
254 MatchMessage(static_cast<uint32>(P2PMsg_OnError::ID)))) 265 MatchMessage(static_cast<uint32>(P2PMsg_OnError::ID))))
255 .WillOnce(DoAll(DeleteArg<0>(), Return(true))); 266 .WillOnce(DoAll(DeleteArg<0>(), Return(true)));
256 socket_host_->Send(dest2_, packet); 267 socket_host_->Send(dest2_, packet);
257 } 268 }
258 269
259 } // namespace content 270 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698