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

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

Issue 2351513002: net: rename BoundNetLog to NetLogWithSource (Closed)
Patch Set: one more fix, content bound_net_log_ Created 4 years, 3 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/mapped_host_resolver.h" 5 #include "net/dns/mapped_host_resolver.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "net/base/address_list.h" 9 #include "net/base/address_list.h"
10 #include "net/base/net_errors.h" 10 #include "net/base/net_errors.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 44
45 int rv; 45 int rv;
46 AddressList address_list; 46 AddressList address_list;
47 47
48 // Try resolving "www.google.com:80". There are no mappings yet, so this 48 // Try resolving "www.google.com:80". There are no mappings yet, so this
49 // hits |resolver_impl| and fails. 49 // hits |resolver_impl| and fails.
50 TestCompletionCallback callback; 50 TestCompletionCallback callback;
51 rv = resolver->Resolve( 51 rv = resolver->Resolve(
52 HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), 52 HostResolver::RequestInfo(HostPortPair("www.google.com", 80)),
53 DEFAULT_PRIORITY, &address_list, callback.callback(), &request, 53 DEFAULT_PRIORITY, &address_list, callback.callback(), &request,
54 BoundNetLog()); 54 NetLogWithSource());
55 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 55 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
56 rv = callback.WaitForResult(); 56 rv = callback.WaitForResult();
57 EXPECT_THAT(rv, IsError(ERR_NAME_NOT_RESOLVED)); 57 EXPECT_THAT(rv, IsError(ERR_NAME_NOT_RESOLVED));
58 58
59 // Remap *.google.com to baz.com. 59 // Remap *.google.com to baz.com.
60 EXPECT_TRUE(resolver->AddRuleFromString("map *.google.com baz.com")); 60 EXPECT_TRUE(resolver->AddRuleFromString("map *.google.com baz.com"));
61 request.reset(); 61 request.reset();
62 62
63 // Try resolving "www.google.com:80". Should be remapped to "baz.com:80". 63 // Try resolving "www.google.com:80". Should be remapped to "baz.com:80".
64 rv = resolver->Resolve( 64 rv = resolver->Resolve(
65 HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), 65 HostResolver::RequestInfo(HostPortPair("www.google.com", 80)),
66 DEFAULT_PRIORITY, &address_list, callback.callback(), &request, 66 DEFAULT_PRIORITY, &address_list, callback.callback(), &request,
67 BoundNetLog()); 67 NetLogWithSource());
68 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 68 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
69 rv = callback.WaitForResult(); 69 rv = callback.WaitForResult();
70 EXPECT_THAT(rv, IsOk()); 70 EXPECT_THAT(rv, IsOk());
71 EXPECT_EQ("192.168.1.5:80", FirstAddress(address_list)); 71 EXPECT_EQ("192.168.1.5:80", FirstAddress(address_list));
72 request.reset(); 72 request.reset();
73 73
74 // Try resolving "foo.com:77". This will NOT be remapped, so result 74 // Try resolving "foo.com:77". This will NOT be remapped, so result
75 // is "foo.com:77". 75 // is "foo.com:77".
76 rv = resolver->Resolve(HostResolver::RequestInfo(HostPortPair("foo.com", 77)), 76 rv = resolver->Resolve(HostResolver::RequestInfo(HostPortPair("foo.com", 77)),
77 DEFAULT_PRIORITY, &address_list, callback.callback(), 77 DEFAULT_PRIORITY, &address_list, callback.callback(),
78 &request, BoundNetLog()); 78 &request, NetLogWithSource());
79 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 79 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
80 rv = callback.WaitForResult(); 80 rv = callback.WaitForResult();
81 EXPECT_THAT(rv, IsOk()); 81 EXPECT_THAT(rv, IsOk());
82 EXPECT_EQ("192.168.1.8:77", FirstAddress(address_list)); 82 EXPECT_EQ("192.168.1.8:77", FirstAddress(address_list));
83 request.reset(); 83 request.reset();
84 84
85 // Remap "*.org" to "proxy:99". 85 // Remap "*.org" to "proxy:99".
86 EXPECT_TRUE(resolver->AddRuleFromString("Map *.org proxy:99")); 86 EXPECT_TRUE(resolver->AddRuleFromString("Map *.org proxy:99"));
87 87
88 // Try resolving "chromium.org:61". Should be remapped to "proxy:99". 88 // Try resolving "chromium.org:61". Should be remapped to "proxy:99".
89 rv = resolver->Resolve( 89 rv = resolver->Resolve(
90 HostResolver::RequestInfo(HostPortPair("chromium.org", 61)), 90 HostResolver::RequestInfo(HostPortPair("chromium.org", 61)),
91 DEFAULT_PRIORITY, &address_list, callback.callback(), &request, 91 DEFAULT_PRIORITY, &address_list, callback.callback(), &request,
92 BoundNetLog()); 92 NetLogWithSource());
93 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 93 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
94 rv = callback.WaitForResult(); 94 rv = callback.WaitForResult();
95 EXPECT_THAT(rv, IsOk()); 95 EXPECT_THAT(rv, IsOk());
96 EXPECT_EQ("192.168.1.11:99", FirstAddress(address_list)); 96 EXPECT_EQ("192.168.1.11:99", FirstAddress(address_list));
97 } 97 }
98 98
99 // Tests that exclusions are respected. 99 // Tests that exclusions are respected.
100 TEST(MappedHostResolverTest, Exclusion) { 100 TEST(MappedHostResolverTest, Exclusion) {
101 // Outstanding request. 101 // Outstanding request.
102 std::unique_ptr<HostResolver::Request> request; 102 std::unique_ptr<HostResolver::Request> request;
(...skipping 13 matching lines...) Expand all
116 // Remap "*.com" to "baz". 116 // Remap "*.com" to "baz".
117 EXPECT_TRUE(resolver->AddRuleFromString("map *.com baz")); 117 EXPECT_TRUE(resolver->AddRuleFromString("map *.com baz"));
118 118
119 // Add an exclusion for "*.google.com". 119 // Add an exclusion for "*.google.com".
120 EXPECT_TRUE(resolver->AddRuleFromString("EXCLUDE *.google.com")); 120 EXPECT_TRUE(resolver->AddRuleFromString("EXCLUDE *.google.com"));
121 121
122 // Try resolving "www.google.com". Should not be remapped due to exclusion). 122 // Try resolving "www.google.com". Should not be remapped due to exclusion).
123 rv = resolver->Resolve( 123 rv = resolver->Resolve(
124 HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), 124 HostResolver::RequestInfo(HostPortPair("www.google.com", 80)),
125 DEFAULT_PRIORITY, &address_list, callback.callback(), &request, 125 DEFAULT_PRIORITY, &address_list, callback.callback(), &request,
126 BoundNetLog()); 126 NetLogWithSource());
127 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 127 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
128 rv = callback.WaitForResult(); 128 rv = callback.WaitForResult();
129 EXPECT_THAT(rv, IsOk()); 129 EXPECT_THAT(rv, IsOk());
130 EXPECT_EQ("192.168.1.3:80", FirstAddress(address_list)); 130 EXPECT_EQ("192.168.1.3:80", FirstAddress(address_list));
131 request.reset(); 131 request.reset();
132 132
133 // Try resolving "chrome.com:80". Should be remapped to "baz:80". 133 // Try resolving "chrome.com:80". Should be remapped to "baz:80".
134 rv = resolver->Resolve( 134 rv = resolver->Resolve(
135 HostResolver::RequestInfo(HostPortPair("chrome.com", 80)), 135 HostResolver::RequestInfo(HostPortPair("chrome.com", 80)),
136 DEFAULT_PRIORITY, &address_list, callback.callback(), &request, 136 DEFAULT_PRIORITY, &address_list, callback.callback(), &request,
137 BoundNetLog()); 137 NetLogWithSource());
138 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 138 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
139 rv = callback.WaitForResult(); 139 rv = callback.WaitForResult();
140 EXPECT_THAT(rv, IsOk()); 140 EXPECT_THAT(rv, IsOk());
141 EXPECT_EQ("192.168.1.5:80", FirstAddress(address_list)); 141 EXPECT_EQ("192.168.1.5:80", FirstAddress(address_list));
142 } 142 }
143 143
144 TEST(MappedHostResolverTest, SetRulesFromString) { 144 TEST(MappedHostResolverTest, SetRulesFromString) {
145 // Outstanding request. 145 // Outstanding request.
146 std::unique_ptr<HostResolver::Request> request; 146 std::unique_ptr<HostResolver::Request> request;
147 // Create a mock host resolver, with specific hostname to IP mappings. 147 // Create a mock host resolver, with specific hostname to IP mappings.
148 std::unique_ptr<MockHostResolver> resolver_impl(new MockHostResolver()); 148 std::unique_ptr<MockHostResolver> resolver_impl(new MockHostResolver());
149 resolver_impl->rules()->AddRule("baz", "192.168.1.7"); 149 resolver_impl->rules()->AddRule("baz", "192.168.1.7");
150 resolver_impl->rules()->AddRule("bar", "192.168.1.9"); 150 resolver_impl->rules()->AddRule("bar", "192.168.1.9");
151 151
152 // Create a remapped resolver that uses |resolver_impl|. 152 // Create a remapped resolver that uses |resolver_impl|.
153 std::unique_ptr<MappedHostResolver> resolver( 153 std::unique_ptr<MappedHostResolver> resolver(
154 new MappedHostResolver(std::move(resolver_impl))); 154 new MappedHostResolver(std::move(resolver_impl)));
155 155
156 int rv; 156 int rv;
157 AddressList address_list; 157 AddressList address_list;
158 TestCompletionCallback callback; 158 TestCompletionCallback callback;
159 159
160 // Remap "*.com" to "baz", and *.net to "bar:60". 160 // Remap "*.com" to "baz", and *.net to "bar:60".
161 resolver->SetRulesFromString("map *.com baz , map *.net bar:60"); 161 resolver->SetRulesFromString("map *.com baz , map *.net bar:60");
162 162
163 // Try resolving "www.google.com". Should be remapped to "baz". 163 // Try resolving "www.google.com". Should be remapped to "baz".
164 rv = resolver->Resolve( 164 rv = resolver->Resolve(
165 HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), 165 HostResolver::RequestInfo(HostPortPair("www.google.com", 80)),
166 DEFAULT_PRIORITY, &address_list, callback.callback(), &request, 166 DEFAULT_PRIORITY, &address_list, callback.callback(), &request,
167 BoundNetLog()); 167 NetLogWithSource());
168 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 168 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
169 rv = callback.WaitForResult(); 169 rv = callback.WaitForResult();
170 EXPECT_THAT(rv, IsOk()); 170 EXPECT_THAT(rv, IsOk());
171 EXPECT_EQ("192.168.1.7:80", FirstAddress(address_list)); 171 EXPECT_EQ("192.168.1.7:80", FirstAddress(address_list));
172 request.reset(); 172 request.reset();
173 173
174 // Try resolving "chrome.net:80". Should be remapped to "bar:60". 174 // Try resolving "chrome.net:80". Should be remapped to "bar:60".
175 rv = resolver->Resolve( 175 rv = resolver->Resolve(
176 HostResolver::RequestInfo(HostPortPair("chrome.net", 80)), 176 HostResolver::RequestInfo(HostPortPair("chrome.net", 80)),
177 DEFAULT_PRIORITY, &address_list, callback.callback(), &request, 177 DEFAULT_PRIORITY, &address_list, callback.callback(), &request,
178 BoundNetLog()); 178 NetLogWithSource());
179 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 179 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
180 rv = callback.WaitForResult(); 180 rv = callback.WaitForResult();
181 EXPECT_THAT(rv, IsOk()); 181 EXPECT_THAT(rv, IsOk());
182 EXPECT_EQ("192.168.1.9:60", FirstAddress(address_list)); 182 EXPECT_EQ("192.168.1.9:60", FirstAddress(address_list));
183 } 183 }
184 184
185 // Parsing bad rules should silently discard the rule (and never crash). 185 // Parsing bad rules should silently discard the rule (and never crash).
186 TEST(MappedHostResolverTest, ParseInvalidRules) { 186 TEST(MappedHostResolverTest, ParseInvalidRules) {
187 std::unique_ptr<MappedHostResolver> resolver( 187 std::unique_ptr<MappedHostResolver> resolver(
188 new MappedHostResolver(std::unique_ptr<HostResolver>())); 188 new MappedHostResolver(std::unique_ptr<HostResolver>()));
(...skipping 22 matching lines...) Expand all
211 AddressList address_list; 211 AddressList address_list;
212 212
213 // Remap *.google.com to resolving failures. 213 // Remap *.google.com to resolving failures.
214 EXPECT_TRUE(resolver->AddRuleFromString("MAP *.google.com ~NOTFOUND")); 214 EXPECT_TRUE(resolver->AddRuleFromString("MAP *.google.com ~NOTFOUND"));
215 215
216 // Try resolving www.google.com --> Should give an error. 216 // Try resolving www.google.com --> Should give an error.
217 TestCompletionCallback callback1; 217 TestCompletionCallback callback1;
218 rv = resolver->Resolve( 218 rv = resolver->Resolve(
219 HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), 219 HostResolver::RequestInfo(HostPortPair("www.google.com", 80)),
220 DEFAULT_PRIORITY, &address_list, callback1.callback(), &request, 220 DEFAULT_PRIORITY, &address_list, callback1.callback(), &request,
221 BoundNetLog()); 221 NetLogWithSource());
222 EXPECT_THAT(rv, IsError(ERR_NAME_NOT_RESOLVED)); 222 EXPECT_THAT(rv, IsError(ERR_NAME_NOT_RESOLVED));
223 request.reset(); 223 request.reset();
224 224
225 // Try resolving www.foo.com --> Should succeed. 225 // Try resolving www.foo.com --> Should succeed.
226 TestCompletionCallback callback2; 226 TestCompletionCallback callback2;
227 rv = resolver->Resolve( 227 rv = resolver->Resolve(
228 HostResolver::RequestInfo(HostPortPair("www.foo.com", 80)), 228 HostResolver::RequestInfo(HostPortPair("www.foo.com", 80)),
229 DEFAULT_PRIORITY, &address_list, callback2.callback(), &request, 229 DEFAULT_PRIORITY, &address_list, callback2.callback(), &request,
230 BoundNetLog()); 230 NetLogWithSource());
231 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 231 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
232 rv = callback2.WaitForResult(); 232 rv = callback2.WaitForResult();
233 EXPECT_THAT(rv, IsOk()); 233 EXPECT_THAT(rv, IsOk());
234 EXPECT_EQ("192.168.1.5:80", FirstAddress(address_list)); 234 EXPECT_EQ("192.168.1.5:80", FirstAddress(address_list));
235 } 235 }
236 236
237 } // namespace 237 } // namespace
238 238
239 } // namespace net 239 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698