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

Side by Side Diff: net/websockets/websocket_job_unittest.cc

Issue 8230037: Send PING to check the status of the SPDY connection. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/websockets/websocket_job.h" 5 #include "net/websockets/websocket_job.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
(...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 EXPECT_TRUE(delegate.received_data().empty()); 615 EXPECT_TRUE(delegate.received_data().empty());
616 EXPECT_EQ(WebSocketJob::CONNECTING, GetWebSocketJobState()); 616 EXPECT_EQ(WebSocketJob::CONNECTING, GetWebSocketJobState());
617 websocket_->OnReceivedData(socket_.get(), "8jKS'y:G*Co,Wxa-", 16); 617 websocket_->OnReceivedData(socket_.get(), "8jKS'y:G*Co,Wxa-", 16);
618 EXPECT_EQ(kHandshakeResponseWithoutCookie, delegate.received_data()); 618 EXPECT_EQ(kHandshakeResponseWithoutCookie, delegate.received_data());
619 EXPECT_EQ(WebSocketJob::OPEN, GetWebSocketJobState()); 619 EXPECT_EQ(WebSocketJob::OPEN, GetWebSocketJobState());
620 CloseWebSocketJob(); 620 CloseWebSocketJob();
621 } 621 }
622 622
623 TEST_F(WebSocketJobTest, DelayedCookies) { 623 TEST_F(WebSocketJobTest, DelayedCookies) {
624 WebSocketJob::set_websocket_over_spdy_enabled(true); 624 WebSocketJob::set_websocket_over_spdy_enabled(true);
625 // Disable sending PING.
626 SpdySession::set_enable_ping_based_connection_checking(false);
625 GURL url("ws://example.com/demo"); 627 GURL url("ws://example.com/demo");
626 GURL cookieUrl("http://example.com/demo"); 628 GURL cookieUrl("http://example.com/demo");
627 CookieOptions cookie_options; 629 CookieOptions cookie_options;
628 scoped_refptr<DelayedCookieMonster> cookie_store = new DelayedCookieMonster(); 630 scoped_refptr<DelayedCookieMonster> cookie_store = new DelayedCookieMonster();
629 context_->set_cookie_store(cookie_store); 631 context_->set_cookie_store(cookie_store);
630 cookie_store->SetCookieWithOptionsAsync( 632 cookie_store->SetCookieWithOptionsAsync(
631 cookieUrl, "CR-test=1", cookie_options, 633 cookieUrl, "CR-test=1", cookie_options,
632 net::CookieMonster::SetCookiesCallback()); 634 net::CookieMonster::SetCookiesCallback());
633 cookie_options.set_include_httponly(); 635 cookie_options.set_include_httponly();
634 cookie_store->SetCookieWithOptionsAsync( 636 cookie_store->SetCookieWithOptionsAsync(
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
859 } 861 }
860 862
861 EXPECT_EQ(OK, WaitForResult()); 863 EXPECT_EQ(OK, WaitForResult());
862 EXPECT_TRUE(data_->at_read_eof()); 864 EXPECT_TRUE(data_->at_read_eof());
863 EXPECT_TRUE(data_->at_write_eof()); 865 EXPECT_TRUE(data_->at_write_eof());
864 EXPECT_EQ(WebSocketJob::CLOSED, GetWebSocketJobState()); 866 EXPECT_EQ(WebSocketJob::CLOSED, GetWebSocketJobState());
865 } 867 }
866 868
867 void WebSocketJobTest::TestConnectBySpdy( 869 void WebSocketJobTest::TestConnectBySpdy(
868 SpdyOption spdy, ThrottlingOption throttling) { 870 SpdyOption spdy, ThrottlingOption throttling) {
871 // Disable sending PING.
872 SpdySession::set_enable_ping_based_connection_checking(false);
869 // This is a test for verifying cooperation between WebSocketJob and 873 // This is a test for verifying cooperation between WebSocketJob and
870 // SocketStream in the situation we have SPDY session to the server. If 874 // SocketStream in the situation we have SPDY session to the server. If
871 // |throttling| was |THROTTLING_ON|, throttling limits the latter connection. 875 // |throttling| was |THROTTLING_ON|, throttling limits the latter connection.
872 // If you enabled spdy, you should specify |spdy| as |SPDY_ON|. Expected 876 // If you enabled spdy, you should specify |spdy| as |SPDY_ON|. Expected
873 // results depend on its configuration. 877 // results depend on its configuration.
874 MockWrite writes_websocket[] = { 878 MockWrite writes_websocket[] = {
875 MockWrite(true, 879 MockWrite(true,
876 kHandshakeRequestWithoutCookie, 880 kHandshakeRequestWithoutCookie,
877 kHandshakeRequestWithoutCookieLength, 881 kHandshakeRequestWithoutCookieLength,
878 1), 882 1),
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
1077 1081
1078 TEST_F(WebSocketJobTest, ThrottlingSpdySpdyEnabled) { 1082 TEST_F(WebSocketJobTest, ThrottlingSpdySpdyEnabled) {
1079 WebSocketJob::set_websocket_over_spdy_enabled(true); 1083 WebSocketJob::set_websocket_over_spdy_enabled(true);
1080 TestConnectBySpdy(SPDY_ON, THROTTLING_ON); 1084 TestConnectBySpdy(SPDY_ON, THROTTLING_ON);
1081 } 1085 }
1082 1086
1083 // TODO(toyoshim): Add tests to verify throttling, SPDY stream limitation. 1087 // TODO(toyoshim): Add tests to verify throttling, SPDY stream limitation.
1084 // TODO(toyoshim,yutak): Add tests to verify closing handshake. 1088 // TODO(toyoshim,yutak): Add tests to verify closing handshake.
1085 1089
1086 } // namespace net 1090 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698