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

Side by Side Diff: net/tools/quic/quic_simple_server_stream_test.cc

Issue 2856243003: Revert of Landing Recent QUIC changes until Sat Apr 29 00:22:04 2017 +0000 (Closed)
Patch Set: Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "net/tools/quic/quic_simple_server_stream.h" 5 #include "net/tools/quic/quic_simple_server_stream.h"
6 6
7 #include <list> 7 #include <list>
8 #include <memory> 8 #include <memory>
9 #include <utility> 9 #include <utility>
10 10
11 #include "net/quic/core/quic_utils.h" 11 #include "net/quic/core/quic_utils.h"
12 #include "net/quic/core/spdy_utils.h" 12 #include "net/quic/core/spdy_utils.h"
13 #include "net/quic/platform/api/quic_ptr_util.h" 13 #include "net/quic/platform/api/quic_ptr_util.h"
14 #include "net/quic/platform/api/quic_socket_address.h" 14 #include "net/quic/platform/api/quic_socket_address.h"
15 #include "net/quic/platform/api/quic_test.h" 15 #include "net/quic/platform/api/quic_test.h"
16 #include "net/quic/test_tools/crypto_test_utils.h" 16 #include "net/quic/test_tools/crypto_test_utils.h"
17 #include "net/quic/test_tools/quic_spdy_session_peer.h"
18 #include "net/quic/test_tools/quic_stream_peer.h" 17 #include "net/quic/test_tools/quic_stream_peer.h"
19 #include "net/quic/test_tools/quic_test_utils.h" 18 #include "net/quic/test_tools/quic_test_utils.h"
20 #include "net/test/gtest_util.h" 19 #include "net/test/gtest_util.h"
21 #include "net/tools/quic/quic_http_response_cache.h" 20 #include "net/tools/quic/quic_http_response_cache.h"
22 #include "net/tools/quic/quic_simple_server_session.h" 21 #include "net/tools/quic/quic_simple_server_session.h"
23 #include "testing/gmock/include/gmock/gmock.h" 22 #include "testing/gmock/include/gmock/gmock.h"
24 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
25 24
26 using std::string; 25 using std::string;
27 using testing::_; 26 using testing::_;
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 header_list_.OnHeader(":version", "HTTP/1.1"); 193 header_list_.OnHeader(":version", "HTTP/1.1");
195 header_list_.OnHeader("content-length", "11"); 194 header_list_.OnHeader("content-length", "11");
196 header_list_.OnHeaderBlockEnd(128); 195 header_list_.OnHeaderBlockEnd(128);
197 196
198 // New streams rely on having the peer's flow control receive window 197 // New streams rely on having the peer's flow control receive window
199 // negotiated in the config. 198 // negotiated in the config.
200 session_.config()->SetInitialStreamFlowControlWindowToSend( 199 session_.config()->SetInitialStreamFlowControlWindowToSend(
201 kInitialStreamFlowControlWindowForTest); 200 kInitialStreamFlowControlWindowForTest);
202 session_.config()->SetInitialSessionFlowControlWindowToSend( 201 session_.config()->SetInitialSessionFlowControlWindowToSend(
203 kInitialSessionFlowControlWindowForTest); 202 kInitialSessionFlowControlWindowForTest);
204 stream_ = new QuicSimpleServerStreamPeer( 203 stream_ = new QuicSimpleServerStreamPeer(kClientDataStreamId1, &session_,
205 QuicSpdySessionPeer::GetNthClientInitiatedStreamId(session_, 0), 204 &response_cache_);
206 &session_, &response_cache_);
207 // Register stream_ in dynamic_stream_map_ and pass ownership to session_. 205 // Register stream_ in dynamic_stream_map_ and pass ownership to session_.
208 session_.ActivateStream(QuicWrapUnique(stream_)); 206 session_.ActivateStream(QuicWrapUnique(stream_));
209 } 207 }
210 208
211 const string& StreamBody() { 209 const string& StreamBody() {
212 return QuicSimpleServerStreamPeer::body(stream_); 210 return QuicSimpleServerStreamPeer::body(stream_);
213 } 211 }
214 212
215 string StreamHeadersValue(const string& key) { 213 string StreamHeadersValue(const string& key) {
216 return (*stream_->mutable_headers())[key].as_string(); 214 return (*stream_->mutable_headers())[key].as_string();
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 host, request_path, 200, body, push_resources); 437 host, request_path, 200, body, push_resources);
440 438
441 SpdyHeaderBlock* request_headers = stream_->mutable_headers(); 439 SpdyHeaderBlock* request_headers = stream_->mutable_headers();
442 (*request_headers)[":path"] = request_path; 440 (*request_headers)[":path"] = request_path;
443 (*request_headers)[":authority"] = host; 441 (*request_headers)[":authority"] = host;
444 (*request_headers)[":version"] = "HTTP/1.1"; 442 (*request_headers)[":version"] = "HTTP/1.1";
445 (*request_headers)[":method"] = "GET"; 443 (*request_headers)[":method"] = "GET";
446 444
447 stream_->set_fin_received(true); 445 stream_->set_fin_received(true);
448 InSequence s; 446 InSequence s;
449 EXPECT_CALL( 447 EXPECT_CALL(session_, PromisePushResourcesMock(host + request_path, _,
450 session_, 448 kClientDataStreamId1, _));
451 PromisePushResourcesMock(
452 host + request_path, _,
453 QuicSpdySessionPeer::GetNthClientInitiatedStreamId(session_, 0), _));
454 EXPECT_CALL(session_, WriteHeadersMock(stream_->id(), _, false, _, _)); 449 EXPECT_CALL(session_, WriteHeadersMock(stream_->id(), _, false, _, _));
455 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)) 450 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _))
456 .Times(1) 451 .Times(1)
457 .WillOnce(Return(QuicConsumedData(body.length(), true))); 452 .WillOnce(Return(QuicConsumedData(body.length(), true)));
458 QuicSimpleServerStreamPeer::SendResponse(stream_); 453 QuicSimpleServerStreamPeer::SendResponse(stream_);
459 EXPECT_EQ(*request_headers, session_.original_request_headers_); 454 EXPECT_EQ(*request_headers, session_.original_request_headers_);
460 } 455 }
461 456
462 TEST_P(QuicSimpleServerStreamTest, PushResponseOnClientInitiatedStream) { 457 TEST_P(QuicSimpleServerStreamTest, PushResponseOnClientInitiatedStream) {
463 // Calling PushResponse() on a client initialted stream is never supposed to 458 // Calling PushResponse() on a client initialted stream is never supposed to
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 491
497 // Call PushResponse() should trigger stream to fetch response from cache 492 // Call PushResponse() should trigger stream to fetch response from cache
498 // and send it back. 493 // and send it back.
499 EXPECT_CALL(session_, 494 EXPECT_CALL(session_,
500 WriteHeadersMock(kServerInitiatedStreamId, _, false, 495 WriteHeadersMock(kServerInitiatedStreamId, _, false,
501 server_initiated_stream->priority(), _)); 496 server_initiated_stream->priority(), _));
502 EXPECT_CALL(session_, WritevData(_, kServerInitiatedStreamId, _, _, _, _)) 497 EXPECT_CALL(session_, WritevData(_, kServerInitiatedStreamId, _, _, _, _))
503 .Times(1) 498 .Times(1)
504 .WillOnce(Return(QuicConsumedData(kBody.size(), true))); 499 .WillOnce(Return(QuicConsumedData(kBody.size(), true)));
505 server_initiated_stream->PushResponse(std::move(headers)); 500 server_initiated_stream->PushResponse(std::move(headers));
506 EXPECT_EQ(kPath, QuicSimpleServerStreamPeer::headers( 501 EXPECT_EQ(
507 server_initiated_stream)[":path"] 502 kPath,
508 .as_string()); 503 QuicSimpleServerStreamPeer::headers(server_initiated_stream)[":path"]
509 EXPECT_EQ("GET", QuicSimpleServerStreamPeer::headers( 504 .as_string());
510 server_initiated_stream)[":method"] 505 EXPECT_EQ(
511 .as_string()); 506 "GET",
507 QuicSimpleServerStreamPeer::headers(server_initiated_stream)[":method"]
508 .as_string());
512 } 509 }
513 510
514 TEST_P(QuicSimpleServerStreamTest, TestSendErrorResponse) { 511 TEST_P(QuicSimpleServerStreamTest, TestSendErrorResponse) {
515 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(0); 512 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(0);
516 513
517 stream_->set_fin_received(true); 514 stream_->set_fin_received(true);
518 515
519 InSequence s; 516 InSequence s;
520 EXPECT_CALL(session_, WriteHeadersMock(_, _, _, _, _)); 517 EXPECT_CALL(session_, WriteHeadersMock(_, _, _, _, _));
521 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)) 518 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _))
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 }; 638 };
642 QuicStringPiece data(arr, arraysize(arr)); 639 QuicStringPiece data(arr, arraysize(arr));
643 QuicStreamFrame frame(stream_->id(), true, 0, data); 640 QuicStreamFrame frame(stream_->id(), true, 0, data);
644 // Verify that we don't crash when we get a invalid headers in stream frame. 641 // Verify that we don't crash when we get a invalid headers in stream frame.
645 stream_->OnStreamFrame(frame); 642 stream_->OnStreamFrame(frame);
646 } 643 }
647 644
648 } // namespace 645 } // namespace
649 } // namespace test 646 } // namespace test
650 } // namespace net 647 } // namespace net
OLDNEW
« no previous file with comments | « net/tools/quic/quic_simple_server_session_test.cc ('k') | net/tools/quic/quic_spdy_client_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698