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

Unified Diff: net/websockets/websocket_stream_test.cc

Issue 2003253002: [Devtools] Allow User-Agent header override for Websockets (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
Index: net/websockets/websocket_stream_test.cc
diff --git a/net/websockets/websocket_stream_test.cc b/net/websockets/websocket_stream_test.cc
index 91ccdde04359ca0ba34672b8817538ee7418970c..4e259a9438dd142dc68cd8e8bb56f954fd63ac1c 100644
--- a/net/websockets/websocket_stream_test.cc
+++ b/net/websockets/websocket_stream_test.cc
@@ -92,6 +92,7 @@ class WebSocketStreamCreateTest : public ::testing::Test,
const std::string& socket_path,
const std::vector<std::string>& sub_protocols,
const url::Origin& origin,
+ const std::string& send_additional_request_headers,
const std::string& extra_request_headers,
const std::string& response_body,
std::unique_ptr<base::Timer> timer = std::unique_ptr<base::Timer>()) {
@@ -99,7 +100,8 @@ class WebSocketStreamCreateTest : public ::testing::Test,
WebSocketStandardRequest(socket_path, socket_host, origin,
extra_request_headers),
response_body);
- CreateAndConnectStream(socket_url, sub_protocols, origin, std::move(timer));
+ CreateAndConnectStream(socket_url, sub_protocols, origin,
+ send_additional_request_headers, std::move(timer));
}
// |extra_request_headers| and |extra_response_headers| must end in "\r\n" or
@@ -110,12 +112,13 @@ class WebSocketStreamCreateTest : public ::testing::Test,
const std::string& socket_path,
const std::vector<std::string>& sub_protocols,
const url::Origin& origin,
+ const std::string& send_additional_request_headers,
const std::string& extra_request_headers,
const std::string& extra_response_headers,
std::unique_ptr<base::Timer> timer = std::unique_ptr<base::Timer>()) {
CreateAndConnectCustomResponse(
socket_url, socket_host, socket_path, sub_protocols, origin,
- extra_request_headers,
+ send_additional_request_headers, extra_request_headers,
WebSocketStandardResponse(extra_response_headers), std::move(timer));
}
@@ -123,10 +126,12 @@ class WebSocketStreamCreateTest : public ::testing::Test,
const std::string& socket_url,
const std::vector<std::string>& sub_protocols,
const url::Origin& origin,
+ const std::string& send_additional_request_headers,
std::unique_ptr<SequencedSocketData> socket_data,
std::unique_ptr<base::Timer> timer = std::unique_ptr<base::Timer>()) {
AddRawExpectations(std::move(socket_data));
- CreateAndConnectStream(socket_url, sub_protocols, origin, std::move(timer));
+ CreateAndConnectStream(socket_url, sub_protocols, origin,
+ send_additional_request_headers, std::move(timer));
}
// Add additional raw expectations for sockets created before the final one.
@@ -146,7 +151,7 @@ class WebSocketStreamCreateExtensionTest : public WebSocketStreamCreateTest {
const std::string& extensions_header_value) {
CreateAndConnectStandard(
"ws://localhost/testing_path", "localhost", "/testing_path",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
"Sec-WebSocket-Extensions: " + extensions_header_value + "\r\n");
WaitUntilConnectDone();
}
@@ -224,7 +229,7 @@ class WebSocketStreamCreateBasicAuthTest : public WebSocketStreamCreateTest {
const std::string request =
base::StringPrintf(request2format, base64_user_pass.c_str());
CreateAndConnectRawExpectations(
- url, NoSubProtocols(), LocalhostOrigin(),
+ url, NoSubProtocols(), LocalhostOrigin(), "",
helper_.BuildSocketData2(request, response2));
}
@@ -302,7 +307,7 @@ class WebSocketStreamCreateUMATest : public ::testing::Test {
// Confirm that the basic case works as expected.
TEST_F(WebSocketStreamCreateTest, SimpleSuccess) {
CreateAndConnectStandard("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "", "");
+ NoSubProtocols(), LocalhostOrigin(), "", "", "");
EXPECT_FALSE(request_info_);
EXPECT_FALSE(response_info_);
WaitUntilConnectDone();
@@ -324,7 +329,7 @@ TEST_F(WebSocketStreamCreateTest, HandshakeInfo) {
"\r\n";
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kResponse);
EXPECT_FALSE(request_info_);
EXPECT_FALSE(response_info_);
@@ -375,10 +380,58 @@ TEST_F(WebSocketStreamCreateTest, HandshakeInfo) {
EXPECT_EQ(HeaderKeyValuePair("hoge", "piyo"), response_headers[5]);
}
+// Confirms that request headers are overriden/added after handshake
+TEST_F(WebSocketStreamCreateTest, HandshakeOverrideHeaders) {
yhirano 2016/06/02 06:29:12 Can you add "additional_headers" parameter to WebS
allada 2016/06/02 23:35:18 Done. The reason there are two "additional_header"
+ static const char kResponse[] =
+ "HTTP/1.1 101 Switching Protocols\r\n"
+ "Upgrade: websocket\r\n"
+ "Connection: Upgrade\r\n"
+ "Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n"
+ "foo: bar, baz\r\n"
+ "hoge: fuga\r\n"
+ "hoge: piyo\r\n"
+ "\r\n";
+ url_request_context_host_.SetExpectations(
+ base::StringPrintf("GET / HTTP/1.1\r\n"
+ "Host: localhost\r\n"
+ "Connection: Upgrade\r\n"
+ "Pragma: no-cache\r\n"
+ "Cache-Control: no-cache\r\n"
+ "Upgrade: websocket\r\n"
+ "Origin: %s\r\n"
+ "Sec-WebSocket-Version: 13\r\n"
+ "User-Agent: OveRrIde\r\n"
+ "rAnDomHeader: foobar\r\n"
+ "Accept-Encoding: gzip, deflate\r\n"
+ "Accept-Language: en-us,fr\r\n"
+ "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==\r\n"
+ "Sec-WebSocket-Extensions: permessage-deflate; "
+ "client_max_window_bits\r\n"
+ "\r\n",
+ LocalhostOrigin().Serialize().c_str()),
+ kResponse);
+ CreateAndConnectStream("ws://localhost/", NoSubProtocols(), LocalhostOrigin(),
+ "User-Agent: OveRrIde\r\n" // Tests overrite header
+ "rAnDomHeader: foobar", // Tests adding new header
+ std::unique_ptr<base::Timer>());
+
+ EXPECT_FALSE(request_info_);
+ EXPECT_FALSE(response_info_);
+ WaitUntilConnectDone();
+ EXPECT_TRUE(stream_);
+ ASSERT_TRUE(request_info_);
+ ASSERT_TRUE(response_info_);
+
+ std::vector<HeaderKeyValuePair> request_headers =
+ RequestHeadersToVector(request_info_->headers);
+ EXPECT_EQ(HeaderKeyValuePair("User-Agent", "OveRrIde"), request_headers[7]);
+ EXPECT_EQ(HeaderKeyValuePair("rAnDomHeader", "foobar"), request_headers[8]);
+}
+
// Confirm that the stream isn't established until the message loop runs.
TEST_F(WebSocketStreamCreateTest, NeedsToRunLoop) {
CreateAndConnectStandard("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "", "");
+ NoSubProtocols(), LocalhostOrigin(), "", "", "");
EXPECT_FALSE(has_failed());
EXPECT_FALSE(stream_);
}
@@ -387,7 +440,7 @@ TEST_F(WebSocketStreamCreateTest, NeedsToRunLoop) {
TEST_F(WebSocketStreamCreateTest, PathIsUsed) {
CreateAndConnectStandard("ws://localhost/testing_path", "localhost",
"/testing_path", NoSubProtocols(), LocalhostOrigin(),
- "", "");
+ "", "", "");
WaitUntilConnectDone();
EXPECT_FALSE(has_failed());
EXPECT_TRUE(stream_);
@@ -397,7 +450,7 @@ TEST_F(WebSocketStreamCreateTest, PathIsUsed) {
TEST_F(WebSocketStreamCreateTest, OriginIsUsed) {
CreateAndConnectStandard("ws://localhost/testing_path", "localhost",
"/testing_path", NoSubProtocols(), GoogleOrigin(),
- "", "");
+ "", "", "");
WaitUntilConnectDone();
EXPECT_FALSE(has_failed());
EXPECT_TRUE(stream_);
@@ -409,7 +462,7 @@ TEST_F(WebSocketStreamCreateTest, SubProtocolIsUsed) {
sub_protocols.push_back("chatv11.chromium.org");
sub_protocols.push_back("chatv20.chromium.org");
CreateAndConnectStandard("ws://localhost/testing_path", "localhost",
- "/testing_path", sub_protocols, GoogleOrigin(),
+ "/testing_path", sub_protocols, GoogleOrigin(), "",
"Sec-WebSocket-Protocol: chatv11.chromium.org, "
"chatv20.chromium.org\r\n",
"Sec-WebSocket-Protocol: chatv20.chromium.org\r\n");
@@ -423,7 +476,7 @@ TEST_F(WebSocketStreamCreateTest, SubProtocolIsUsed) {
TEST_F(WebSocketStreamCreateTest, UnsolicitedSubProtocol) {
CreateAndConnectStandard("ws://localhost/testing_path", "localhost",
"/testing_path", NoSubProtocols(), GoogleOrigin(),
- "",
+ "", "",
"Sec-WebSocket-Protocol: chatv20.chromium.org\r\n");
WaitUntilConnectDone();
EXPECT_FALSE(stream_);
@@ -440,7 +493,8 @@ TEST_F(WebSocketStreamCreateTest, UnacceptedSubProtocol) {
sub_protocols.push_back("chat.example.com");
CreateAndConnectStandard("ws://localhost/testing_path", "localhost",
"/testing_path", sub_protocols, LocalhostOrigin(),
- "Sec-WebSocket-Protocol: chat.example.com\r\n", "");
+ "", "Sec-WebSocket-Protocol: chat.example.com\r\n",
+ "");
WaitUntilConnectDone();
EXPECT_FALSE(stream_);
EXPECT_TRUE(has_failed());
@@ -456,7 +510,7 @@ TEST_F(WebSocketStreamCreateTest, MultipleSubProtocolsInResponse) {
sub_protocols.push_back("chatv11.chromium.org");
sub_protocols.push_back("chatv20.chromium.org");
CreateAndConnectStandard("ws://localhost/testing_path", "localhost",
- "/testing_path", sub_protocols, GoogleOrigin(),
+ "/testing_path", sub_protocols, GoogleOrigin(), "",
"Sec-WebSocket-Protocol: chatv11.chromium.org, "
"chatv20.chromium.org\r\n",
"Sec-WebSocket-Protocol: chatv11.chromium.org, "
@@ -476,7 +530,7 @@ TEST_F(WebSocketStreamCreateTest, UnmatchedSubProtocolInResponse) {
sub_protocols.push_back("chatv11.chromium.org");
sub_protocols.push_back("chatv20.chromium.org");
CreateAndConnectStandard("ws://localhost/testing_path", "localhost",
- "/testing_path", sub_protocols, GoogleOrigin(),
+ "/testing_path", sub_protocols, GoogleOrigin(), "",
"Sec-WebSocket-Protocol: chatv11.chromium.org, "
"chatv20.chromium.org\r\n",
"Sec-WebSocket-Protocol: chatv21.chromium.org\r\n");
@@ -511,7 +565,7 @@ TEST_F(WebSocketStreamCreateExtensionTest, PerMessageDeflateParamsSuccess) {
TEST_F(WebSocketStreamCreateExtensionTest, PerMessageDeflateInflates) {
CreateAndConnectCustomResponse(
"ws://localhost/testing_path", "localhost", "/testing_path",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
WebSocketStandardResponse(
"Sec-WebSocket-Extensions: permessage-deflate\r\n") +
std::string(
@@ -586,7 +640,7 @@ TEST_F(WebSocketStreamCreateExtensionTest, NoMaxWindowBitsArgument) {
TEST_F(WebSocketStreamCreateTest, DoubleAccept) {
CreateAndConnectStandard(
"ws://localhost/", "localhost", "/", NoSubProtocols(), LocalhostOrigin(),
- "", "Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n");
+ "", "", "Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n");
WaitUntilConnectDone();
EXPECT_FALSE(stream_);
EXPECT_TRUE(has_failed());
@@ -605,7 +659,7 @@ TEST_F(WebSocketStreamCreateTest, InvalidStatusCode) {
"Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n"
"\r\n";
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kInvalidStatusCodeResponse);
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -625,7 +679,7 @@ TEST_F(WebSocketStreamCreateTest, RedirectsRejected) {
"\r\n"
"<title>Moved</title><h1>Moved</h1>";
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kRedirectResponse);
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -646,7 +700,7 @@ TEST_F(WebSocketStreamCreateTest, MalformedResponse) {
"Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n"
"\r\n";
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kMalformedResponse);
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -662,7 +716,7 @@ TEST_F(WebSocketStreamCreateTest, MissingUpgradeHeader) {
"Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n"
"\r\n";
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kMissingUpgradeResponse);
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -673,7 +727,7 @@ TEST_F(WebSocketStreamCreateTest, MissingUpgradeHeader) {
// There must only be one upgrade header.
TEST_F(WebSocketStreamCreateTest, DoubleUpgradeHeader) {
CreateAndConnectStandard("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
"Upgrade: HTTP/2.0\r\n");
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -691,7 +745,7 @@ TEST_F(WebSocketStreamCreateTest, IncorrectUpgradeHeader) {
"Upgrade: hogefuga\r\n"
"\r\n";
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kMissingUpgradeResponse);
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -708,7 +762,7 @@ TEST_F(WebSocketStreamCreateTest, MissingConnectionHeader) {
"Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n"
"\r\n";
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kMissingConnectionResponse);
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -726,7 +780,7 @@ TEST_F(WebSocketStreamCreateTest, IncorrectConnectionHeader) {
"Connection: hogefuga\r\n"
"\r\n";
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kMissingConnectionResponse);
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -744,7 +798,7 @@ TEST_F(WebSocketStreamCreateTest, AdditionalTokenInConnectionHeader) {
"Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n"
"\r\n";
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kAdditionalConnectionTokenResponse);
WaitUntilConnectDone();
EXPECT_FALSE(has_failed());
@@ -759,7 +813,7 @@ TEST_F(WebSocketStreamCreateTest, MissingSecWebSocketAccept) {
"Connection: Upgrade\r\n"
"\r\n";
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kMissingAcceptResponse);
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -777,7 +831,7 @@ TEST_F(WebSocketStreamCreateTest, WrongSecWebSocketAccept) {
"Sec-WebSocket-Accept: x/byyPZ2tOFvJCGkkugcKvqhhPk=\r\n"
"\r\n";
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kIncorrectAcceptResponse);
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -789,7 +843,7 @@ TEST_F(WebSocketStreamCreateTest, WrongSecWebSocketAccept) {
// Cancellation works.
TEST_F(WebSocketStreamCreateTest, Cancellation) {
CreateAndConnectStandard("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "", "");
+ NoSubProtocols(), LocalhostOrigin(), "", "", "");
stream_request_.reset();
// WaitUntilConnectDone doesn't work in this case.
base::RunLoop().RunUntilIdle();
@@ -805,7 +859,8 @@ TEST_F(WebSocketStreamCreateTest, ConnectionFailure) {
socket_data->set_connect_data(
MockConnect(SYNCHRONOUS, ERR_CONNECTION_REFUSED));
CreateAndConnectRawExpectations("ws://localhost/", NoSubProtocols(),
- LocalhostOrigin(), std::move(socket_data));
+ LocalhostOrigin(), "",
+ std::move(socket_data));
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
EXPECT_EQ("Error in connection establishment: net::ERR_CONNECTION_REFUSED",
@@ -820,7 +875,8 @@ TEST_F(WebSocketStreamCreateTest, ConnectionTimeout) {
socket_data->set_connect_data(
MockConnect(ASYNC, ERR_CONNECTION_TIMED_OUT));
CreateAndConnectRawExpectations("ws://localhost/", NoSubProtocols(),
- LocalhostOrigin(), std::move(socket_data));
+ LocalhostOrigin(), "",
+ std::move(socket_data));
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
EXPECT_EQ("Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT",
@@ -834,7 +890,7 @@ TEST_F(WebSocketStreamCreateTest, HandshakeTimeout) {
std::unique_ptr<MockWeakTimer> timer(new MockWeakTimer(false, false));
base::WeakPtr<MockWeakTimer> weak_timer = timer->AsWeakPtr();
CreateAndConnectRawExpectations("ws://localhost/", NoSubProtocols(),
- LocalhostOrigin(), std::move(socket_data),
+ LocalhostOrigin(), "", std::move(socket_data),
std::move(timer));
EXPECT_FALSE(has_failed());
ASSERT_TRUE(weak_timer.get());
@@ -855,7 +911,7 @@ TEST_F(WebSocketStreamCreateTest, HandshakeTimerOnSuccess) {
base::WeakPtr<MockWeakTimer> weak_timer = timer->AsWeakPtr();
CreateAndConnectStandard("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "", "",
+ NoSubProtocols(), LocalhostOrigin(), "", "", "",
std::move(timer));
ASSERT_TRUE(weak_timer);
EXPECT_TRUE(weak_timer->IsRunning());
@@ -875,7 +931,7 @@ TEST_F(WebSocketStreamCreateTest, HandshakeTimerOnFailure) {
std::unique_ptr<MockWeakTimer> timer(new MockWeakTimer(false, false));
base::WeakPtr<MockWeakTimer> weak_timer = timer->AsWeakPtr();
CreateAndConnectRawExpectations("ws://localhost/", NoSubProtocols(),
- LocalhostOrigin(), std::move(socket_data),
+ LocalhostOrigin(), "", std::move(socket_data),
std::move(timer));
ASSERT_TRUE(weak_timer.get());
EXPECT_TRUE(weak_timer->IsRunning());
@@ -893,7 +949,8 @@ TEST_F(WebSocketStreamCreateTest, CancellationDuringConnect) {
std::unique_ptr<SequencedSocketData> socket_data(BuildNullSocketData());
socket_data->set_connect_data(MockConnect(SYNCHRONOUS, ERR_IO_PENDING));
CreateAndConnectRawExpectations("ws://localhost/", NoSubProtocols(),
- LocalhostOrigin(), std::move(socket_data));
+ LocalhostOrigin(), "",
+ std::move(socket_data));
stream_request_.reset();
// WaitUntilConnectDone doesn't work in this case.
base::RunLoop().RunUntilIdle();
@@ -909,7 +966,7 @@ TEST_F(WebSocketStreamCreateTest, CancellationDuringWrite) {
new SequencedSocketData(NULL, 0, writes, arraysize(writes)));
socket_data->set_connect_data(MockConnect(SYNCHRONOUS, OK));
CreateAndConnectRawExpectations("ws://localhost/", NoSubProtocols(),
- LocalhostOrigin(),
+ LocalhostOrigin(), "",
base::WrapUnique(socket_data));
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(socket_data->AllWriteDataConsumed());
@@ -934,7 +991,8 @@ TEST_F(WebSocketStreamCreateTest, CancellationDuringRead) {
BuildSocketData(reads, writes));
SequencedSocketData* socket_data_raw_ptr = socket_data.get();
CreateAndConnectRawExpectations("ws://localhost/", NoSubProtocols(),
- LocalhostOrigin(), std::move(socket_data));
+ LocalhostOrigin(), "",
+ std::move(socket_data));
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(socket_data_raw_ptr->AllReadDataConsumed());
stream_request_.reset();
@@ -957,7 +1015,7 @@ TEST_F(WebSocketStreamCreateTest, VeryLargeResponseHeaders) {
base::StringPrintf("Set-Cookie: WK-websocket-test-flood-%d=1\r\n", i);
}
CreateAndConnectStandard("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
set_cookie_headers);
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -976,7 +1034,8 @@ TEST_F(WebSocketStreamCreateTest, NoResponse) {
BuildSocketData(reads, writes));
SequencedSocketData* socket_data_raw_ptr = socket_data.get();
CreateAndConnectRawExpectations("ws://localhost/", NoSubProtocols(),
- LocalhostOrigin(), std::move(socket_data));
+ LocalhostOrigin(), "",
+ std::move(socket_data));
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(socket_data_raw_ptr->AllReadDataConsumed());
EXPECT_TRUE(has_failed());
@@ -994,7 +1053,7 @@ TEST_F(WebSocketStreamCreateTest, SelfSignedCertificateFailure) {
ASSERT_TRUE(ssl_data_[0]->cert.get());
std::unique_ptr<SequencedSocketData> raw_socket_data(BuildNullSocketData());
CreateAndConnectRawExpectations("wss://localhost/", NoSubProtocols(),
- LocalhostOrigin(),
+ LocalhostOrigin(), "",
std::move(raw_socket_data));
// WaitUntilConnectDone doesn't work in this case.
base::RunLoop().RunUntilIdle();
@@ -1017,7 +1076,7 @@ TEST_F(WebSocketStreamCreateTest, SelfSignedCertificateSuccess) {
ssl_data_.push_back(std::move(ssl_data));
url_request_context_host_.AddRawExpectations(BuildNullSocketData());
CreateAndConnectStandard("wss://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "", "");
+ NoSubProtocols(), LocalhostOrigin(), "", "", "");
// WaitUntilConnectDone doesn't work in this case.
base::RunLoop().RunUntilIdle();
ASSERT_TRUE(ssl_error_callbacks_);
@@ -1031,7 +1090,7 @@ TEST_F(WebSocketStreamCreateTest, SelfSignedCertificateSuccess) {
// connection should fail cleanly.
TEST_F(WebSocketStreamCreateBasicAuthTest, FailureNoCredentials) {
CreateAndConnectCustomResponse("ws://localhost/", "localhost", "/",
- NoSubProtocols(), LocalhostOrigin(), "",
+ NoSubProtocols(), LocalhostOrigin(), "", "",
kUnauthorizedResponse);
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
@@ -1066,7 +1125,7 @@ TEST_F(WebSocketStreamCreateDigestAuthTest, DigestPasswordInUrl) {
AddRawExpectations(helper_.BuildSocketData1(kUnauthorizedResponse));
CreateAndConnectRawExpectations(
- "ws://FooBar:pass@localhost/", NoSubProtocols(), LocalhostOrigin(),
+ "ws://FooBar:pass@localhost/", NoSubProtocols(), LocalhostOrigin(), "",
helper_.BuildSocketData2(kAuthorizedRequest,
WebSocketStandardResponse(std::string())));
WaitUntilConnectDone();
@@ -1084,7 +1143,7 @@ TEST_F(WebSocketStreamCreateUMATest, Incomplete) {
StreamCreation creation;
creation.CreateAndConnectStandard("ws://localhost/", "localhost", "/",
creation.NoSubProtocols(),
- LocalhostOrigin(), "", "");
+ LocalhostOrigin(), "", "", "");
}
std::unique_ptr<base::HistogramSamples> samples(GetSamples(name));
@@ -1105,7 +1164,7 @@ TEST_F(WebSocketStreamCreateUMATest, Connected) {
StreamCreation creation;
creation.CreateAndConnectStandard("ws://localhost/", "localhost", "/",
creation.NoSubProtocols(),
- LocalhostOrigin(), "", "");
+ LocalhostOrigin(), "", "", "");
creation.WaitUntilConnectDone();
}
@@ -1133,7 +1192,7 @@ TEST_F(WebSocketStreamCreateUMATest, Failed) {
"\r\n";
creation.CreateAndConnectCustomResponse(
"ws://localhost/", "localhost", "/", creation.NoSubProtocols(),
- LocalhostOrigin(), "", kInvalidStatusCodeResponse);
+ LocalhostOrigin(), "", "", kInvalidStatusCodeResponse);
creation.WaitUntilConnectDone();
}
@@ -1166,7 +1225,8 @@ TEST_F(WebSocketStreamCreateTest, HandleErrConnectionClosed) {
BuildSocketData(reads, writes));
socket_data->set_connect_data(MockConnect(SYNCHRONOUS, OK));
CreateAndConnectRawExpectations("ws://localhost/", NoSubProtocols(),
- LocalhostOrigin(), std::move(socket_data));
+ LocalhostOrigin(), "",
+ std::move(socket_data));
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
}
@@ -1192,7 +1252,8 @@ TEST_F(WebSocketStreamCreateTest, HandleErrTunnelConnectionFailed) {
BuildSocketData(reads, writes));
url_request_context_host_.SetProxyConfig("https=proxy:8000");
CreateAndConnectRawExpectations("ws://localhost/", NoSubProtocols(),
- LocalhostOrigin(), std::move(socket_data));
+ LocalhostOrigin(), "",
+ std::move(socket_data));
WaitUntilConnectDone();
EXPECT_TRUE(has_failed());
EXPECT_EQ("Establishing a tunnel via proxy server failed.",

Powered by Google App Engine
This is Rietveld 408576698