Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(691)

Unified Diff: net/websockets/websocket_handshake_handler_unittest.cc

Issue 23614009: Rename websockets/*_unittest.cc to *_test.cc (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/websockets/websocket_handshake_handler_test.cc ('k') | net/websockets/websocket_job_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/websockets/websocket_handshake_handler_unittest.cc
diff --git a/net/websockets/websocket_handshake_handler_unittest.cc b/net/websockets/websocket_handshake_handler_unittest.cc
deleted file mode 100644
index e7d2d75ae21fd6c9826f4c145d5d7b3a90d262bb..0000000000000000000000000000000000000000
--- a/net/websockets/websocket_handshake_handler_unittest.cc
+++ /dev/null
@@ -1,583 +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.
-
-#include "net/websockets/websocket_handshake_handler.h"
-
-#include <string>
-#include <vector>
-
-#include "base/basictypes.h"
-#include "base/strings/string_util.h"
-#include "base/strings/stringprintf.h"
-#include "net/http/http_response_headers.h"
-#include "net/http/http_util.h"
-#include "url/gurl.h"
-
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace {
-
-const char* const kCookieHeaders[] = {
- "cookie", "cookie2"
-};
-
-const char* const kSetCookieHeaders[] = {
- "set-cookie", "set-cookie2"
-};
-
-// A test fixture to simplify tests for GetKeyNumber().
-class WebSocketHandshakeGetKeyNumberTest : public ::testing::Test {
- protected:
- static const char kExampleFromDraftKey1[];
-
- // The object is default-initialised with an empty challenge and the example
- // key from draft-ietf-hybi-thewebsocketprotocol-00. These can be changed
- // using set_challenge() and set_key().
- WebSocketHandshakeGetKeyNumberTest()
- : challenge_(), key_(kExampleFromDraftKey1) {}
-
- // A convenience wrapper for the function under test which automatically
- // passes in the arguments stored in the object.
- void GetKeyNumber() { ::net::internal::GetKeyNumber(key_, &challenge_); }
-
- // Read current challenge.
- const std::string& challenge() const { return challenge_; }
-
- // Overwrite challenge.
- void set_challenge(const std::string& challenge) { challenge_ = challenge; }
-
- // Reset the challenge to be empty.
- void reset_challenge() { challenge_.clear(); }
-
- // Change key.
- void set_key(const std::string& key) { key_ = key; }
-
- private:
- std::string challenge_;
- std::string key_;
-};
-
-const char WebSocketHandshakeGetKeyNumberTest::kExampleFromDraftKey1[] =
- "3e6b263 4 17 80";
-
-// A version of the above fixture for death tests.
-class WebSocketHandshakeGetKeyNumberDeathTest
- : public WebSocketHandshakeGetKeyNumberTest {
-};
-
-} // namespace
-
-namespace net {
-
-TEST(WebSocketHandshakeRequestHandlerTest, SimpleRequest) {
- WebSocketHandshakeRequestHandler handler;
-
- static const char kHandshakeRequestMessage[] =
- "GET /demo HTTP/1.1\r\n"
- "Host: example.com\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "Upgrade: WebSocket\r\n"
- "Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\n"
- "Origin: http://example.com\r\n"
- "\r\n"
- "^n:ds[4U";
-
- EXPECT_TRUE(handler.ParseRequest(kHandshakeRequestMessage,
- strlen(kHandshakeRequestMessage)));
- EXPECT_EQ(0, handler.protocol_version());
-
- handler.RemoveHeaders(kCookieHeaders, arraysize(kCookieHeaders));
-
- EXPECT_EQ(kHandshakeRequestMessage, handler.GetRawRequest());
-}
-
-TEST(WebSocketHandshakeRequestHandlerTest, SimpleRequestHybi06Handshake) {
- WebSocketHandshakeRequestHandler handler;
-
- static const char kHandshakeRequestMessage[] =
- "GET /demo HTTP/1.1\r\n"
- "Host: example.com\r\n"
- "Upgrade: websocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==\r\n"
- "Sec-WebSocket-Origin: http://example.com\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "Sec-WebSocket-Version: 6\r\n"
- "\r\n";
-
- EXPECT_TRUE(handler.ParseRequest(kHandshakeRequestMessage,
- strlen(kHandshakeRequestMessage)));
- EXPECT_EQ(6, handler.protocol_version());
-
- handler.RemoveHeaders(kCookieHeaders, arraysize(kCookieHeaders));
-
- EXPECT_EQ(kHandshakeRequestMessage, handler.GetRawRequest());
-}
-
-TEST(WebSocketHandshakeRequestHandlerTest, ReplaceRequestCookies) {
- WebSocketHandshakeRequestHandler handler;
-
- static const char kHandshakeRequestMessage[] =
- "GET /demo HTTP/1.1\r\n"
- "Host: example.com\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "Upgrade: WebSocket\r\n"
- "Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\n"
- "Origin: http://example.com\r\n"
- "Cookie: WK-websocket-test=1\r\n"
- "\r\n"
- "^n:ds[4U";
-
- EXPECT_TRUE(handler.ParseRequest(kHandshakeRequestMessage,
- strlen(kHandshakeRequestMessage)));
- EXPECT_EQ(0, handler.protocol_version());
-
- handler.RemoveHeaders(kCookieHeaders, arraysize(kCookieHeaders));
-
- handler.AppendHeaderIfMissing("Cookie",
- "WK-websocket-test=1; "
- "WK-websocket-test-httponly=1");
-
- static const char kHandshakeRequestExpectedMessage[] =
- "GET /demo HTTP/1.1\r\n"
- "Host: example.com\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "Upgrade: WebSocket\r\n"
- "Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\n"
- "Origin: http://example.com\r\n"
- "Cookie: WK-websocket-test=1; WK-websocket-test-httponly=1\r\n"
- "\r\n"
- "^n:ds[4U";
-
- EXPECT_EQ(kHandshakeRequestExpectedMessage, handler.GetRawRequest());
-}
-
-TEST(WebSocketHandshakeRequestHandlerTest,
- ReplaceRequestCookiesHybi06Handshake) {
- WebSocketHandshakeRequestHandler handler;
-
- static const char kHandshakeRequestMessage[] =
- "GET /demo HTTP/1.1\r\n"
- "Host: example.com\r\n"
- "Upgrade: websocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==\r\n"
- "Sec-WebSocket-Origin: http://example.com\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "Sec-WebSocket-Version: 6\r\n"
- "Cookie: WK-websocket-test=1\r\n"
- "\r\n";
-
- EXPECT_TRUE(handler.ParseRequest(kHandshakeRequestMessage,
- strlen(kHandshakeRequestMessage)));
- EXPECT_EQ(6, handler.protocol_version());
-
- handler.RemoveHeaders(kCookieHeaders, arraysize(kCookieHeaders));
-
- handler.AppendHeaderIfMissing("Cookie",
- "WK-websocket-test=1; "
- "WK-websocket-test-httponly=1");
-
- static const char kHandshakeRequestExpectedMessage[] =
- "GET /demo HTTP/1.1\r\n"
- "Host: example.com\r\n"
- "Upgrade: websocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==\r\n"
- "Sec-WebSocket-Origin: http://example.com\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "Sec-WebSocket-Version: 6\r\n"
- "Cookie: WK-websocket-test=1; WK-websocket-test-httponly=1\r\n"
- "\r\n";
-
- EXPECT_EQ(kHandshakeRequestExpectedMessage, handler.GetRawRequest());
-}
-
-TEST(WebSocketHandshakeResponseHandlerTest, SimpleResponse) {
- WebSocketHandshakeResponseHandler handler;
- EXPECT_EQ(0, handler.protocol_version());
-
- static const char kHandshakeResponseMessage[] =
- "HTTP/1.1 101 WebSocket Protocol Handshake\r\n"
- "Upgrade: WebSocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Origin: http://example.com\r\n"
- "Sec-WebSocket-Location: ws://example.com/demo\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "\r\n"
- "8jKS'y:G*Co,Wxa-";
-
- EXPECT_EQ(strlen(kHandshakeResponseMessage),
- handler.ParseRawResponse(kHandshakeResponseMessage,
- strlen(kHandshakeResponseMessage)));
- EXPECT_TRUE(handler.HasResponse());
-
- handler.RemoveHeaders(kCookieHeaders, arraysize(kCookieHeaders));
-
- EXPECT_EQ(kHandshakeResponseMessage, handler.GetResponse());
-}
-
-TEST(WebSocketHandshakeResponseHandlerTest, SimpleResponseHybi06Handshake) {
- WebSocketHandshakeResponseHandler handler;
- handler.set_protocol_version(6);
- EXPECT_EQ(6, handler.protocol_version());
-
- static const char kHandshakeResponseMessage[] =
- "HTTP/1.1 101 Switching Protocols\r\n"
- "Upgrade: websocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "\r\n";
-
- EXPECT_EQ(strlen(kHandshakeResponseMessage),
- handler.ParseRawResponse(kHandshakeResponseMessage,
- strlen(kHandshakeResponseMessage)));
- EXPECT_TRUE(handler.HasResponse());
-
- handler.RemoveHeaders(kCookieHeaders, arraysize(kCookieHeaders));
-
- EXPECT_EQ(kHandshakeResponseMessage, handler.GetResponse());
-}
-
-TEST(WebSocketHandshakeResponseHandlerTest, ReplaceResponseCookies) {
- WebSocketHandshakeResponseHandler handler;
- EXPECT_EQ(0, handler.protocol_version());
-
- static const char kHandshakeResponseMessage[] =
- "HTTP/1.1 101 WebSocket Protocol Handshake\r\n"
- "Upgrade: WebSocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Origin: http://example.com\r\n"
- "Sec-WebSocket-Location: ws://example.com/demo\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "Set-Cookie: WK-websocket-test-1\r\n"
- "Set-Cookie: WK-websocket-test-httponly=1; HttpOnly\r\n"
- "\r\n"
- "8jKS'y:G*Co,Wxa-";
-
- EXPECT_EQ(strlen(kHandshakeResponseMessage),
- handler.ParseRawResponse(kHandshakeResponseMessage,
- strlen(kHandshakeResponseMessage)));
- EXPECT_TRUE(handler.HasResponse());
- std::vector<std::string> cookies;
- handler.GetHeaders(kSetCookieHeaders, arraysize(kSetCookieHeaders), &cookies);
- ASSERT_EQ(2U, cookies.size());
- EXPECT_EQ("WK-websocket-test-1", cookies[0]);
- EXPECT_EQ("WK-websocket-test-httponly=1; HttpOnly", cookies[1]);
- handler.RemoveHeaders(kSetCookieHeaders, arraysize(kSetCookieHeaders));
-
- static const char kHandshakeResponseExpectedMessage[] =
- "HTTP/1.1 101 WebSocket Protocol Handshake\r\n"
- "Upgrade: WebSocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Origin: http://example.com\r\n"
- "Sec-WebSocket-Location: ws://example.com/demo\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "\r\n"
- "8jKS'y:G*Co,Wxa-";
-
- EXPECT_EQ(kHandshakeResponseExpectedMessage, handler.GetResponse());
-}
-
-TEST(WebSocketHandshakeResponseHandlerTest,
- ReplaceResponseCookiesHybi06Handshake) {
- WebSocketHandshakeResponseHandler handler;
- handler.set_protocol_version(6);
- EXPECT_EQ(6, handler.protocol_version());
-
- static const char kHandshakeResponseMessage[] =
- "HTTP/1.1 101 Switching Protocols\r\n"
- "Upgrade: websocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "Set-Cookie: WK-websocket-test-1\r\n"
- "Set-Cookie: WK-websocket-test-httponly=1; HttpOnly\r\n"
- "\r\n";
-
- EXPECT_EQ(strlen(kHandshakeResponseMessage),
- handler.ParseRawResponse(kHandshakeResponseMessage,
- strlen(kHandshakeResponseMessage)));
- EXPECT_TRUE(handler.HasResponse());
- std::vector<std::string> cookies;
- handler.GetHeaders(kSetCookieHeaders, arraysize(kSetCookieHeaders), &cookies);
- ASSERT_EQ(2U, cookies.size());
- EXPECT_EQ("WK-websocket-test-1", cookies[0]);
- EXPECT_EQ("WK-websocket-test-httponly=1; HttpOnly", cookies[1]);
- handler.RemoveHeaders(kSetCookieHeaders, arraysize(kSetCookieHeaders));
-
- static const char kHandshakeResponseExpectedMessage[] =
- "HTTP/1.1 101 Switching Protocols\r\n"
- "Upgrade: websocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "\r\n";
-
- EXPECT_EQ(kHandshakeResponseExpectedMessage, handler.GetResponse());
-}
-
-TEST(WebSocketHandshakeResponseHandlerTest, BadResponse) {
- WebSocketHandshakeResponseHandler handler;
-
- static const char kBadMessage[] = "\n\n\r\net-Location: w";
- EXPECT_EQ(strlen(kBadMessage),
- handler.ParseRawResponse(kBadMessage, strlen(kBadMessage)));
- EXPECT_TRUE(handler.HasResponse());
- EXPECT_EQ(kBadMessage, handler.GetResponse());
-}
-
-TEST(WebSocketHandshakeResponseHandlerTest, BadResponse2) {
- WebSocketHandshakeResponseHandler handler;
-
- static const char kBadMessage[] = "\n\r\n\r\net-Location: w";
- EXPECT_EQ(strlen(kBadMessage),
- handler.ParseRawResponse(kBadMessage, strlen(kBadMessage)));
- EXPECT_TRUE(handler.HasResponse());
- EXPECT_EQ(kBadMessage, handler.GetResponse());
-}
-
-TEST(WebSocketHandshakeHandlerTest, HttpRequestResponse) {
- WebSocketHandshakeRequestHandler request_handler;
-
- static const char kHandshakeRequestMessage[] =
- "GET /demo HTTP/1.1\r\n"
- "Host: example.com\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "Upgrade: WebSocket\r\n"
- "Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\n"
- "Origin: http://example.com\r\n"
- "\r\n"
- "^n:ds[4U";
-
- EXPECT_TRUE(request_handler.ParseRequest(kHandshakeRequestMessage,
- strlen(kHandshakeRequestMessage)));
- EXPECT_EQ(0, request_handler.protocol_version());
-
- GURL url("ws://example.com/demo");
- std::string challenge;
- const HttpRequestInfo& request_info =
- request_handler.GetRequestInfo(url, &challenge);
-
- EXPECT_EQ(url, request_info.url);
- EXPECT_EQ("GET", request_info.method);
- EXPECT_FALSE(request_info.extra_headers.HasHeader("Upgrade"));
- EXPECT_FALSE(request_info.extra_headers.HasHeader("Connection"));
- EXPECT_FALSE(request_info.extra_headers.HasHeader("Sec-WebSocket-Key1"));
- EXPECT_FALSE(request_info.extra_headers.HasHeader("Sec-WebSocket-Key2"));
- std::string value;
- EXPECT_TRUE(request_info.extra_headers.GetHeader("Host", &value));
- EXPECT_EQ("example.com", value);
- EXPECT_TRUE(request_info.extra_headers.GetHeader("Origin", &value));
- EXPECT_EQ("http://example.com", value);
- EXPECT_TRUE(request_info.extra_headers.GetHeader("Sec-WebSocket-Protocol",
- &value));
- EXPECT_EQ("sample", value);
-
- const char expected_challenge[] = "\x31\x6e\x41\x13\x0f\x7e\xd6\x3c^n:ds[4U";
-
- EXPECT_EQ(expected_challenge, challenge);
-
- static const char kHandshakeResponseHeader[] =
- "HTTP/1.1 101 WebSocket Protocol Handshake\r\n"
- "Sec-WebSocket-Origin: http://example.com\r\n"
- "Sec-WebSocket-Location: ws://example.com/demo\r\n"
- "Sec-WebSocket-Protocol: sample\r\n";
-
- std::string raw_headers =
- HttpUtil::AssembleRawHeaders(kHandshakeResponseHeader,
- strlen(kHandshakeResponseHeader));
- HttpResponseInfo response_info;
- response_info.headers = new HttpResponseHeaders(raw_headers);
-
- EXPECT_TRUE(StartsWithASCII(response_info.headers->GetStatusLine(),
- "HTTP/1.1 101 ", false));
- EXPECT_FALSE(response_info.headers->HasHeader("Upgrade"));
- EXPECT_FALSE(response_info.headers->HasHeader("Connection"));
- EXPECT_TRUE(response_info.headers->HasHeaderValue("Sec-WebSocket-Origin",
- "http://example.com"));
- EXPECT_TRUE(response_info.headers->HasHeaderValue("Sec-WebSocket-Location",
- "ws://example.com/demo"));
- EXPECT_TRUE(response_info.headers->HasHeaderValue("Sec-WebSocket-Protocol",
- "sample"));
-
- WebSocketHandshakeResponseHandler response_handler;
- EXPECT_EQ(0, response_handler.protocol_version());
- EXPECT_TRUE(response_handler.ParseResponseInfo(response_info, challenge));
- EXPECT_TRUE(response_handler.HasResponse());
-
- static const char kHandshakeResponseExpectedMessage[] =
- "HTTP/1.1 101 WebSocket Protocol Handshake\r\n"
- "Upgrade: WebSocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Origin: http://example.com\r\n"
- "Sec-WebSocket-Location: ws://example.com/demo\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "\r\n"
- "8jKS'y:G*Co,Wxa-";
-
- EXPECT_EQ(kHandshakeResponseExpectedMessage, response_handler.GetResponse());
-}
-
-TEST(WebSocketHandshakeHandlerTest, HttpRequestResponseHybi06Handshake) {
- WebSocketHandshakeRequestHandler request_handler;
-
- static const char kHandshakeRequestMessage[] =
- "GET /demo HTTP/1.1\r\n"
- "Host: example.com\r\n"
- "Upgrade: websocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==\r\n"
- "Sec-WebSocket-Origin: http://example.com\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "Sec-WebSocket-Version: 6\r\n"
- "\r\n";
-
- EXPECT_TRUE(request_handler.ParseRequest(kHandshakeRequestMessage,
- strlen(kHandshakeRequestMessage)));
- EXPECT_EQ(6, request_handler.protocol_version());
-
- GURL url("ws://example.com/demo");
- std::string challenge;
- const HttpRequestInfo& request_info =
- request_handler.GetRequestInfo(url, &challenge);
-
- EXPECT_EQ(url, request_info.url);
- EXPECT_EQ("GET", request_info.method);
- EXPECT_FALSE(request_info.extra_headers.HasHeader("Upgrade"));
- EXPECT_FALSE(request_info.extra_headers.HasHeader("Connection"));
- EXPECT_FALSE(request_info.extra_headers.HasHeader("Sec-WebSocket-Key"));
- std::string value;
- EXPECT_TRUE(request_info.extra_headers.GetHeader("Host", &value));
- EXPECT_EQ("example.com", value);
- EXPECT_TRUE(request_info.extra_headers.GetHeader("Sec-WebSocket-Origin",
- &value));
- EXPECT_EQ("http://example.com", value);
- EXPECT_TRUE(request_info.extra_headers.GetHeader("Sec-WebSocket-Protocol",
- &value));
- EXPECT_EQ("sample", value);
-
- EXPECT_EQ("dGhlIHNhbXBsZSBub25jZQ==", challenge);
-
- static const char kHandshakeResponseHeader[] =
- "HTTP/1.1 101 Switching Protocols\r\n"
- "Sec-WebSocket-Protocol: sample\r\n";
-
- std::string raw_headers =
- HttpUtil::AssembleRawHeaders(kHandshakeResponseHeader,
- strlen(kHandshakeResponseHeader));
- HttpResponseInfo response_info;
- response_info.headers = new HttpResponseHeaders(raw_headers);
-
- EXPECT_TRUE(StartsWithASCII(response_info.headers->GetStatusLine(),
- "HTTP/1.1 101 ", false));
- EXPECT_FALSE(response_info.headers->HasHeader("Upgrade"));
- EXPECT_FALSE(response_info.headers->HasHeader("Connection"));
- EXPECT_FALSE(response_info.headers->HasHeader("Sec-WebSocket-Accept"));
- EXPECT_TRUE(response_info.headers->HasHeaderValue("Sec-WebSocket-Protocol",
- "sample"));
-
- WebSocketHandshakeResponseHandler response_handler;
- response_handler.set_protocol_version(request_handler.protocol_version());
- EXPECT_EQ(6, response_handler.protocol_version());
-
- EXPECT_TRUE(response_handler.ParseResponseInfo(response_info, challenge));
- EXPECT_TRUE(response_handler.HasResponse());
-
- static const char kHandshakeResponseExpectedMessage[] =
- "HTTP/1.1 101 Switching Protocols\r\n"
- "Upgrade: websocket\r\n"
- "Connection: Upgrade\r\n"
- "Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n"
- "Sec-WebSocket-Protocol: sample\r\n"
- "\r\n";
-
- EXPECT_EQ(kHandshakeResponseExpectedMessage, response_handler.GetResponse());
-}
-
-TEST_F(WebSocketHandshakeGetKeyNumberTest, AppendsToString) {
- set_challenge("hello");
- GetKeyNumber();
- EXPECT_EQ("hello", challenge().substr(0, 5));
-}
-
-TEST_F(WebSocketHandshakeGetKeyNumberTest, AppendsFourBytes) {
- set_challenge("hello");
- set_key("1 1");
- GetKeyNumber();
- EXPECT_EQ(9u, challenge().length());
-}
-
-TEST_F(WebSocketHandshakeGetKeyNumberTest, IsBigEndian) {
- set_key(base::StringPrintf("%u ", 0x61626364));
- GetKeyNumber();
- EXPECT_EQ("abcd", challenge());
-}
-
-TEST_F(WebSocketHandshakeGetKeyNumberTest, IgnoresLetters) {
- set_key("1b 1");
- GetKeyNumber();
- char expected_response[] = { 0, 0, 0, 11 };
- EXPECT_EQ(std::string(expected_response, 4), challenge());
-}
-
-TEST_F(WebSocketHandshakeGetKeyNumberTest, DividesBySpaces) {
- set_key("1 2");
- GetKeyNumber();
- EXPECT_EQ(12, challenge()[3]);
- reset_challenge();
- set_key("1 2");
- GetKeyNumber();
- EXPECT_EQ(6, challenge()[3]);
- reset_challenge();
- set_key(" 1 2");
- GetKeyNumber();
- EXPECT_EQ(4, challenge()[3]);
- reset_challenge();
- set_key(" 1 2 ");
- GetKeyNumber();
- EXPECT_EQ(3, challenge()[3]);
-}
-
-TEST_F(WebSocketHandshakeGetKeyNumberTest, MatchesExampleFromDraft) {
- set_key("3e6b263 4 17 80");
- GetKeyNumber();
- char expected_response[] = { 0x36, 0x09, 0x65, 0x65 };
- EXPECT_EQ(std::string(expected_response, 4), challenge());
-}
-
-TEST_F(WebSocketHandshakeGetKeyNumberTest, Maximum32bitInteger) {
- set_key("4294967295 ");
- GetKeyNumber();
- char expected_response[] = { '\xFF', '\xFF', '\xFF', '\xFF' };
- EXPECT_EQ(std::string(expected_response, 4), challenge());
-}
-
-#if GTEST_HAS_DEATH_TEST && !defined(NDEBUG)
-TEST_F(WebSocketHandshakeGetKeyNumberDeathTest, ThirtyThreeBitIntegerNoGood) {
- set_key(" 4294967296");
- EXPECT_DEBUG_DEATH(GetKeyNumber(), "overflow");
-}
-
-TEST_F(WebSocketHandshakeGetKeyNumberDeathTest, NoSpacesNoGood) {
- set_key("11");
- EXPECT_DEBUG_DEATH(GetKeyNumber(), "space");
-}
-
-TEST_F(WebSocketHandshakeGetKeyNumberDeathTest, MustBeIntegralMultiple) {
- set_key("1 1");
- EXPECT_DEBUG_DEATH(GetKeyNumber(), "spaces");
-}
-#endif // GTEST_HAS_DEATH_TEST && !defined(NDEBUG)
-
-} // namespace net
« no previous file with comments | « net/websockets/websocket_handshake_handler_test.cc ('k') | net/websockets/websocket_job_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698