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

Side by Side Diff: net/spdy/spdy_websocket_stream_unittest.cc

Issue 17760008: [SPDY] Enable tests for SPDY/3.1 and SPDY/4 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 7 years, 5 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/spdy/spdy_test_util_common.cc ('k') | net/websockets/websocket_job_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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/spdy/spdy_websocket_stream.h" 5 #include "net/spdy/spdy_websocket_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 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 318
319 // TODO(toyoshim): Replace old framing data to new one, then use HEADERS and 319 // TODO(toyoshim): Replace old framing data to new one, then use HEADERS and
320 // data frames. 320 // data frames.
321 const char SpdyWebSocketStreamTest::kMessageFrame[] = "\x81\x05hello"; 321 const char SpdyWebSocketStreamTest::kMessageFrame[] = "\x81\x05hello";
322 const char SpdyWebSocketStreamTest::kClosingFrame[] = "\x88\0"; 322 const char SpdyWebSocketStreamTest::kClosingFrame[] = "\x88\0";
323 const size_t SpdyWebSocketStreamTest::kMessageFrameLength = 323 const size_t SpdyWebSocketStreamTest::kMessageFrameLength =
324 arraysize(SpdyWebSocketStreamTest::kMessageFrame) - 1; 324 arraysize(SpdyWebSocketStreamTest::kMessageFrame) - 1;
325 const size_t SpdyWebSocketStreamTest::kClosingFrameLength = 325 const size_t SpdyWebSocketStreamTest::kClosingFrameLength =
326 arraysize(SpdyWebSocketStreamTest::kClosingFrame) - 1; 326 arraysize(SpdyWebSocketStreamTest::kClosingFrame) - 1;
327 327
328 // TODO(akalin): Don't early-exit in the tests below for values >
329 // kProtoSPDY3.
330
331 TEST_P(SpdyWebSocketStreamTest, Basic) { 328 TEST_P(SpdyWebSocketStreamTest, Basic) {
332 if (GetParam() > kProtoSPDY3)
333 return;
334
335 Prepare(1); 329 Prepare(1);
336 MockWrite writes[] = { 330 MockWrite writes[] = {
337 CreateMockWrite(*request_frame_.get(), 1), 331 CreateMockWrite(*request_frame_.get(), 1),
338 CreateMockWrite(*message_frame_.get(), 3), 332 CreateMockWrite(*message_frame_.get(), 3),
339 CreateMockWrite(*closing_frame_.get(), 5) 333 CreateMockWrite(*closing_frame_.get(), 5)
340 }; 334 };
341 335
342 MockRead reads[] = { 336 MockRead reads[] = {
343 CreateMockRead(*response_frame_.get(), 2), 337 CreateMockRead(*response_frame_.get(), 2),
344 CreateMockRead(*message_frame_.get(), 4), 338 CreateMockRead(*message_frame_.get(), 4),
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 EXPECT_EQ(OK, events[6].result); 395 EXPECT_EQ(OK, events[6].result);
402 396
403 // EOF close SPDY session. 397 // EOF close SPDY session.
404 EXPECT_TRUE(!http_session_->spdy_session_pool()->HasSession( 398 EXPECT_TRUE(!http_session_->spdy_session_pool()->HasSession(
405 spdy_session_key_)); 399 spdy_session_key_));
406 EXPECT_TRUE(data()->at_read_eof()); 400 EXPECT_TRUE(data()->at_read_eof());
407 EXPECT_TRUE(data()->at_write_eof()); 401 EXPECT_TRUE(data()->at_write_eof());
408 } 402 }
409 403
410 TEST_P(SpdyWebSocketStreamTest, DestructionBeforeClose) { 404 TEST_P(SpdyWebSocketStreamTest, DestructionBeforeClose) {
411 if (GetParam() > kProtoSPDY3)
412 return;
413
414 Prepare(1); 405 Prepare(1);
415 MockWrite writes[] = { 406 MockWrite writes[] = {
416 CreateMockWrite(*request_frame_.get(), 1), 407 CreateMockWrite(*request_frame_.get(), 1),
417 CreateMockWrite(*message_frame_.get(), 3) 408 CreateMockWrite(*message_frame_.get(), 3)
418 }; 409 };
419 410
420 MockRead reads[] = { 411 MockRead reads[] = {
421 CreateMockRead(*response_frame_.get(), 2), 412 CreateMockRead(*response_frame_.get(), 2),
422 CreateMockRead(*message_frame_.get(), 4), 413 CreateMockRead(*message_frame_.get(), 4),
423 MockRead(ASYNC, ERR_IO_PENDING, 5) 414 MockRead(ASYNC, ERR_IO_PENDING, 5)
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 events[3].event_type); 457 events[3].event_type);
467 EXPECT_EQ(static_cast<int>(kMessageFrameLength), events[3].result); 458 EXPECT_EQ(static_cast<int>(kMessageFrameLength), events[3].result);
468 459
469 EXPECT_TRUE(http_session_->spdy_session_pool()->HasSession( 460 EXPECT_TRUE(http_session_->spdy_session_pool()->HasSession(
470 spdy_session_key_)); 461 spdy_session_key_));
471 EXPECT_TRUE(data()->at_read_eof()); 462 EXPECT_TRUE(data()->at_read_eof());
472 EXPECT_TRUE(data()->at_write_eof()); 463 EXPECT_TRUE(data()->at_write_eof());
473 } 464 }
474 465
475 TEST_P(SpdyWebSocketStreamTest, DestructionAfterExplicitClose) { 466 TEST_P(SpdyWebSocketStreamTest, DestructionAfterExplicitClose) {
476 if (GetParam() > kProtoSPDY3)
477 return;
478
479 Prepare(1); 467 Prepare(1);
480 MockWrite writes[] = { 468 MockWrite writes[] = {
481 CreateMockWrite(*request_frame_.get(), 1), 469 CreateMockWrite(*request_frame_.get(), 1),
482 CreateMockWrite(*message_frame_.get(), 3), 470 CreateMockWrite(*message_frame_.get(), 3),
483 CreateMockWrite(*closing_frame_.get(), 5) 471 CreateMockWrite(*closing_frame_.get(), 5)
484 }; 472 };
485 473
486 MockRead reads[] = { 474 MockRead reads[] = {
487 CreateMockRead(*response_frame_.get(), 2), 475 CreateMockRead(*response_frame_.get(), 2),
488 CreateMockRead(*message_frame_.get(), 4), 476 CreateMockRead(*message_frame_.get(), 4),
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 EXPECT_EQ(SpdyWebSocketStreamEvent::EVENT_RECEIVED_DATA, 518 EXPECT_EQ(SpdyWebSocketStreamEvent::EVENT_RECEIVED_DATA,
531 events[3].event_type); 519 events[3].event_type);
532 EXPECT_EQ(static_cast<int>(kMessageFrameLength), events[3].result); 520 EXPECT_EQ(static_cast<int>(kMessageFrameLength), events[3].result);
533 EXPECT_EQ(SpdyWebSocketStreamEvent::EVENT_CLOSE, events[4].event_type); 521 EXPECT_EQ(SpdyWebSocketStreamEvent::EVENT_CLOSE, events[4].event_type);
534 522
535 EXPECT_TRUE(http_session_->spdy_session_pool()->HasSession( 523 EXPECT_TRUE(http_session_->spdy_session_pool()->HasSession(
536 spdy_session_key_)); 524 spdy_session_key_));
537 } 525 }
538 526
539 TEST_P(SpdyWebSocketStreamTest, IOPending) { 527 TEST_P(SpdyWebSocketStreamTest, IOPending) {
540 if (GetParam() > kProtoSPDY3)
541 return;
542
543 Prepare(1); 528 Prepare(1);
544 scoped_ptr<SpdyFrame> settings_frame( 529 scoped_ptr<SpdyFrame> settings_frame(
545 spdy_util_.ConstructSpdySettings(spdy_settings_to_send_)); 530 spdy_util_.ConstructSpdySettings(spdy_settings_to_send_));
546 MockWrite writes[] = { 531 MockWrite writes[] = {
547 // Setting throttling make SpdySession send settings frame automatically. 532 // Setting throttling make SpdySession send settings frame automatically.
548 CreateMockWrite(*settings_frame.get(), 1), 533 CreateMockWrite(*settings_frame.get(), 1),
549 CreateMockWrite(*request_frame_.get(), 3), 534 CreateMockWrite(*request_frame_.get(), 3),
550 CreateMockWrite(*message_frame_.get(), 6), 535 CreateMockWrite(*message_frame_.get(), 6),
551 CreateMockWrite(*closing_frame_.get(), 9) 536 CreateMockWrite(*closing_frame_.get(), 9)
552 }; 537 };
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 EXPECT_EQ(OK, events[7].result); 621 EXPECT_EQ(OK, events[7].result);
637 622
638 // EOF close SPDY session. 623 // EOF close SPDY session.
639 EXPECT_TRUE(!http_session_->spdy_session_pool()->HasSession( 624 EXPECT_TRUE(!http_session_->spdy_session_pool()->HasSession(
640 spdy_session_key_)); 625 spdy_session_key_));
641 EXPECT_TRUE(data()->at_read_eof()); 626 EXPECT_TRUE(data()->at_read_eof());
642 EXPECT_TRUE(data()->at_write_eof()); 627 EXPECT_TRUE(data()->at_write_eof());
643 } 628 }
644 629
645 } // namespace net 630 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_test_util_common.cc ('k') | net/websockets/websocket_job_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698