| Index: net/websockets/websocket_job_test.cc
|
| diff --git a/net/websockets/websocket_job_test.cc b/net/websockets/websocket_job_test.cc
|
| index 22fd6e732ada9a9b7833ecd9596c8184f41d9e73..7b87a870d8d1ac19df493adc3a5a229b19c94ee8 100644
|
| --- a/net/websockets/websocket_job_test.cc
|
| +++ b/net/websockets/websocket_job_test.cc
|
| @@ -274,11 +274,14 @@ class MockURLRequestContext : public URLRequestContext {
|
|
|
| class MockHttpTransactionFactory : public HttpTransactionFactory {
|
| public:
|
| - MockHttpTransactionFactory(NextProto next_proto, OrderedSocketData* data) {
|
| + MockHttpTransactionFactory(NextProto next_proto,
|
| + OrderedSocketData* data,
|
| + bool enable_websocket_over_spdy) {
|
| data_ = data;
|
| MockConnect connect_data(SYNCHRONOUS, OK);
|
| data_->set_connect_data(connect_data);
|
| session_deps_.reset(new SpdySessionDependencies(next_proto));
|
| + session_deps_->enable_websocket_over_spdy = enable_websocket_over_spdy;
|
| session_deps_->socket_factory->AddSocketDataProvider(data_);
|
| http_session_ =
|
| SpdySessionDependencies::SpdyCreateSession(session_deps_.get());
|
| @@ -389,7 +392,9 @@ class DeletingSocketStreamDelegate : public SocketStream::Delegate {
|
| class WebSocketJobTest : public PlatformTest,
|
| public ::testing::WithParamInterface<NextProto> {
|
| public:
|
| - WebSocketJobTest() : spdy_util_(GetParam()) {}
|
| + WebSocketJobTest()
|
| + : spdy_util_(GetParam()),
|
| + enable_websocket_over_spdy_(false) {}
|
|
|
| virtual void SetUp() OVERRIDE {
|
| stream_type_ = STREAM_INVALID;
|
| @@ -416,6 +421,7 @@ class WebSocketJobTest : public PlatformTest,
|
| int WaitForResult() {
|
| return sync_test_callback_.WaitForResult();
|
| }
|
| +
|
| protected:
|
| enum StreamType {
|
| STREAM_INVALID,
|
| @@ -444,8 +450,8 @@ class WebSocketJobTest : public PlatformTest,
|
|
|
| if (stream_type == STREAM_SOCKET || stream_type == STREAM_SPDY_WEBSOCKET) {
|
| if (stream_type == STREAM_SPDY_WEBSOCKET) {
|
| - http_factory_.reset(
|
| - new MockHttpTransactionFactory(GetParam(), data_.get()));
|
| + http_factory_.reset(new MockHttpTransactionFactory(
|
| + GetParam(), data_.get(), enable_websocket_over_spdy_));
|
| context_->set_http_transaction_factory(http_factory_.get());
|
| }
|
|
|
| @@ -530,6 +536,9 @@ class WebSocketJobTest : public PlatformTest,
|
| scoped_ptr<MockHostResolver> host_resolver_;
|
| scoped_ptr<MockHttpTransactionFactory> http_factory_;
|
|
|
| + // Must be set before call to enable_websocket_over_spdy, defaults to false.
|
| + bool enable_websocket_over_spdy_;
|
| +
|
| static const char kHandshakeRequestWithoutCookie[];
|
| static const char kHandshakeRequestWithCookie[];
|
| static const char kHandshakeRequestWithFilteredCookie[];
|
| @@ -711,7 +720,7 @@ INSTANTIATE_TEST_CASE_P(
|
| kProtoSPDY3, kProtoSPDY31, kProtoSPDY4));
|
|
|
| TEST_P(WebSocketJobTest, DelayedCookies) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(true);
|
| + enable_websocket_over_spdy_ = true;
|
| GURL url("ws://example.com/demo");
|
| GURL cookieUrl("http://example.com/demo");
|
| CookieOptions cookie_options;
|
| @@ -1114,87 +1123,79 @@ void WebSocketJobTest::TestThrottlingLimit() {
|
|
|
| // Execute tests in both spdy-disabled mode and spdy-enabled mode.
|
| TEST_P(WebSocketJobTest, SimpleHandshake) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(false);
|
| TestSimpleHandshake();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, SlowHandshake) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(false);
|
| TestSlowHandshake();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, HandshakeWithCookie) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(false);
|
| TestHandshakeWithCookie();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, HandshakeWithCookieButNotAllowed) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(false);
|
| TestHandshakeWithCookieButNotAllowed();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, HSTSUpgrade) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(false);
|
| TestHSTSUpgrade();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, InvalidSendData) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(false);
|
| TestInvalidSendData();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, SimpleHandshakeSpdyEnabled) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(true);
|
| + enable_websocket_over_spdy_ = true;
|
| TestSimpleHandshake();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, SlowHandshakeSpdyEnabled) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(true);
|
| + enable_websocket_over_spdy_ = true;
|
| TestSlowHandshake();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, HandshakeWithCookieSpdyEnabled) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(true);
|
| + enable_websocket_over_spdy_ = true;
|
| TestHandshakeWithCookie();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, HandshakeWithCookieButNotAllowedSpdyEnabled) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(true);
|
| + enable_websocket_over_spdy_ = true;
|
| TestHandshakeWithCookieButNotAllowed();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, HSTSUpgradeSpdyEnabled) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(true);
|
| + enable_websocket_over_spdy_ = true;
|
| TestHSTSUpgrade();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, InvalidSendDataSpdyEnabled) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(true);
|
| + enable_websocket_over_spdy_ = true;
|
| TestInvalidSendData();
|
| }
|
|
|
| TEST_P(WebSocketJobTest, ConnectByWebSocket) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(false);
|
| + enable_websocket_over_spdy_ = true;
|
| TestConnectByWebSocket(THROTTLING_OFF);
|
| }
|
|
|
| TEST_P(WebSocketJobTest, ConnectByWebSocketSpdyEnabled) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(true);
|
| + enable_websocket_over_spdy_ = true;
|
| TestConnectByWebSocket(THROTTLING_OFF);
|
| }
|
|
|
| TEST_P(WebSocketJobTest, ConnectBySpdy) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(false);
|
| TestConnectBySpdy(SPDY_OFF, THROTTLING_OFF);
|
| }
|
|
|
| TEST_P(WebSocketJobTest, ConnectBySpdySpdyEnabled) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(true);
|
| + enable_websocket_over_spdy_ = true;
|
| TestConnectBySpdy(SPDY_ON, THROTTLING_OFF);
|
| }
|
|
|
| TEST_P(WebSocketJobTest, ThrottlingWebSocket) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(false);
|
| TestConnectByWebSocket(THROTTLING_ON);
|
| }
|
|
|
| @@ -1203,17 +1204,16 @@ TEST_P(WebSocketJobTest, ThrottlingMaxNumberOfThrottledJobLimit) {
|
| }
|
|
|
| TEST_P(WebSocketJobTest, ThrottlingWebSocketSpdyEnabled) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(true);
|
| + enable_websocket_over_spdy_ = true;
|
| TestConnectByWebSocket(THROTTLING_ON);
|
| }
|
|
|
| TEST_P(WebSocketJobTest, ThrottlingSpdy) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(false);
|
| TestConnectBySpdy(SPDY_OFF, THROTTLING_ON);
|
| }
|
|
|
| TEST_P(WebSocketJobTest, ThrottlingSpdySpdyEnabled) {
|
| - WebSocketJob::set_websocket_over_spdy_enabled(true);
|
| + enable_websocket_over_spdy_ = true;
|
| TestConnectBySpdy(SPDY_ON, THROTTLING_ON);
|
| }
|
|
|
|
|