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

Side by Side Diff: net/socket_stream/socket_stream_unittest.cc

Issue 9425016: Change MockRead and MockWrite (et. al.) to take an IoMode enum, instead (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: sync Created 8 years, 10 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
« no previous file with comments | « net/socket/ssl_client_socket_unittest.cc ('k') | net/spdy/spdy_http_stream_unittest.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 #include "net/socket_stream/socket_stream.h" 5 #include "net/socket_stream/socket_stream.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 MockHostResolver host_resolver; 281 MockHostResolver host_resolver;
282 282
283 scoped_refptr<SocketStream> socket_stream( 283 scoped_refptr<SocketStream> socket_stream(
284 new SocketStream(GURL("ws://example.com/demo"), delegate.get())); 284 new SocketStream(GURL("ws://example.com/demo"), delegate.get()));
285 285
286 socket_stream->set_context(new TestURLRequestContext()); 286 socket_stream->set_context(new TestURLRequestContext());
287 socket_stream->SetHostResolver(&host_resolver); 287 socket_stream->SetHostResolver(&host_resolver);
288 288
289 MockWrite data_writes[] = { 289 MockWrite data_writes[] = {
290 MockWrite(SocketStreamTest::kWebSocketHandshakeRequest), 290 MockWrite(SocketStreamTest::kWebSocketHandshakeRequest),
291 MockWrite(true, "\0message1\xff", 10), 291 MockWrite(ASYNC, "\0message1\xff", 10),
292 MockWrite(true, "\0message2\xff", 10) 292 MockWrite(ASYNC, "\0message2\xff", 10)
293 }; 293 };
294 MockRead data_reads[] = { 294 MockRead data_reads[] = {
295 MockRead(SocketStreamTest::kWebSocketHandshakeResponse), 295 MockRead(SocketStreamTest::kWebSocketHandshakeResponse),
296 // Server doesn't close the connection after handshake. 296 // Server doesn't close the connection after handshake.
297 MockRead(true, ERR_IO_PENDING) 297 MockRead(ASYNC, ERR_IO_PENDING)
298 }; 298 };
299 AddWebSocketMessage("message1"); 299 AddWebSocketMessage("message1");
300 AddWebSocketMessage("message2"); 300 AddWebSocketMessage("message2");
301 301
302 scoped_ptr<DelayedSocketData> data_provider( 302 scoped_ptr<DelayedSocketData> data_provider(
303 new DelayedSocketData(1, 303 new DelayedSocketData(1,
304 data_reads, arraysize(data_reads), 304 data_reads, arraysize(data_reads),
305 data_writes, arraysize(data_writes))); 305 data_writes, arraysize(data_writes)));
306 306
307 MockClientSocketFactory* mock_socket_factory = 307 MockClientSocketFactory* mock_socket_factory =
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 "Proxy-Connection: keep-alive\r\n" 351 "Proxy-Connection: keep-alive\r\n"
352 "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), 352 "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n\r\n"),
353 }; 353 };
354 MockRead data_reads2[] = { 354 MockRead data_reads2[] = {
355 MockRead("HTTP/1.1 200 Connection Established\r\n"), 355 MockRead("HTTP/1.1 200 Connection Established\r\n"),
356 MockRead("Proxy-agent: Apache/2.2.8\r\n"), 356 MockRead("Proxy-agent: Apache/2.2.8\r\n"),
357 MockRead("\r\n"), 357 MockRead("\r\n"),
358 // SocketStream::DoClose is run asynchronously. Socket can be read after 358 // SocketStream::DoClose is run asynchronously. Socket can be read after
359 // "\r\n". We have to give ERR_IO_PENDING to SocketStream then to indicate 359 // "\r\n". We have to give ERR_IO_PENDING to SocketStream then to indicate
360 // server doesn't close the connection. 360 // server doesn't close the connection.
361 MockRead(true, ERR_IO_PENDING) 361 MockRead(ASYNC, ERR_IO_PENDING)
362 }; 362 };
363 StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), 363 StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
364 data_writes2, arraysize(data_writes2)); 364 data_writes2, arraysize(data_writes2));
365 mock_socket_factory.AddSocketDataProvider(&data2); 365 mock_socket_factory.AddSocketDataProvider(&data2);
366 366
367 TestCompletionCallback test_callback; 367 TestCompletionCallback test_callback;
368 368
369 scoped_ptr<SocketStreamEventRecorder> delegate( 369 scoped_ptr<SocketStreamEventRecorder> delegate(
370 new SocketStreamEventRecorder(test_callback.callback())); 370 new SocketStreamEventRecorder(test_callback.callback()));
371 delegate->SetOnConnected(base::Bind(&SocketStreamEventRecorder::DoClose, 371 delegate->SetOnConnected(base::Bind(&SocketStreamEventRecorder::DoClose,
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 MockHostResolver host_resolver; 418 MockHostResolver host_resolver;
419 419
420 scoped_refptr<SocketStream> socket_stream( 420 scoped_refptr<SocketStream> socket_stream(
421 new SocketStream(GURL("ws://example.com/demo"), delegate.get())); 421 new SocketStream(GURL("ws://example.com/demo"), delegate.get()));
422 422
423 socket_stream->set_context(new TestURLRequestContext()); 423 socket_stream->set_context(new TestURLRequestContext());
424 socket_stream->SetHostResolver(&host_resolver); 424 socket_stream->SetHostResolver(&host_resolver);
425 425
426 MockWrite data_writes[] = { 426 MockWrite data_writes[] = {
427 MockWrite(SocketStreamTest::kWebSocketHandshakeRequest), 427 MockWrite(SocketStreamTest::kWebSocketHandshakeRequest),
428 MockWrite(true, "\0message1\xff", 10), 428 MockWrite(ASYNC, "\0message1\xff", 10),
429 MockWrite(true, "\0message2\xff", 10) 429 MockWrite(ASYNC, "\0message2\xff", 10)
430 }; 430 };
431 MockRead data_reads[] = { 431 MockRead data_reads[] = {
432 MockRead(SocketStreamTest::kWebSocketHandshakeResponse), 432 MockRead(SocketStreamTest::kWebSocketHandshakeResponse),
433 // Server doesn't close the connection after handshake. 433 // Server doesn't close the connection after handshake.
434 MockRead(true, ERR_IO_PENDING) 434 MockRead(ASYNC, ERR_IO_PENDING)
435 }; 435 };
436 AddWebSocketMessage("message1"); 436 AddWebSocketMessage("message1");
437 AddWebSocketMessage("message2"); 437 AddWebSocketMessage("message2");
438 438
439 scoped_ptr<DelayedSocketData> data_provider( 439 scoped_ptr<DelayedSocketData> data_provider(
440 new DelayedSocketData(1, 440 new DelayedSocketData(1,
441 data_reads, arraysize(data_reads), 441 data_reads, arraysize(data_reads),
442 data_writes, arraysize(data_writes))); 442 data_writes, arraysize(data_writes)));
443 443
444 MockClientSocketFactory* mock_socket_factory = 444 MockClientSocketFactory* mock_socket_factory =
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 "Host: example.com\r\n" 540 "Host: example.com\r\n"
541 "Proxy-Connection: keep-alive\r\n\r\n") 541 "Proxy-Connection: keep-alive\r\n\r\n")
542 }; 542 };
543 MockRead data_reads[] = { 543 MockRead data_reads[] = {
544 MockRead("HTTP/1.1 200 Connection Established\r\n"), 544 MockRead("HTTP/1.1 200 Connection Established\r\n"),
545 MockRead("Proxy-agent: Apache/2.2.8\r\n"), 545 MockRead("Proxy-agent: Apache/2.2.8\r\n"),
546 MockRead("\r\n"), 546 MockRead("\r\n"),
547 // SocketStream::DoClose is run asynchronously. Socket can be read after 547 // SocketStream::DoClose is run asynchronously. Socket can be read after
548 // "\r\n". We have to give ERR_IO_PENDING to SocketStream then to indicate 548 // "\r\n". We have to give ERR_IO_PENDING to SocketStream then to indicate
549 // server doesn't close the connection. 549 // server doesn't close the connection.
550 MockRead(true, ERR_IO_PENDING) 550 MockRead(ASYNC, ERR_IO_PENDING)
551 }; 551 };
552 StaticSocketDataProvider data(data_reads, arraysize(data_reads), 552 StaticSocketDataProvider data(data_reads, arraysize(data_reads),
553 data_writes, arraysize(data_writes)); 553 data_writes, arraysize(data_writes));
554 mock_socket_factory.AddSocketDataProvider(&data); 554 mock_socket_factory.AddSocketDataProvider(&data);
555 SSLSocketDataProvider ssl(false, ERR_SSL_PROTOCOL_ERROR); 555 SSLSocketDataProvider ssl(SYNCHRONOUS, ERR_SSL_PROTOCOL_ERROR);
556 mock_socket_factory.AddSSLSocketDataProvider(&ssl); 556 mock_socket_factory.AddSSLSocketDataProvider(&ssl);
557 557
558 TestCompletionCallback test_callback; 558 TestCompletionCallback test_callback;
559 559
560 scoped_ptr<SocketStreamEventRecorder> delegate( 560 scoped_ptr<SocketStreamEventRecorder> delegate(
561 new SocketStreamEventRecorder(test_callback.callback())); 561 new SocketStreamEventRecorder(test_callback.callback()));
562 delegate->SetOnConnected(base::Bind(&SocketStreamEventRecorder::DoClose, 562 delegate->SetOnConnected(base::Bind(&SocketStreamEventRecorder::DoClose,
563 base::Unretained(delegate.get()))); 563 base::Unretained(delegate.get())));
564 564
565 scoped_refptr<SocketStream> socket_stream( 565 scoped_refptr<SocketStream> socket_stream(
(...skipping 26 matching lines...) Expand all
592 "Host: example.com\r\n" 592 "Host: example.com\r\n"
593 "Proxy-Connection: keep-alive\r\n\r\n") 593 "Proxy-Connection: keep-alive\r\n\r\n")
594 }; 594 };
595 MockRead data_reads[] = { 595 MockRead data_reads[] = {
596 MockRead("HTTP/1.1 200 Connection Established\r\n"), 596 MockRead("HTTP/1.1 200 Connection Established\r\n"),
597 MockRead("Proxy-agent: Apache/2.2.8\r\n"), 597 MockRead("Proxy-agent: Apache/2.2.8\r\n"),
598 MockRead("\r\n"), 598 MockRead("\r\n"),
599 // SocketStream::DoClose is run asynchronously. Socket can be read after 599 // SocketStream::DoClose is run asynchronously. Socket can be read after
600 // "\r\n". We have to give ERR_IO_PENDING to SocketStream then to indicate 600 // "\r\n". We have to give ERR_IO_PENDING to SocketStream then to indicate
601 // server doesn't close the connection. 601 // server doesn't close the connection.
602 MockRead(true, ERR_IO_PENDING) 602 MockRead(ASYNC, ERR_IO_PENDING)
603 }; 603 };
604 StaticSocketDataProvider data(data_reads, arraysize(data_reads), 604 StaticSocketDataProvider data(data_reads, arraysize(data_reads),
605 data_writes, arraysize(data_writes)); 605 data_writes, arraysize(data_writes));
606 mock_socket_factory.AddSocketDataProvider(&data); 606 mock_socket_factory.AddSocketDataProvider(&data);
607 SSLSocketDataProvider ssl(false, OK); 607 SSLSocketDataProvider ssl(SYNCHRONOUS, OK);
608 mock_socket_factory.AddSSLSocketDataProvider(&ssl); 608 mock_socket_factory.AddSSLSocketDataProvider(&ssl);
609 609
610 TestCompletionCallback test_callback; 610 TestCompletionCallback test_callback;
611 611
612 scoped_ptr<SocketStreamEventRecorder> delegate( 612 scoped_ptr<SocketStreamEventRecorder> delegate(
613 new SocketStreamEventRecorder(test_callback.callback())); 613 new SocketStreamEventRecorder(test_callback.callback()));
614 delegate->SetOnConnected(base::Bind(&SocketStreamEventRecorder::DoClose, 614 delegate->SetOnConnected(base::Bind(&SocketStreamEventRecorder::DoClose,
615 base::Unretained(delegate.get()))); 615 base::Unretained(delegate.get())));
616 616
617 scoped_refptr<SocketStream> socket_stream( 617 scoped_refptr<SocketStream> socket_stream(
(...skipping 13 matching lines...) Expand all
631 631
632 EXPECT_EQ(SocketStreamEvent::EVENT_START_OPEN_CONNECTION, 632 EXPECT_EQ(SocketStreamEvent::EVENT_START_OPEN_CONNECTION,
633 events[0].event_type); 633 events[0].event_type);
634 EXPECT_EQ(SocketStreamEvent::EVENT_CONNECTED, events[1].event_type); 634 EXPECT_EQ(SocketStreamEvent::EVENT_CONNECTED, events[1].event_type);
635 EXPECT_EQ(SocketStreamEvent::EVENT_ERROR, events[2].event_type); 635 EXPECT_EQ(SocketStreamEvent::EVENT_ERROR, events[2].event_type);
636 EXPECT_EQ(net::ERR_ABORTED, events[2].error_code); 636 EXPECT_EQ(net::ERR_ABORTED, events[2].error_code);
637 EXPECT_EQ(SocketStreamEvent::EVENT_CLOSE, events[3].event_type); 637 EXPECT_EQ(SocketStreamEvent::EVENT_CLOSE, events[3].event_type);
638 } 638 }
639 639
640 } // namespace net 640 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/ssl_client_socket_unittest.cc ('k') | net/spdy/spdy_http_stream_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698