| Index: net/websockets/websocket_handshake_handler_spdy_unittest.cc
|
| diff --git a/net/websockets/websocket_handshake_handler_spdy2_unittest.cc b/net/websockets/websocket_handshake_handler_spdy_unittest.cc
|
| similarity index 55%
|
| rename from net/websockets/websocket_handshake_handler_spdy2_unittest.cc
|
| rename to net/websockets/websocket_handshake_handler_spdy_unittest.cc
|
| index 3109f75f5274f20c45048a194d4d106c6f2ccfb1..d0196136d0bf173d2c7ba0568f9dc67aab5242d5 100644
|
| --- a/net/websockets/websocket_handshake_handler_spdy2_unittest.cc
|
| +++ b/net/websockets/websocket_handshake_handler_spdy_unittest.cc
|
| @@ -7,14 +7,30 @@
|
| #include <string>
|
|
|
| #include "googleurl/src/gurl.h"
|
| +#include "net/socket/next_proto.h"
|
| #include "net/spdy/spdy_header_block.h"
|
| +#include "net/spdy/spdy_websocket_test_util.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace net {
|
|
|
| namespace {
|
|
|
| -TEST(WebSocketHandshakeHandlerSpdy2Test, RequestResponse) {
|
| +class WebSocketHandshakeHandlerSpdyTest
|
| + : public ::testing::Test,
|
| + public ::testing::WithParamInterface<NextProto> {
|
| + protected:
|
| + WebSocketHandshakeHandlerSpdyTest() : spdy_util_(GetParam()) {}
|
| +
|
| + SpdyWebSocketTestUtil spdy_util_;
|
| +};
|
| +
|
| +INSTANTIATE_TEST_CASE_P(
|
| + NextProto,
|
| + WebSocketHandshakeHandlerSpdyTest,
|
| + testing::Values(kProtoSPDY2, kProtoSPDY3, kProtoSPDY31, kProtoSPDY4a2));
|
| +
|
| +TEST_P(WebSocketHandshakeHandlerSpdyTest, RequestResponse) {
|
| WebSocketHandshakeRequestHandler request_handler;
|
|
|
| static const char kHandshakeRequestMessage[] =
|
| @@ -39,23 +55,23 @@ TEST(WebSocketHandshakeHandlerSpdy2Test, RequestResponse) {
|
| ASSERT_TRUE(request_handler.GetRequestHeaderBlock(url,
|
| &headers,
|
| &challenge,
|
| - 2));
|
| -
|
| - EXPECT_EQ(url.path(), headers["path"]);
|
| - EXPECT_TRUE(headers.find("upgrade") == headers.end());
|
| - EXPECT_TRUE(headers.find("Upgrade") == headers.end());
|
| - EXPECT_TRUE(headers.find("connection") == headers.end());
|
| - EXPECT_TRUE(headers.find("Connection") == headers.end());
|
| - EXPECT_TRUE(headers.find("Sec-WebSocket-Key") == headers.end());
|
| - EXPECT_TRUE(headers.find("sec-websocket-key") == headers.end());
|
| - EXPECT_TRUE(headers.find("Sec-WebSocket-Version") == headers.end());
|
| - EXPECT_TRUE(headers.find("sec-webSocket-version") == headers.end());
|
| - EXPECT_EQ("example.com", headers["host"]);
|
| - EXPECT_EQ("http://example.com", headers["origin"]);
|
| - EXPECT_EQ("sample", headers["sec-websocket-protocol"]);
|
| - EXPECT_EQ("foo", headers["sec-websocket-extensions"]);
|
| - EXPECT_EQ("ws", headers["scheme"]);
|
| - EXPECT_EQ("WebSocket/13", headers["version"]);
|
| + spdy_util_.spdy_version()));
|
| +
|
| + EXPECT_EQ(url.path(), spdy_util_.GetHeader(headers, "path"));
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "upgrade").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "Upgrade").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "connection").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "Connection").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "Sec-WebSocket-Key").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "sec-websocket-key").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "Sec-WebSocket-Version").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "sec-webSocket-version").empty());
|
| + EXPECT_EQ("example.com", spdy_util_.GetHeader(headers, "host"));
|
| + EXPECT_EQ("http://example.com", spdy_util_.GetHeader(headers, "origin"));
|
| + EXPECT_EQ("sample", spdy_util_.GetHeader(headers, "sec-websocket-protocol"));
|
| + EXPECT_EQ("foo", spdy_util_.GetHeader(headers, "sec-websocket-extensions"));
|
| + EXPECT_EQ("ws", spdy_util_.GetHeader(headers, "scheme"));
|
| + EXPECT_EQ("WebSocket/13", spdy_util_.GetHeader(headers, "version"));
|
|
|
| static const char expected_challenge[] = "dGhlIHNhbXBsZSBub25jZQ==";
|
|
|
| @@ -63,15 +79,14 @@ TEST(WebSocketHandshakeHandlerSpdy2Test, RequestResponse) {
|
|
|
| headers.clear();
|
|
|
| - headers["status"] = "101 Switching Protocols";
|
| - headers["sec-websocket-protocol"] = "sample";
|
| - headers["sec-websocket-extensions"] = "foo";
|
| + spdy_util_.SetHeader("status", "101 Switching Protocols", &headers);
|
| + spdy_util_.SetHeader("sec-websocket-protocol", "sample", &headers);
|
| + spdy_util_.SetHeader("sec-websocket-extensions", "foo", &headers);
|
|
|
| WebSocketHandshakeResponseHandler response_handler;
|
| response_handler.set_protocol_version(13);
|
| - EXPECT_TRUE(response_handler.ParseResponseHeaderBlock(headers,
|
| - challenge,
|
| - 2));
|
| + EXPECT_TRUE(response_handler.ParseResponseHeaderBlock(
|
| + headers, challenge, spdy_util_.spdy_version()));
|
| EXPECT_TRUE(response_handler.HasResponse());
|
|
|
| // Note that order of sec-websocket-* is sensitive with hash_map order.
|
| @@ -87,7 +102,7 @@ TEST(WebSocketHandshakeHandlerSpdy2Test, RequestResponse) {
|
| EXPECT_EQ(kHandshakeResponseExpectedMessage, response_handler.GetResponse());
|
| }
|
|
|
| -TEST(WebSocketHandshakeHandlerSpdy2Test, RequestResponseWithCookies) {
|
| +TEST_P(WebSocketHandshakeHandlerSpdyTest, RequestResponseWithCookies) {
|
| WebSocketHandshakeRequestHandler request_handler;
|
|
|
| // Note that websocket won't use multiple headers in request now.
|
| @@ -114,23 +129,23 @@ TEST(WebSocketHandshakeHandlerSpdy2Test, RequestResponseWithCookies) {
|
| ASSERT_TRUE(request_handler.GetRequestHeaderBlock(url,
|
| &headers,
|
| &challenge,
|
| - 2));
|
| -
|
| - EXPECT_EQ(url.path(), headers["path"]);
|
| - EXPECT_TRUE(headers.find("upgrade") == headers.end());
|
| - EXPECT_TRUE(headers.find("Upgrade") == headers.end());
|
| - EXPECT_TRUE(headers.find("connection") == headers.end());
|
| - EXPECT_TRUE(headers.find("Connection") == headers.end());
|
| - EXPECT_TRUE(headers.find("Sec-WebSocket-Key") == headers.end());
|
| - EXPECT_TRUE(headers.find("sec-websocket-key") == headers.end());
|
| - EXPECT_TRUE(headers.find("Sec-WebSocket-Version") == headers.end());
|
| - EXPECT_TRUE(headers.find("sec-webSocket-version") == headers.end());
|
| - EXPECT_EQ("example.com", headers["host"]);
|
| - EXPECT_EQ("http://example.com", headers["origin"]);
|
| - EXPECT_EQ("sample", headers["sec-websocket-protocol"]);
|
| - EXPECT_EQ("foo", headers["sec-websocket-extensions"]);
|
| - EXPECT_EQ("ws", headers["scheme"]);
|
| - EXPECT_EQ("WebSocket/13", headers["version"]);
|
| + spdy_util_.spdy_version()));
|
| +
|
| + EXPECT_EQ(url.path(), spdy_util_.GetHeader(headers, "path"));
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "upgrade").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "Upgrade").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "connection").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "Connection").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "Sec-WebSocket-Key").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "sec-websocket-key").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "Sec-WebSocket-Version").empty());
|
| + EXPECT_TRUE(spdy_util_.GetHeader(headers, "sec-webSocket-version").empty());
|
| + EXPECT_EQ("example.com", spdy_util_.GetHeader(headers, "host"));
|
| + EXPECT_EQ("http://example.com", spdy_util_.GetHeader(headers, "origin"));
|
| + EXPECT_EQ("sample", spdy_util_.GetHeader(headers, "sec-websocket-protocol"));
|
| + EXPECT_EQ("foo", spdy_util_.GetHeader(headers, "sec-websocket-extensions"));
|
| + EXPECT_EQ("ws", spdy_util_.GetHeader(headers, "scheme"));
|
| + EXPECT_EQ("WebSocket/13", spdy_util_.GetHeader(headers, "version"));
|
| EXPECT_EQ("WK-websocket-test=1; WK-websocket-test-httponly=1",
|
| headers["cookie"]);
|
|
|
| @@ -140,9 +155,9 @@ TEST(WebSocketHandshakeHandlerSpdy2Test, RequestResponseWithCookies) {
|
|
|
| headers.clear();
|
|
|
| - headers["status"] = "101 Switching Protocols";
|
| - headers["sec-websocket-protocol"] = "sample";
|
| - headers["sec-websocket-extensions"] = "foo";
|
| + spdy_util_.SetHeader("status", "101 Switching Protocols", &headers);
|
| + spdy_util_.SetHeader("sec-websocket-protocol", "sample", &headers);
|
| + spdy_util_.SetHeader("sec-websocket-extensions", "foo", &headers);
|
| std::string cookie = "WK-websocket-test=1";
|
| cookie.append(1, '\0');
|
| cookie += "WK-websocket-test-httponly=1; HttpOnly";
|
| @@ -151,9 +166,8 @@ TEST(WebSocketHandshakeHandlerSpdy2Test, RequestResponseWithCookies) {
|
|
|
| WebSocketHandshakeResponseHandler response_handler;
|
| response_handler.set_protocol_version(13);
|
| - EXPECT_TRUE(response_handler.ParseResponseHeaderBlock(headers,
|
| - challenge,
|
| - 2));
|
| + EXPECT_TRUE(response_handler.ParseResponseHeaderBlock(
|
| + headers, challenge, spdy_util_.spdy_version()));
|
| EXPECT_TRUE(response_handler.HasResponse());
|
|
|
| // Note that order of sec-websocket-* is sensitive with hash_map order.
|
|
|