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

Side by Side Diff: net/socket/ssl_client_socket_unittest.cc

Issue 12210088: Make the TestServer use an absolute document root path. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: testserver uses absolute docroot path Created 7 years, 10 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 | Annotate | Revision Log
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/socket/ssl_client_socket.h" 5 #include "net/socket/ssl_client_socket.h"
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "net/base/address_list.h" 8 #include "net/base/address_list.h"
9 #include "net/base/cert_test_util.h" 9 #include "net/base/cert_test_util.h"
10 #include "net/base/host_resolver.h" 10 #include "net/base/host_resolver.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 static bool LogContainsSSLConnectEndEvent( 67 static bool LogContainsSSLConnectEndEvent(
68 const net::CapturingNetLog::CapturedEntryList& log, int i) { 68 const net::CapturingNetLog::CapturedEntryList& log, int i) {
69 return net::LogContainsEndEvent(log, i, net::NetLog::TYPE_SSL_CONNECT) || 69 return net::LogContainsEndEvent(log, i, net::NetLog::TYPE_SSL_CONNECT) ||
70 net::LogContainsEvent(log, i, net::NetLog::TYPE_SOCKET_BYTES_SENT, 70 net::LogContainsEvent(log, i, net::NetLog::TYPE_SOCKET_BYTES_SENT,
71 net::NetLog::PHASE_NONE); 71 net::NetLog::PHASE_NONE);
72 }; 72 };
73 73
74 TEST_F(SSLClientSocketTest, Connect) { 74 TEST_F(SSLClientSocketTest, Connect) {
75 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 75 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
76 net::TestServer::kLocalhost, 76 net::TestServer::kLocalhost,
77 base::FilePath()); 77 net::TestServer::GetSourcePath());
78 ASSERT_TRUE(test_server.Start()); 78 ASSERT_TRUE(test_server.Start());
79 79
80 net::AddressList addr; 80 net::AddressList addr;
81 ASSERT_TRUE(test_server.GetAddressList(&addr)); 81 ASSERT_TRUE(test_server.GetAddressList(&addr));
82 82
83 net::TestCompletionCallback callback; 83 net::TestCompletionCallback callback;
84 net::CapturingNetLog log; 84 net::CapturingNetLog log;
85 net::StreamSocket* transport = new net::TCPClientSocket( 85 net::StreamSocket* transport = new net::TCPClientSocket(
86 addr, &log, net::NetLog::Source()); 86 addr, &log, net::NetLog::Source());
87 int rv = transport->Connect(callback.callback()); 87 int rv = transport->Connect(callback.callback());
(...skipping 22 matching lines...) Expand all
110 110
111 sock->Disconnect(); 111 sock->Disconnect();
112 EXPECT_FALSE(sock->IsConnected()); 112 EXPECT_FALSE(sock->IsConnected());
113 } 113 }
114 114
115 TEST_F(SSLClientSocketTest, ConnectExpired) { 115 TEST_F(SSLClientSocketTest, ConnectExpired) {
116 net::TestServer::SSLOptions ssl_options( 116 net::TestServer::SSLOptions ssl_options(
117 net::TestServer::SSLOptions::CERT_EXPIRED); 117 net::TestServer::SSLOptions::CERT_EXPIRED);
118 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 118 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
119 ssl_options, 119 ssl_options,
120 base::FilePath()); 120 net::TestServer::GetSourcePath());
121 ASSERT_TRUE(test_server.Start()); 121 ASSERT_TRUE(test_server.Start());
122 122
123 cert_verifier_->set_default_result(net::ERR_CERT_DATE_INVALID); 123 cert_verifier_->set_default_result(net::ERR_CERT_DATE_INVALID);
124 124
125 net::AddressList addr; 125 net::AddressList addr;
126 ASSERT_TRUE(test_server.GetAddressList(&addr)); 126 ASSERT_TRUE(test_server.GetAddressList(&addr));
127 127
128 net::TestCompletionCallback callback; 128 net::TestCompletionCallback callback;
129 net::CapturingNetLog log; 129 net::CapturingNetLog log;
130 net::StreamSocket* transport = new net::TCPClientSocket( 130 net::StreamSocket* transport = new net::TCPClientSocket(
(...skipping 26 matching lines...) Expand all
157 // the user may take indefinitely long to respond. 157 // the user may take indefinitely long to respond.
158 log.GetEntries(&entries); 158 log.GetEntries(&entries);
159 EXPECT_TRUE(LogContainsSSLConnectEndEvent(entries, -1)); 159 EXPECT_TRUE(LogContainsSSLConnectEndEvent(entries, -1));
160 } 160 }
161 161
162 TEST_F(SSLClientSocketTest, ConnectMismatched) { 162 TEST_F(SSLClientSocketTest, ConnectMismatched) {
163 net::TestServer::SSLOptions ssl_options( 163 net::TestServer::SSLOptions ssl_options(
164 net::TestServer::SSLOptions::CERT_MISMATCHED_NAME); 164 net::TestServer::SSLOptions::CERT_MISMATCHED_NAME);
165 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 165 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
166 ssl_options, 166 ssl_options,
167 base::FilePath()); 167 net::TestServer::GetSourcePath());
168 ASSERT_TRUE(test_server.Start()); 168 ASSERT_TRUE(test_server.Start());
169 169
170 cert_verifier_->set_default_result(net::ERR_CERT_COMMON_NAME_INVALID); 170 cert_verifier_->set_default_result(net::ERR_CERT_COMMON_NAME_INVALID);
171 171
172 net::AddressList addr; 172 net::AddressList addr;
173 ASSERT_TRUE(test_server.GetAddressList(&addr)); 173 ASSERT_TRUE(test_server.GetAddressList(&addr));
174 174
175 net::TestCompletionCallback callback; 175 net::TestCompletionCallback callback;
176 net::CapturingNetLog log; 176 net::CapturingNetLog log;
177 net::StreamSocket* transport = new net::TCPClientSocket( 177 net::StreamSocket* transport = new net::TCPClientSocket(
(...skipping 28 matching lines...) Expand all
206 EXPECT_TRUE(LogContainsSSLConnectEndEvent(entries, -1)); 206 EXPECT_TRUE(LogContainsSSLConnectEndEvent(entries, -1));
207 } 207 }
208 208
209 // Attempt to connect to a page which requests a client certificate. It should 209 // Attempt to connect to a page which requests a client certificate. It should
210 // return an error code on connect. 210 // return an error code on connect.
211 TEST_F(SSLClientSocketTest, ConnectClientAuthCertRequested) { 211 TEST_F(SSLClientSocketTest, ConnectClientAuthCertRequested) {
212 net::TestServer::SSLOptions ssl_options; 212 net::TestServer::SSLOptions ssl_options;
213 ssl_options.request_client_certificate = true; 213 ssl_options.request_client_certificate = true;
214 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 214 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
215 ssl_options, 215 ssl_options,
216 base::FilePath()); 216 net::TestServer::GetSourcePath());
217 ASSERT_TRUE(test_server.Start()); 217 ASSERT_TRUE(test_server.Start());
218 218
219 net::AddressList addr; 219 net::AddressList addr;
220 ASSERT_TRUE(test_server.GetAddressList(&addr)); 220 ASSERT_TRUE(test_server.GetAddressList(&addr));
221 221
222 net::TestCompletionCallback callback; 222 net::TestCompletionCallback callback;
223 net::CapturingNetLog log; 223 net::CapturingNetLog log;
224 net::StreamSocket* transport = new net::TCPClientSocket( 224 net::StreamSocket* transport = new net::TCPClientSocket(
225 addr, &log, net::NetLog::Source()); 225 addr, &log, net::NetLog::Source());
226 int rv = transport->Connect(callback.callback()); 226 int rv = transport->Connect(callback.callback());
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 268
269 // Connect to a server requesting optional client authentication. Send it a 269 // Connect to a server requesting optional client authentication. Send it a
270 // null certificate. It should allow the connection. 270 // null certificate. It should allow the connection.
271 // 271 //
272 // TODO(davidben): Also test providing an actual certificate. 272 // TODO(davidben): Also test providing an actual certificate.
273 TEST_F(SSLClientSocketTest, ConnectClientAuthSendNullCert) { 273 TEST_F(SSLClientSocketTest, ConnectClientAuthSendNullCert) {
274 net::TestServer::SSLOptions ssl_options; 274 net::TestServer::SSLOptions ssl_options;
275 ssl_options.request_client_certificate = true; 275 ssl_options.request_client_certificate = true;
276 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 276 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
277 ssl_options, 277 ssl_options,
278 base::FilePath()); 278 net::TestServer::GetSourcePath());
279 ASSERT_TRUE(test_server.Start()); 279 ASSERT_TRUE(test_server.Start());
280 280
281 net::AddressList addr; 281 net::AddressList addr;
282 ASSERT_TRUE(test_server.GetAddressList(&addr)); 282 ASSERT_TRUE(test_server.GetAddressList(&addr));
283 283
284 net::TestCompletionCallback callback; 284 net::TestCompletionCallback callback;
285 net::CapturingNetLog log; 285 net::CapturingNetLog log;
286 net::StreamSocket* transport = new net::TCPClientSocket( 286 net::StreamSocket* transport = new net::TCPClientSocket(
287 addr, &log, net::NetLog::Source()); 287 addr, &log, net::NetLog::Source());
288 int rv = transport->Connect(callback.callback()); 288 int rv = transport->Connect(callback.callback());
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 } 328 }
329 329
330 // TODO(wtc): Add unit tests for IsConnectedAndIdle: 330 // TODO(wtc): Add unit tests for IsConnectedAndIdle:
331 // - Server closes an SSL connection (with a close_notify alert message). 331 // - Server closes an SSL connection (with a close_notify alert message).
332 // - Server closes the underlying TCP connection directly. 332 // - Server closes the underlying TCP connection directly.
333 // - Server sends data unexpectedly. 333 // - Server sends data unexpectedly.
334 334
335 TEST_F(SSLClientSocketTest, Read) { 335 TEST_F(SSLClientSocketTest, Read) {
336 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 336 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
337 net::TestServer::kLocalhost, 337 net::TestServer::kLocalhost,
338 base::FilePath()); 338 net::TestServer::GetSourcePath());
339 ASSERT_TRUE(test_server.Start()); 339 ASSERT_TRUE(test_server.Start());
340 340
341 net::AddressList addr; 341 net::AddressList addr;
342 ASSERT_TRUE(test_server.GetAddressList(&addr)); 342 ASSERT_TRUE(test_server.GetAddressList(&addr));
343 343
344 net::TestCompletionCallback callback; 344 net::TestCompletionCallback callback;
345 net::StreamSocket* transport = new net::TCPClientSocket( 345 net::StreamSocket* transport = new net::TCPClientSocket(
346 addr, NULL, net::NetLog::Source()); 346 addr, NULL, net::NetLog::Source());
347 int rv = transport->Connect(callback.callback()); 347 int rv = transport->Connect(callback.callback());
348 if (rv == net::ERR_IO_PENDING) 348 if (rv == net::ERR_IO_PENDING)
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 if (rv <= 0) 384 if (rv <= 0)
385 break; 385 break;
386 } 386 }
387 } 387 }
388 388
389 // Test the full duplex mode, with Read and Write pending at the same time. 389 // Test the full duplex mode, with Read and Write pending at the same time.
390 // This test also serves as a regression test for http://crbug.com/29815. 390 // This test also serves as a regression test for http://crbug.com/29815.
391 TEST_F(SSLClientSocketTest, Read_FullDuplex) { 391 TEST_F(SSLClientSocketTest, Read_FullDuplex) {
392 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 392 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
393 net::TestServer::kLocalhost, 393 net::TestServer::kLocalhost,
394 base::FilePath()); 394 net::TestServer::GetSourcePath());
395 ASSERT_TRUE(test_server.Start()); 395 ASSERT_TRUE(test_server.Start());
396 396
397 net::AddressList addr; 397 net::AddressList addr;
398 ASSERT_TRUE(test_server.GetAddressList(&addr)); 398 ASSERT_TRUE(test_server.GetAddressList(&addr));
399 399
400 net::TestCompletionCallback callback; // Used for everything except Write. 400 net::TestCompletionCallback callback; // Used for everything except Write.
401 401
402 net::StreamSocket* transport = new net::TCPClientSocket( 402 net::StreamSocket* transport = new net::TCPClientSocket(
403 addr, NULL, net::NetLog::Source()); 403 addr, NULL, net::NetLog::Source());
404 int rv = transport->Connect(callback.callback()); 404 int rv = transport->Connect(callback.callback());
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 EXPECT_EQ(static_cast<int>(request_text.size()), rv); 442 EXPECT_EQ(static_cast<int>(request_text.size()), rv);
443 443
444 // Now get the Read result. 444 // Now get the Read result.
445 rv = callback.WaitForResult(); 445 rv = callback.WaitForResult();
446 EXPECT_GT(rv, 0); 446 EXPECT_GT(rv, 0);
447 } 447 }
448 448
449 TEST_F(SSLClientSocketTest, Read_SmallChunks) { 449 TEST_F(SSLClientSocketTest, Read_SmallChunks) {
450 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 450 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
451 net::TestServer::kLocalhost, 451 net::TestServer::kLocalhost,
452 base::FilePath()); 452 net::TestServer::GetSourcePath());
453 ASSERT_TRUE(test_server.Start()); 453 ASSERT_TRUE(test_server.Start());
454 454
455 net::AddressList addr; 455 net::AddressList addr;
456 ASSERT_TRUE(test_server.GetAddressList(&addr)); 456 ASSERT_TRUE(test_server.GetAddressList(&addr));
457 457
458 net::TestCompletionCallback callback; 458 net::TestCompletionCallback callback;
459 net::StreamSocket* transport = new net::TCPClientSocket( 459 net::StreamSocket* transport = new net::TCPClientSocket(
460 addr, NULL, net::NetLog::Source()); 460 addr, NULL, net::NetLog::Source());
461 int rv = transport->Connect(callback.callback()); 461 int rv = transport->Connect(callback.callback());
462 if (rv == net::ERR_IO_PENDING) 462 if (rv == net::ERR_IO_PENDING)
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 495
496 EXPECT_GE(rv, 0); 496 EXPECT_GE(rv, 0);
497 if (rv <= 0) 497 if (rv <= 0)
498 break; 498 break;
499 } 499 }
500 } 500 }
501 501
502 TEST_F(SSLClientSocketTest, Read_Interrupted) { 502 TEST_F(SSLClientSocketTest, Read_Interrupted) {
503 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 503 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
504 net::TestServer::kLocalhost, 504 net::TestServer::kLocalhost,
505 base::FilePath()); 505 net::TestServer::GetSourcePath());
506 ASSERT_TRUE(test_server.Start()); 506 ASSERT_TRUE(test_server.Start());
507 507
508 net::AddressList addr; 508 net::AddressList addr;
509 ASSERT_TRUE(test_server.GetAddressList(&addr)); 509 ASSERT_TRUE(test_server.GetAddressList(&addr));
510 510
511 net::TestCompletionCallback callback; 511 net::TestCompletionCallback callback;
512 net::StreamSocket* transport = new net::TCPClientSocket( 512 net::StreamSocket* transport = new net::TCPClientSocket(
513 addr, NULL, net::NetLog::Source()); 513 addr, NULL, net::NetLog::Source());
514 int rv = transport->Connect(callback.callback()); 514 int rv = transport->Connect(callback.callback());
515 if (rv == net::ERR_IO_PENDING) 515 if (rv == net::ERR_IO_PENDING)
(...skipping 29 matching lines...) Expand all
545 545
546 if (rv == net::ERR_IO_PENDING) 546 if (rv == net::ERR_IO_PENDING)
547 rv = callback.WaitForResult(); 547 rv = callback.WaitForResult();
548 548
549 EXPECT_GT(rv, 0); 549 EXPECT_GT(rv, 0);
550 } 550 }
551 551
552 TEST_F(SSLClientSocketTest, Read_FullLogging) { 552 TEST_F(SSLClientSocketTest, Read_FullLogging) {
553 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 553 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
554 net::TestServer::kLocalhost, 554 net::TestServer::kLocalhost,
555 base::FilePath()); 555 net::TestServer::GetSourcePath());
556 ASSERT_TRUE(test_server.Start()); 556 ASSERT_TRUE(test_server.Start());
557 557
558 net::AddressList addr; 558 net::AddressList addr;
559 ASSERT_TRUE(test_server.GetAddressList(&addr)); 559 ASSERT_TRUE(test_server.GetAddressList(&addr));
560 560
561 net::TestCompletionCallback callback; 561 net::TestCompletionCallback callback;
562 net::CapturingNetLog log; 562 net::CapturingNetLog log;
563 log.SetLogLevel(net::NetLog::LOG_ALL); 563 log.SetLogLevel(net::NetLog::LOG_ALL);
564 net::StreamSocket* transport = new net::TCPClientSocket( 564 net::StreamSocket* transport = new net::TCPClientSocket(
565 addr, &log, net::NetLog::Source()); 565 addr, &log, net::NetLog::Source());
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 last_index = net::ExpectLogContainsSomewhereAfter( 613 last_index = net::ExpectLogContainsSomewhereAfter(
614 entries, last_index + 1, net::NetLog::TYPE_SSL_SOCKET_BYTES_RECEIVED, 614 entries, last_index + 1, net::NetLog::TYPE_SSL_SOCKET_BYTES_RECEIVED,
615 net::NetLog::PHASE_NONE); 615 net::NetLog::PHASE_NONE);
616 } 616 }
617 } 617 }
618 618
619 // Regression test for http://crbug.com/42538 619 // Regression test for http://crbug.com/42538
620 TEST_F(SSLClientSocketTest, PrematureApplicationData) { 620 TEST_F(SSLClientSocketTest, PrematureApplicationData) {
621 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 621 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
622 net::TestServer::kLocalhost, 622 net::TestServer::kLocalhost,
623 base::FilePath()); 623 net::TestServer::GetSourcePath());
624 ASSERT_TRUE(test_server.Start()); 624 ASSERT_TRUE(test_server.Start());
625 625
626 net::AddressList addr; 626 net::AddressList addr;
627 net::TestCompletionCallback callback; 627 net::TestCompletionCallback callback;
628 628
629 static const unsigned char application_data[] = { 629 static const unsigned char application_data[] = {
630 0x17, 0x03, 0x01, 0x00, 0x4a, 0x02, 0x00, 0x00, 0x46, 0x03, 0x01, 0x4b, 630 0x17, 0x03, 0x01, 0x00, 0x4a, 0x02, 0x00, 0x00, 0x46, 0x03, 0x01, 0x4b,
631 0xc2, 0xf8, 0xb2, 0xc1, 0x56, 0x42, 0xb9, 0x57, 0x7f, 0xde, 0x87, 0x46, 631 0xc2, 0xf8, 0xb2, 0xc1, 0x56, 0x42, 0xb9, 0x57, 0x7f, 0xde, 0x87, 0x46,
632 0xf7, 0xa3, 0x52, 0x42, 0x21, 0xf0, 0x13, 0x1c, 0x9c, 0x83, 0x88, 0xd6, 632 0xf7, 0xa3, 0x52, 0x42, 0x21, 0xf0, 0x13, 0x1c, 0x9c, 0x83, 0x88, 0xd6,
633 0x93, 0x0c, 0xf6, 0x36, 0x30, 0x05, 0x7e, 0x20, 0xb5, 0xb5, 0x73, 0x36, 633 0x93, 0x0c, 0xf6, 0x36, 0x30, 0x05, 0x7e, 0x20, 0xb5, 0xb5, 0x73, 0x36,
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 const uint16 kCiphersToDisable[] = { 677 const uint16 kCiphersToDisable[] = {
678 0x0005, // TLS_RSA_WITH_RC4_128_SHA 678 0x0005, // TLS_RSA_WITH_RC4_128_SHA
679 }; 679 };
680 680
681 net::TestServer::SSLOptions ssl_options; 681 net::TestServer::SSLOptions ssl_options;
682 // Enable only RC4 on the test server. 682 // Enable only RC4 on the test server.
683 ssl_options.bulk_ciphers = 683 ssl_options.bulk_ciphers =
684 net::TestServer::SSLOptions::BULK_CIPHER_RC4; 684 net::TestServer::SSLOptions::BULK_CIPHER_RC4;
685 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 685 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
686 ssl_options, 686 ssl_options,
687 base::FilePath()); 687 net::TestServer::GetSourcePath());
688 ASSERT_TRUE(test_server.Start()); 688 ASSERT_TRUE(test_server.Start());
689 689
690 net::AddressList addr; 690 net::AddressList addr;
691 ASSERT_TRUE(test_server.GetAddressList(&addr)); 691 ASSERT_TRUE(test_server.GetAddressList(&addr));
692 692
693 net::TestCompletionCallback callback; 693 net::TestCompletionCallback callback;
694 net::CapturingNetLog log; 694 net::CapturingNetLog log;
695 net::StreamSocket* transport = new net::TCPClientSocket( 695 net::StreamSocket* transport = new net::TCPClientSocket(
696 addr, &log, net::NetLog::Source()); 696 addr, &log, net::NetLog::Source());
697 int rv = transport->Connect(callback.callback()); 697 int rv = transport->Connect(callback.callback());
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 LogContainsSSLConnectEndEvent(entries, -2)); 748 LogContainsSSLConnectEndEvent(entries, -2));
749 } 749 }
750 750
751 // When creating an SSLClientSocket, it is allowed to pass in a 751 // When creating an SSLClientSocket, it is allowed to pass in a
752 // ClientSocketHandle that is not obtained from a client socket pool. 752 // ClientSocketHandle that is not obtained from a client socket pool.
753 // Here we verify that such a simple ClientSocketHandle, not associated with any 753 // Here we verify that such a simple ClientSocketHandle, not associated with any
754 // client socket pool, can be destroyed safely. 754 // client socket pool, can be destroyed safely.
755 TEST_F(SSLClientSocketTest, ClientSocketHandleNotFromPool) { 755 TEST_F(SSLClientSocketTest, ClientSocketHandleNotFromPool) {
756 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 756 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
757 net::TestServer::kLocalhost, 757 net::TestServer::kLocalhost,
758 base::FilePath()); 758 net::TestServer::GetSourcePath());
759 ASSERT_TRUE(test_server.Start()); 759 ASSERT_TRUE(test_server.Start());
760 760
761 net::AddressList addr; 761 net::AddressList addr;
762 ASSERT_TRUE(test_server.GetAddressList(&addr)); 762 ASSERT_TRUE(test_server.GetAddressList(&addr));
763 763
764 net::TestCompletionCallback callback; 764 net::TestCompletionCallback callback;
765 net::StreamSocket* transport = new net::TCPClientSocket( 765 net::StreamSocket* transport = new net::TCPClientSocket(
766 addr, NULL, net::NetLog::Source()); 766 addr, NULL, net::NetLog::Source());
767 int rv = transport->Connect(callback.callback()); 767 int rv = transport->Connect(callback.callback());
768 if (rv == net::ERR_IO_PENDING) 768 if (rv == net::ERR_IO_PENDING)
(...skipping 13 matching lines...) Expand all
782 if (rv == net::ERR_IO_PENDING) 782 if (rv == net::ERR_IO_PENDING)
783 rv = callback.WaitForResult(); 783 rv = callback.WaitForResult();
784 EXPECT_EQ(net::OK, rv); 784 EXPECT_EQ(net::OK, rv);
785 } 785 }
786 786
787 // Verifies that SSLClientSocket::ExportKeyingMaterial return a success 787 // Verifies that SSLClientSocket::ExportKeyingMaterial return a success
788 // code and different keying label results in different keying material. 788 // code and different keying label results in different keying material.
789 TEST_F(SSLClientSocketTest, ExportKeyingMaterial) { 789 TEST_F(SSLClientSocketTest, ExportKeyingMaterial) {
790 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 790 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
791 net::TestServer::kLocalhost, 791 net::TestServer::kLocalhost,
792 base::FilePath()); 792 net::TestServer::GetSourcePath());
793 ASSERT_TRUE(test_server.Start()); 793 ASSERT_TRUE(test_server.Start());
794 794
795 net::AddressList addr; 795 net::AddressList addr;
796 ASSERT_TRUE(test_server.GetAddressList(&addr)); 796 ASSERT_TRUE(test_server.GetAddressList(&addr));
797 797
798 net::TestCompletionCallback callback; 798 net::TestCompletionCallback callback;
799 799
800 net::StreamSocket* transport = new net::TCPClientSocket( 800 net::StreamSocket* transport = new net::TCPClientSocket(
801 addr, NULL, net::NetLog::Source()); 801 addr, NULL, net::NetLog::Source());
802 int rv = transport->Connect(callback.callback()); 802 int rv = transport->Connect(callback.callback());
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 net::ImportCertFromFile(net::GetTestCertsDirectory(), 879 net::ImportCertFromFile(net::GetTestCertsDirectory(),
880 "redundant-validated-chain-root.pem"); 880 "redundant-validated-chain-root.pem");
881 ASSERT_NE(static_cast<net::X509Certificate*>(NULL), root_cert); 881 ASSERT_NE(static_cast<net::X509Certificate*>(NULL), root_cert);
882 net::ScopedTestRoot scoped_root(root_cert); 882 net::ScopedTestRoot scoped_root(root_cert);
883 883
884 // Set up a test server with CERT_CHAIN_WRONG_ROOT. 884 // Set up a test server with CERT_CHAIN_WRONG_ROOT.
885 net::TestServer::SSLOptions ssl_options( 885 net::TestServer::SSLOptions ssl_options(
886 net::TestServer::SSLOptions::CERT_CHAIN_WRONG_ROOT); 886 net::TestServer::SSLOptions::CERT_CHAIN_WRONG_ROOT);
887 net::TestServer test_server( 887 net::TestServer test_server(
888 net::TestServer::TYPE_HTTPS, ssl_options, 888 net::TestServer::TYPE_HTTPS, ssl_options,
889 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); 889 net::TestServer::GetSourceRelativePath(
890 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))));
890 ASSERT_TRUE(test_server.Start()); 891 ASSERT_TRUE(test_server.Start());
891 892
892 net::AddressList addr; 893 net::AddressList addr;
893 ASSERT_TRUE(test_server.GetAddressList(&addr)); 894 ASSERT_TRUE(test_server.GetAddressList(&addr));
894 895
895 net::TestCompletionCallback callback; 896 net::TestCompletionCallback callback;
896 net::CapturingNetLog log; 897 net::CapturingNetLog log;
897 net::StreamSocket* transport = new net::TCPClientSocket( 898 net::StreamSocket* transport = new net::TCPClientSocket(
898 addr, &log, net::NetLog::Source()); 899 addr, &log, net::NetLog::Source());
899 int rv = transport->Connect(callback.callback()); 900 int rv = transport->Connect(callback.callback());
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
940 941
941 // Verifies the correctness of GetSSLCertRequestInfo. 942 // Verifies the correctness of GetSSLCertRequestInfo.
942 class SSLClientSocketCertRequestInfoTest : public SSLClientSocketTest { 943 class SSLClientSocketCertRequestInfoTest : public SSLClientSocketTest {
943 protected: 944 protected:
944 // Creates a test server with the given SSLOptions, connects to it and returns 945 // Creates a test server with the given SSLOptions, connects to it and returns
945 // the SSLCertRequestInfo reported by the socket. 946 // the SSLCertRequestInfo reported by the socket.
946 scoped_refptr<net::SSLCertRequestInfo> GetCertRequest( 947 scoped_refptr<net::SSLCertRequestInfo> GetCertRequest(
947 net::TestServer::SSLOptions ssl_options) { 948 net::TestServer::SSLOptions ssl_options) {
948 net::TestServer test_server(net::TestServer::TYPE_HTTPS, 949 net::TestServer test_server(net::TestServer::TYPE_HTTPS,
949 ssl_options, 950 ssl_options,
950 base::FilePath()); 951 net::TestServer::GetSourcePath());
951 if (!test_server.Start()) 952 if (!test_server.Start())
952 return NULL; 953 return NULL;
953 954
954 net::AddressList addr; 955 net::AddressList addr;
955 if (!test_server.GetAddressList(&addr)) 956 if (!test_server.GetAddressList(&addr))
956 return NULL; 957 return NULL;
957 958
958 net::TestCompletionCallback callback; 959 net::TestCompletionCallback callback;
959 net::CapturingNetLog log; 960 net::CapturingNetLog log;
960 net::StreamSocket* transport = new net::TCPClientSocket( 961 net::StreamSocket* transport = new net::TCPClientSocket(
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1040 scoped_refptr<net::SSLCertRequestInfo> request_info = 1041 scoped_refptr<net::SSLCertRequestInfo> request_info =
1041 GetCertRequest(ssl_options); 1042 GetCertRequest(ssl_options);
1042 ASSERT_TRUE(request_info); 1043 ASSERT_TRUE(request_info);
1043 ASSERT_EQ(2u, request_info->cert_authorities.size()); 1044 ASSERT_EQ(2u, request_info->cert_authorities.size());
1044 EXPECT_EQ(std::string(reinterpret_cast<const char*>(kThawteDN), kThawteLen), 1045 EXPECT_EQ(std::string(reinterpret_cast<const char*>(kThawteDN), kThawteLen),
1045 request_info->cert_authorities[0]); 1046 request_info->cert_authorities[0]);
1046 EXPECT_EQ( 1047 EXPECT_EQ(
1047 std::string(reinterpret_cast<const char*>(kDiginotarDN), kDiginotarLen), 1048 std::string(reinterpret_cast<const char*>(kDiginotarDN), kDiginotarLen),
1048 request_info->cert_authorities[1]); 1049 request_info->cert_authorities[1]);
1049 } 1050 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698