diff options
-rw-r--r-- | chrome/browser/extensions/extension_websocket_apitest.cc | 4 | ||||
-rw-r--r-- | chrome/browser/net/proxy_browsertest.cc | 3 | ||||
-rw-r--r-- | chrome/browser/ssl/ssl_browser_tests.cc | 23 | ||||
-rw-r--r-- | chrome/browser_tests.isolate | 1 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/websocket/test.js | 2 | ||||
-rw-r--r-- | chrome/test/ppapi/ppapi_test.cc | 3 | ||||
-rw-r--r-- | content/browser/worker_host/test/worker_browsertest.cc | 3 | ||||
-rw-r--r-- | net/base/test_data_directory.cc | 5 | ||||
-rw-r--r-- | net/base/test_data_directory.h | 5 | ||||
-rw-r--r-- | net/data/websocket/README | 36 | ||||
-rw-r--r-- | net/data/websocket/connect_check.html | 2 | ||||
-rw-r--r-- | net/data/websocket/echo_wsh.py | 18 | ||||
-rw-r--r-- | net/data/websocket/websocket_shared_worker.html | 2 | ||||
-rw-r--r-- | net/socket/ssl_client_socket_unittest.cc | 2 | ||||
-rw-r--r-- | ppapi/tests/test_websocket.cc | 2 |
15 files changed, 68 insertions, 43 deletions
diff --git a/chrome/browser/extensions/extension_websocket_apitest.cc b/chrome/browser/extensions/extension_websocket_apitest.cc index cbe9e73..16307fb 100644 --- a/chrome/browser/extensions/extension_websocket_apitest.cc +++ b/chrome/browser/extensions/extension_websocket_apitest.cc @@ -6,9 +6,9 @@ #include "chrome/browser/extensions/extension_apitest.h" #include "content/public/common/content_paths.h" #include "net/base/mock_host_resolver.h" +#include "net/base/test_data_directory.h" IN_PROC_BROWSER_TEST_F(ExtensionApiTest, WebSocket) { - ASSERT_TRUE(StartWebSocketServer( - FilePath(FILE_PATH_LITERAL("net/data/websocket")))); + ASSERT_TRUE(StartWebSocketServer(net::GetWebSocketTestDataDirectory())); ASSERT_TRUE(RunExtensionTest("websocket")) << message_; } diff --git a/chrome/browser/net/proxy_browsertest.cc b/chrome/browser/net/proxy_browsertest.cc index a555384..034ecd5 100644 --- a/chrome/browser/net/proxy_browsertest.cc +++ b/chrome/browser/net/proxy_browsertest.cc @@ -22,6 +22,7 @@ #include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents_observer.h" #include "content/public/test/browser_test_utils.h" +#include "net/base/test_data_directory.h" #include "net/test/test_server.h" namespace { @@ -87,7 +88,7 @@ IN_PROC_BROWSER_TEST_F(ProxyBrowserTest, MAYBE_BasicAuthWSConnect) { // Launch WebSocket server. net::TestServer ws_server(net::TestServer::TYPE_WS, net::TestServer::kLocalhost, - FilePath(FILE_PATH_LITERAL("net/data/websocket"))); + net::GetWebSocketTestDataDirectory()); ASSERT_TRUE(ws_server.Start()); content::WebContents* tab = chrome::GetActiveWebContents(browser()); diff --git a/chrome/browser/ssl/ssl_browser_tests.cc b/chrome/browser/ssl/ssl_browser_tests.cc index 2049dd0..afc9180 100644 --- a/chrome/browser/ssl/ssl_browser_tests.cc +++ b/chrome/browser/ssl/ssl_browser_tests.cc @@ -42,6 +42,7 @@ #include "net/base/cert_status_flags.h" #include "net/base/crypto_module.h" #include "net/base/net_errors.h" +#include "net/base/test_data_directory.h" #include "net/test/test_server.h" #if defined(USE_NSS) @@ -55,7 +56,6 @@ using content::SSLStatus; using content::WebContents; const FilePath::CharType kDocRoot[] = FILE_PATH_LITERAL("chrome/test/data"); -const FilePath::CharType kWsRoot[] = FILE_PATH_LITERAL("net/data/websocket"); namespace { @@ -105,7 +105,7 @@ class SSLUITest : public InProcessBrowserTest { FilePath(kDocRoot)), wss_server_expired_(net::TestServer::TYPE_WSS, SSLOptions(SSLOptions::CERT_EXPIRED), - FilePath(kWsRoot)) {} + net::GetWebSocketTestDataDirectory()) {} virtual void SetUpCommandLine(CommandLine* command_line) { // Browser will both run and display insecure content. @@ -640,10 +640,8 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestWSSClientCert) { net::NSSCertDatabase* cert_db = net::NSSCertDatabase::GetInstance(); scoped_refptr<net::CryptoModule> crypt_module = cert_db->GetPublicModule(); std::string pkcs12_data; - FilePath cert_path; - ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &cert_path)); - cert_path = cert_path.Append( - FILE_PATH_LITERAL("net/data/ssl/certificates/websocket_client_cert.p12")); + FilePath cert_path = net::GetTestCertsDirectory().Append( + FILE_PATH_LITERAL("websocket_client_cert.p12")); EXPECT_TRUE(file_util::ReadFileToString(cert_path, &pkcs12_data)); EXPECT_EQ(net::OK, cert_db->ImportFromPKCS12(crypt_module, pkcs12_data, @@ -654,21 +652,18 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestWSSClientCert) { // Start WebSocket test server with TLS and client cert authentication. net::TestServer::SSLOptions options(net::TestServer::SSLOptions::CERT_OK); options.request_client_certificate = true; - FilePath ca_path; - ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &ca_path)); - ca_path = ca_path.Append( - FILE_PATH_LITERAL("net/data/ssl/certificates/websocket_cacert.pem")); + FilePath ca_path = net::GetTestCertsDirectory().Append( + FILE_PATH_LITERAL("websocket_cacert.pem")); options.client_authorities.push_back(ca_path); net::TestServer wss_server(net::TestServer::TYPE_WSS, options, - FilePath(FILE_PATH_LITERAL( - "net/data/websocket"))); + net::GetWebSocketTestDataDirectory()); ASSERT_TRUE(wss_server.Start()); std::string scheme("https"); GURL::Replacements replacements; replacements.SetSchemeStr(scheme); - GURL url = - wss_server.GetURL("connect_check.html").ReplaceComponents(replacements); + GURL url = wss_server.GetURL("connect_check.html").ReplaceComponents( + replacements); // Setup page title observer. WebContents* tab = chrome::GetActiveWebContents(browser()); diff --git a/chrome/browser_tests.isolate b/chrome/browser_tests.isolate index e0cea34..fd33cd7 100644 --- a/chrome/browser_tests.isolate +++ b/chrome/browser_tests.isolate @@ -572,7 +572,6 @@ '../net/data/websocket/close_wsh.py', '../net/data/websocket/connect_check.html', '../net/data/websocket/echo-with-no-extension_wsh.py', - '../net/data/websocket/echo_wsh.py', '../net/data/websocket/protocol-test_wsh.py', '../net/tools/testserver/asn1der.py', '../net/tools/testserver/device_management.py', diff --git a/chrome/test/data/extensions/api_test/websocket/test.js b/chrome/test/data/extensions/api_test/websocket/test.js index 2e2adca..9deda90 100644 --- a/chrome/test/data/extensions/api_test/websocket/test.js +++ b/chrome/test/data/extensions/api_test/websocket/test.js @@ -3,7 +3,7 @@ // found in the LICENSE file. function echoTest(port) { - var url = "ws://localhost:" + port + "/echo"; + var url = "ws://localhost:" + port + "/echo-with-no-extension"; var ws = new WebSocket(url); var MESSAGE_A = "message a"; var MESSAGE_B = "message b"; diff --git a/chrome/test/ppapi/ppapi_test.cc b/chrome/test/ppapi/ppapi_test.cc index f6d9af3f..3327556 100644 --- a/chrome/test/ppapi/ppapi_test.cc +++ b/chrome/test/ppapi/ppapi_test.cc @@ -34,6 +34,7 @@ #include "content/public/test/browser_test_utils.h" #include "media/audio/audio_manager.h" #include "net/base/net_util.h" +#include "net/base/test_data_directory.h" #include "net/test/test_server.h" #include "ppapi/shared_impl/ppapi_switches.h" #include "ui/gl/gl_switches.h" @@ -196,7 +197,7 @@ void PPAPITestBase::RunTestWithSSLServer(const std::string& test_case) { void PPAPITestBase::RunTestWithWebSocketServer(const std::string& test_case) { net::TestServer server(net::TestServer::TYPE_WS, net::TestServer::kLocalhost, - FilePath(FILE_PATH_LITERAL("net/data/websocket"))); + net::GetWebSocketTestDataDirectory()); ASSERT_TRUE(server.Start()); uint16_t port = server.host_port_pair().port(); FilePath http_document_root; diff --git a/content/browser/worker_host/test/worker_browsertest.cc b/content/browser/worker_host/test/worker_browsertest.cc index dc3096f..9e93529 100644 --- a/content/browser/worker_host/test/worker_browsertest.cc +++ b/content/browser/worker_host/test/worker_browsertest.cc @@ -23,6 +23,7 @@ #include "content/test/content_browser_test_utils.h" #include "content/test/layout_browsertest.h" #include "googleurl/src/gurl.h" +#include "net/base/test_data_directory.h" #include "net/test/test_server.h" namespace content { @@ -451,7 +452,7 @@ IN_PROC_BROWSER_TEST_F(WorkerTest, WebSocketSharedWorker) { // Launch WebSocket server. net::TestServer ws_server(net::TestServer::TYPE_WS, net::TestServer::kLocalhost, - FilePath(FILE_PATH_LITERAL("net/data/websocket"))); + net::GetWebSocketTestDataDirectory()); ASSERT_TRUE(ws_server.Start()); // Generate test URL. diff --git a/net/base/test_data_directory.cc b/net/base/test_data_directory.cc index 7acd02a..8e609c9 100644 --- a/net/base/test_data_directory.cc +++ b/net/base/test_data_directory.cc @@ -15,4 +15,9 @@ FilePath GetTestCertsDirectory() { return certs_dir.Append(FILE_PATH_LITERAL("net/data/ssl/certificates")); } +FilePath GetWebSocketTestDataDirectory() { + FilePath data_dir(FILE_PATH_LITERAL("net/data/websocket")); + return data_dir; +} + } // namespace net diff --git a/net/base/test_data_directory.h b/net/base/test_data_directory.h index 728e8d6..251535f 100644 --- a/net/base/test_data_directory.h +++ b/net/base/test_data_directory.h @@ -13,6 +13,11 @@ namespace net { // tree that contains certificates for testing. FilePath GetTestCertsDirectory(); +// Returns the FilePath object representing the relative path containing +// resource files for testing WebSocket. Typically the FilePath will be used as +// document root argument for net::TestServer with TYPE_WS or TYPE_WSS. +FilePath GetWebSocketTestDataDirectory(); + } // namespace net #endif // NET_BASE_TEST_DATA_DIRECTORY_H_ diff --git a/net/data/websocket/README b/net/data/websocket/README new file mode 100644 index 0000000..034a30d --- /dev/null +++ b/net/data/websocket/README @@ -0,0 +1,36 @@ +This directory contains resources used by WebSocket server for testing. +Multiple tests may share one resource, or URI handler. + +- connect_check.html : A page provides simple WebSocket connectivity check. + This page changes page title to "PASS" to notify content::TitleWatcher. + Used by ProxyBrowserTest.BasicAuthWSConnect, + SSLUITest.TestWSSInvalidCertAndGoForward, SSLUITest.TestWSSClientCert, + and SSLUITestIgnoreCertErrors.TestWSS. + +- websocket_shared_worker.html : A page provides simple WebSocket test in + shared worker. This page changes page title to "PASS" to notify + content::TitleWatcher. + Used by WorkerTest.WebSocketSharedWorker. + +- websocket_worker_simple.js : A JavaScript runs on Workers created from the + websocket_shared_worker.html. + Used by WorkerTest.WebSocketSharedWorker. + +- echo-with-no-extension_wsh.py : A WebSocket URL handler for echo testing. + This handler disables all WebSocket extension so that we can perform + frame data dependent tests. + Used by kinds of PPAPI tests for WebSocket, ExtensionApiTest.WebSocket, + and WorkerTest.WebSocketSharedWorker. + +- close_wsh.py : A WebSocket URL handler for testing outgoing close code and + reason. + Used by kinds of PPAPI tests for WebSocket. + +- close-code-and-reason_wsh.py : A WebSocket URL handler for testing server + initiated closing handshake. A client can ask server to close the + connection with arbitrary code and reason. + Used by kinds of PPAPI tests for WebSocket. + +- protocol-test_wsh.py : A WebSocket URL handler for testing outgoing opening + handshake protocol. + Used by kinds of PPAPI tests for WebSocket. diff --git a/net/data/websocket/connect_check.html b/net/data/websocket/connect_check.html index 14b3da9..4a1ca8c 100644 --- a/net/data/websocket/connect_check.html +++ b/net/data/websocket/connect_check.html @@ -12,7 +12,7 @@ var portBegin = hostEnd + 1; var portEnd = href.lastIndexOf('/'); var port = href.slice(portBegin, portEnd); var scheme = href.indexOf('https') >= 0 ? 'wss' : 'ws'; -var url = scheme + '://' + host + ':' + port + '/echo'; +var url = scheme + '://' + host + ':' + port + '/echo-with-no-extension'; // Do connection test. var ws = new WebSocket(url); diff --git a/net/data/websocket/echo_wsh.py b/net/data/websocket/echo_wsh.py deleted file mode 100644 index e34b88d..0000000 --- a/net/data/websocket/echo_wsh.py +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (c) 2012 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -def web_socket_do_extra_handshake(_request): - pass # Always accept. - - -def web_socket_transfer_data(request): - while True: - line = request.ws_stream.receive_message() - if line is None: - return - if isinstance(line, unicode): - request.ws_stream.send_message(line, binary=False) - else: - request.ws_stream.send_message(line, binary=True) - diff --git a/net/data/websocket/websocket_shared_worker.html b/net/data/websocket/websocket_shared_worker.html index ed990e2..7acb4ab 100644 --- a/net/data/websocket/websocket_shared_worker.html +++ b/net/data/websocket/websocket_shared_worker.html @@ -14,7 +14,7 @@ var host = href.slice(hostBegin, hostEnd); var portBegin = hostEnd + 1; var portEnd = href.lastIndexOf("/"); var port = href.slice(portBegin, portEnd); -var url = "ws://" + host + ":" + port + "/echo"; +var url = "ws://" + host + ":" + port + "/echo-with-no-extension"; worker.port.onmessage = function (evt) { log(evt.data); if (evt.data == "DONE") { diff --git a/net/socket/ssl_client_socket_unittest.cc b/net/socket/ssl_client_socket_unittest.cc index aba3a87..fb65847 100644 --- a/net/socket/ssl_client_socket_unittest.cc +++ b/net/socket/ssl_client_socket_unittest.cc @@ -9,9 +9,9 @@ #include "net/base/host_resolver.h" #include "net/base/io_buffer.h" #include "net/base/mock_cert_verifier.h" +#include "net/base/net_errors.h" #include "net/base/net_log.h" #include "net/base/net_log_unittest.h" -#include "net/base/net_errors.h" #include "net/base/ssl_config_service.h" #include "net/base/test_completion_callback.h" #include "net/base/test_data_directory.h" diff --git a/ppapi/tests/test_websocket.cc b/ppapi/tests/test_websocket.cc index f5e12a0..d5dc486 100644 --- a/ppapi/tests/test_websocket.cc +++ b/ppapi/tests/test_websocket.cc @@ -33,7 +33,7 @@ // net::TestServer serves WebSocket service for testing. // Following URLs are handled by pywebsocket handlers in -// net/data/websocket/*_wsh. +// net/data/websocket/*_wsh.py. const char kEchoServerURL[] = "echo-with-no-extension"; const char kCloseServerURL[] = "close"; const char kCloseWithCodeAndReasonServerURL[] = "close-code-and-reason"; |