| OLD | NEW |
| 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 <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "base/strings/string_piece.h" | 10 #include "base/strings/string_piece.h" |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 QuicRandom::GetInstance(), | 183 QuicRandom::GetInstance(), |
| 184 ::net::test::CryptoTestUtils::ProofSourceForTesting())), | 184 ::net::test::CryptoTestUtils::ProofSourceForTesting())), |
| 185 compressed_certs_cache_( | 185 compressed_certs_cache_( |
| 186 QuicCompressedCertsCache::kQuicCompressedCertsCacheSize), | 186 QuicCompressedCertsCache::kQuicCompressedCertsCacheSize), |
| 187 session_(connection_, | 187 session_(connection_, |
| 188 &session_owner_, | 188 &session_owner_, |
| 189 &session_helper_, | 189 &session_helper_, |
| 190 crypto_config_.get(), | 190 crypto_config_.get(), |
| 191 &compressed_certs_cache_), | 191 &compressed_certs_cache_), |
| 192 body_("hello world") { | 192 body_("hello world") { |
| 193 FLAGS_quic_always_log_bugs_for_tests = true; | |
| 194 SpdyHeaderBlock request_headers; | 193 SpdyHeaderBlock request_headers; |
| 195 request_headers[":host"] = ""; | 194 request_headers[":host"] = ""; |
| 196 request_headers[":authority"] = "www.google.com"; | 195 request_headers[":authority"] = "www.google.com"; |
| 197 request_headers[":path"] = "/"; | 196 request_headers[":path"] = "/"; |
| 198 request_headers[":method"] = "POST"; | 197 request_headers[":method"] = "POST"; |
| 199 request_headers[":version"] = "HTTP/1.1"; | 198 request_headers[":version"] = "HTTP/1.1"; |
| 200 request_headers["content-length"] = "11"; | 199 request_headers["content-length"] = "11"; |
| 201 | 200 |
| 202 headers_string_ = | 201 headers_string_ = |
| 203 net::SpdyUtils::SerializeUncompressedHeaders(request_headers); | 202 net::SpdyUtils::SerializeUncompressedHeaders(request_headers); |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 461 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)) | 460 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)) |
| 462 .Times(1) | 461 .Times(1) |
| 463 .WillOnce(Return(QuicConsumedData(body.length(), true))); | 462 .WillOnce(Return(QuicConsumedData(body.length(), true))); |
| 464 QuicSimpleServerStreamPeer::SendResponse(stream_); | 463 QuicSimpleServerStreamPeer::SendResponse(stream_); |
| 465 EXPECT_EQ(*request_headers, session_.original_request_headers_); | 464 EXPECT_EQ(*request_headers, session_.original_request_headers_); |
| 466 } | 465 } |
| 467 | 466 |
| 468 TEST_P(QuicSimpleServerStreamTest, PushResponseOnClientInitiatedStream) { | 467 TEST_P(QuicSimpleServerStreamTest, PushResponseOnClientInitiatedStream) { |
| 469 // Calling PushResponse() on a client initialted stream is never supposed to | 468 // Calling PushResponse() on a client initialted stream is never supposed to |
| 470 // happen. | 469 // happen. |
| 471 EXPECT_DFATAL(stream_->PushResponse(SpdyHeaderBlock()), | 470 EXPECT_QUIC_BUG(stream_->PushResponse(SpdyHeaderBlock()), |
| 472 "Client initiated stream" | 471 "Client initiated stream" |
| 473 " shouldn't be used as promised stream."); | 472 " shouldn't be used as promised stream."); |
| 474 } | 473 } |
| 475 | 474 |
| 476 TEST_P(QuicSimpleServerStreamTest, PushResponseOnServerInitiatedStream) { | 475 TEST_P(QuicSimpleServerStreamTest, PushResponseOnServerInitiatedStream) { |
| 477 // Tests that PushResponse() should take the given headers as request headers | 476 // Tests that PushResponse() should take the given headers as request headers |
| 478 // and fetch response from cache, and send it out. | 477 // and fetch response from cache, and send it out. |
| 479 | 478 |
| 480 // Create a stream with even stream id and test against this stream. | 479 // Create a stream with even stream id and test against this stream. |
| 481 const QuicStreamId kServerInitiatedStreamId = 2; | 480 const QuicStreamId kServerInitiatedStreamId = 2; |
| 482 // Create a server initiated stream and pass it to session_. | 481 // Create a server initiated stream and pass it to session_. |
| 483 QuicSimpleServerStreamPeer* server_initiated_stream = | 482 QuicSimpleServerStreamPeer* server_initiated_stream = |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 644 }; | 643 }; |
| 645 StringPiece data(arr, arraysize(arr)); | 644 StringPiece data(arr, arraysize(arr)); |
| 646 QuicStreamFrame frame(stream_->id(), true, 0, data); | 645 QuicStreamFrame frame(stream_->id(), true, 0, data); |
| 647 // Verify that we don't crash when we get a invalid headers in stream frame. | 646 // Verify that we don't crash when we get a invalid headers in stream frame. |
| 648 stream_->OnStreamFrame(frame); | 647 stream_->OnStreamFrame(frame); |
| 649 } | 648 } |
| 650 | 649 |
| 651 } // namespace | 650 } // namespace |
| 652 } // namespace test | 651 } // namespace test |
| 653 } // namespace net | 652 } // namespace net |
| OLD | NEW |