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

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

Issue 2771263002: Retry upon 421 status code without IP pooling. (Closed)
Patch Set: Rebase. Created 3 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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_stream_factory_impl_request.h" 5 #include "net/http/http_stream_factory_impl_request.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 17 matching lines...) Expand all
28 SpdySessionDependencies session_deps(ProxyService::CreateDirect()); 28 SpdySessionDependencies session_deps(ProxyService::CreateDirect());
29 std::unique_ptr<HttpNetworkSession> session = 29 std::unique_ptr<HttpNetworkSession> session =
30 SpdySessionDependencies::SpdyCreateSession(&session_deps); 30 SpdySessionDependencies::SpdyCreateSession(&session_deps);
31 HttpStreamFactoryImpl* factory = 31 HttpStreamFactoryImpl* factory =
32 static_cast<HttpStreamFactoryImpl*>(session->http_stream_factory()); 32 static_cast<HttpStreamFactoryImpl*>(session->http_stream_factory());
33 MockHttpStreamRequestDelegate request_delegate; 33 MockHttpStreamRequestDelegate request_delegate;
34 TestJobFactory job_factory; 34 TestJobFactory job_factory;
35 HttpRequestInfo request_info; 35 HttpRequestInfo request_info;
36 auto job_controller = base::MakeUnique<HttpStreamFactoryImpl::JobController>( 36 auto job_controller = base::MakeUnique<HttpStreamFactoryImpl::JobController>(
37 factory, &request_delegate, session.get(), &job_factory, request_info, 37 factory, &request_delegate, session.get(), &job_factory, request_info,
38 /*is_preconnect=*/false); 38 /* is_preconnect = */ false,
39 /* enable_ip_based_pooling = */ true);
39 HttpStreamFactoryImpl::JobController* job_controller_raw_ptr = 40 HttpStreamFactoryImpl::JobController* job_controller_raw_ptr =
40 job_controller.get(); 41 job_controller.get();
41 factory->job_controller_set_.insert(std::move(job_controller)); 42 factory->job_controller_set_.insert(std::move(job_controller));
42 43
43 std::unique_ptr<HttpStreamFactoryImpl::Request> request( 44 std::unique_ptr<HttpStreamFactoryImpl::Request> request(
44 job_controller_raw_ptr->Start( 45 job_controller_raw_ptr->Start(
45 request_info, &request_delegate, nullptr, NetLogWithSource(), 46 request_info, &request_delegate, nullptr, NetLogWithSource(),
46 HttpStreamRequest::HTTP_STREAM, DEFAULT_PRIORITY, SSLConfig(), 47 HttpStreamRequest::HTTP_STREAM, DEFAULT_PRIORITY, SSLConfig(),
47 SSLConfig())); 48 SSLConfig()));
48 EXPECT_TRUE(job_controller_raw_ptr->main_job()); 49 EXPECT_TRUE(job_controller_raw_ptr->main_job());
49 EXPECT_EQ(DEFAULT_PRIORITY, job_controller_raw_ptr->main_job()->priority()); 50 EXPECT_EQ(DEFAULT_PRIORITY, job_controller_raw_ptr->main_job()->priority());
50 51
51 request->SetPriority(MEDIUM); 52 request->SetPriority(MEDIUM);
52 EXPECT_EQ(MEDIUM, job_controller_raw_ptr->main_job()->priority()); 53 EXPECT_EQ(MEDIUM, job_controller_raw_ptr->main_job()->priority());
53 54
54 EXPECT_CALL(request_delegate, OnStreamFailed(_, _)).Times(1); 55 EXPECT_CALL(request_delegate, OnStreamFailed(_, _)).Times(1);
55 job_controller_raw_ptr->OnStreamFailed(job_factory.main_job(), ERR_FAILED, 56 job_controller_raw_ptr->OnStreamFailed(job_factory.main_job(), ERR_FAILED,
56 SSLConfig()); 57 SSLConfig());
57 58
58 request->SetPriority(IDLE); 59 request->SetPriority(IDLE);
59 EXPECT_EQ(IDLE, job_controller_raw_ptr->main_job()->priority()); 60 EXPECT_EQ(IDLE, job_controller_raw_ptr->main_job()->priority());
60 } 61 }
61 } // namespace net 62 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698