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

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

Issue 1117863003: Convert the remaining three SpdyNetworkTransactionTests to SequencedSocketData (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase 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 3668 matching lines...) Expand 10 before | Expand all | Expand 10 after
3679 spdy_util_.ConstructWrappedSpdyFrame(get_resp, 1)); 3679 spdy_util_.ConstructWrappedSpdyFrame(get_resp, 1));
3680 scoped_ptr<SpdyFrame> body(spdy_util_.ConstructSpdyBodyFrame(1, true)); 3680 scoped_ptr<SpdyFrame> body(spdy_util_.ConstructSpdyBodyFrame(1, true));
3681 scoped_ptr<SpdyFrame> wrapped_body( 3681 scoped_ptr<SpdyFrame> wrapped_body(
3682 spdy_util_.ConstructWrappedSpdyFrame(body, 1)); 3682 spdy_util_.ConstructWrappedSpdyFrame(body, 1));
3683 scoped_ptr<SpdyFrame> window_update_get_resp( 3683 scoped_ptr<SpdyFrame> window_update_get_resp(
3684 spdy_util_.ConstructSpdyWindowUpdate(1, wrapped_get_resp->size())); 3684 spdy_util_.ConstructSpdyWindowUpdate(1, wrapped_get_resp->size()));
3685 scoped_ptr<SpdyFrame> window_update_body( 3685 scoped_ptr<SpdyFrame> window_update_body(
3686 spdy_util_.ConstructSpdyWindowUpdate(1, wrapped_body->size())); 3686 spdy_util_.ConstructSpdyWindowUpdate(1, wrapped_body->size()));
3687 3687
3688 MockWrite spdy_writes[] = { 3688 MockWrite spdy_writes[] = {
3689 CreateMockWrite(*connect, 1), 3689 CreateMockWrite(*connect, 0),
3690 CreateMockWrite(*wrapped_get, 3), 3690 CreateMockWrite(*wrapped_get, 2),
3691 CreateMockWrite(*window_update_get_resp, 5), 3691 CreateMockWrite(*window_update_get_resp, 6),
3692 CreateMockWrite(*window_update_body, 7), 3692 CreateMockWrite(*window_update_body, 7),
3693 }; 3693 };
3694 3694
3695 MockRead spdy_reads[] = { 3695 MockRead spdy_reads[] = {
3696 CreateMockRead(*conn_resp, 2, ASYNC), 3696 CreateMockRead(*conn_resp, 1, ASYNC),
3697 MockRead(ASYNC, ERR_IO_PENDING, 3),
3697 CreateMockRead(*wrapped_get_resp, 4, ASYNC), 3698 CreateMockRead(*wrapped_get_resp, 4, ASYNC),
3698 CreateMockRead(*wrapped_body, 6, ASYNC), 3699 CreateMockRead(*wrapped_body, 5, ASYNC),
3699 MockRead(ASYNC, 0, 8), 3700 MockRead(ASYNC, 0, 8),
3700 }; 3701 };
3701 3702
3702 OrderedSocketData spdy_data( 3703 SequencedSocketData spdy_data(spdy_reads, arraysize(spdy_reads), spdy_writes,
3703 spdy_reads, arraysize(spdy_reads), 3704 arraysize(spdy_writes));
3704 spdy_writes, arraysize(spdy_writes));
3705 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); 3705 session_deps_.socket_factory->AddSocketDataProvider(&spdy_data);
3706 3706
3707 SSLSocketDataProvider ssl(ASYNC, OK); 3707 SSLSocketDataProvider ssl(ASYNC, OK);
3708 ssl.SetNextProto(GetParam()); 3708 ssl.SetNextProto(GetParam());
3709 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); 3709 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl);
3710 SSLSocketDataProvider ssl2(ASYNC, OK); 3710 SSLSocketDataProvider ssl2(ASYNC, OK);
3711 ssl2.SetNextProto(GetParam()); 3711 ssl2.SetNextProto(GetParam());
3712 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); 3712 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2);
3713 3713
3714 TestCompletionCallback callback1; 3714 TestCompletionCallback callback1;
3715 3715
3716 int rv = trans->Start(&request, callback1.callback(), log.bound()); 3716 int rv = trans->Start(&request, callback1.callback(), log.bound());
3717 EXPECT_EQ(ERR_IO_PENDING, rv); 3717 EXPECT_EQ(ERR_IO_PENDING, rv);
3718 3718
3719 // Allow the SpdyProxyClientSocket's write callback to complete.
3720 base::MessageLoop::current()->RunUntilIdle();
3721 // Now allow the read of the response to complete.
3722 spdy_data.CompleteRead();
3719 rv = callback1.WaitForResult(); 3723 rv = callback1.WaitForResult();
3720 EXPECT_EQ(OK, rv); 3724 EXPECT_EQ(OK, rv);
3721 3725
3722 LoadTimingInfo load_timing_info; 3726 LoadTimingInfo load_timing_info;
3723 EXPECT_TRUE(trans->GetLoadTimingInfo(&load_timing_info)); 3727 EXPECT_TRUE(trans->GetLoadTimingInfo(&load_timing_info));
3724 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_SSL_TIMES); 3728 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_SSL_TIMES);
3725 3729
3726 const HttpResponseInfo* response = trans->GetResponseInfo(); 3730 const HttpResponseInfo* response = trans->GetResponseInfo();
3727 ASSERT_TRUE(response != NULL); 3731 ASSERT_TRUE(response != NULL);
3728 ASSERT_TRUE(response->headers.get() != NULL); 3732 ASSERT_TRUE(response->headers.get() != NULL);
(...skipping 8125 matching lines...) Expand 10 before | Expand all | Expand 10 after
11854 writes.push_back(CreateMockWrite(*req1, 0)); 11858 writes.push_back(CreateMockWrite(*req1, 0));
11855 11859
11856 resp1.reset(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); 11860 resp1.reset(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1));
11857 body1.reset(spdy_util_.ConstructSpdyBodyFrame(1, true)); 11861 body1.reset(spdy_util_.ConstructSpdyBodyFrame(1, true));
11858 11862
11859 reads.push_back(CreateMockRead(*resp1, 1)); 11863 reads.push_back(CreateMockRead(*resp1, 1));
11860 reads.push_back(CreateMockRead(*body1, 2)); 11864 reads.push_back(CreateMockRead(*body1, 2));
11861 reads.push_back(MockRead(ASYNC, OK, 3)); 11865 reads.push_back(MockRead(ASYNC, OK, 3));
11862 } 11866 }
11863 11867
11864 OrderedSocketData data(vector_as_array(&reads), reads.size(), 11868 SequencedSocketData data(vector_as_array(&reads), reads.size(),
11865 vector_as_array(&writes), writes.size()); 11869 vector_as_array(&writes), writes.size());
11866 session_deps_.socket_factory->AddSocketDataProvider(&data); 11870 session_deps_.socket_factory->AddSocketDataProvider(&data);
11867 11871
11868 // Connection to the origin fails. 11872 // Connection to the origin fails.
11869 MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); 11873 MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED);
11870 StaticSocketDataProvider data_refused; 11874 StaticSocketDataProvider data_refused;
11871 data_refused.set_connect_data(mock_connect); 11875 data_refused.set_connect_data(mock_connect);
11872 session_deps_.socket_factory->AddSocketDataProvider(&data_refused); 11876 session_deps_.socket_factory->AddSocketDataProvider(&data_refused);
11873 11877
11874 session_deps_.use_alternate_protocols = true; 11878 session_deps_.use_alternate_protocols = true;
11875 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); 11879 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_));
(...skipping 24 matching lines...) Expand all
11900 scoped_ptr<HttpTransaction> trans1( 11904 scoped_ptr<HttpTransaction> trans1(
11901 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); 11905 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get()));
11902 HttpRequestInfo request1; 11906 HttpRequestInfo request1;
11903 request1.method = "GET"; 11907 request1.method = "GET";
11904 request1.url = GURL(url1); 11908 request1.url = GURL(url1);
11905 request1.load_flags = 0; 11909 request1.load_flags = 0;
11906 TestCompletionCallback callback1; 11910 TestCompletionCallback callback1;
11907 11911
11908 int rv = trans1->Start(&request1, callback1.callback(), BoundNetLog()); 11912 int rv = trans1->Start(&request1, callback1.callback(), BoundNetLog());
11909 EXPECT_EQ(ERR_IO_PENDING, rv); 11913 EXPECT_EQ(ERR_IO_PENDING, rv);
11914 base::MessageLoop::current()->RunUntilIdle();
11915 if (data.IsReadPaused()) {
11916 data.CompleteRead();
11917 }
11910 rv = callback1.WaitForResult(); 11918 rv = callback1.WaitForResult();
11911 if (valid) { 11919 if (valid) {
11912 EXPECT_EQ(OK, rv); 11920 EXPECT_EQ(OK, rv);
11913 } else { 11921 } else {
11914 if (pooling) { 11922 if (pooling) {
11915 EXPECT_EQ(ERR_CONNECTION_REFUSED, rv); 11923 EXPECT_EQ(ERR_CONNECTION_REFUSED, rv);
11916 } else { 11924 } else {
11917 EXPECT_EQ(ERR_ALTERNATIVE_CERT_NOT_VALID_FOR_ORIGIN, rv); 11925 EXPECT_EQ(ERR_ALTERNATIVE_CERT_NOT_VALID_FOR_ORIGIN, rv);
11918 } 11926 }
11919 } 11927 }
(...skipping 2311 matching lines...) Expand 10 before | Expand all | Expand 10 after
14231 ASSERT_TRUE(response); 14239 ASSERT_TRUE(response);
14232 ASSERT_TRUE(response->headers.get()); 14240 ASSERT_TRUE(response->headers.get());
14233 14241
14234 EXPECT_EQ(101, response->headers->response_code()); 14242 EXPECT_EQ(101, response->headers->response_code());
14235 14243
14236 trans.reset(); 14244 trans.reset();
14237 session->CloseAllConnections(); 14245 session->CloseAllConnections();
14238 } 14246 }
14239 14247
14240 } // namespace net 14248 } // 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