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

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

Issue 1129473002: Revert of Add CompleteRead to SequencedSocketData and convert all but 3 tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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 | « no previous file | net/socket/sequenced_socket_data_unittest.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 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 3673 matching lines...) Expand 10 before | Expand all | Expand 10 after
3684 spdy_util_.ConstructWrappedSpdyFrame(get_resp, 1)); 3684 spdy_util_.ConstructWrappedSpdyFrame(get_resp, 1));
3685 scoped_ptr<SpdyFrame> body(spdy_util_.ConstructSpdyBodyFrame(1, true)); 3685 scoped_ptr<SpdyFrame> body(spdy_util_.ConstructSpdyBodyFrame(1, true));
3686 scoped_ptr<SpdyFrame> wrapped_body( 3686 scoped_ptr<SpdyFrame> wrapped_body(
3687 spdy_util_.ConstructWrappedSpdyFrame(body, 1)); 3687 spdy_util_.ConstructWrappedSpdyFrame(body, 1));
3688 scoped_ptr<SpdyFrame> window_update_get_resp( 3688 scoped_ptr<SpdyFrame> window_update_get_resp(
3689 spdy_util_.ConstructSpdyWindowUpdate(1, wrapped_get_resp->size())); 3689 spdy_util_.ConstructSpdyWindowUpdate(1, wrapped_get_resp->size()));
3690 scoped_ptr<SpdyFrame> window_update_body( 3690 scoped_ptr<SpdyFrame> window_update_body(
3691 spdy_util_.ConstructSpdyWindowUpdate(1, wrapped_body->size())); 3691 spdy_util_.ConstructSpdyWindowUpdate(1, wrapped_body->size()));
3692 3692
3693 MockWrite spdy_writes[] = { 3693 MockWrite spdy_writes[] = {
3694 CreateMockWrite(*connect, 0), 3694 CreateMockWrite(*connect, 1),
3695 CreateMockWrite(*wrapped_get, 2), 3695 CreateMockWrite(*wrapped_get, 3),
3696 CreateMockWrite(*window_update_get_resp, 6), 3696 CreateMockWrite(*window_update_get_resp, 5),
3697 CreateMockWrite(*window_update_body, 7), 3697 CreateMockWrite(*window_update_body, 7),
3698 }; 3698 };
3699 3699
3700 MockRead spdy_reads[] = { 3700 MockRead spdy_reads[] = {
3701 CreateMockRead(*conn_resp, 1, ASYNC), 3701 CreateMockRead(*conn_resp, 2, ASYNC),
3702 MockRead(ASYNC, ERR_IO_PENDING, 3),
3703 CreateMockRead(*wrapped_get_resp, 4, ASYNC), 3702 CreateMockRead(*wrapped_get_resp, 4, ASYNC),
3704 CreateMockRead(*wrapped_body, 5, ASYNC), 3703 CreateMockRead(*wrapped_body, 6, ASYNC),
3705 MockRead(ASYNC, 0, 8), 3704 MockRead(ASYNC, 0, 8),
3706 }; 3705 };
3707 3706
3708 SequencedSocketData spdy_data(spdy_reads, arraysize(spdy_reads), spdy_writes, 3707 OrderedSocketData spdy_data(
3709 arraysize(spdy_writes)); 3708 spdy_reads, arraysize(spdy_reads),
3709 spdy_writes, arraysize(spdy_writes));
3710 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); 3710 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data);
3711 3711
3712 SSLSocketDataProvider ssl(ASYNC, OK); 3712 SSLSocketDataProvider ssl(ASYNC, OK);
3713 ssl.SetNextProto(GetParam()); 3713 ssl.SetNextProto(GetParam());
3714 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); 3714 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl);
3715 SSLSocketDataProvider ssl2(ASYNC, OK); 3715 SSLSocketDataProvider ssl2(ASYNC, OK);
3716 ssl2.SetNextProto(GetParam()); 3716 ssl2.SetNextProto(GetParam());
3717 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); 3717 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2);
3718 3718
3719 TestCompletionCallback callback1; 3719 TestCompletionCallback callback1;
3720 3720
3721 int rv = trans->Start(&request, callback1.callback(), log.bound()); 3721 int rv = trans->Start(&request, callback1.callback(), log.bound());
3722 EXPECT_EQ(ERR_IO_PENDING, rv); 3722 EXPECT_EQ(ERR_IO_PENDING, rv);
3723 3723
3724 // Allow the SpdyProxyClientSocket's write callback to complete.
3725 base::MessageLoop::current()->RunUntilIdle();
3726 // Now allow the read of the response to complete.
3727 spdy_data.CompleteRead();
3728 rv = callback1.WaitForResult(); 3724 rv = callback1.WaitForResult();
3729 EXPECT_EQ(OK, rv); 3725 EXPECT_EQ(OK, rv);
3730 3726
3731 LoadTimingInfo load_timing_info; 3727 LoadTimingInfo load_timing_info;
3732 EXPECT_TRUE(trans->GetLoadTimingInfo(&load_timing_info)); 3728 EXPECT_TRUE(trans->GetLoadTimingInfo(&load_timing_info));
3733 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_SSL_TIMES); 3729 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_SSL_TIMES);
3734 3730
3735 const HttpResponseInfo* response = trans->GetResponseInfo(); 3731 const HttpResponseInfo* response = trans->GetResponseInfo();
3736 ASSERT_TRUE(response != NULL); 3732 ASSERT_TRUE(response != NULL);
3737 ASSERT_TRUE(response->headers.get() != NULL); 3733 ASSERT_TRUE(response->headers.get() != NULL);
(...skipping 8144 matching lines...) Expand 10 before | Expand all | Expand 10 after
11882 writes.push_back(CreateMockWrite(*req1, 0)); 11878 writes.push_back(CreateMockWrite(*req1, 0));
11883 11879
11884 resp1.reset(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); 11880 resp1.reset(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1));
11885 body1.reset(spdy_util_.ConstructSpdyBodyFrame(1, true)); 11881 body1.reset(spdy_util_.ConstructSpdyBodyFrame(1, true));
11886 11882
11887 reads.push_back(CreateMockRead(*resp1, 1)); 11883 reads.push_back(CreateMockRead(*resp1, 1));
11888 reads.push_back(CreateMockRead(*body1, 2)); 11884 reads.push_back(CreateMockRead(*body1, 2));
11889 reads.push_back(MockRead(ASYNC, OK, 3)); 11885 reads.push_back(MockRead(ASYNC, OK, 3));
11890 } 11886 }
11891 11887
11892 SequencedSocketData data(vector_as_array(&reads), reads.size(), 11888 OrderedSocketData data(vector_as_array(&reads), reads.size(),
11893 vector_as_array(&writes), writes.size()); 11889 vector_as_array(&writes), writes.size());
11894 session_deps_.socket_factory->AddSocketDataProvider(&data); 11890 session_deps_.socket_factory->AddSocketDataProvider(&data);
11895 11891
11896 // Connection to the origin fails. 11892 // Connection to the origin fails.
11897 MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); 11893 MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED);
11898 StaticSocketDataProvider data_refused; 11894 StaticSocketDataProvider data_refused;
11899 data_refused.set_connect_data(mock_connect); 11895 data_refused.set_connect_data(mock_connect);
11900 session_deps_.socket_factory->AddSocketDataProvider(&data_refused); 11896 session_deps_.socket_factory->AddSocketDataProvider(&data_refused);
11901 11897
11902 session_deps_.use_alternate_protocols = true; 11898 session_deps_.use_alternate_protocols = true;
11903 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); 11899 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_));
(...skipping 24 matching lines...) Expand all
11928 scoped_ptr<HttpTransaction> trans1( 11924 scoped_ptr<HttpTransaction> trans1(
11929 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); 11925 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get()));
11930 HttpRequestInfo request1; 11926 HttpRequestInfo request1;
11931 request1.method = "GET"; 11927 request1.method = "GET";
11932 request1.url = GURL(url1); 11928 request1.url = GURL(url1);
11933 request1.load_flags = 0; 11929 request1.load_flags = 0;
11934 TestCompletionCallback callback1; 11930 TestCompletionCallback callback1;
11935 11931
11936 int rv = trans1->Start(&request1, callback1.callback(), BoundNetLog()); 11932 int rv = trans1->Start(&request1, callback1.callback(), BoundNetLog());
11937 EXPECT_EQ(ERR_IO_PENDING, rv); 11933 EXPECT_EQ(ERR_IO_PENDING, rv);
11938 base::MessageLoop::current()->RunUntilIdle();
11939 if (data.IsReadPaused()) {
11940 data.CompleteRead();
11941 }
11942 rv = callback1.WaitForResult(); 11934 rv = callback1.WaitForResult();
11943 if (valid) { 11935 if (valid) {
11944 EXPECT_EQ(OK, rv); 11936 EXPECT_EQ(OK, rv);
11945 } else { 11937 } else {
11946 if (pooling) { 11938 if (pooling) {
11947 EXPECT_EQ(ERR_CONNECTION_REFUSED, rv); 11939 EXPECT_EQ(ERR_CONNECTION_REFUSED, rv);
11948 } else { 11940 } else {
11949 EXPECT_EQ(ERR_ALTERNATIVE_CERT_NOT_VALID_FOR_ORIGIN, rv); 11941 EXPECT_EQ(ERR_ALTERNATIVE_CERT_NOT_VALID_FOR_ORIGIN, rv);
11950 } 11942 }
11951 } 11943 }
(...skipping 2062 matching lines...) Expand 10 before | Expand all | Expand 10 after
14014 ASSERT_TRUE(response); 14006 ASSERT_TRUE(response);
14015 ASSERT_TRUE(response->headers.get()); 14007 ASSERT_TRUE(response->headers.get());
14016 14008
14017 EXPECT_EQ(101, response->headers->response_code()); 14009 EXPECT_EQ(101, response->headers->response_code());
14018 14010
14019 trans.reset(); 14011 trans.reset();
14020 session->CloseAllConnections(); 14012 session->CloseAllConnections();
14021 } 14013 }
14022 14014
14023 } // namespace net 14015 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/socket/sequenced_socket_data_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698