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

Side by Side Diff: net/dns/mojo_host_resolver_impl_unittest.cc

Issue 2109503009: Refactor net tests to use GMock matchers for checking net::Error results (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert changes to contents.txt files Created 4 years, 5 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/dns/mojo_host_resolver_impl.h" 5 #include "net/dns/mojo_host_resolver_impl.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "base/time/time.h" 12 #include "base/time/time.h"
13 #include "mojo/public/cpp/bindings/binding.h" 13 #include "mojo/public/cpp/bindings/binding.h"
14 #include "mojo/public/cpp/bindings/interface_request.h" 14 #include "mojo/public/cpp/bindings/interface_request.h"
15 #include "net/base/address_list.h" 15 #include "net/base/address_list.h"
16 #include "net/base/net_errors.h" 16 #include "net/base/net_errors.h"
17 #include "net/dns/mock_host_resolver.h" 17 #include "net/dns/mock_host_resolver.h"
18 #include "net/dns/mojo_host_type_converters.h" 18 #include "net/dns/mojo_host_type_converters.h"
19 #include "net/log/net_log.h" 19 #include "net/log/net_log.h"
20 #include "net/test/gtest_util.h"
21 #include "testing/gmock/include/gmock/gmock.h"
20 #include "testing/gtest/include/gtest/gtest.h" 22 #include "testing/gtest/include/gtest/gtest.h"
21 23
24 using net::test::IsError;
25 using net::test::IsOk;
26
22 namespace net { 27 namespace net {
23 28
24 namespace { 29 namespace {
25 30
26 class TestRequestClient : public interfaces::HostResolverRequestClient { 31 class TestRequestClient : public interfaces::HostResolverRequestClient {
27 public: 32 public:
28 explicit TestRequestClient( 33 explicit TestRequestClient(
29 mojo::InterfaceRequest<interfaces::HostResolverRequestClient> req) 34 mojo::InterfaceRequest<interfaces::HostResolverRequestClient> req)
30 : done_(false), binding_(this, std::move(req)) { 35 : done_(false), binding_(this, std::move(req)) {
31 binding_.set_connection_error_handler(base::Bind( 36 binding_.set_connection_error_handler(base::Bind(
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 167
163 TEST_F(MojoHostResolverImplTest, Resolve) { 168 TEST_F(MojoHostResolverImplTest, Resolve) {
164 interfaces::HostResolverRequestClientPtr client_ptr; 169 interfaces::HostResolverRequestClientPtr client_ptr;
165 TestRequestClient client(mojo::GetProxy(&client_ptr)); 170 TestRequestClient client(mojo::GetProxy(&client_ptr));
166 171
167 interfaces::HostResolverRequestInfoPtr request = 172 interfaces::HostResolverRequestInfoPtr request =
168 CreateRequest("example.com", 80, false); 173 CreateRequest("example.com", 80, false);
169 resolver_service_->Resolve(std::move(request), std::move(client_ptr)); 174 resolver_service_->Resolve(std::move(request), std::move(client_ptr));
170 client.WaitForResult(); 175 client.WaitForResult();
171 176
172 EXPECT_EQ(net::OK, client.error_); 177 EXPECT_THAT(client.error_, IsOk());
173 AddressList address_list = (*client.results_).To<AddressList>(); 178 AddressList address_list = (*client.results_).To<AddressList>();
174 EXPECT_EQ(1U, address_list.size()); 179 EXPECT_EQ(1U, address_list.size());
175 EXPECT_EQ("1.2.3.4:80", address_list[0].ToString()); 180 EXPECT_EQ("1.2.3.4:80", address_list[0].ToString());
176 } 181 }
177 182
178 TEST_F(MojoHostResolverImplTest, ResolveSynchronous) { 183 TEST_F(MojoHostResolverImplTest, ResolveSynchronous) {
179 interfaces::HostResolverRequestClientPtr client_ptr; 184 interfaces::HostResolverRequestClientPtr client_ptr;
180 TestRequestClient client(mojo::GetProxy(&client_ptr)); 185 TestRequestClient client(mojo::GetProxy(&client_ptr));
181 186
182 mock_host_resolver_.set_synchronous_mode(true); 187 mock_host_resolver_.set_synchronous_mode(true);
183 188
184 interfaces::HostResolverRequestInfoPtr request = 189 interfaces::HostResolverRequestInfoPtr request =
185 CreateRequest("example.com", 80, false); 190 CreateRequest("example.com", 80, false);
186 resolver_service_->Resolve(std::move(request), std::move(client_ptr)); 191 resolver_service_->Resolve(std::move(request), std::move(client_ptr));
187 client.WaitForResult(); 192 client.WaitForResult();
188 193
189 EXPECT_EQ(net::OK, client.error_); 194 EXPECT_THAT(client.error_, IsOk());
190 AddressList address_list = (*client.results_).To<AddressList>(); 195 AddressList address_list = (*client.results_).To<AddressList>();
191 EXPECT_EQ(1U, address_list.size()); 196 EXPECT_EQ(1U, address_list.size());
192 EXPECT_EQ("1.2.3.4:80", address_list[0].ToString()); 197 EXPECT_EQ("1.2.3.4:80", address_list[0].ToString());
193 } 198 }
194 199
195 TEST_F(MojoHostResolverImplTest, ResolveMultiple) { 200 TEST_F(MojoHostResolverImplTest, ResolveMultiple) {
196 interfaces::HostResolverRequestClientPtr client1_ptr; 201 interfaces::HostResolverRequestClientPtr client1_ptr;
197 TestRequestClient client1(mojo::GetProxy(&client1_ptr)); 202 TestRequestClient client1(mojo::GetProxy(&client1_ptr));
198 interfaces::HostResolverRequestClientPtr client2_ptr; 203 interfaces::HostResolverRequestClientPtr client2_ptr;
199 TestRequestClient client2(mojo::GetProxy(&client2_ptr)); 204 TestRequestClient client2(mojo::GetProxy(&client2_ptr));
200 205
201 mock_host_resolver_.set_ondemand_mode(true); 206 mock_host_resolver_.set_ondemand_mode(true);
202 207
203 interfaces::HostResolverRequestInfoPtr request1 = 208 interfaces::HostResolverRequestInfoPtr request1 =
204 CreateRequest("example.com", 80, false); 209 CreateRequest("example.com", 80, false);
205 resolver_service_->Resolve(std::move(request1), std::move(client1_ptr)); 210 resolver_service_->Resolve(std::move(request1), std::move(client1_ptr));
206 interfaces::HostResolverRequestInfoPtr request2 = 211 interfaces::HostResolverRequestInfoPtr request2 =
207 CreateRequest("chromium.org", 80, false); 212 CreateRequest("chromium.org", 80, false);
208 resolver_service_->Resolve(std::move(request2), std::move(client2_ptr)); 213 resolver_service_->Resolve(std::move(request2), std::move(client2_ptr));
209 WaitForRequests(2); 214 WaitForRequests(2);
210 mock_host_resolver_.ResolveAllPending(); 215 mock_host_resolver_.ResolveAllPending();
211 216
212 client1.WaitForResult(); 217 client1.WaitForResult();
213 client2.WaitForResult(); 218 client2.WaitForResult();
214 219
215 EXPECT_EQ(net::OK, client1.error_); 220 EXPECT_THAT(client1.error_, IsOk());
216 AddressList address_list = (*client1.results_).To<AddressList>(); 221 AddressList address_list = (*client1.results_).To<AddressList>();
217 EXPECT_EQ(1U, address_list.size()); 222 EXPECT_EQ(1U, address_list.size());
218 EXPECT_EQ("1.2.3.4:80", address_list[0].ToString()); 223 EXPECT_EQ("1.2.3.4:80", address_list[0].ToString());
219 EXPECT_EQ(net::OK, client2.error_); 224 EXPECT_THAT(client2.error_, IsOk());
220 address_list = (*client2.results_).To<AddressList>(); 225 address_list = (*client2.results_).To<AddressList>();
221 EXPECT_EQ(1U, address_list.size()); 226 EXPECT_EQ(1U, address_list.size());
222 EXPECT_EQ("8.8.8.8:80", address_list[0].ToString()); 227 EXPECT_EQ("8.8.8.8:80", address_list[0].ToString());
223 } 228 }
224 229
225 TEST_F(MojoHostResolverImplTest, ResolveDuplicate) { 230 TEST_F(MojoHostResolverImplTest, ResolveDuplicate) {
226 interfaces::HostResolverRequestClientPtr client1_ptr; 231 interfaces::HostResolverRequestClientPtr client1_ptr;
227 TestRequestClient client1(mojo::GetProxy(&client1_ptr)); 232 TestRequestClient client1(mojo::GetProxy(&client1_ptr));
228 interfaces::HostResolverRequestClientPtr client2_ptr; 233 interfaces::HostResolverRequestClientPtr client2_ptr;
229 TestRequestClient client2(mojo::GetProxy(&client2_ptr)); 234 TestRequestClient client2(mojo::GetProxy(&client2_ptr));
230 235
231 mock_host_resolver_.set_ondemand_mode(true); 236 mock_host_resolver_.set_ondemand_mode(true);
232 237
233 interfaces::HostResolverRequestInfoPtr request1 = 238 interfaces::HostResolverRequestInfoPtr request1 =
234 CreateRequest("example.com", 80, false); 239 CreateRequest("example.com", 80, false);
235 resolver_service_->Resolve(std::move(request1), std::move(client1_ptr)); 240 resolver_service_->Resolve(std::move(request1), std::move(client1_ptr));
236 interfaces::HostResolverRequestInfoPtr request2 = 241 interfaces::HostResolverRequestInfoPtr request2 =
237 CreateRequest("example.com", 80, false); 242 CreateRequest("example.com", 80, false);
238 resolver_service_->Resolve(std::move(request2), std::move(client2_ptr)); 243 resolver_service_->Resolve(std::move(request2), std::move(client2_ptr));
239 WaitForRequests(2); 244 WaitForRequests(2);
240 mock_host_resolver_.ResolveAllPending(); 245 mock_host_resolver_.ResolveAllPending();
241 246
242 client1.WaitForResult(); 247 client1.WaitForResult();
243 client2.WaitForResult(); 248 client2.WaitForResult();
244 249
245 EXPECT_EQ(net::OK, client1.error_); 250 EXPECT_THAT(client1.error_, IsOk());
246 AddressList address_list = (*client1.results_).To<AddressList>(); 251 AddressList address_list = (*client1.results_).To<AddressList>();
247 EXPECT_EQ(1U, address_list.size()); 252 EXPECT_EQ(1U, address_list.size());
248 EXPECT_EQ("1.2.3.4:80", address_list[0].ToString()); 253 EXPECT_EQ("1.2.3.4:80", address_list[0].ToString());
249 EXPECT_EQ(net::OK, client2.error_); 254 EXPECT_THAT(client2.error_, IsOk());
250 address_list = (*client2.results_).To<AddressList>(); 255 address_list = (*client2.results_).To<AddressList>();
251 EXPECT_EQ(1U, address_list.size()); 256 EXPECT_EQ(1U, address_list.size());
252 EXPECT_EQ("1.2.3.4:80", address_list[0].ToString()); 257 EXPECT_EQ("1.2.3.4:80", address_list[0].ToString());
253 } 258 }
254 259
255 TEST_F(MojoHostResolverImplTest, ResolveFailure) { 260 TEST_F(MojoHostResolverImplTest, ResolveFailure) {
256 interfaces::HostResolverRequestClientPtr client_ptr; 261 interfaces::HostResolverRequestClientPtr client_ptr;
257 TestRequestClient client(mojo::GetProxy(&client_ptr)); 262 TestRequestClient client(mojo::GetProxy(&client_ptr));
258 263
259 interfaces::HostResolverRequestInfoPtr request = 264 interfaces::HostResolverRequestInfoPtr request =
260 CreateRequest("failure.fail", 80, false); 265 CreateRequest("failure.fail", 80, false);
261 resolver_service_->Resolve(std::move(request), std::move(client_ptr)); 266 resolver_service_->Resolve(std::move(request), std::move(client_ptr));
262 client.WaitForResult(); 267 client.WaitForResult();
263 268
264 EXPECT_EQ(net::ERR_NAME_NOT_RESOLVED, client.error_); 269 EXPECT_THAT(client.error_, IsError(net::ERR_NAME_NOT_RESOLVED));
265 EXPECT_TRUE(client.results_.is_null()); 270 EXPECT_TRUE(client.results_.is_null());
266 } 271 }
267 272
268 TEST_F(MojoHostResolverImplTest, DestroyClient) { 273 TEST_F(MojoHostResolverImplTest, DestroyClient) {
269 interfaces::HostResolverRequestClientPtr client_ptr; 274 interfaces::HostResolverRequestClientPtr client_ptr;
270 std::unique_ptr<TestRequestClient> client( 275 std::unique_ptr<TestRequestClient> client(
271 new TestRequestClient(mojo::GetProxy(&client_ptr))); 276 new TestRequestClient(mojo::GetProxy(&client_ptr)));
272 277
273 mock_host_resolver_.set_ondemand_mode(true); 278 mock_host_resolver_.set_ondemand_mode(true);
274 279
275 interfaces::HostResolverRequestInfoPtr request = 280 interfaces::HostResolverRequestInfoPtr request =
276 CreateRequest("example.com", 80, false); 281 CreateRequest("example.com", 80, false);
277 resolver_service_->Resolve(std::move(request), std::move(client_ptr)); 282 resolver_service_->Resolve(std::move(request), std::move(client_ptr));
278 WaitForRequests(1); 283 WaitForRequests(1);
279 284
280 client.reset(); 285 client.reset();
281 base::RunLoop().RunUntilIdle(); 286 base::RunLoop().RunUntilIdle();
282 287
283 mock_host_resolver_.ResolveAllPending(); 288 mock_host_resolver_.ResolveAllPending();
284 base::RunLoop().RunUntilIdle(); 289 base::RunLoop().RunUntilIdle();
285 } 290 }
286 291
287 } // namespace net 292 } // namespace net
OLDNEW
« no previous file with comments | « net/dns/mapped_host_resolver_unittest.cc ('k') | net/dns/single_request_host_resolver_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698