| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/url_request/url_request_http_job.h" | 5 #include "net/url_request/url_request_http_job.h" |
| 6 | 6 |
| 7 #include <cstddef> | 7 #include <cstddef> |
| 8 | 8 |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 protected: | 45 protected: |
| 46 ~TestURLRequestHttpJob() override {} | 46 ~TestURLRequestHttpJob() override {} |
| 47 }; | 47 }; |
| 48 | 48 |
| 49 class URLRequestHttpJobTest : public ::testing::Test { | 49 class URLRequestHttpJobTest : public ::testing::Test { |
| 50 protected: | 50 protected: |
| 51 URLRequestHttpJobTest() | 51 URLRequestHttpJobTest() |
| 52 : req_(context_.CreateRequest(GURL("http://www.example.com"), | 52 : req_(context_.CreateRequest(GURL("http://www.example.com"), |
| 53 DEFAULT_PRIORITY, | 53 DEFAULT_PRIORITY, |
| 54 &delegate_, | 54 &delegate_, |
| 55 NULL)) { | 55 nullptr)) { |
| 56 context_.set_http_transaction_factory(&network_layer_); | 56 context_.set_http_transaction_factory(&network_layer_); |
| 57 } | 57 } |
| 58 | 58 |
| 59 bool TransactionAcceptsSdchEncoding() { | 59 bool TransactionAcceptsSdchEncoding() { |
| 60 base::WeakPtr<MockNetworkTransaction> transaction( | 60 base::WeakPtr<MockNetworkTransaction> transaction( |
| 61 network_layer_.last_transaction()); | 61 network_layer_.last_transaction()); |
| 62 EXPECT_TRUE(transaction); | 62 EXPECT_TRUE(transaction); |
| 63 if (!transaction) return false; | 63 if (!transaction) return false; |
| 64 | 64 |
| 65 const HttpRequestInfo* request_info = transaction->request(); | 65 const HttpRequestInfo* request_info = transaction->request(); |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 scoped_refptr<TestURLRequestHttpJob> job( | 179 scoped_refptr<TestURLRequestHttpJob> job( |
| 180 new TestURLRequestHttpJob(req_.get())); | 180 new TestURLRequestHttpJob(req_.get())); |
| 181 job->Start(); | 181 job->Start(); |
| 182 EXPECT_FALSE(TransactionAcceptsSdchEncoding()); | 182 EXPECT_FALSE(TransactionAcceptsSdchEncoding()); |
| 183 } | 183 } |
| 184 | 184 |
| 185 // This base class just serves to set up some things before the TestURLRequest | 185 // This base class just serves to set up some things before the TestURLRequest |
| 186 // constructor is called. | 186 // constructor is called. |
| 187 class URLRequestHttpJobWebSocketTestBase : public ::testing::Test { | 187 class URLRequestHttpJobWebSocketTestBase : public ::testing::Test { |
| 188 protected: | 188 protected: |
| 189 URLRequestHttpJobWebSocketTestBase() : socket_data_(NULL, 0, NULL, 0), | 189 URLRequestHttpJobWebSocketTestBase() : socket_data_(nullptr, 0, nullptr, 0), |
| 190 context_(true) { | 190 context_(true) { |
| 191 // A Network Delegate is required for the WebSocketHandshakeStreamBase | 191 // A Network Delegate is required for the WebSocketHandshakeStreamBase |
| 192 // object to be passed on to the HttpNetworkTransaction. | 192 // object to be passed on to the HttpNetworkTransaction. |
| 193 context_.set_network_delegate(&network_delegate_); | 193 context_.set_network_delegate(&network_delegate_); |
| 194 | 194 |
| 195 // Attempting to create real ClientSocketHandles is not going to work out so | 195 // Attempting to create real ClientSocketHandles is not going to work out so |
| 196 // well. Set up a fake socket factory. | 196 // well. Set up a fake socket factory. |
| 197 socket_factory_.AddSocketDataProvider(&socket_data_); | 197 socket_factory_.AddSocketDataProvider(&socket_data_); |
| 198 context_.set_client_socket_factory(&socket_factory_); | 198 context_.set_client_socket_factory(&socket_factory_); |
| 199 context_.Init(); | 199 context_.Init(); |
| 200 } | 200 } |
| 201 | 201 |
| 202 StaticSocketDataProvider socket_data_; | 202 StaticSocketDataProvider socket_data_; |
| 203 TestNetworkDelegate network_delegate_; | 203 TestNetworkDelegate network_delegate_; |
| 204 MockClientSocketFactory socket_factory_; | 204 MockClientSocketFactory socket_factory_; |
| 205 TestURLRequestContext context_; | 205 TestURLRequestContext context_; |
| 206 }; | 206 }; |
| 207 | 207 |
| 208 class URLRequestHttpJobWebSocketTest | 208 class URLRequestHttpJobWebSocketTest |
| 209 : public URLRequestHttpJobWebSocketTestBase { | 209 : public URLRequestHttpJobWebSocketTestBase { |
| 210 protected: | 210 protected: |
| 211 URLRequestHttpJobWebSocketTest() | 211 URLRequestHttpJobWebSocketTest() |
| 212 : req_(context_.CreateRequest(GURL("ws://www.example.com"), | 212 : req_(context_.CreateRequest(GURL("ws://www.example.com"), |
| 213 DEFAULT_PRIORITY, | 213 DEFAULT_PRIORITY, |
| 214 &delegate_, | 214 &delegate_, |
| 215 NULL)) { | 215 nullptr)) { |
| 216 // The TestNetworkDelegate expects a call to NotifyBeforeURLRequest before | 216 // The TestNetworkDelegate expects a call to NotifyBeforeURLRequest before |
| 217 // anything else happens. | 217 // anything else happens. |
| 218 GURL url("ws://localhost/"); | 218 GURL url("ws://localhost/"); |
| 219 TestCompletionCallback dummy; | 219 TestCompletionCallback dummy; |
| 220 network_delegate_.NotifyBeforeURLRequest( | 220 network_delegate_.NotifyBeforeURLRequest( |
| 221 req_.get(), dummy.callback(), &url); | 221 req_.get(), dummy.callback(), &url); |
| 222 } | 222 } |
| 223 | 223 |
| 224 TestDelegate delegate_; | 224 TestDelegate delegate_; |
| 225 scoped_ptr<URLRequest> req_; | 225 scoped_ptr<URLRequest> req_; |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 void GetSSLInfo(SSLInfo* ssl_info) override {} | 297 void GetSSLInfo(SSLInfo* ssl_info) override {} |
| 298 | 298 |
| 299 void GetSSLCertRequestInfo(SSLCertRequestInfo* cert_request_info) override {} | 299 void GetSSLCertRequestInfo(SSLCertRequestInfo* cert_request_info) override {} |
| 300 | 300 |
| 301 bool IsSpdyHttpStream() const override { return false; } | 301 bool IsSpdyHttpStream() const override { return false; } |
| 302 | 302 |
| 303 void Drain(HttpNetworkSession* session) override {} | 303 void Drain(HttpNetworkSession* session) override {} |
| 304 | 304 |
| 305 void SetPriority(RequestPriority priority) override {} | 305 void SetPriority(RequestPriority priority) override {} |
| 306 | 306 |
| 307 UploadProgress GetUploadProgress() const override { |
| 308 return UploadProgress(); |
| 309 } |
| 310 |
| 311 HttpStream* RenewStreamForAuth() override { return nullptr; } |
| 312 |
| 307 // Fake implementation of WebSocketHandshakeStreamBase method(s) | 313 // Fake implementation of WebSocketHandshakeStreamBase method(s) |
| 308 scoped_ptr<WebSocketStream> Upgrade() override { | 314 scoped_ptr<WebSocketStream> Upgrade() override { |
| 309 return scoped_ptr<WebSocketStream>(); | 315 return scoped_ptr<WebSocketStream>(); |
| 310 } | 316 } |
| 311 | 317 |
| 312 private: | 318 private: |
| 313 bool initialize_stream_was_called_; | 319 bool initialize_stream_was_called_; |
| 314 }; | 320 }; |
| 315 | 321 |
| 316 TEST_F(URLRequestHttpJobWebSocketTest, RejectedWithoutCreateHelper) { | 322 TEST_F(URLRequestHttpJobWebSocketTest, RejectedWithoutCreateHelper) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 338 req_->SetLoadFlags(LOAD_DISABLE_CACHE); | 344 req_->SetLoadFlags(LOAD_DISABLE_CACHE); |
| 339 job->Start(); | 345 job->Start(); |
| 340 base::RunLoop().RunUntilIdle(); | 346 base::RunLoop().RunUntilIdle(); |
| 341 EXPECT_EQ(URLRequestStatus::IO_PENDING, req_->status().status()); | 347 EXPECT_EQ(URLRequestStatus::IO_PENDING, req_->status().status()); |
| 342 EXPECT_TRUE(fake_handshake_stream->initialize_stream_was_called()); | 348 EXPECT_TRUE(fake_handshake_stream->initialize_stream_was_called()); |
| 343 } | 349 } |
| 344 | 350 |
| 345 } // namespace | 351 } // namespace |
| 346 | 352 |
| 347 } // namespace net | 353 } // namespace net |
| OLD | NEW |