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

Side by Side Diff: net/http/http_network_transaction_unittest.cc

Issue 1097773003: Clean up NPN/ALPN-related SSLClientSocket bits. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: const Created 5 years, 8 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 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 "net/http/http_network_transaction.h" 5 #include "net/http/http_network_transaction.h"
6 6
7 #include <math.h> // ceil 7 #include <math.h> // ceil
8 #include <stdarg.h> 8 #include <stdarg.h>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 3587 matching lines...) Expand 10 before | Expand all | Expand 10 after
3598 3598
3599 OrderedSocketData spdy_data( 3599 OrderedSocketData spdy_data(
3600 spdy_reads, arraysize(spdy_reads), 3600 spdy_reads, arraysize(spdy_reads),
3601 spdy_writes, arraysize(spdy_writes)); 3601 spdy_writes, arraysize(spdy_writes));
3602 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); 3602 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data);
3603 3603
3604 SSLSocketDataProvider ssl(ASYNC, OK); 3604 SSLSocketDataProvider ssl(ASYNC, OK);
3605 ssl.SetNextProto(GetParam()); 3605 ssl.SetNextProto(GetParam());
3606 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); 3606 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl);
3607 SSLSocketDataProvider ssl2(ASYNC, OK); 3607 SSLSocketDataProvider ssl2(ASYNC, OK);
3608 ssl2.was_npn_negotiated = false;
3609 ssl2.protocol_negotiated = kProtoUnknown;
3610 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); 3608 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2);
3611 3609
3612 TestCompletionCallback callback1; 3610 TestCompletionCallback callback1;
3613 3611
3614 int rv = trans->Start(&request, callback1.callback(), log.bound()); 3612 int rv = trans->Start(&request, callback1.callback(), log.bound());
3615 EXPECT_EQ(ERR_IO_PENDING, rv); 3613 EXPECT_EQ(ERR_IO_PENDING, rv);
3616 3614
3617 rv = callback1.WaitForResult(); 3615 rv = callback1.WaitForResult();
3618 EXPECT_EQ(OK, rv); 3616 EXPECT_EQ(OK, rv);
3619 3617
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
3688 OrderedSocketData spdy_data( 3686 OrderedSocketData spdy_data(
3689 spdy_reads, arraysize(spdy_reads), 3687 spdy_reads, arraysize(spdy_reads),
3690 spdy_writes, arraysize(spdy_writes)); 3688 spdy_writes, arraysize(spdy_writes));
3691 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); 3689 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data);
3692 3690
3693 SSLSocketDataProvider ssl(ASYNC, OK); 3691 SSLSocketDataProvider ssl(ASYNC, OK);
3694 ssl.SetNextProto(GetParam()); 3692 ssl.SetNextProto(GetParam());
3695 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); 3693 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl);
3696 SSLSocketDataProvider ssl2(ASYNC, OK); 3694 SSLSocketDataProvider ssl2(ASYNC, OK);
3697 ssl2.SetNextProto(GetParam()); 3695 ssl2.SetNextProto(GetParam());
3698 ssl2.protocol_negotiated = GetParam();
3699 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); 3696 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2);
3700 3697
3701 TestCompletionCallback callback1; 3698 TestCompletionCallback callback1;
3702 3699
3703 int rv = trans->Start(&request, callback1.callback(), log.bound()); 3700 int rv = trans->Start(&request, callback1.callback(), log.bound());
3704 EXPECT_EQ(ERR_IO_PENDING, rv); 3701 EXPECT_EQ(ERR_IO_PENDING, rv);
3705 3702
3706 rv = callback1.WaitForResult(); 3703 rv = callback1.WaitForResult();
3707 EXPECT_EQ(OK, rv); 3704 EXPECT_EQ(OK, rv);
3708 3705
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
3865 3862
3866 DeterministicSocketData spdy_data( 3863 DeterministicSocketData spdy_data(
3867 spdy_reads, arraysize(spdy_reads), 3864 spdy_reads, arraysize(spdy_reads),
3868 spdy_writes, arraysize(spdy_writes)); 3865 spdy_writes, arraysize(spdy_writes));
3869 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); 3866 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data);
3870 3867
3871 SSLSocketDataProvider ssl(ASYNC, OK); 3868 SSLSocketDataProvider ssl(ASYNC, OK);
3872 ssl.SetNextProto(GetParam()); 3869 ssl.SetNextProto(GetParam());
3873 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); 3870 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl);
3874 SSLSocketDataProvider ssl2(ASYNC, OK); 3871 SSLSocketDataProvider ssl2(ASYNC, OK);
3875 ssl2.was_npn_negotiated = false;
3876 ssl2.protocol_negotiated = kProtoUnknown;
3877 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); 3872 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2);
3878 SSLSocketDataProvider ssl3(ASYNC, OK); 3873 SSLSocketDataProvider ssl3(ASYNC, OK);
3879 ssl3.was_npn_negotiated = false;
3880 ssl3.protocol_negotiated = kProtoUnknown;
3881 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl3); 3874 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl3);
3882 3875
3883 TestCompletionCallback callback; 3876 TestCompletionCallback callback;
3884 3877
3885 scoped_ptr<HttpTransaction> trans( 3878 scoped_ptr<HttpTransaction> trans(
3886 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); 3879 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get()));
3887 int rv = trans->Start(&request1, callback.callback(), BoundNetLog()); 3880 int rv = trans->Start(&request1, callback.callback(), BoundNetLog());
3888 EXPECT_EQ(ERR_IO_PENDING, rv); 3881 EXPECT_EQ(ERR_IO_PENDING, rv);
3889 // The first connect and request, each of their responses, and the body. 3882 // The first connect and request, each of their responses, and the body.
3890 spdy_data.RunFor(5); 3883 spdy_data.RunFor(5);
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
4001 3994
4002 DeterministicSocketData spdy_data( 3995 DeterministicSocketData spdy_data(
4003 spdy_reads, arraysize(spdy_reads), 3996 spdy_reads, arraysize(spdy_reads),
4004 spdy_writes, arraysize(spdy_writes)); 3997 spdy_writes, arraysize(spdy_writes));
4005 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); 3998 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data);
4006 3999
4007 SSLSocketDataProvider ssl(ASYNC, OK); 4000 SSLSocketDataProvider ssl(ASYNC, OK);
4008 ssl.SetNextProto(GetParam()); 4001 ssl.SetNextProto(GetParam());
4009 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); 4002 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl);
4010 SSLSocketDataProvider ssl2(ASYNC, OK); 4003 SSLSocketDataProvider ssl2(ASYNC, OK);
4011 ssl2.was_npn_negotiated = false;
4012 ssl2.protocol_negotiated = kProtoUnknown;
4013 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); 4004 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2);
4014 4005
4015 TestCompletionCallback callback; 4006 TestCompletionCallback callback;
4016 4007
4017 scoped_ptr<HttpTransaction> trans( 4008 scoped_ptr<HttpTransaction> trans(
4018 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); 4009 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get()));
4019 int rv = trans->Start(&request1, callback.callback(), BoundNetLog()); 4010 int rv = trans->Start(&request1, callback.callback(), BoundNetLog());
4020 EXPECT_EQ(ERR_IO_PENDING, rv); 4011 EXPECT_EQ(ERR_IO_PENDING, rv);
4021 // The first connect and request, each of their responses, and the body. 4012 // The first connect and request, each of their responses, and the body.
4022 spdy_data.RunFor(5); 4013 spdy_data.RunFor(5);
(...skipping 6319 matching lines...) Expand 10 before | Expand all | Expand 10 after
10342 GetAlternateProtocolHttpHeader(); 10333 GetAlternateProtocolHttpHeader();
10343 10334
10344 MockRead data_reads[] = { 10335 MockRead data_reads[] = {
10345 MockRead("HTTP/1.1 200 OK\r\n"), 10336 MockRead("HTTP/1.1 200 OK\r\n"),
10346 MockRead(alternate_protocol_http_header.c_str()), 10337 MockRead(alternate_protocol_http_header.c_str()),
10347 MockRead("hello world"), 10338 MockRead("hello world"),
10348 MockRead(SYNCHRONOUS, OK), 10339 MockRead(SYNCHRONOUS, OK),
10349 }; 10340 };
10350 10341
10351 SSLSocketDataProvider ssl(ASYNC, OK); 10342 SSLSocketDataProvider ssl(ASYNC, OK);
10352 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated; 10343 ssl.SetNextProto(kProtoHTTP11);
10353 ssl.next_proto = "http/1.1";
10354 ssl.protocol_negotiated = kProtoHTTP11;
10355 10344
10356 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); 10345 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl);
10357 10346
10358 StaticSocketDataProvider data(data_reads, arraysize(data_reads), 10347 StaticSocketDataProvider data(data_reads, arraysize(data_reads),
10359 data_writes, arraysize(data_writes)); 10348 data_writes, arraysize(data_writes));
10360 session_deps_.socket_factory->AddSocketDataProvider(&data); 10349 session_deps_.socket_factory->AddSocketDataProvider(&data);
10361 10350
10362 TestCompletionCallback callback; 10351 TestCompletionCallback callback;
10363 10352
10364 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); 10353 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_));
(...skipping 3418 matching lines...) Expand 10 before | Expand all | Expand 10 after
13783 ASSERT_TRUE(response); 13772 ASSERT_TRUE(response);
13784 ASSERT_TRUE(response->headers.get()); 13773 ASSERT_TRUE(response->headers.get());
13785 13774
13786 EXPECT_EQ(101, response->headers->response_code()); 13775 EXPECT_EQ(101, response->headers->response_code());
13787 13776
13788 trans.reset(); 13777 trans.reset();
13789 session->CloseAllConnections(); 13778 session->CloseAllConnections();
13790 } 13779 }
13791 13780
13792 } // namespace net 13781 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698