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

Side by Side Diff: net/cert/multi_threaded_cert_verifier_unittest.cc

Issue 503163002: Remove implicit conversions from scoped_refptr to T* in net/cert/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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/cert/multi_threaded_cert_verifier.cc ('k') | net/cert/nss_cert_database.cc » ('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/cert/multi_threaded_cert_verifier.h" 5 #include "net/cert/multi_threaded_cert_verifier.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/format_macros.h" 9 #include "base/format_macros.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 virtual ~MultiThreadedCertVerifierTest() {} 72 virtual ~MultiThreadedCertVerifierTest() {}
73 73
74 protected: 74 protected:
75 MultiThreadedCertVerifier verifier_; 75 MultiThreadedCertVerifier verifier_;
76 }; 76 };
77 77
78 TEST_F(MultiThreadedCertVerifierTest, CacheHit) { 78 TEST_F(MultiThreadedCertVerifierTest, CacheHit) {
79 base::FilePath certs_dir = GetTestCertsDirectory(); 79 base::FilePath certs_dir = GetTestCertsDirectory();
80 scoped_refptr<X509Certificate> test_cert( 80 scoped_refptr<X509Certificate> test_cert(
81 ImportCertFromFile(certs_dir, "ok_cert.pem")); 81 ImportCertFromFile(certs_dir, "ok_cert.pem"));
82 ASSERT_NE(static_cast<X509Certificate*>(NULL), test_cert); 82 ASSERT_NE(static_cast<X509Certificate*>(NULL), test_cert.get());
83 83
84 int error; 84 int error;
85 CertVerifyResult verify_result; 85 CertVerifyResult verify_result;
86 TestCompletionCallback callback; 86 TestCompletionCallback callback;
87 CertVerifier::RequestHandle request_handle; 87 CertVerifier::RequestHandle request_handle;
88 88
89 error = verifier_.Verify(test_cert.get(), 89 error = verifier_.Verify(test_cert.get(),
90 "www.example.com", 90 "www.example.com",
91 0, 91 0,
92 NULL, 92 NULL,
(...skipping 29 matching lines...) Expand all
122 } 122 }
123 123
124 // Tests the same server certificate with different intermediate CA 124 // Tests the same server certificate with different intermediate CA
125 // certificates. These should be treated as different certificate chains even 125 // certificates. These should be treated as different certificate chains even
126 // though the two X509Certificate objects contain the same server certificate. 126 // though the two X509Certificate objects contain the same server certificate.
127 TEST_F(MultiThreadedCertVerifierTest, DifferentCACerts) { 127 TEST_F(MultiThreadedCertVerifierTest, DifferentCACerts) {
128 base::FilePath certs_dir = GetTestCertsDirectory(); 128 base::FilePath certs_dir = GetTestCertsDirectory();
129 129
130 scoped_refptr<X509Certificate> server_cert = 130 scoped_refptr<X509Certificate> server_cert =
131 ImportCertFromFile(certs_dir, "salesforce_com_test.pem"); 131 ImportCertFromFile(certs_dir, "salesforce_com_test.pem");
132 ASSERT_NE(static_cast<X509Certificate*>(NULL), server_cert); 132 ASSERT_NE(static_cast<X509Certificate*>(NULL), server_cert.get());
133 133
134 scoped_refptr<X509Certificate> intermediate_cert1 = 134 scoped_refptr<X509Certificate> intermediate_cert1 =
135 ImportCertFromFile(certs_dir, "verisign_intermediate_ca_2011.pem"); 135 ImportCertFromFile(certs_dir, "verisign_intermediate_ca_2011.pem");
136 ASSERT_NE(static_cast<X509Certificate*>(NULL), intermediate_cert1); 136 ASSERT_NE(static_cast<X509Certificate*>(NULL), intermediate_cert1.get());
137 137
138 scoped_refptr<X509Certificate> intermediate_cert2 = 138 scoped_refptr<X509Certificate> intermediate_cert2 =
139 ImportCertFromFile(certs_dir, "verisign_intermediate_ca_2016.pem"); 139 ImportCertFromFile(certs_dir, "verisign_intermediate_ca_2016.pem");
140 ASSERT_NE(static_cast<X509Certificate*>(NULL), intermediate_cert2); 140 ASSERT_NE(static_cast<X509Certificate*>(NULL), intermediate_cert2.get());
141 141
142 X509Certificate::OSCertHandles intermediates; 142 X509Certificate::OSCertHandles intermediates;
143 intermediates.push_back(intermediate_cert1->os_cert_handle()); 143 intermediates.push_back(intermediate_cert1->os_cert_handle());
144 scoped_refptr<X509Certificate> cert_chain1 = 144 scoped_refptr<X509Certificate> cert_chain1 =
145 X509Certificate::CreateFromHandle(server_cert->os_cert_handle(), 145 X509Certificate::CreateFromHandle(server_cert->os_cert_handle(),
146 intermediates); 146 intermediates);
147 147
148 intermediates.clear(); 148 intermediates.clear();
149 intermediates.push_back(intermediate_cert2->os_cert_handle()); 149 intermediates.push_back(intermediate_cert2->os_cert_handle());
150 scoped_refptr<X509Certificate> cert_chain2 = 150 scoped_refptr<X509Certificate> cert_chain2 =
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 ASSERT_EQ(0u, verifier_.cache_hits()); 189 ASSERT_EQ(0u, verifier_.cache_hits());
190 ASSERT_EQ(0u, verifier_.inflight_joins()); 190 ASSERT_EQ(0u, verifier_.inflight_joins());
191 ASSERT_EQ(2u, verifier_.GetCacheSize()); 191 ASSERT_EQ(2u, verifier_.GetCacheSize());
192 } 192 }
193 193
194 // Tests an inflight join. 194 // Tests an inflight join.
195 TEST_F(MultiThreadedCertVerifierTest, InflightJoin) { 195 TEST_F(MultiThreadedCertVerifierTest, InflightJoin) {
196 base::FilePath certs_dir = GetTestCertsDirectory(); 196 base::FilePath certs_dir = GetTestCertsDirectory();
197 scoped_refptr<X509Certificate> test_cert( 197 scoped_refptr<X509Certificate> test_cert(
198 ImportCertFromFile(certs_dir, "ok_cert.pem")); 198 ImportCertFromFile(certs_dir, "ok_cert.pem"));
199 ASSERT_NE(static_cast<X509Certificate*>(NULL), test_cert); 199 ASSERT_NE(static_cast<X509Certificate*>(NULL), test_cert.get());
200 200
201 int error; 201 int error;
202 CertVerifyResult verify_result; 202 CertVerifyResult verify_result;
203 TestCompletionCallback callback; 203 TestCompletionCallback callback;
204 CertVerifier::RequestHandle request_handle; 204 CertVerifier::RequestHandle request_handle;
205 CertVerifyResult verify_result2; 205 CertVerifyResult verify_result2;
206 TestCompletionCallback callback2; 206 TestCompletionCallback callback2;
207 CertVerifier::RequestHandle request_handle2; 207 CertVerifier::RequestHandle request_handle2;
208 208
209 error = verifier_.Verify(test_cert.get(), 209 error = verifier_.Verify(test_cert.get(),
(...skipping 23 matching lines...) Expand all
233 ASSERT_EQ(2u, verifier_.requests()); 233 ASSERT_EQ(2u, verifier_.requests());
234 ASSERT_EQ(0u, verifier_.cache_hits()); 234 ASSERT_EQ(0u, verifier_.cache_hits());
235 ASSERT_EQ(1u, verifier_.inflight_joins()); 235 ASSERT_EQ(1u, verifier_.inflight_joins());
236 } 236 }
237 237
238 // Tests that the callback of a canceled request is never made. 238 // Tests that the callback of a canceled request is never made.
239 TEST_F(MultiThreadedCertVerifierTest, CancelRequest) { 239 TEST_F(MultiThreadedCertVerifierTest, CancelRequest) {
240 base::FilePath certs_dir = GetTestCertsDirectory(); 240 base::FilePath certs_dir = GetTestCertsDirectory();
241 scoped_refptr<X509Certificate> test_cert( 241 scoped_refptr<X509Certificate> test_cert(
242 ImportCertFromFile(certs_dir, "ok_cert.pem")); 242 ImportCertFromFile(certs_dir, "ok_cert.pem"));
243 ASSERT_NE(static_cast<X509Certificate*>(NULL), test_cert); 243 ASSERT_NE(static_cast<X509Certificate*>(NULL), test_cert.get());
244 244
245 int error; 245 int error;
246 CertVerifyResult verify_result; 246 CertVerifyResult verify_result;
247 CertVerifier::RequestHandle request_handle; 247 CertVerifier::RequestHandle request_handle;
248 248
249 error = verifier_.Verify(test_cert.get(), 249 error = verifier_.Verify(test_cert.get(),
250 "www.example.com", 250 "www.example.com",
251 0, 251 0,
252 NULL, 252 NULL,
253 &verify_result, 253 &verify_result,
(...skipping 28 matching lines...) Expand all
282 #if !defined(LEAK_SANITIZER) 282 #if !defined(LEAK_SANITIZER)
283 #define MAYBE_CancelRequestThenQuit CancelRequestThenQuit 283 #define MAYBE_CancelRequestThenQuit CancelRequestThenQuit
284 #else 284 #else
285 // See PR303886. LeakSanitizer flags a leak here. 285 // See PR303886. LeakSanitizer flags a leak here.
286 #define MAYBE_CancelRequestThenQuit DISABLED_CancelRequestThenQuit 286 #define MAYBE_CancelRequestThenQuit DISABLED_CancelRequestThenQuit
287 #endif 287 #endif
288 TEST_F(MultiThreadedCertVerifierTest, MAYBE_CancelRequestThenQuit) { 288 TEST_F(MultiThreadedCertVerifierTest, MAYBE_CancelRequestThenQuit) {
289 base::FilePath certs_dir = GetTestCertsDirectory(); 289 base::FilePath certs_dir = GetTestCertsDirectory();
290 scoped_refptr<X509Certificate> test_cert( 290 scoped_refptr<X509Certificate> test_cert(
291 ImportCertFromFile(certs_dir, "ok_cert.pem")); 291 ImportCertFromFile(certs_dir, "ok_cert.pem"));
292 ASSERT_NE(static_cast<X509Certificate*>(NULL), test_cert); 292 ASSERT_NE(static_cast<X509Certificate*>(NULL), test_cert.get());
293 293
294 int error; 294 int error;
295 CertVerifyResult verify_result; 295 CertVerifyResult verify_result;
296 TestCompletionCallback callback; 296 TestCompletionCallback callback;
297 CertVerifier::RequestHandle request_handle; 297 CertVerifier::RequestHandle request_handle;
298 298
299 error = verifier_.Verify(test_cert.get(), 299 error = verifier_.Verify(test_cert.get(),
300 "www.example.com", 300 "www.example.com",
301 0, 301 0,
302 NULL, 302 NULL,
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 Mock::VerifyAndClearExpectations(&trust_provider); 476 Mock::VerifyAndClearExpectations(&trust_provider);
477 ASSERT_EQ(ERR_IO_PENDING, error); 477 ASSERT_EQ(ERR_IO_PENDING, error);
478 EXPECT_TRUE(request_handle); 478 EXPECT_TRUE(request_handle);
479 error = callback.WaitForResult(); 479 error = callback.WaitForResult();
480 EXPECT_EQ(ERR_CERT_COMMON_NAME_INVALID, error); 480 EXPECT_EQ(ERR_CERT_COMMON_NAME_INVALID, error);
481 ASSERT_EQ(3u, verifier_.requests()); 481 ASSERT_EQ(3u, verifier_.requests());
482 ASSERT_EQ(1u, verifier_.cache_hits()); 482 ASSERT_EQ(1u, verifier_.cache_hits());
483 } 483 }
484 484
485 } // namespace net 485 } // namespace net
OLDNEW
« no previous file with comments | « net/cert/multi_threaded_cert_verifier.cc ('k') | net/cert/nss_cert_database.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698