OLD | NEW |
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 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_test_util.h" | 5 #include "net/http/http_stream_factory_test_util.h" |
6 | 6 |
7 #include <utility> | |
8 | |
9 #include "net/proxy/proxy_info.h" | 7 #include "net/proxy/proxy_info.h" |
10 | 8 |
11 using ::testing::_; | 9 using ::testing::_; |
12 | 10 |
13 namespace net { | 11 namespace net { |
14 MockHttpStreamRequestDelegate::MockHttpStreamRequestDelegate() {} | 12 MockHttpStreamRequestDelegate::MockHttpStreamRequestDelegate() {} |
15 | 13 |
16 MockHttpStreamRequestDelegate::~MockHttpStreamRequestDelegate() {} | 14 MockHttpStreamRequestDelegate::~MockHttpStreamRequestDelegate() {} |
17 | 15 |
18 MockHttpStreamFactoryImplJob::MockHttpStreamFactoryImplJob( | 16 MockHttpStreamFactoryImplJob::MockHttpStreamFactoryImplJob( |
19 HttpStreamFactoryImpl::Job::Delegate* delegate, | 17 HttpStreamFactoryImpl::Job::Delegate* delegate, |
20 HttpStreamFactoryImpl::JobType job_type, | 18 HttpStreamFactoryImpl::JobType job_type, |
21 HttpNetworkSession* session, | 19 HttpNetworkSession* session, |
22 const HttpRequestInfo& request_info, | 20 const HttpRequestInfo& request_info, |
23 RequestPriority priority, | 21 RequestPriority priority, |
24 ProxyInfo proxy_info, | |
25 const SSLConfig& server_ssl_config, | 22 const SSLConfig& server_ssl_config, |
26 const SSLConfig& proxy_ssl_config, | 23 const SSLConfig& proxy_ssl_config, |
27 HostPortPair destination, | 24 HostPortPair destination, |
28 GURL origin_url, | 25 GURL origin_url, |
29 bool enable_ip_based_pooling, | 26 bool enable_ip_based_pooling, |
30 NetLog* net_log) | 27 NetLog* net_log) |
31 : HttpStreamFactoryImpl::Job(delegate, | 28 : HttpStreamFactoryImpl::Job(delegate, |
32 job_type, | 29 job_type, |
33 session, | 30 session, |
34 request_info, | 31 request_info, |
35 priority, | 32 priority, |
36 proxy_info, | |
37 server_ssl_config, | 33 server_ssl_config, |
38 proxy_ssl_config, | 34 proxy_ssl_config, |
39 destination, | 35 destination, |
40 origin_url, | 36 origin_url, |
41 enable_ip_based_pooling, | 37 enable_ip_based_pooling, |
42 net_log) { | 38 net_log) { |
43 DCHECK(!is_waiting()); | 39 DCHECK(!is_waiting()); |
44 } | 40 } |
45 | 41 |
46 MockHttpStreamFactoryImplJob::MockHttpStreamFactoryImplJob( | 42 MockHttpStreamFactoryImplJob::MockHttpStreamFactoryImplJob( |
47 HttpStreamFactoryImpl::Job::Delegate* delegate, | 43 HttpStreamFactoryImpl::Job::Delegate* delegate, |
48 HttpStreamFactoryImpl::JobType job_type, | 44 HttpStreamFactoryImpl::JobType job_type, |
49 HttpNetworkSession* session, | 45 HttpNetworkSession* session, |
50 const HttpRequestInfo& request_info, | 46 const HttpRequestInfo& request_info, |
51 RequestPriority priority, | 47 RequestPriority priority, |
52 ProxyInfo proxy_info, | |
53 const SSLConfig& server_ssl_config, | 48 const SSLConfig& server_ssl_config, |
54 const SSLConfig& proxy_ssl_config, | 49 const SSLConfig& proxy_ssl_config, |
55 HostPortPair destination, | 50 HostPortPair destination, |
56 GURL origin_url, | 51 GURL origin_url, |
57 AlternativeService alternative_service, | 52 AlternativeService alternative_service, |
58 const ProxyServer& alternative_proxy_server, | 53 const ProxyServer& alternative_proxy_server, |
59 bool enable_ip_based_pooling, | 54 bool enable_ip_based_pooling, |
60 NetLog* net_log) | 55 NetLog* net_log) |
61 : HttpStreamFactoryImpl::Job(delegate, | 56 : HttpStreamFactoryImpl::Job(delegate, |
62 job_type, | 57 job_type, |
63 session, | 58 session, |
64 request_info, | 59 request_info, |
65 priority, | 60 priority, |
66 proxy_info, | |
67 server_ssl_config, | 61 server_ssl_config, |
68 proxy_ssl_config, | 62 proxy_ssl_config, |
69 destination, | 63 destination, |
70 origin_url, | 64 origin_url, |
71 alternative_service, | 65 alternative_service, |
72 alternative_proxy_server, | 66 alternative_proxy_server, |
73 enable_ip_based_pooling, | 67 enable_ip_based_pooling, |
74 net_log) {} | 68 net_log) {} |
75 | 69 |
76 MockHttpStreamFactoryImplJob::~MockHttpStreamFactoryImplJob() {} | 70 MockHttpStreamFactoryImplJob::~MockHttpStreamFactoryImplJob() {} |
77 | 71 |
78 TestJobFactory::TestJobFactory() | 72 TestJobFactory::TestJobFactory() |
79 : main_job_(nullptr), | 73 : main_job_(nullptr), |
80 alternative_job_(nullptr), | 74 alternative_job_(nullptr), |
81 override_main_job_url_(false) {} | 75 override_main_job_url_(false) {} |
82 | 76 |
83 TestJobFactory::~TestJobFactory() {} | 77 TestJobFactory::~TestJobFactory() {} |
84 | 78 |
85 std::unique_ptr<HttpStreamFactoryImpl::Job> TestJobFactory::CreateMainJob( | 79 HttpStreamFactoryImpl::Job* TestJobFactory::CreateJob( |
86 HttpStreamFactoryImpl::Job::Delegate* delegate, | 80 HttpStreamFactoryImpl::Job::Delegate* delegate, |
87 HttpStreamFactoryImpl::JobType job_type, | 81 HttpStreamFactoryImpl::JobType job_type, |
88 HttpNetworkSession* session, | 82 HttpNetworkSession* session, |
89 const HttpRequestInfo& request_info, | 83 const HttpRequestInfo& request_info, |
90 RequestPriority priority, | 84 RequestPriority priority, |
91 const ProxyInfo& proxy_info, | |
92 const SSLConfig& server_ssl_config, | 85 const SSLConfig& server_ssl_config, |
93 const SSLConfig& proxy_ssl_config, | 86 const SSLConfig& proxy_ssl_config, |
94 HostPortPair destination, | 87 HostPortPair destination, |
95 GURL origin_url, | 88 GURL origin_url, |
96 bool enable_ip_based_pooling, | 89 bool enable_ip_based_pooling, |
97 NetLog* net_log) { | 90 NetLog* net_log) { |
| 91 DCHECK(!main_job_); |
| 92 |
98 if (override_main_job_url_) | 93 if (override_main_job_url_) |
99 origin_url = main_job_alternative_url_; | 94 origin_url = main_job_alternative_url_; |
100 | 95 |
101 auto main_job = base::MakeUnique<MockHttpStreamFactoryImplJob>( | 96 main_job_ = new MockHttpStreamFactoryImplJob( |
102 delegate, job_type, session, request_info, priority, proxy_info, | 97 delegate, job_type, session, request_info, priority, SSLConfig(), |
103 SSLConfig(), SSLConfig(), destination, origin_url, | 98 SSLConfig(), destination, origin_url, enable_ip_based_pooling, nullptr); |
104 enable_ip_based_pooling, nullptr); | |
105 | 99 |
106 // Keep raw pointer to Job but pass ownership. | 100 return main_job_; |
107 main_job_ = main_job.get(); | |
108 | |
109 return std::move(main_job); | |
110 } | 101 } |
111 | 102 |
112 std::unique_ptr<HttpStreamFactoryImpl::Job> TestJobFactory::CreateAltSvcJob( | 103 HttpStreamFactoryImpl::Job* TestJobFactory::CreateJob( |
113 HttpStreamFactoryImpl::Job::Delegate* delegate, | 104 HttpStreamFactoryImpl::Job::Delegate* delegate, |
114 HttpStreamFactoryImpl::JobType job_type, | 105 HttpStreamFactoryImpl::JobType job_type, |
115 HttpNetworkSession* session, | 106 HttpNetworkSession* session, |
116 const HttpRequestInfo& request_info, | 107 const HttpRequestInfo& request_info, |
117 RequestPriority priority, | 108 RequestPriority priority, |
118 const ProxyInfo& proxy_info, | |
119 const SSLConfig& server_ssl_config, | 109 const SSLConfig& server_ssl_config, |
120 const SSLConfig& proxy_ssl_config, | 110 const SSLConfig& proxy_ssl_config, |
121 HostPortPair destination, | 111 HostPortPair destination, |
122 GURL origin_url, | 112 GURL origin_url, |
123 AlternativeService alternative_service, | 113 AlternativeService alternative_service, |
124 bool enable_ip_based_pooling, | 114 bool enable_ip_based_pooling, |
125 NetLog* net_log) { | 115 NetLog* net_log) { |
126 auto alternative_job = base::MakeUnique<MockHttpStreamFactoryImplJob>( | 116 DCHECK(!alternative_job_); |
127 delegate, job_type, session, request_info, priority, proxy_info, | 117 alternative_job_ = new MockHttpStreamFactoryImplJob( |
128 SSLConfig(), SSLConfig(), destination, origin_url, alternative_service, | 118 delegate, job_type, session, request_info, priority, SSLConfig(), |
129 ProxyServer(), enable_ip_based_pooling, nullptr); | 119 SSLConfig(), destination, origin_url, alternative_service, ProxyServer(), |
| 120 enable_ip_based_pooling, nullptr); |
130 | 121 |
131 // Keep raw pointer to Job but pass ownership. | 122 return alternative_job_; |
132 alternative_job_ = alternative_job.get(); | |
133 | |
134 return std::move(alternative_job); | |
135 } | 123 } |
136 | 124 |
137 std::unique_ptr<HttpStreamFactoryImpl::Job> TestJobFactory::CreateAltProxyJob( | 125 HttpStreamFactoryImpl::Job* TestJobFactory::CreateJob( |
138 HttpStreamFactoryImpl::Job::Delegate* delegate, | 126 HttpStreamFactoryImpl::Job::Delegate* delegate, |
139 HttpStreamFactoryImpl::JobType job_type, | 127 HttpStreamFactoryImpl::JobType job_type, |
140 HttpNetworkSession* session, | 128 HttpNetworkSession* session, |
141 const HttpRequestInfo& request_info, | 129 const HttpRequestInfo& request_info, |
142 RequestPriority priority, | 130 RequestPriority priority, |
143 const ProxyInfo& proxy_info, | |
144 const SSLConfig& server_ssl_config, | 131 const SSLConfig& server_ssl_config, |
145 const SSLConfig& proxy_ssl_config, | 132 const SSLConfig& proxy_ssl_config, |
146 HostPortPair destination, | 133 HostPortPair destination, |
147 GURL origin_url, | 134 GURL origin_url, |
148 const ProxyServer& alternative_proxy_server, | 135 const ProxyServer& alternative_proxy_server, |
149 bool enable_ip_based_pooling, | 136 bool enable_ip_based_pooling, |
150 NetLog* net_log) { | 137 NetLog* net_log) { |
151 auto alternative_job = base::MakeUnique<MockHttpStreamFactoryImplJob>( | 138 DCHECK(!alternative_job_); |
152 delegate, job_type, session, request_info, priority, proxy_info, | 139 alternative_job_ = new MockHttpStreamFactoryImplJob( |
153 SSLConfig(), SSLConfig(), destination, origin_url, AlternativeService(), | 140 delegate, job_type, session, request_info, priority, SSLConfig(), |
| 141 SSLConfig(), destination, origin_url, AlternativeService(), |
154 alternative_proxy_server, enable_ip_based_pooling, nullptr); | 142 alternative_proxy_server, enable_ip_based_pooling, nullptr); |
155 | 143 |
156 // Keep raw pointer to Job but pass ownership. | 144 return alternative_job_; |
157 alternative_job_ = alternative_job.get(); | |
158 | |
159 return std::move(alternative_job); | |
160 } | 145 } |
161 | 146 |
162 } // namespace net | 147 } // namespace net |
OLD | NEW |