Chromium Code Reviews| 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 54% |
| rename from net/websockets/websocket_handshake_handler_spdy2_unittest.cc |
| rename to net/websockets/websocket_handshake_handler_spdy_unittest.cc |
| index 3109f75f5274f20c45048a194d4d106c6f2ccfb1..9f8cd87fca56c7760a89d580bb8787ad9204344c 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,16 @@ 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())); |
|
Ryan Hamilton
2013/06/25 02:51:49
nit: can all 3 of these fit on the same line?
akalin
2013/06/25 15:59:15
Done.
|
| EXPECT_TRUE(response_handler.HasResponse()); |
| // Note that order of sec-websocket-* is sensitive with hash_map order. |
| @@ -87,7 +104,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 +131,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 +157,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 +168,10 @@ 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())); |
|
Ryan Hamilton
2013/06/25 02:51:49
ditto
akalin
2013/06/25 15:59:15
Done.
|
| EXPECT_TRUE(response_handler.HasResponse()); |
| // Note that order of sec-websocket-* is sensitive with hash_map order. |