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

Side by Side Diff: net/quic/quic_http_stream_test.cc

Issue 1581283002: Rename chromium-specific QUIC classes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add missing Created 4 years, 11 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
« no previous file with comments | « net/quic/quic_http_stream.cc ('k') | net/quic/quic_reliable_client_stream.h » ('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 "net/quic/quic_http_stream.h" 5 #include "net/quic/quic_http_stream.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/thread_task_runner_handle.h" 12 #include "base/thread_task_runner_handle.h"
13 #include "net/base/chunked_upload_data_stream.h" 13 #include "net/base/chunked_upload_data_stream.h"
14 #include "net/base/elements_upload_data_stream.h" 14 #include "net/base/elements_upload_data_stream.h"
15 #include "net/base/net_errors.h" 15 #include "net/base/net_errors.h"
16 #include "net/base/socket_performance_watcher.h" 16 #include "net/base/socket_performance_watcher.h"
17 #include "net/base/test_completion_callback.h" 17 #include "net/base/test_completion_callback.h"
18 #include "net/base/upload_bytes_element_reader.h" 18 #include "net/base/upload_bytes_element_reader.h"
19 #include "net/http/http_response_headers.h" 19 #include "net/http/http_response_headers.h"
20 #include "net/http/transport_security_state.h" 20 #include "net/http/transport_security_state.h"
21 #include "net/quic/congestion_control/send_algorithm_interface.h" 21 #include "net/quic/congestion_control/send_algorithm_interface.h"
22 #include "net/quic/crypto/crypto_protocol.h" 22 #include "net/quic/crypto/crypto_protocol.h"
23 #include "net/quic/crypto/quic_decrypter.h" 23 #include "net/quic/crypto/quic_decrypter.h"
24 #include "net/quic/crypto/quic_encrypter.h" 24 #include "net/quic/crypto/quic_encrypter.h"
25 #include "net/quic/crypto/quic_server_info.h" 25 #include "net/quic/crypto/quic_server_info.h"
26 #include "net/quic/quic_chromium_client_session.h" 26 #include "net/quic/quic_chromium_client_session.h"
27 #include "net/quic/quic_chromium_client_stream.h"
28 #include "net/quic/quic_chromium_connection_helper.h"
27 #include "net/quic/quic_connection.h" 29 #include "net/quic/quic_connection.h"
28 #include "net/quic/quic_connection_helper.h"
29 #include "net/quic/quic_default_packet_writer.h" 30 #include "net/quic/quic_default_packet_writer.h"
30 #include "net/quic/quic_http_utils.h" 31 #include "net/quic/quic_http_utils.h"
31 #include "net/quic/quic_packet_reader.h" 32 #include "net/quic/quic_packet_reader.h"
32 #include "net/quic/quic_reliable_client_stream.h"
33 #include "net/quic/quic_write_blocked_list.h" 33 #include "net/quic/quic_write_blocked_list.h"
34 #include "net/quic/spdy_utils.h" 34 #include "net/quic/spdy_utils.h"
35 #include "net/quic/test_tools/crypto_test_utils.h" 35 #include "net/quic/test_tools/crypto_test_utils.h"
36 #include "net/quic/test_tools/mock_clock.h" 36 #include "net/quic/test_tools/mock_clock.h"
37 #include "net/quic/test_tools/mock_crypto_client_stream_factory.h" 37 #include "net/quic/test_tools/mock_crypto_client_stream_factory.h"
38 #include "net/quic/test_tools/mock_random.h" 38 #include "net/quic/test_tools/mock_random.h"
39 #include "net/quic/test_tools/quic_connection_peer.h" 39 #include "net/quic/test_tools/quic_connection_peer.h"
40 #include "net/quic/test_tools/quic_test_packet_maker.h" 40 #include "net/quic/test_tools/quic_test_packet_maker.h"
41 #include "net/quic/test_tools/quic_test_utils.h" 41 #include "net/quic/test_tools/quic_test_utils.h"
42 #include "net/quic/test_tools/test_task_runner.h" 42 #include "net/quic/test_tools/test_task_runner.h"
(...skipping 15 matching lines...) Expand all
58 58
59 const char kUploadData[] = "Really nifty data!"; 59 const char kUploadData[] = "Really nifty data!";
60 const char kDefaultServerHostName[] = "www.google.com"; 60 const char kDefaultServerHostName[] = "www.google.com";
61 const uint16_t kDefaultServerPort = 80; 61 const uint16_t kDefaultServerPort = 80;
62 62
63 class TestQuicConnection : public QuicConnection { 63 class TestQuicConnection : public QuicConnection {
64 public: 64 public:
65 TestQuicConnection(const QuicVersionVector& versions, 65 TestQuicConnection(const QuicVersionVector& versions,
66 QuicConnectionId connection_id, 66 QuicConnectionId connection_id,
67 IPEndPoint address, 67 IPEndPoint address,
68 QuicConnectionHelper* helper, 68 QuicChromiumConnectionHelper* helper,
69 QuicPacketWriter* writer) 69 QuicPacketWriter* writer)
70 : QuicConnection(connection_id, 70 : QuicConnection(connection_id,
71 address, 71 address,
72 helper, 72 helper,
73 writer, 73 writer,
74 true /* owns_writer */, 74 true /* owns_writer */,
75 Perspective::IS_CLIENT, 75 Perspective::IS_CLIENT,
76 versions) {} 76 versions) {}
77 77
78 void SetSendAlgorithm(SendAlgorithmInterface* send_algorithm) { 78 void SetSendAlgorithm(SendAlgorithmInterface* send_algorithm) {
(...skipping 14 matching lines...) Expand all
93 Close(false); 93 Close(false);
94 } 94 }
95 95
96 void OnDataAvailable() override { Close(false); } 96 void OnDataAvailable() override { Close(false); }
97 }; 97 };
98 98
99 } // namespace 99 } // namespace
100 100
101 class QuicHttpStreamPeer { 101 class QuicHttpStreamPeer {
102 public: 102 public:
103 static QuicReliableClientStream* GetQuicReliableClientStream( 103 static QuicChromiumClientStream* GetQuicChromiumClientStream(
104 QuicHttpStream* stream) { 104 QuicHttpStream* stream) {
105 return stream->stream_; 105 return stream->stream_;
106 } 106 }
107 107
108 static bool WasHandshakeConfirmed(QuicHttpStream* stream) { 108 static bool WasHandshakeConfirmed(QuicHttpStream* stream) {
109 return stream->was_handshake_confirmed_; 109 return stream->was_handshake_confirmed_;
110 } 110 }
111 111
112 static void SetHandshakeConfirmed(QuicHttpStream* stream, bool confirmed) { 112 static void SetHandshakeConfirmed(QuicHttpStream* stream, bool confirmed) {
113 stream->was_handshake_confirmed_ = confirmed; 113 stream->was_handshake_confirmed_ = confirmed;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 .WillRepeatedly(Return(QuicTime::Delta::Zero())); 193 .WillRepeatedly(Return(QuicTime::Delta::Zero()));
194 EXPECT_CALL(*send_algorithm_, GetCongestionWindow()) 194 EXPECT_CALL(*send_algorithm_, GetCongestionWindow())
195 .WillRepeatedly(Return(kMaxPacketSize)); 195 .WillRepeatedly(Return(kMaxPacketSize));
196 EXPECT_CALL(*send_algorithm_, PacingRate()) 196 EXPECT_CALL(*send_algorithm_, PacingRate())
197 .WillRepeatedly(Return(QuicBandwidth::Zero())); 197 .WillRepeatedly(Return(QuicBandwidth::Zero()));
198 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)) 198 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _))
199 .WillRepeatedly(Return(QuicTime::Delta::Zero())); 199 .WillRepeatedly(Return(QuicTime::Delta::Zero()));
200 EXPECT_CALL(*send_algorithm_, BandwidthEstimate()) 200 EXPECT_CALL(*send_algorithm_, BandwidthEstimate())
201 .WillRepeatedly(Return(QuicBandwidth::Zero())); 201 .WillRepeatedly(Return(QuicBandwidth::Zero()));
202 EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _)).Times(AnyNumber()); 202 EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _)).Times(AnyNumber());
203 helper_.reset( 203 helper_.reset(new QuicChromiumConnectionHelper(runner_.get(), &clock_,
204 new QuicConnectionHelper(runner_.get(), &clock_, &random_generator_)); 204 &random_generator_));
205 connection_ = new TestQuicConnection( 205 connection_ = new TestQuicConnection(
206 SupportedVersions(GetParam()), connection_id_, peer_addr_, 206 SupportedVersions(GetParam()), connection_id_, peer_addr_,
207 helper_.get(), new QuicDefaultPacketWriter(socket)); 207 helper_.get(), new QuicDefaultPacketWriter(socket));
208 connection_->set_visitor(&visitor_); 208 connection_->set_visitor(&visitor_);
209 connection_->SetSendAlgorithm(send_algorithm_); 209 connection_->SetSendAlgorithm(send_algorithm_);
210 session_.reset(new QuicChromiumClientSession( 210 session_.reset(new QuicChromiumClientSession(
211 connection_, scoped_ptr<DatagramClientSocket>(socket), 211 connection_, scoped_ptr<DatagramClientSocket>(socket),
212 /*stream_factory=*/nullptr, &crypto_client_stream_factory_, &clock_, 212 /*stream_factory=*/nullptr, &crypto_client_stream_factory_, &clock_,
213 &transport_security_state_, make_scoped_ptr((QuicServerInfo*)nullptr), 213 &transport_security_state_, make_scoped_ptr((QuicServerInfo*)nullptr),
214 QuicServerId(kDefaultServerHostName, kDefaultServerPort, 214 QuicServerId(kDefaultServerHostName, kDefaultServerPort,
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 !kIncludeCongestionFeedback); 297 !kIncludeCongestionFeedback);
298 } 298 }
299 299
300 BoundNetLog net_log_; 300 BoundNetLog net_log_;
301 bool use_closing_stream_; 301 bool use_closing_stream_;
302 MockSendAlgorithm* send_algorithm_; 302 MockSendAlgorithm* send_algorithm_;
303 scoped_refptr<TestTaskRunner> runner_; 303 scoped_refptr<TestTaskRunner> runner_;
304 scoped_ptr<MockWrite[]> mock_writes_; 304 scoped_ptr<MockWrite[]> mock_writes_;
305 MockClock clock_; 305 MockClock clock_;
306 TestQuicConnection* connection_; 306 TestQuicConnection* connection_;
307 scoped_ptr<QuicConnectionHelper> helper_; 307 scoped_ptr<QuicChromiumConnectionHelper> helper_;
308 testing::StrictMock<MockConnectionVisitor> visitor_; 308 testing::StrictMock<MockConnectionVisitor> visitor_;
309 scoped_ptr<QuicHttpStream> stream_; 309 scoped_ptr<QuicHttpStream> stream_;
310 TransportSecurityState transport_security_state_; 310 TransportSecurityState transport_security_state_;
311 scoped_ptr<QuicChromiumClientSession> session_; 311 scoped_ptr<QuicChromiumClientSession> session_;
312 QuicCryptoClientConfig crypto_config_; 312 QuicCryptoClientConfig crypto_config_;
313 TestCompletionCallback callback_; 313 TestCompletionCallback callback_;
314 HttpRequestInfo request_; 314 HttpRequestInfo request_;
315 HttpRequestHeaders headers_; 315 HttpRequestHeaders headers_;
316 HttpResponseInfo response_; 316 HttpResponseInfo response_;
317 scoped_refptr<IOBufferWithSize> read_buffer_; 317 scoped_refptr<IOBufferWithSize> read_buffer_;
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after
863 use_closing_stream_ = true; 863 use_closing_stream_ = true;
864 Initialize(); 864 Initialize();
865 865
866 request_.method = "GET"; 866 request_.method = "GET";
867 request_.url = GURL("http://www.google.com/"); 867 request_.url = GURL("http://www.google.com/");
868 868
869 EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM, net_log_, 869 EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM, net_log_,
870 callback_.callback())); 870 callback_.callback()));
871 871
872 // Check that priority is highest. 872 // Check that priority is highest.
873 QuicReliableClientStream* reliable_stream = 873 QuicChromiumClientStream* reliable_stream =
874 QuicHttpStreamPeer::GetQuicReliableClientStream(stream_.get()); 874 QuicHttpStreamPeer::GetQuicChromiumClientStream(stream_.get());
875 DCHECK(reliable_stream); 875 DCHECK(reliable_stream);
876 DCHECK_EQ(kV3HighestPriority, reliable_stream->Priority()); 876 DCHECK_EQ(kV3HighestPriority, reliable_stream->Priority());
877 877
878 EXPECT_EQ(OK, 878 EXPECT_EQ(OK,
879 stream_->SendRequest(headers_, &response_, callback_.callback())); 879 stream_->SendRequest(headers_, &response_, callback_.callback()));
880 880
881 // Check that priority has now dropped back to MEDIUM. 881 // Check that priority has now dropped back to MEDIUM.
882 DCHECK_EQ(MEDIUM, 882 DCHECK_EQ(MEDIUM,
883 ConvertQuicPriorityToRequestPriority(reliable_stream->Priority())); 883 ConvertQuicPriorityToRequestPriority(reliable_stream->Priority()));
884 884
(...skipping 27 matching lines...) Expand all
912 912
913 Initialize(); 913 Initialize();
914 914
915 request_.method = "GET"; 915 request_.method = "GET";
916 request_.url = GURL("http://www.google.com/"); 916 request_.url = GURL("http://www.google.com/");
917 917
918 EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM, net_log_, 918 EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM, net_log_,
919 callback_.callback())); 919 callback_.callback()));
920 920
921 // Check that priority is highest. 921 // Check that priority is highest.
922 QuicReliableClientStream* reliable_stream = 922 QuicChromiumClientStream* reliable_stream =
923 QuicHttpStreamPeer::GetQuicReliableClientStream(stream_.get()); 923 QuicHttpStreamPeer::GetQuicChromiumClientStream(stream_.get());
924 DCHECK(reliable_stream); 924 DCHECK(reliable_stream);
925 QuicReliableClientStream::Delegate* delegate = reliable_stream->GetDelegate(); 925 QuicChromiumClientStream::Delegate* delegate = reliable_stream->GetDelegate();
926 DCHECK(delegate); 926 DCHECK(delegate);
927 DCHECK_EQ(kV3HighestPriority, reliable_stream->Priority()); 927 DCHECK_EQ(kV3HighestPriority, reliable_stream->Priority());
928 928
929 // Set Delegate to nullptr and make sure Priority returns highest 929 // Set Delegate to nullptr and make sure Priority returns highest
930 // priority. 930 // priority.
931 reliable_stream->SetDelegate(nullptr); 931 reliable_stream->SetDelegate(nullptr);
932 DCHECK_EQ(kV3HighestPriority, reliable_stream->Priority()); 932 DCHECK_EQ(kV3HighestPriority, reliable_stream->Priority());
933 reliable_stream->SetDelegate(delegate); 933 reliable_stream->SetDelegate(delegate);
934 934
935 EXPECT_EQ(0, stream_->GetTotalSentBytes()); 935 EXPECT_EQ(0, stream_->GetTotalSentBytes());
936 EXPECT_EQ(0, stream_->GetTotalReceivedBytes()); 936 EXPECT_EQ(0, stream_->GetTotalReceivedBytes());
937 } 937 }
938 938
939 } // namespace test 939 } // namespace test
940 } // namespace net 940 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_http_stream.cc ('k') | net/quic/quic_reliable_client_stream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698