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

Side by Side Diff: mojo/services/network/host_resolver_apptest.cc

Issue 1399343002: Roll Mojo to b88737ed62969ce3203085748f0d53ff4f09ba5b. (Closed) Base URL: https://github.com/domokit/monet.git@master
Patch Set: Created 5 years, 2 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
« no previous file with comments | « build/android/gyp/process_resources.py ('k') | mojo/services/network/host_resolver_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/lazy_instance.h" 6 #include "base/lazy_instance.h"
7 #include "base/memory/weak_ptr.h" 7 #include "base/memory/weak_ptr.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "mojo/common/message_pump_mojo.h" 10 #include "mojo/common/message_pump_mojo.h"
11 #include "mojo/services/network/public/interfaces/network_service.mojom.h" 11 #include "mojo/services/network/public/interfaces/network_service.mojom.h"
12 #include "mojo/services/network/public/interfaces/net_address.mojom.h" 12 #include "mojo/services/network/public/interfaces/net_address.mojom.h"
13 #include "mojo/services/network/public/interfaces/host_resolver.mojom.h" 13 #include "mojo/services/network/public/interfaces/host_resolver.mojom.h"
14 #include "net/base/net_errors.h" 14 #include "net/base/net_errors.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 #include "third_party/mojo/src/mojo/public/cpp/application/application_connectio n.h" 16 #include "third_party/mojo/src/mojo/public/cpp/application/application_connectio n.h"
17 #include "third_party/mojo/src/mojo/public/cpp/application/application_impl.h" 17 #include "third_party/mojo/src/mojo/public/cpp/application/application_impl.h"
18 #include "third_party/mojo/src/mojo/public/cpp/application/application_test_base .h" 18 #include "third_party/mojo/src/mojo/public/cpp/application/application_test_base .h"
19 #include "third_party/mojo/src/mojo/public/cpp/bindings/callback.h" 19 #include "third_party/mojo/src/mojo/public/cpp/bindings/callback.h"
20 20
21 namespace mojo { 21 namespace mojo {
22 22
23 class HostResolverTestHelper { 23 class HostResolverTestHelper {
24 public: 24 public:
25 static bool Match4(uint8_t* expected_ipv4, const NetAddressPtr& address) { 25 static bool Match4(uint8_t* expected_ipv4, const NetAddressPtr& address) {
26 EXPECT_EQ(NET_ADDRESS_FAMILY_IPV4, address->family); 26 EXPECT_EQ(NetAddressFamily::IPV4, address->family);
27 for (size_t i = 0; i < address->ipv4->addr.size(); i++) { 27 for (size_t i = 0; i < address->ipv4->addr.size(); i++) {
28 if (address->ipv4->addr[i] != expected_ipv4[i]) { 28 if (address->ipv4->addr[i] != expected_ipv4[i]) {
29 return false; 29 return false;
30 } 30 }
31 } 31 }
32 return true; 32 return true;
33 } 33 }
34 34
35 static bool Match6(uint8_t* expected_ipv6, const NetAddressPtr& address) { 35 static bool Match6(uint8_t* expected_ipv6, const NetAddressPtr& address) {
36 EXPECT_EQ(NET_ADDRESS_FAMILY_IPV6, address->family); 36 EXPECT_EQ(NetAddressFamily::IPV6, address->family);
37 for (size_t i = 0; i < address->ipv6->addr.size(); i++) { 37 for (size_t i = 0; i < address->ipv6->addr.size(); i++) {
38 if (address->ipv6->addr[i] != expected_ipv6[i]) { 38 if (address->ipv6->addr[i] != expected_ipv6[i]) {
39 return false; 39 return false;
40 } 40 }
41 } 41 }
42 return true; 42 return true;
43 } 43 }
44 44
45 static void DebugPrint(const NetAddressPtr& address) { 45 static void DebugPrint(const NetAddressPtr& address) {
46 if (address->family == NET_ADDRESS_FAMILY_IPV4) { 46 if (address->family == NetAddressFamily::IPV4) {
47 for (size_t i = 0; i < address->ipv4->addr.size(); i++) { 47 for (size_t i = 0; i < address->ipv4->addr.size(); i++) {
48 if (i > 0) { 48 if (i > 0) {
49 printf("."); 49 printf(".");
50 } 50 }
51 printf("%d", address->ipv4->addr[i]); 51 printf("%d", address->ipv4->addr[i]);
52 } 52 }
53 printf("\n"); 53 printf("\n");
54 } else if (address->family == NET_ADDRESS_FAMILY_IPV6) { 54 } else if (address->family == NetAddressFamily::IPV6) {
55 for (size_t i = 0; i < address->ipv6->addr.size(); i++) { 55 for (size_t i = 0; i < address->ipv6->addr.size(); i++) {
56 if ((i > 0) && ((i % 2) == 0)) { 56 if ((i > 0) && ((i % 2) == 0)) {
57 printf(":"); 57 printf(":");
58 } 58 }
59 printf("%02X", address->ipv6->addr[i]); 59 printf("%02X", address->ipv6->addr[i]);
60 } 60 }
61 printf("\n"); 61 printf("\n");
62 } else { 62 } else {
63 NOTREACHED(); 63 NOTREACHED();
64 } 64 }
(...skipping 20 matching lines...) Expand all
85 }; 85 };
86 86
87 TEST_F(HostResolverImplTest, Create) { 87 TEST_F(HostResolverImplTest, Create) {
88 HostResolverPtr host_resolver; 88 HostResolverPtr host_resolver;
89 network_service_->CreateHostResolver(GetProxy(&host_resolver)); 89 network_service_->CreateHostResolver(GetProxy(&host_resolver));
90 } 90 }
91 91
92 TEST_F(HostResolverImplTest, LocalhostV4) { 92 TEST_F(HostResolverImplTest, LocalhostV4) {
93 HostResolverPtr host_resolver; 93 HostResolverPtr host_resolver;
94 network_service_->CreateHostResolver(GetProxy(&host_resolver)); 94 network_service_->CreateHostResolver(GetProxy(&host_resolver));
95 host_resolver->GetHostAddresses("localhost", NET_ADDRESS_FAMILY_IPV4, 95 host_resolver->GetHostAddresses("localhost", NetAddressFamily::IPV4,
96 [](NetworkErrorPtr error, Array<NetAddressPtr> addresses) { 96 [](NetworkErrorPtr error, Array<NetAddressPtr> addresses) {
97 EXPECT_EQ(net::OK, error->code); 97 EXPECT_EQ(net::OK, error->code);
98 EXPECT_GT(addresses.size(), 0U); 98 EXPECT_GT(addresses.size(), 0U);
99 uint8_t localhost4[] = {127, 0, 0, 1}; 99 uint8_t localhost4[] = {127, 0, 0, 1};
100 EXPECT_TRUE(HostResolverTestHelper::Match4(localhost4, addresses[0])); 100 EXPECT_TRUE(HostResolverTestHelper::Match4(localhost4, addresses[0]));
101 }); 101 });
102 host_resolver.WaitForIncomingResponse(); 102 host_resolver.WaitForIncomingResponse();
103 } 103 }
104 104
105 TEST_F(HostResolverImplTest, LocalhostV6) { 105 TEST_F(HostResolverImplTest, LocalhostV6) {
106 HostResolverPtr host_resolver; 106 HostResolverPtr host_resolver;
107 network_service_->CreateHostResolver(GetProxy(&host_resolver)); 107 network_service_->CreateHostResolver(GetProxy(&host_resolver));
108 host_resolver->GetHostAddresses("localhost", NET_ADDRESS_FAMILY_IPV6, 108 host_resolver->GetHostAddresses("localhost", NetAddressFamily::IPV6,
109 [](NetworkErrorPtr error, Array<NetAddressPtr> addresses) { 109 [](NetworkErrorPtr error, Array<NetAddressPtr> addresses) {
110 uint8_t localhost6[] = {0, 0, 0, 0, 0, 0, 0, 0, 110 uint8_t localhost6[] = {0, 0, 0, 0, 0, 0, 0, 0,
111 0, 0, 0, 0, 0, 0, 0, 1}; 111 0, 0, 0, 0, 0, 0, 0, 1};
112 if (error->code == net::OK) { 112 if (error->code == net::OK) {
113 EXPECT_EQ(net::OK, error->code); 113 EXPECT_EQ(net::OK, error->code);
114 EXPECT_GT(addresses.size(), 0U); 114 EXPECT_GT(addresses.size(), 0U);
115 EXPECT_TRUE(HostResolverTestHelper::Match6(localhost6, addresses[0])); 115 EXPECT_TRUE(HostResolverTestHelper::Match6(localhost6, addresses[0]));
116 } else { 116 } else {
117 EXPECT_EQ(net::ERR_NAME_NOT_RESOLVED, error->code); 117 EXPECT_EQ(net::ERR_NAME_NOT_RESOLVED, error->code);
118 } 118 }
119 }); 119 });
120 host_resolver.WaitForIncomingResponse(); 120 host_resolver.WaitForIncomingResponse();
121 } 121 }
122 122
123 TEST_F(HostResolverImplTest, NameNotResolved) { 123 TEST_F(HostResolverImplTest, NameNotResolved) {
124 HostResolverPtr host_resolver; 124 HostResolverPtr host_resolver;
125 network_service_->CreateHostResolver(GetProxy(&host_resolver)); 125 network_service_->CreateHostResolver(GetProxy(&host_resolver));
126 host_resolver->GetHostAddresses("local.77778888", NET_ADDRESS_FAMILY_IPV4, 126 host_resolver->GetHostAddresses("local.77778888", NetAddressFamily::IPV4,
127 [](NetworkErrorPtr error, Array<NetAddressPtr> addresses) { 127 [](NetworkErrorPtr error, Array<NetAddressPtr> addresses) {
128 EXPECT_EQ(net::ERR_NAME_NOT_RESOLVED, error->code); 128 EXPECT_EQ(net::ERR_NAME_NOT_RESOLVED, error->code);
129 EXPECT_EQ(0U, addresses.size()); 129 EXPECT_EQ(0U, addresses.size());
130 }); 130 });
131 } 131 }
132 132
133 TEST_F(HostResolverImplTest, DropOnFloor) { 133 TEST_F(HostResolverImplTest, DropOnFloor) {
134 HostResolverPtr host_resolver; 134 HostResolverPtr host_resolver;
135 network_service_->CreateHostResolver(GetProxy(&host_resolver)); 135 network_service_->CreateHostResolver(GetProxy(&host_resolver));
136 host_resolver->GetHostAddresses("localhost", NET_ADDRESS_FAMILY_IPV4, 136 host_resolver->GetHostAddresses("localhost", NetAddressFamily::IPV4,
137 [](NetworkErrorPtr error, Array<NetAddressPtr> addresses) { 137 [](NetworkErrorPtr error, Array<NetAddressPtr> addresses) {
138 }); 138 });
139 } 139 }
140 140
141 } // namespace mojo 141 } // namespace mojo
OLDNEW
« no previous file with comments | « build/android/gyp/process_resources.py ('k') | mojo/services/network/host_resolver_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698