OLD | NEW |
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/host_resolver_mojo.h" | 5 #include "net/dns/host_resolver_mojo.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "mojo/public/cpp/bindings/binding.h" | 10 #include "mojo/public/cpp/bindings/binding.h" |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 AddressList result; | 185 AddressList result; |
186 EXPECT_EQ(OK, Resolve(request_info, &result)); | 186 EXPECT_EQ(OK, Resolve(request_info, &result)); |
187 ASSERT_EQ(2u, result.size()); | 187 ASSERT_EQ(2u, result.size()); |
188 EXPECT_EQ(address_list[0], result[0]); | 188 EXPECT_EQ(address_list[0], result[0]); |
189 EXPECT_EQ(address_list[1], result[1]); | 189 EXPECT_EQ(address_list[1], result[1]); |
190 | 190 |
191 ASSERT_EQ(1u, mock_resolver_->requests().size()); | 191 ASSERT_EQ(1u, mock_resolver_->requests().size()); |
192 interfaces::HostResolverRequestInfo& request = *mock_resolver_->requests()[0]; | 192 interfaces::HostResolverRequestInfo& request = *mock_resolver_->requests()[0]; |
193 EXPECT_EQ("example.com", request.host.To<std::string>()); | 193 EXPECT_EQ("example.com", request.host.To<std::string>()); |
194 EXPECT_EQ(12345, request.port); | 194 EXPECT_EQ(12345, request.port); |
195 EXPECT_EQ(interfaces::ADDRESS_FAMILY_UNSPECIFIED, request.address_family); | 195 EXPECT_EQ(interfaces::AddressFamily::UNSPECIFIED, request.address_family); |
196 EXPECT_FALSE(request.is_my_ip_address); | 196 EXPECT_FALSE(request.is_my_ip_address); |
197 } | 197 } |
198 | 198 |
199 TEST_F(HostResolverMojoTest, ResolveCachedResult) { | 199 TEST_F(HostResolverMojoTest, ResolveCachedResult) { |
200 AddressList address_list; | 200 AddressList address_list; |
201 IPAddressNumber address_number; | 201 IPAddressNumber address_number; |
202 ASSERT_TRUE(ParseIPLiteralToNumber("1.2.3.4", &address_number)); | 202 ASSERT_TRUE(ParseIPLiteralToNumber("1.2.3.4", &address_number)); |
203 address_list.push_back(IPEndPoint(address_number, 12345)); | 203 address_list.push_back(IPEndPoint(address_number, 12345)); |
204 address_list.push_back( | 204 address_list.push_back( |
205 IPEndPoint(ConvertIPv4NumberToIPv6Number(address_number), 12345)); | 205 IPEndPoint(ConvertIPv4NumberToIPv6Number(address_number), 12345)); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, callback2.GetResult(ERR_IO_PENDING)); | 265 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, callback2.GetResult(ERR_IO_PENDING)); |
266 ASSERT_EQ(1u, result1.size()); | 266 ASSERT_EQ(1u, result1.size()); |
267 EXPECT_EQ(address_list[0], result1[0]); | 267 EXPECT_EQ(address_list[0], result1[0]); |
268 ASSERT_EQ(0u, result2.size()); | 268 ASSERT_EQ(0u, result2.size()); |
269 | 269 |
270 ASSERT_EQ(2u, mock_resolver_->requests().size()); | 270 ASSERT_EQ(2u, mock_resolver_->requests().size()); |
271 interfaces::HostResolverRequestInfo& request1 = | 271 interfaces::HostResolverRequestInfo& request1 = |
272 *mock_resolver_->requests()[0]; | 272 *mock_resolver_->requests()[0]; |
273 EXPECT_EQ("example.com", request1.host.To<std::string>()); | 273 EXPECT_EQ("example.com", request1.host.To<std::string>()); |
274 EXPECT_EQ(12345, request1.port); | 274 EXPECT_EQ(12345, request1.port); |
275 EXPECT_EQ(interfaces::ADDRESS_FAMILY_IPV4, request1.address_family); | 275 EXPECT_EQ(interfaces::AddressFamily::IPV4, request1.address_family); |
276 EXPECT_TRUE(request1.is_my_ip_address); | 276 EXPECT_TRUE(request1.is_my_ip_address); |
277 interfaces::HostResolverRequestInfo& request2 = | 277 interfaces::HostResolverRequestInfo& request2 = |
278 *mock_resolver_->requests()[1]; | 278 *mock_resolver_->requests()[1]; |
279 EXPECT_EQ("example.org", request2.host.To<std::string>()); | 279 EXPECT_EQ("example.org", request2.host.To<std::string>()); |
280 EXPECT_EQ(80, request2.port); | 280 EXPECT_EQ(80, request2.port); |
281 EXPECT_EQ(interfaces::ADDRESS_FAMILY_IPV6, request2.address_family); | 281 EXPECT_EQ(interfaces::AddressFamily::IPV6, request2.address_family); |
282 EXPECT_FALSE(request2.is_my_ip_address); | 282 EXPECT_FALSE(request2.is_my_ip_address); |
283 } | 283 } |
284 | 284 |
285 TEST_F(HostResolverMojoTest, Error) { | 285 TEST_F(HostResolverMojoTest, Error) { |
286 mock_resolver_->AddAction( | 286 mock_resolver_->AddAction( |
287 HostResolverAction::ReturnError(ERR_NAME_NOT_RESOLVED)); | 287 HostResolverAction::ReturnError(ERR_NAME_NOT_RESOLVED)); |
288 HostResolver::RequestInfo request_info( | 288 HostResolver::RequestInfo request_info( |
289 HostPortPair::FromString("example.com:8080")); | 289 HostPortPair::FromString("example.com:8080")); |
290 request_info.set_address_family(ADDRESS_FAMILY_IPV4); | 290 request_info.set_address_family(ADDRESS_FAMILY_IPV4); |
291 AddressList result; | 291 AddressList result; |
292 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, Resolve(request_info, &result)); | 292 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, Resolve(request_info, &result)); |
293 EXPECT_TRUE(result.empty()); | 293 EXPECT_TRUE(result.empty()); |
294 | 294 |
295 ASSERT_EQ(1u, mock_resolver_->requests().size()); | 295 ASSERT_EQ(1u, mock_resolver_->requests().size()); |
296 interfaces::HostResolverRequestInfo& request = *mock_resolver_->requests()[0]; | 296 interfaces::HostResolverRequestInfo& request = *mock_resolver_->requests()[0]; |
297 EXPECT_EQ("example.com", request.host.To<std::string>()); | 297 EXPECT_EQ("example.com", request.host.To<std::string>()); |
298 EXPECT_EQ(8080, request.port); | 298 EXPECT_EQ(8080, request.port); |
299 EXPECT_EQ(interfaces::ADDRESS_FAMILY_IPV4, request.address_family); | 299 EXPECT_EQ(interfaces::AddressFamily::IPV4, request.address_family); |
300 EXPECT_FALSE(request.is_my_ip_address); | 300 EXPECT_FALSE(request.is_my_ip_address); |
301 } | 301 } |
302 | 302 |
303 TEST_F(HostResolverMojoTest, EmptyResult) { | 303 TEST_F(HostResolverMojoTest, EmptyResult) { |
304 mock_resolver_->AddAction(HostResolverAction::ReturnError(OK)); | 304 mock_resolver_->AddAction(HostResolverAction::ReturnError(OK)); |
305 HostResolver::RequestInfo request_info( | 305 HostResolver::RequestInfo request_info( |
306 HostPortPair::FromString("example.com:8080")); | 306 HostPortPair::FromString("example.com:8080")); |
307 AddressList result; | 307 AddressList result; |
308 EXPECT_EQ(OK, Resolve(request_info, &result)); | 308 EXPECT_EQ(OK, Resolve(request_info, &result)); |
309 EXPECT_TRUE(result.empty()); | 309 EXPECT_TRUE(result.empty()); |
(...skipping 11 matching lines...) Expand all Loading... |
321 resolver_->Resolve(request_info, DEFAULT_PRIORITY, &result, base::Bind(&Fail), | 321 resolver_->Resolve(request_info, DEFAULT_PRIORITY, &result, base::Bind(&Fail), |
322 &request_handle, BoundNetLog()); | 322 &request_handle, BoundNetLog()); |
323 resolver_->CancelRequest(request_handle); | 323 resolver_->CancelRequest(request_handle); |
324 waiter_.WaitForEvent(ConnectionErrorSource::REQUEST); | 324 waiter_.WaitForEvent(ConnectionErrorSource::REQUEST); |
325 EXPECT_TRUE(result.empty()); | 325 EXPECT_TRUE(result.empty()); |
326 | 326 |
327 ASSERT_EQ(1u, mock_resolver_->requests().size()); | 327 ASSERT_EQ(1u, mock_resolver_->requests().size()); |
328 interfaces::HostResolverRequestInfo& request = *mock_resolver_->requests()[0]; | 328 interfaces::HostResolverRequestInfo& request = *mock_resolver_->requests()[0]; |
329 EXPECT_EQ("example.com", request.host.To<std::string>()); | 329 EXPECT_EQ("example.com", request.host.To<std::string>()); |
330 EXPECT_EQ(80, request.port); | 330 EXPECT_EQ(80, request.port); |
331 EXPECT_EQ(interfaces::ADDRESS_FAMILY_IPV6, request.address_family); | 331 EXPECT_EQ(interfaces::AddressFamily::IPV6, request.address_family); |
332 EXPECT_FALSE(request.is_my_ip_address); | 332 EXPECT_FALSE(request.is_my_ip_address); |
333 } | 333 } |
334 | 334 |
335 TEST_F(HostResolverMojoTest, ImplDropsClientConnection) { | 335 TEST_F(HostResolverMojoTest, ImplDropsClientConnection) { |
336 mock_resolver_->AddAction(HostResolverAction::DropRequest()); | 336 mock_resolver_->AddAction(HostResolverAction::DropRequest()); |
337 HostResolver::RequestInfo request_info( | 337 HostResolver::RequestInfo request_info( |
338 HostPortPair::FromString("example.com:1")); | 338 HostPortPair::FromString("example.com:1")); |
339 AddressList result; | 339 AddressList result; |
340 EXPECT_EQ(ERR_FAILED, Resolve(request_info, &result)); | 340 EXPECT_EQ(ERR_FAILED, Resolve(request_info, &result)); |
341 EXPECT_TRUE(result.empty()); | 341 EXPECT_TRUE(result.empty()); |
342 | 342 |
343 ASSERT_EQ(1u, mock_resolver_->requests().size()); | 343 ASSERT_EQ(1u, mock_resolver_->requests().size()); |
344 interfaces::HostResolverRequestInfo& request = *mock_resolver_->requests()[0]; | 344 interfaces::HostResolverRequestInfo& request = *mock_resolver_->requests()[0]; |
345 EXPECT_EQ("example.com", request.host.To<std::string>()); | 345 EXPECT_EQ("example.com", request.host.To<std::string>()); |
346 EXPECT_EQ(1, request.port); | 346 EXPECT_EQ(1, request.port); |
347 EXPECT_EQ(interfaces::ADDRESS_FAMILY_UNSPECIFIED, request.address_family); | 347 EXPECT_EQ(interfaces::AddressFamily::UNSPECIFIED, request.address_family); |
348 EXPECT_FALSE(request.is_my_ip_address); | 348 EXPECT_FALSE(request.is_my_ip_address); |
349 } | 349 } |
350 | 350 |
351 TEST_F(HostResolverMojoTest, ResolveFromCache_Miss) { | 351 TEST_F(HostResolverMojoTest, ResolveFromCache_Miss) { |
352 HostResolver::RequestInfo request_info( | 352 HostResolver::RequestInfo request_info( |
353 HostPortPair::FromString("example.com:8080")); | 353 HostPortPair::FromString("example.com:8080")); |
354 AddressList result; | 354 AddressList result; |
355 EXPECT_EQ(ERR_DNS_CACHE_MISS, | 355 EXPECT_EQ(ERR_DNS_CACHE_MISS, |
356 resolver_->ResolveFromCache(request_info, &result, BoundNetLog())); | 356 resolver_->ResolveFromCache(request_info, &result, BoundNetLog())); |
357 EXPECT_TRUE(result.empty()); | 357 EXPECT_TRUE(result.empty()); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 EXPECT_EQ(ERR_DNS_CACHE_MISS, | 399 EXPECT_EQ(ERR_DNS_CACHE_MISS, |
400 resolver_->ResolveFromCache(request_info, &result, BoundNetLog())); | 400 resolver_->ResolveFromCache(request_info, &result, BoundNetLog())); |
401 EXPECT_TRUE(result.empty()); | 401 EXPECT_TRUE(result.empty()); |
402 } | 402 } |
403 | 403 |
404 TEST_F(HostResolverMojoTest, GetHostCache) { | 404 TEST_F(HostResolverMojoTest, GetHostCache) { |
405 EXPECT_TRUE(resolver_->GetHostCache()); | 405 EXPECT_TRUE(resolver_->GetHostCache()); |
406 } | 406 } |
407 | 407 |
408 } // namespace net | 408 } // namespace net |
OLD | NEW |