diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-29 21:44:12 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-29 21:44:12 +0000 |
commit | 3985ba8a1d1e396d98c4dbec84077d6a67109db9 (patch) | |
tree | aa092101b582f5a9973fc68cce625834a9436c86 /net/url_request | |
parent | 4ada238a76785ee78396cfb8e5992044c302de1e (diff) | |
download | chromium_src-3985ba8a1d1e396d98c4dbec84077d6a67109db9.zip chromium_src-3985ba8a1d1e396d98c4dbec84077d6a67109db9.tar.gz chromium_src-3985ba8a1d1e396d98c4dbec84077d6a67109db9.tar.bz2 |
GTTF: Move more test server code from net/url_request/url_request_unittest.h
to net/test/test_server.h
No code changes, just a move.
TEST=none
BUG=49680
Review URL: http://codereview.chromium.org/3034038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54201 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request')
-rw-r--r-- | net/url_request/url_request_unittest.cc | 4 | ||||
-rw-r--r-- | net/url_request/url_request_unittest.h | 219 |
2 files changed, 4 insertions, 219 deletions
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc index bfbd290..b232db4 100644 --- a/net/url_request/url_request_unittest.cc +++ b/net/url_request/url_request_unittest.cc @@ -48,6 +48,10 @@ #include "testing/platform_test.h" using base::Time; +using net::kHTTPDefaultPort; +using net::FTPTestServer; +using net::HTTPTestServer; +using net::HTTPSTestServer; namespace { diff --git a/net/url_request/url_request_unittest.h b/net/url_request/url_request_unittest.h index 92f527f..1a6faf6 100644 --- a/net/url_request/url_request_unittest.h +++ b/net/url_request/url_request_unittest.h @@ -41,11 +41,6 @@ #include "testing/gtest/include/gtest/gtest.h" #include "googleurl/src/url_util.h" -const int kHTTPDefaultPort = 1337; -const int kFTPDefaultPort = 1338; - -const std::string kDefaultHostName("localhost"); - using base::TimeDelta; //----------------------------------------------------------------------------- @@ -396,218 +391,4 @@ class TestDelegate : public URLRequest::Delegate { scoped_refptr<net::IOBuffer> buf_; }; -//----------------------------------------------------------------------------- - -// This object bounds the lifetime of an external python-based HTTP/FTP server -// that can provide various responses useful for testing. -class BaseTestServer : public base::RefCounted<BaseTestServer> { - protected: - BaseTestServer() {} - - public: - bool WaitToFinish(int milliseconds) { - return launcher_.WaitToFinish(milliseconds); - } - - bool Stop() { - return launcher_.Stop(); - } - - GURL TestServerPage(const std::string& base_address, - const std::string& path) { - return GURL(base_address + path); - } - - GURL TestServerPage(const std::string& path) { - // TODO(phajdan.jr): Check for problems with IPv6. - return GURL(scheme_ + "://" + host_name_ + ":" + port_str_ + "/" + path); - } - - GURL TestServerPage(const std::string& path, - const std::string& user, - const std::string& password) { - // TODO(phajdan.jr): Check for problems with IPv6. - - if (password.empty()) - return GURL(scheme_ + "://" + user + "@" + - host_name_ + ":" + port_str_ + "/" + path); - - return GURL(scheme_ + "://" + user + ":" + password + - "@" + host_name_ + ":" + port_str_ + "/" + path); - } - - FilePath GetDataDirectory() { - return launcher_.GetDocumentRootPath(); - } - - protected: - friend class base::RefCounted<BaseTestServer>; - virtual ~BaseTestServer() { } - - bool Start(net::TestServerLauncher::Protocol protocol, - const std::string& host_name, int port, - const FilePath& document_root, - const FilePath& cert_path, - const std::wstring& file_root_url) { - if (!launcher_.Start(protocol, - host_name, port, document_root, cert_path, file_root_url)) - return false; - - if (protocol == net::TestServerLauncher::ProtoFTP) - scheme_ = "ftp"; - else - scheme_ = "http"; - if (!cert_path.empty()) - scheme_.push_back('s'); - - host_name_ = host_name; - port_str_ = IntToString(port); - return true; - } - - net::TestServerLauncher launcher_; - std::string scheme_; - std::string host_name_; - std::string port_str_; -}; - -//----------------------------------------------------------------------------- - -// HTTP -class HTTPTestServer : public BaseTestServer { - protected: - HTTPTestServer() {} - - public: - // Creates and returns a new HTTPTestServer. If |loop| is non-null, requests - // are serviced on it, otherwise a new thread and message loop are created. - static scoped_refptr<HTTPTestServer> CreateServer( - const std::wstring& document_root) { - return CreateServerWithFileRootURL(document_root, std::wstring()); - } - - static scoped_refptr<HTTPTestServer> CreateServerWithFileRootURL( - const std::wstring& document_root, - const std::wstring& file_root_url) { - scoped_refptr<HTTPTestServer> test_server(new HTTPTestServer()); - FilePath no_cert; - FilePath docroot = FilePath::FromWStringHack(document_root); - if (!StartTestServer(test_server.get(), docroot, no_cert, file_root_url)) - return NULL; - return test_server; - } - - static bool StartTestServer(HTTPTestServer* server, - const FilePath& document_root, - const FilePath& cert_path, - const std::wstring& file_root_url) { - return server->Start(net::TestServerLauncher::ProtoHTTP, kDefaultHostName, - kHTTPDefaultPort, document_root, cert_path, - file_root_url); - } - - virtual std::string scheme() { return "http"; } -}; - -//----------------------------------------------------------------------------- - -class HTTPSTestServer : public HTTPTestServer { - protected: - explicit HTTPSTestServer() { - } - - public: - // Create a server with a valid certificate - // TODO(dkegel): HTTPSTestServer should not require an instance to specify - // stock test certificates - static scoped_refptr<HTTPSTestServer> CreateGoodServer( - const std::wstring& document_root) { - scoped_refptr<HTTPSTestServer> test_server = new HTTPSTestServer(); - FilePath docroot = FilePath::FromWStringHack(document_root); - FilePath certpath = test_server->launcher_.GetOKCertPath(); - if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, - net::TestServerLauncher::kHostName, - net::TestServerLauncher::kOKHTTPSPort, - docroot, certpath, std::wstring())) { - return NULL; - } - return test_server; - } - - // Create a server with an up to date certificate for the wrong hostname - // for this host - static scoped_refptr<HTTPSTestServer> CreateMismatchedServer( - const std::wstring& document_root) { - scoped_refptr<HTTPSTestServer> test_server = new HTTPSTestServer(); - FilePath docroot = FilePath::FromWStringHack(document_root); - FilePath certpath = test_server->launcher_.GetOKCertPath(); - if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, - net::TestServerLauncher::kMismatchedHostName, - net::TestServerLauncher::kOKHTTPSPort, - docroot, certpath, std::wstring())) { - return NULL; - } - return test_server; - } - - // Create a server with an expired certificate - static scoped_refptr<HTTPSTestServer> CreateExpiredServer( - const std::wstring& document_root) { - scoped_refptr<HTTPSTestServer> test_server = new HTTPSTestServer(); - FilePath docroot = FilePath::FromWStringHack(document_root); - FilePath certpath = test_server->launcher_.GetExpiredCertPath(); - if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, - net::TestServerLauncher::kHostName, - net::TestServerLauncher::kBadHTTPSPort, - docroot, certpath, std::wstring())) { - return NULL; - } - return test_server; - } - - // Create a server with an arbitrary certificate - static scoped_refptr<HTTPSTestServer> CreateServer( - const std::string& host_name, int port, - const std::wstring& document_root, - const std::wstring& cert_path) { - scoped_refptr<HTTPSTestServer> test_server = new HTTPSTestServer(); - FilePath docroot = FilePath::FromWStringHack(document_root); - FilePath certpath = FilePath::FromWStringHack(cert_path); - if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, - host_name, port, docroot, certpath, std::wstring())) { - return NULL; - } - return test_server; - } - - protected: - std::wstring cert_path_; - - private: - virtual ~HTTPSTestServer() {} -}; - -//----------------------------------------------------------------------------- - -class FTPTestServer : public BaseTestServer { - public: - FTPTestServer() { - } - - static scoped_refptr<FTPTestServer> CreateServer( - const std::wstring& document_root) { - scoped_refptr<FTPTestServer> test_server = new FTPTestServer(); - FilePath docroot = FilePath::FromWStringHack(document_root); - FilePath no_cert; - if (!test_server->Start(net::TestServerLauncher::ProtoFTP, - kDefaultHostName, kFTPDefaultPort, docroot, no_cert, std::wstring())) { - return NULL; - } - return test_server; - } - - private: - ~FTPTestServer() {} -}; - #endif // NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_ |