| 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 |