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

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

Issue 1454993002: QUIC - Code to verify SCT tag with certificate transparency verifier (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comments and add tests for SCTList Created 5 years, 1 month 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/compiler_specific.h" 6 #include "base/compiler_specific.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "net/base/elements_upload_data_stream.h" 10 #include "net/base/elements_upload_data_stream.h"
11 #include "net/base/test_completion_callback.h" 11 #include "net/base/test_completion_callback.h"
12 #include "net/base/test_data_directory.h" 12 #include "net/base/test_data_directory.h"
13 #include "net/base/upload_bytes_element_reader.h" 13 #include "net/base/upload_bytes_element_reader.h"
14 #include "net/base/upload_data_stream.h" 14 #include "net/base/upload_data_stream.h"
15 #include "net/cert/mock_cert_verifier.h" 15 #include "net/cert/mock_cert_verifier.h"
16 #include "net/cert/multi_log_ct_verifier.h"
16 #include "net/dns/mapped_host_resolver.h" 17 #include "net/dns/mapped_host_resolver.h"
17 #include "net/dns/mock_host_resolver.h" 18 #include "net/dns/mock_host_resolver.h"
18 #include "net/http/http_auth_handler_factory.h" 19 #include "net/http/http_auth_handler_factory.h"
19 #include "net/http/http_network_session.h" 20 #include "net/http/http_network_session.h"
20 #include "net/http/http_network_transaction.h" 21 #include "net/http/http_network_transaction.h"
21 #include "net/http/http_server_properties_impl.h" 22 #include "net/http/http_server_properties_impl.h"
22 #include "net/http/http_transaction_test_util.h" 23 #include "net/http/http_transaction_test_util.h"
23 #include "net/http/transport_security_state.h" 24 #include "net/http/transport_security_state.h"
24 #include "net/proxy/proxy_service.h" 25 #include "net/proxy/proxy_service.h"
25 #include "net/quic/test_tools/crypto_test_utils.h" 26 #include "net/quic/test_tools/crypto_test_utils.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 scoped_ptr<HttpNetworkSession> session_; 72 scoped_ptr<HttpNetworkSession> session_;
72 }; 73 };
73 74
74 } // namespace 75 } // namespace
75 76
76 class QuicEndToEndTest : public PlatformTest { 77 class QuicEndToEndTest : public PlatformTest {
77 protected: 78 protected:
78 QuicEndToEndTest() 79 QuicEndToEndTest()
79 : host_resolver_impl_(CreateResolverImpl()), 80 : host_resolver_impl_(CreateResolverImpl()),
80 host_resolver_(host_resolver_impl_.Pass()), 81 host_resolver_(host_resolver_impl_.Pass()),
82 cert_transparency_verifier_(new MultiLogCTVerifier()),
81 ssl_config_service_(new SSLConfigServiceDefaults), 83 ssl_config_service_(new SSLConfigServiceDefaults),
82 proxy_service_(ProxyService::CreateDirect()), 84 proxy_service_(ProxyService::CreateDirect()),
83 auth_handler_factory_( 85 auth_handler_factory_(
84 HttpAuthHandlerFactory::CreateDefault(&host_resolver_)), 86 HttpAuthHandlerFactory::CreateDefault(&host_resolver_)),
85 strike_register_no_startup_period_(false) { 87 strike_register_no_startup_period_(false) {
86 request_.method = "GET"; 88 request_.method = "GET";
87 request_.url = GURL("https://test.example.com/"); 89 request_.url = GURL("https://test.example.com/");
88 request_.load_flags = 0; 90 request_.load_flags = 0;
89 91
90 params_.enable_quic = true; 92 params_.enable_quic = true;
91 params_.quic_clock = nullptr; 93 params_.quic_clock = nullptr;
92 params_.quic_random = nullptr; 94 params_.quic_random = nullptr;
93 params_.host_resolver = &host_resolver_; 95 params_.host_resolver = &host_resolver_;
94 params_.cert_verifier = &cert_verifier_; 96 params_.cert_verifier = &cert_verifier_;
95 params_.transport_security_state = &transport_security_state_; 97 params_.transport_security_state = &transport_security_state_;
98 params_.cert_transparency_verifier = cert_transparency_verifier_.get();
96 params_.proxy_service = proxy_service_.get(); 99 params_.proxy_service = proxy_service_.get();
97 params_.ssl_config_service = ssl_config_service_.get(); 100 params_.ssl_config_service = ssl_config_service_.get();
98 params_.http_auth_handler_factory = auth_handler_factory_.get(); 101 params_.http_auth_handler_factory = auth_handler_factory_.get();
99 params_.http_server_properties = http_server_properties.GetWeakPtr(); 102 params_.http_server_properties = http_server_properties.GetWeakPtr();
100 103
101 net::CertVerifyResult verify_result; 104 net::CertVerifyResult verify_result;
102 verify_result.verified_cert = ImportCertFromFile( 105 verify_result.verified_cert = ImportCertFromFile(
103 GetTestCertsDirectory(), "quic_test.example.com.crt"); 106 GetTestCertsDirectory(), "quic_test.example.com.crt");
104 cert_verifier_.AddResultForCertAndHost(verify_result.verified_cert.get(), 107 cert_verifier_.AddResultForCertAndHost(verify_result.verified_cert.get(),
105 "test.example.com", verify_result, 108 "test.example.com", verify_result,
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 ASSERT_EQ(OK, consumer.error()); 219 ASSERT_EQ(OK, consumer.error());
217 EXPECT_EQ(status_line, 220 EXPECT_EQ(status_line,
218 consumer.response_info()->headers->GetStatusLine()); 221 consumer.response_info()->headers->GetStatusLine());
219 EXPECT_EQ(body, consumer.content()); 222 EXPECT_EQ(body, consumer.content());
220 } 223 }
221 224
222 scoped_ptr<MockHostResolver> host_resolver_impl_; 225 scoped_ptr<MockHostResolver> host_resolver_impl_;
223 MappedHostResolver host_resolver_; 226 MappedHostResolver host_resolver_;
224 MockCertVerifier cert_verifier_; 227 MockCertVerifier cert_verifier_;
225 TransportSecurityState transport_security_state_; 228 TransportSecurityState transport_security_state_;
229 scoped_ptr<CTVerifier> cert_transparency_verifier_;
226 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service_; 230 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service_;
227 scoped_ptr<ProxyService> proxy_service_; 231 scoped_ptr<ProxyService> proxy_service_;
228 scoped_ptr<HttpAuthHandlerFactory> auth_handler_factory_; 232 scoped_ptr<HttpAuthHandlerFactory> auth_handler_factory_;
229 HttpServerPropertiesImpl http_server_properties; 233 HttpServerPropertiesImpl http_server_properties;
230 HttpNetworkSession::Params params_; 234 HttpNetworkSession::Params params_;
231 scoped_ptr<TestTransactionFactory> transaction_factory_; 235 scoped_ptr<TestTransactionFactory> transaction_factory_;
232 HttpRequestInfo request_; 236 HttpRequestInfo request_;
233 std::string request_body_; 237 std::string request_body_;
234 scoped_ptr<UploadDataStream> upload_data_stream_; 238 scoped_ptr<UploadDataStream> upload_data_stream_;
235 scoped_ptr<ServerThread> server_thread_; 239 scoped_ptr<ServerThread> server_thread_;
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 base::MessageLoop::current()->Run(); 317 base::MessageLoop::current()->Run();
314 318
315 for (size_t i = 0; i < num_requests; ++i) { 319 for (size_t i = 0; i < num_requests; ++i) {
316 CheckResponse(*consumers[i], "HTTP/1.1 200 OK", kResponseBody); 320 CheckResponse(*consumers[i], "HTTP/1.1 200 OK", kResponseBody);
317 } 321 }
318 STLDeleteElements(&consumers); 322 STLDeleteElements(&consumers);
319 } 323 }
320 324
321 } // namespace test 325 } // namespace test
322 } // namespace net 326 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698