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

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

Issue 1411063004: Remove insecure QUIC support (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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) 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 <stddef.h> 5 #include <stddef.h>
6 #include <string> 6 #include <string>
7 #include <sys/epoll.h> 7 #include <sys/epoll.h>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/memory/singleton.h" 12 #include "base/memory/singleton.h"
13 #include "base/strings/string_number_conversions.h" 13 #include "base/strings/string_number_conversions.h"
14 #include "base/synchronization/waitable_event.h" 14 #include "base/synchronization/waitable_event.h"
15 #include "base/threading/platform_thread.h" 15 #include "base/threading/platform_thread.h"
16 #include "base/time/time.h" 16 #include "base/time/time.h"
17 #include "net/base/ip_endpoint.h" 17 #include "net/base/ip_endpoint.h"
18 #include "net/quic/congestion_control/tcp_cubic_sender.h" 18 #include "net/quic/congestion_control/tcp_cubic_sender.h"
19 #include "net/quic/crypto/aes_128_gcm_12_encrypter.h" 19 #include "net/quic/crypto/aes_128_gcm_12_encrypter.h"
20 #include "net/quic/crypto/null_encrypter.h" 20 #include "net/quic/crypto/null_encrypter.h"
21 #include "net/quic/quic_flags.h" 21 #include "net/quic/quic_flags.h"
22 #include "net/quic/quic_framer.h" 22 #include "net/quic/quic_framer.h"
23 #include "net/quic/quic_packet_creator.h" 23 #include "net/quic/quic_packet_creator.h"
24 #include "net/quic/quic_protocol.h" 24 #include "net/quic/quic_protocol.h"
25 #include "net/quic/quic_server_id.h" 25 #include "net/quic/quic_server_id.h"
26 #include "net/quic/quic_utils.h" 26 #include "net/quic/quic_utils.h"
27 #include "net/quic/test_tools/crypto_test_utils.h"
27 #include "net/quic/test_tools/quic_connection_peer.h" 28 #include "net/quic/test_tools/quic_connection_peer.h"
28 #include "net/quic/test_tools/quic_flow_controller_peer.h" 29 #include "net/quic/test_tools/quic_flow_controller_peer.h"
29 #include "net/quic/test_tools/quic_sent_packet_manager_peer.h" 30 #include "net/quic/test_tools/quic_sent_packet_manager_peer.h"
30 #include "net/quic/test_tools/quic_session_peer.h" 31 #include "net/quic/test_tools/quic_session_peer.h"
31 #include "net/quic/test_tools/quic_spdy_session_peer.h" 32 #include "net/quic/test_tools/quic_spdy_session_peer.h"
32 #include "net/quic/test_tools/quic_test_utils.h" 33 #include "net/quic/test_tools/quic_test_utils.h"
33 #include "net/quic/test_tools/reliable_quic_stream_peer.h" 34 #include "net/quic/test_tools/reliable_quic_stream_peer.h"
34 #include "net/test/gtest_util.h" 35 #include "net/test/gtest_util.h"
35 #include "net/tools/epoll_server/epoll_server.h" 36 #include "net/tools/epoll_server/epoll_server.h"
36 #include "net/tools/quic/quic_epoll_connection_helper.h" 37 #include "net/tools/quic/quic_epoll_connection_helper.h"
(...skipping 12 matching lines...) Expand all
49 #include "net/tools/quic/test_tools/quic_test_client.h" 50 #include "net/tools/quic/test_tools/quic_test_client.h"
50 #include "net/tools/quic/test_tools/quic_test_server.h" 51 #include "net/tools/quic/test_tools/quic_test_server.h"
51 #include "net/tools/quic/test_tools/server_thread.h" 52 #include "net/tools/quic/test_tools/server_thread.h"
52 #include "testing/gtest/include/gtest/gtest.h" 53 #include "testing/gtest/include/gtest/gtest.h"
53 54
54 using base::StringPiece; 55 using base::StringPiece;
55 using base::WaitableEvent; 56 using base::WaitableEvent;
56 using net::EpollServer; 57 using net::EpollServer;
57 using net::IPAddressNumber; 58 using net::IPAddressNumber;
58 using net::test::ConstructEncryptedPacket; 59 using net::test::ConstructEncryptedPacket;
60 using net::test::CryptoTestUtils;
59 using net::test::GenerateBody; 61 using net::test::GenerateBody;
60 using net::test::Loopback4; 62 using net::test::Loopback4;
61 using net::test::MockQuicConnectionDebugVisitor; 63 using net::test::MockQuicConnectionDebugVisitor;
62 using net::test::QuicConnectionPeer; 64 using net::test::QuicConnectionPeer;
63 using net::test::QuicFlowControllerPeer; 65 using net::test::QuicFlowControllerPeer;
64 using net::test::QuicSentPacketManagerPeer; 66 using net::test::QuicSentPacketManagerPeer;
65 using net::test::QuicSessionPeer; 67 using net::test::QuicSessionPeer;
66 using net::test::QuicSpdySessionPeer; 68 using net::test::QuicSpdySessionPeer;
67 using net::test::ReliableQuicStreamPeer; 69 using net::test::ReliableQuicStreamPeer;
68 using net::test::TestWriterFactory; 70 using net::test::TestWriterFactory;
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 AddToCache("/bar", 200, "OK", kBarResponseBody); 265 AddToCache("/bar", 200, "OK", kBarResponseBody);
264 } 266 }
265 267
266 ~EndToEndTest() override { 268 ~EndToEndTest() override {
267 // TODO(rtenneti): port RecycleUnusedPort if needed. 269 // TODO(rtenneti): port RecycleUnusedPort if needed.
268 // RecycleUnusedPort(server_address_.port()); 270 // RecycleUnusedPort(server_address_.port());
269 QuicInMemoryCachePeer::ResetForTests(); 271 QuicInMemoryCachePeer::ResetForTests();
270 } 272 }
271 273
272 QuicTestClient* CreateQuicClient(QuicPacketWriterWrapper* writer) { 274 QuicTestClient* CreateQuicClient(QuicPacketWriterWrapper* writer) {
273 QuicTestClient* client = new QuicTestClient( 275 QuicTestClient* client =
274 server_address_, server_hostname_, 276 new QuicTestClient(server_address_, server_hostname_, client_config_,
275 /*secure=*/true, client_config_, client_supported_versions_); 277 client_supported_versions_);
276 client->UseWriter(writer); 278 client->UseWriter(writer);
277 client->Connect(); 279 client->Connect();
278 return client; 280 return client;
279 } 281 }
280 282
281 void set_client_initial_stream_flow_control_receive_window(uint32 window) { 283 void set_client_initial_stream_flow_control_receive_window(uint32 window) {
282 CHECK(client_.get() == nullptr); 284 CHECK(client_.get() == nullptr);
283 DVLOG(1) << "Setting client initial stream flow control window: " << window; 285 DVLOG(1) << "Setting client initial stream flow control window: " << window;
284 client_config_.SetInitialStreamFlowControlWindowToSend(window); 286 client_config_.SetInitialStreamFlowControlWindowToSend(window);
285 } 287 }
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 } 363 }
362 364
363 void TearDown() override { 365 void TearDown() override {
364 ASSERT_TRUE(initialized_) << "You must call Initialize() in every test " 366 ASSERT_TRUE(initialized_) << "You must call Initialize() in every test "
365 << "case. Otherwise, your test will leak memory."; 367 << "case. Otherwise, your test will leak memory.";
366 StopServer(); 368 StopServer();
367 } 369 }
368 370
369 void StartServer() { 371 void StartServer() {
370 server_thread_.reset(new ServerThread( 372 server_thread_.reset(new ServerThread(
371 new QuicTestServer(server_config_, server_supported_versions_), 373 new QuicServer(CryptoTestUtils::ProofSourceForTesting(), server_config_,
ramant (doing other things) 2015/10/21 04:43:24 nit: Shouldn't we use QuicTestServer for Dale's bi
Ryan Hamilton 2015/10/21 16:56:07 Definitely. Curiously though, I ran the end to end
372 /*is_secure=*/true, server_address_, 374 server_supported_versions_),
373 strike_register_no_startup_period_)); 375 server_address_, strike_register_no_startup_period_));
374 server_thread_->Initialize(); 376 server_thread_->Initialize();
375 server_address_ = IPEndPoint(server_address_.address(), 377 server_address_ = IPEndPoint(server_address_.address(),
376 server_thread_->GetPort()); 378 server_thread_->GetPort());
377 QuicDispatcher* dispatcher = 379 QuicDispatcher* dispatcher =
378 QuicServerPeer::GetDispatcher(server_thread_->server()); 380 QuicServerPeer::GetDispatcher(server_thread_->server());
379 TestWriterFactory* packet_writer_factory = new TestWriterFactory(); 381 TestWriterFactory* packet_writer_factory = new TestWriterFactory();
380 QuicDispatcherPeer::SetPacketWriterFactory(dispatcher, 382 QuicDispatcherPeer::SetPacketWriterFactory(dispatcher,
381 packet_writer_factory); 383 packet_writer_factory);
382 QuicDispatcherPeer::UseWriter(dispatcher, server_writer_); 384 QuicDispatcherPeer::UseWriter(dispatcher, server_writer_);
383 385
(...skipping 1701 matching lines...) Expand 10 before | Expand all | Expand 10 after
2085 // There will be buffered data to write in the client's stream. 2087 // There will be buffered data to write in the client's stream.
2086 ReliableQuicStream* stream = client_->client()->session()->GetStream(5); 2088 ReliableQuicStream* stream = client_->client()->session()->GetStream(5);
2087 EXPECT_TRUE(stream != nullptr && stream->HasBufferedData()); 2089 EXPECT_TRUE(stream != nullptr && stream->HasBufferedData());
2088 } 2090 }
2089 } 2091 }
2090 2092
2091 } // namespace 2093 } // namespace
2092 } // namespace test 2094 } // namespace test
2093 } // namespace tools 2095 } // namespace tools
2094 } // namespace net 2096 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698