| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 #ifndef NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_ | 5 #ifndef NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_ |
| 6 #define NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_ | 6 #define NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_ |
| 7 | 7 |
| 8 #include <stdlib.h> | 8 #include <stdlib.h> |
| 9 | 9 |
| 10 #include <sstream> | 10 #include <sstream> |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 host_resolver_ = net::CreateSystemHostResolver(); | 56 host_resolver_ = net::CreateSystemHostResolver(); |
| 57 net::ProxyConfig proxy_config; | 57 net::ProxyConfig proxy_config; |
| 58 proxy_config.proxy_rules.ParseFromString(proxy); | 58 proxy_config.proxy_rules.ParseFromString(proxy); |
| 59 proxy_service_ = net::ProxyService::CreateFixed(proxy_config); | 59 proxy_service_ = net::ProxyService::CreateFixed(proxy_config); |
| 60 ssl_config_service_ = new net::SSLConfigServiceDefaults; | 60 ssl_config_service_ = new net::SSLConfigServiceDefaults; |
| 61 http_transaction_factory_ = | 61 http_transaction_factory_ = |
| 62 net::HttpNetworkLayer::CreateFactory(host_resolver_, | 62 net::HttpNetworkLayer::CreateFactory(host_resolver_, |
| 63 proxy_service_, ssl_config_service_); | 63 proxy_service_, ssl_config_service_); |
| 64 } | 64 } |
| 65 | 65 |
| 66 virtual ~TestURLRequestContext() { | 66 protected: |
| 67 ~TestURLRequestContext() { |
| 67 delete http_transaction_factory_; | 68 delete http_transaction_factory_; |
| 68 } | 69 } |
| 69 }; | 70 }; |
| 70 | 71 |
| 71 class TestDelegate : public URLRequest::Delegate { | 72 class TestDelegate : public URLRequest::Delegate { |
| 72 public: | 73 public: |
| 73 TestDelegate() | 74 TestDelegate() |
| 74 : cancel_in_rr_(false), | 75 : cancel_in_rr_(false), |
| 75 cancel_in_rs_(false), | 76 cancel_in_rs_(false), |
| 76 cancel_in_rd_(false), | 77 cancel_in_rd_(false), |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 | 238 |
| 238 // This object bounds the lifetime of an external python-based HTTP/FTP server | 239 // This object bounds the lifetime of an external python-based HTTP/FTP server |
| 239 // that can provide various responses useful for testing. | 240 // that can provide various responses useful for testing. |
| 240 class BaseTestServer : public base::RefCounted<BaseTestServer> { | 241 class BaseTestServer : public base::RefCounted<BaseTestServer> { |
| 241 protected: | 242 protected: |
| 242 BaseTestServer() { } | 243 BaseTestServer() { } |
| 243 BaseTestServer(int connection_attempts, int connection_timeout) | 244 BaseTestServer(int connection_attempts, int connection_timeout) |
| 244 : launcher_(connection_attempts, connection_timeout) { } | 245 : launcher_(connection_attempts, connection_timeout) { } |
| 245 | 246 |
| 246 public: | 247 public: |
| 247 virtual ~BaseTestServer() { } | |
| 248 | |
| 249 void set_forking(bool forking) { | 248 void set_forking(bool forking) { |
| 250 launcher_.set_forking(forking); | 249 launcher_.set_forking(forking); |
| 251 } | 250 } |
| 252 | 251 |
| 253 // Used with e.g. HTTPTestServer::SendQuit() | 252 // Used with e.g. HTTPTestServer::SendQuit() |
| 254 bool WaitToFinish(int milliseconds) { | 253 bool WaitToFinish(int milliseconds) { |
| 255 return launcher_.WaitToFinish(milliseconds); | 254 return launcher_.WaitToFinish(milliseconds); |
| 256 } | 255 } |
| 257 | 256 |
| 258 bool Stop() { | 257 bool Stop() { |
| (...skipping 29 matching lines...) Expand all Loading... |
| 288 return TestServerPage(WideToUTF8(path)); | 287 return TestServerPage(WideToUTF8(path)); |
| 289 } | 288 } |
| 290 | 289 |
| 291 virtual bool MakeGETRequest(const std::string& page_name) = 0; | 290 virtual bool MakeGETRequest(const std::string& page_name) = 0; |
| 292 | 291 |
| 293 FilePath GetDataDirectory() { | 292 FilePath GetDataDirectory() { |
| 294 return launcher_.GetDocumentRootPath(); | 293 return launcher_.GetDocumentRootPath(); |
| 295 } | 294 } |
| 296 | 295 |
| 297 protected: | 296 protected: |
| 297 friend class base::RefCounted<BaseTestServer>; |
| 298 virtual ~BaseTestServer() { } |
| 299 |
| 298 bool Start(net::TestServerLauncher::Protocol protocol, | 300 bool Start(net::TestServerLauncher::Protocol protocol, |
| 299 const std::string& host_name, int port, | 301 const std::string& host_name, int port, |
| 300 const FilePath& document_root, | 302 const FilePath& document_root, |
| 301 const FilePath& cert_path, | 303 const FilePath& cert_path, |
| 302 const std::wstring& file_root_url) { | 304 const std::wstring& file_root_url) { |
| 303 if (!launcher_.Start(protocol, | 305 if (!launcher_.Start(protocol, |
| 304 host_name, port, document_root, cert_path, file_root_url)) | 306 host_name, port, document_root, cert_path, file_root_url)) |
| 305 return false; | 307 return false; |
| 306 | 308 |
| 307 if (protocol == net::TestServerLauncher::ProtoFTP) | 309 if (protocol == net::TestServerLauncher::ProtoFTP) |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 349 // HTTP | 351 // HTTP |
| 350 class HTTPTestServer : public BaseTestServer { | 352 class HTTPTestServer : public BaseTestServer { |
| 351 protected: | 353 protected: |
| 352 explicit HTTPTestServer() : loop_(NULL) { | 354 explicit HTTPTestServer() : loop_(NULL) { |
| 353 } | 355 } |
| 354 | 356 |
| 355 explicit HTTPTestServer(int connection_attempts, int connection_timeout) | 357 explicit HTTPTestServer(int connection_attempts, int connection_timeout) |
| 356 : BaseTestServer(connection_attempts, connection_timeout), loop_(NULL) { | 358 : BaseTestServer(connection_attempts, connection_timeout), loop_(NULL) { |
| 357 } | 359 } |
| 358 | 360 |
| 361 virtual ~HTTPTestServer() {} |
| 362 |
| 359 public: | 363 public: |
| 360 // Creates and returns a new HTTPTestServer. If |loop| is non-null, requests | 364 // Creates and returns a new HTTPTestServer. If |loop| is non-null, requests |
| 361 // are serviced on it, otherwise a new thread and message loop are created. | 365 // are serviced on it, otherwise a new thread and message loop are created. |
| 362 static scoped_refptr<HTTPTestServer> CreateServer( | 366 static scoped_refptr<HTTPTestServer> CreateServer( |
| 363 const std::wstring& document_root, | 367 const std::wstring& document_root, |
| 364 MessageLoop* loop) { | 368 MessageLoop* loop) { |
| 365 return CreateServerWithFileRootURL(document_root, std::wstring(), loop); | 369 return CreateServerWithFileRootURL(document_root, std::wstring(), loop); |
| 366 } | 370 } |
| 367 | 371 |
| 368 static scoped_refptr<HTTPTestServer> CreateServer( | 372 static scoped_refptr<HTTPTestServer> CreateServer( |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 553 scoped_refptr<HTTPSTestServer> test_server = new HTTPSTestServer(); | 557 scoped_refptr<HTTPSTestServer> test_server = new HTTPSTestServer(); |
| 554 FilePath docroot = FilePath::FromWStringHack(document_root); | 558 FilePath docroot = FilePath::FromWStringHack(document_root); |
| 555 FilePath certpath = FilePath::FromWStringHack(cert_path); | 559 FilePath certpath = FilePath::FromWStringHack(cert_path); |
| 556 if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, | 560 if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, |
| 557 host_name, port, docroot, certpath, std::wstring())) { | 561 host_name, port, docroot, certpath, std::wstring())) { |
| 558 return NULL; | 562 return NULL; |
| 559 } | 563 } |
| 560 return test_server; | 564 return test_server; |
| 561 } | 565 } |
| 562 | 566 |
| 563 virtual ~HTTPSTestServer() { | |
| 564 } | |
| 565 | |
| 566 protected: | 567 protected: |
| 567 std::wstring cert_path_; | 568 std::wstring cert_path_; |
| 569 |
| 570 private: |
| 571 virtual ~HTTPSTestServer() {} |
| 568 }; | 572 }; |
| 569 | 573 |
| 570 | 574 |
| 571 class FTPTestServer : public BaseTestServer { | 575 class FTPTestServer : public BaseTestServer { |
| 572 public: | 576 public: |
| 573 FTPTestServer() { | 577 FTPTestServer() { |
| 574 } | 578 } |
| 575 | 579 |
| 576 static scoped_refptr<FTPTestServer> CreateServer( | 580 static scoped_refptr<FTPTestServer> CreateServer( |
| 577 const std::wstring& document_root) { | 581 const std::wstring& document_root) { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 593 request.set_method("GET"); | 597 request.set_method("GET"); |
| 594 request.Start(); | 598 request.Start(); |
| 595 EXPECT_TRUE(request.is_pending()); | 599 EXPECT_TRUE(request.is_pending()); |
| 596 | 600 |
| 597 MessageLoop::current()->Run(); | 601 MessageLoop::current()->Run(); |
| 598 if (request.is_pending()) | 602 if (request.is_pending()) |
| 599 return false; | 603 return false; |
| 600 | 604 |
| 601 return true; | 605 return true; |
| 602 } | 606 } |
| 607 |
| 608 private: |
| 609 ~FTPTestServer() {} |
| 603 }; | 610 }; |
| 604 | 611 |
| 605 #endif // NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_ | 612 #endif // NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_ |
| OLD | NEW |