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

Side by Side Diff: net/spdy/spdy_stream_spdy2_unittest.cc

Issue 14311002: [SPDY] Avoid leaking bytes from the session flow control receive window (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/spdy/spdy_stream.cc ('k') | net/spdy/spdy_stream_spdy3_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <cstddef> 5 #include <cstddef>
6 #include <string> 6 #include <string>
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/strings/string_piece.h" 10 #include "base/strings/string_piece.h"
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 EXPECT_TRUE(stream->HasUrl()); 127 EXPECT_TRUE(stream->HasUrl());
128 EXPECT_EQ(kStreamUrl, stream->GetUrl().spec()); 128 EXPECT_EQ(kStreamUrl, stream->GetUrl().spec());
129 129
130 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true)); 130 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true));
131 131
132 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); 132 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose());
133 133
134 EXPECT_TRUE(delegate.send_headers_completed()); 134 EXPECT_TRUE(delegate.send_headers_completed());
135 EXPECT_EQ("200", delegate.GetResponseHeaderValue("status")); 135 EXPECT_EQ("200", delegate.GetResponseHeaderValue("status"));
136 EXPECT_EQ("HTTP/1.1", delegate.GetResponseHeaderValue("version")); 136 EXPECT_EQ("HTTP/1.1", delegate.GetResponseHeaderValue("version"));
137 EXPECT_EQ(std::string(kPostBody, kPostBodyLength), delegate.received_data()); 137 EXPECT_EQ(std::string(kPostBody, kPostBodyLength),
138 delegate.TakeReceivedData());
138 EXPECT_EQ(static_cast<int>(kPostBodyLength), delegate.data_sent()); 139 EXPECT_EQ(static_cast<int>(kPostBodyLength), delegate.data_sent());
139 } 140 }
140 141
141 TEST_F(SpdyStreamSpdy2Test, SendHeaderAndDataAfterOpen) { 142 TEST_F(SpdyStreamSpdy2Test, SendHeaderAndDataAfterOpen) {
142 session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_); 143 session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_);
143 144
144 scoped_ptr<SpdyFrame> expected_request(ConstructSpdyWebSocketSynStream( 145 scoped_ptr<SpdyFrame> expected_request(ConstructSpdyWebSocketSynStream(
145 1, 146 1,
146 "/chat", 147 "/chat",
147 "server.example.com", 148 "server.example.com",
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 stream->set_spdy_headers(headers.Pass()); 205 stream->set_spdy_headers(headers.Pass());
205 EXPECT_TRUE(stream->HasUrl()); 206 EXPECT_TRUE(stream->HasUrl());
206 207
207 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true)); 208 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true));
208 209
209 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); 210 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose());
210 211
211 EXPECT_TRUE(delegate.send_headers_completed()); 212 EXPECT_TRUE(delegate.send_headers_completed());
212 EXPECT_EQ("101", delegate.GetResponseHeaderValue("status")); 213 EXPECT_EQ("101", delegate.GetResponseHeaderValue("status"));
213 EXPECT_EQ(1, delegate.headers_sent()); 214 EXPECT_EQ(1, delegate.headers_sent());
214 EXPECT_EQ(std::string(), delegate.received_data()); 215 EXPECT_EQ(std::string(), delegate.TakeReceivedData());
215 EXPECT_EQ(6, delegate.data_sent()); 216 EXPECT_EQ(6, delegate.data_sent());
216 } 217 }
217 218
218 TEST_F(SpdyStreamSpdy2Test, PushedStream) { 219 TEST_F(SpdyStreamSpdy2Test, PushedStream) {
219 SpdySessionDependencies session_deps; 220 SpdySessionDependencies session_deps;
220 session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_); 221 session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_);
221 scoped_refptr<SpdySession> spdy_session(CreateSpdySession()); 222 scoped_refptr<SpdySession> spdy_session(CreateSpdySession());
222 223
223 MockRead reads[] = { 224 MockRead reads[] = {
224 MockRead(ASYNC, 0, 0), // EOF 225 MockRead(ASYNC, 0, 0), // EOF
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 322
322 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true)); 323 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true));
323 324
324 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); 325 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose());
325 326
326 const SpdyStreamId stream_id = stream->stream_id(); 327 const SpdyStreamId stream_id = stream->stream_id();
327 328
328 EXPECT_TRUE(delegate.send_headers_completed()); 329 EXPECT_TRUE(delegate.send_headers_completed());
329 EXPECT_EQ("200", delegate.GetResponseHeaderValue("status")); 330 EXPECT_EQ("200", delegate.GetResponseHeaderValue("status"));
330 EXPECT_EQ("HTTP/1.1", delegate.GetResponseHeaderValue("version")); 331 EXPECT_EQ("HTTP/1.1", delegate.GetResponseHeaderValue("version"));
331 EXPECT_EQ(std::string(kPostBody, kPostBodyLength), delegate.received_data()); 332 EXPECT_EQ(std::string(kPostBody, kPostBodyLength),
333 delegate.TakeReceivedData());
332 EXPECT_EQ(static_cast<int>(kPostBodyLength), delegate.data_sent()); 334 EXPECT_EQ(static_cast<int>(kPostBodyLength), delegate.data_sent());
333 335
334 // Check that the NetLog was filled reasonably. 336 // Check that the NetLog was filled reasonably.
335 net::CapturingNetLog::CapturedEntryList entries; 337 net::CapturingNetLog::CapturedEntryList entries;
336 log.GetEntries(&entries); 338 log.GetEntries(&entries);
337 EXPECT_LT(0u, entries.size()); 339 EXPECT_LT(0u, entries.size());
338 340
339 // Check that we logged SPDY_STREAM_ERROR correctly. 341 // Check that we logged SPDY_STREAM_ERROR correctly.
340 int pos = net::ExpectLogContainsSomewhere( 342 int pos = net::ExpectLogContainsSomewhere(
341 entries, 0, 343 entries, 0,
342 net::NetLog::TYPE_SPDY_STREAM_ERROR, 344 net::NetLog::TYPE_SPDY_STREAM_ERROR,
343 net::NetLog::PHASE_NONE); 345 net::NetLog::PHASE_NONE);
344 346
345 int stream_id2; 347 int stream_id2;
346 ASSERT_TRUE(entries[pos].GetIntegerValue("stream_id", &stream_id2)); 348 ASSERT_TRUE(entries[pos].GetIntegerValue("stream_id", &stream_id2));
347 EXPECT_EQ(static_cast<int>(stream_id), stream_id2); 349 EXPECT_EQ(static_cast<int>(stream_id), stream_id2);
348 } 350 }
349 351
350 } // namespace 352 } // namespace
351 353
352 } // namespace test 354 } // namespace test
353 355
354 } // namespace net 356 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_stream.cc ('k') | net/spdy/spdy_stream_spdy3_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698