summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/extensions/extension_websocket_apitest.cc4
-rw-r--r--chrome/browser/net/proxy_browsertest.cc3
-rw-r--r--chrome/browser/ssl/ssl_browser_tests.cc23
-rw-r--r--chrome/browser_tests.isolate1
-rw-r--r--chrome/test/data/extensions/api_test/websocket/test.js2
-rw-r--r--chrome/test/ppapi/ppapi_test.cc3
-rw-r--r--content/browser/worker_host/test/worker_browsertest.cc3
-rw-r--r--net/base/test_data_directory.cc5
-rw-r--r--net/base/test_data_directory.h5
-rw-r--r--net/data/websocket/README36
-rw-r--r--net/data/websocket/connect_check.html2
-rw-r--r--net/data/websocket/echo_wsh.py18
-rw-r--r--net/data/websocket/websocket_shared_worker.html2
-rw-r--r--net/socket/ssl_client_socket_unittest.cc2
-rw-r--r--ppapi/tests/test_websocket.cc2
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";