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

Side by Side Diff: net/socket/socks_client_socket_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 (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/socket/socks_client_socket.h" 5 #include "net/socket/socks_client_socket.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "net/base/address_list.h" 11 #include "net/base/address_list.h"
12 #include "net/base/test_completion_callback.h" 12 #include "net/base/test_completion_callback.h"
13 #include "net/base/winsock_init.h" 13 #include "net/base/winsock_init.h"
14 #include "net/dns/host_resolver.h" 14 #include "net/dns/host_resolver.h"
15 #include "net/dns/mock_host_resolver.h" 15 #include "net/dns/mock_host_resolver.h"
16 #include "net/log/net_log.h" 16 #include "net/log/net_log.h"
17 #include "net/log/test_net_log.h" 17 #include "net/log/test_net_log.h"
18 #include "net/log/test_net_log_entry.h" 18 #include "net/log/test_net_log_entry.h"
19 #include "net/log/test_net_log_util.h" 19 #include "net/log/test_net_log_util.h"
20 #include "net/socket/client_socket_factory.h" 20 #include "net/socket/client_socket_factory.h"
21 #include "net/socket/socket_test_util.h" 21 #include "net/socket/socket_test_util.h"
22 #include "net/socket/tcp_client_socket.h" 22 #include "net/socket/tcp_client_socket.h"
23 #include "net/test/gtest_util.h"
24 #include "testing/gmock/include/gmock/gmock.h"
23 #include "testing/gtest/include/gtest/gtest.h" 25 #include "testing/gtest/include/gtest/gtest.h"
24 #include "testing/platform_test.h" 26 #include "testing/platform_test.h"
25 27
28 using net::test::IsError;
29 using net::test::IsOk;
30
26 //----------------------------------------------------------------------------- 31 //-----------------------------------------------------------------------------
27 32
28 namespace net { 33 namespace net {
29 34
30 const char kSOCKSOkRequest[] = { 0x04, 0x01, 0x00, 0x50, 127, 0, 0, 1, 0 }; 35 const char kSOCKSOkRequest[] = { 0x04, 0x01, 0x00, 0x50, 127, 0, 0, 1, 0 };
31 const char kSOCKSOkReply[] = { 0x00, 0x5A, 0x00, 0x00, 0, 0, 0, 0 }; 36 const char kSOCKSOkReply[] = { 0x00, 0x5A, 0x00, 0x00, 0, 0, 0, 0 };
32 37
33 class SOCKSClientSocketTest : public PlatformTest { 38 class SOCKSClientSocketTest : public PlatformTest {
34 public: 39 public:
35 SOCKSClientSocketTest(); 40 SOCKSClientSocketTest();
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 HostResolver* host_resolver, 78 HostResolver* host_resolver,
74 const std::string& hostname, 79 const std::string& hostname,
75 int port, 80 int port,
76 NetLog* net_log) { 81 NetLog* net_log) {
77 TestCompletionCallback callback; 82 TestCompletionCallback callback;
78 data_.reset(new StaticSocketDataProvider(reads, reads_count, 83 data_.reset(new StaticSocketDataProvider(reads, reads_count,
79 writes, writes_count)); 84 writes, writes_count));
80 tcp_sock_ = new MockTCPClientSocket(address_list_, net_log, data_.get()); 85 tcp_sock_ = new MockTCPClientSocket(address_list_, net_log, data_.get());
81 86
82 int rv = tcp_sock_->Connect(callback.callback()); 87 int rv = tcp_sock_->Connect(callback.callback());
83 EXPECT_EQ(ERR_IO_PENDING, rv); 88 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
84 rv = callback.WaitForResult(); 89 rv = callback.WaitForResult();
85 EXPECT_EQ(OK, rv); 90 EXPECT_THAT(rv, IsOk());
86 EXPECT_TRUE(tcp_sock_->IsConnected()); 91 EXPECT_TRUE(tcp_sock_->IsConnected());
87 92
88 std::unique_ptr<ClientSocketHandle> connection(new ClientSocketHandle); 93 std::unique_ptr<ClientSocketHandle> connection(new ClientSocketHandle);
89 // |connection| takes ownership of |tcp_sock_|, but keep a 94 // |connection| takes ownership of |tcp_sock_|, but keep a
90 // non-owning pointer to it. 95 // non-owning pointer to it.
91 connection->SetSocket(std::unique_ptr<StreamSocket>(tcp_sock_)); 96 connection->SetSocket(std::unique_ptr<StreamSocket>(tcp_sock_));
92 return std::unique_ptr<SOCKSClientSocket>(new SOCKSClientSocket( 97 return std::unique_ptr<SOCKSClientSocket>(new SOCKSClientSocket(
93 std::move(connection), 98 std::move(connection),
94 HostResolver::RequestInfo(HostPortPair(hostname, port)), DEFAULT_PRIORITY, 99 HostResolver::RequestInfo(HostPortPair(hostname, port)), DEFAULT_PRIORITY,
95 host_resolver)); 100 host_resolver));
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 data_writes, arraysize(data_writes), 161 data_writes, arraysize(data_writes),
157 host_resolver_.get(), 162 host_resolver_.get(),
158 "localhost", 80, 163 "localhost", 80,
159 &log); 164 &log);
160 165
161 // At this state the TCP connection is completed but not the SOCKS handshake. 166 // At this state the TCP connection is completed but not the SOCKS handshake.
162 EXPECT_TRUE(tcp_sock_->IsConnected()); 167 EXPECT_TRUE(tcp_sock_->IsConnected());
163 EXPECT_FALSE(user_sock_->IsConnected()); 168 EXPECT_FALSE(user_sock_->IsConnected());
164 169
165 int rv = user_sock_->Connect(callback_.callback()); 170 int rv = user_sock_->Connect(callback_.callback());
166 EXPECT_EQ(ERR_IO_PENDING, rv); 171 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
167 172
168 TestNetLogEntry::List entries; 173 TestNetLogEntry::List entries;
169 log.GetEntries(&entries); 174 log.GetEntries(&entries);
170 EXPECT_TRUE( 175 EXPECT_TRUE(
171 LogContainsBeginEvent(entries, 0, NetLog::TYPE_SOCKS_CONNECT)); 176 LogContainsBeginEvent(entries, 0, NetLog::TYPE_SOCKS_CONNECT));
172 EXPECT_FALSE(user_sock_->IsConnected()); 177 EXPECT_FALSE(user_sock_->IsConnected());
173 178
174 rv = callback_.WaitForResult(); 179 rv = callback_.WaitForResult();
175 EXPECT_EQ(OK, rv); 180 EXPECT_THAT(rv, IsOk());
176 EXPECT_TRUE(user_sock_->IsConnected()); 181 EXPECT_TRUE(user_sock_->IsConnected());
177 log.GetEntries(&entries); 182 log.GetEntries(&entries);
178 EXPECT_TRUE(LogContainsEndEvent( 183 EXPECT_TRUE(LogContainsEndEvent(
179 entries, -1, NetLog::TYPE_SOCKS_CONNECT)); 184 entries, -1, NetLog::TYPE_SOCKS_CONNECT));
180 185
181 scoped_refptr<IOBuffer> buffer(new IOBuffer(payload_write.size())); 186 scoped_refptr<IOBuffer> buffer(new IOBuffer(payload_write.size()));
182 memcpy(buffer->data(), payload_write.data(), payload_write.size()); 187 memcpy(buffer->data(), payload_write.data(), payload_write.size());
183 rv = user_sock_->Write( 188 rv = user_sock_->Write(
184 buffer.get(), payload_write.size(), callback_.callback()); 189 buffer.get(), payload_write.size(), callback_.callback());
185 EXPECT_EQ(ERR_IO_PENDING, rv); 190 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
186 rv = callback_.WaitForResult(); 191 rv = callback_.WaitForResult();
187 EXPECT_EQ(static_cast<int>(payload_write.size()), rv); 192 EXPECT_EQ(static_cast<int>(payload_write.size()), rv);
188 193
189 buffer = new IOBuffer(payload_read.size()); 194 buffer = new IOBuffer(payload_read.size());
190 rv = 195 rv =
191 user_sock_->Read(buffer.get(), payload_read.size(), callback_.callback()); 196 user_sock_->Read(buffer.get(), payload_read.size(), callback_.callback());
192 EXPECT_EQ(ERR_IO_PENDING, rv); 197 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
193 rv = callback_.WaitForResult(); 198 rv = callback_.WaitForResult();
194 EXPECT_EQ(static_cast<int>(payload_read.size()), rv); 199 EXPECT_EQ(static_cast<int>(payload_read.size()), rv);
195 EXPECT_EQ(payload_read, std::string(buffer->data(), payload_read.size())); 200 EXPECT_EQ(payload_read, std::string(buffer->data(), payload_read.size()));
196 201
197 user_sock_->Disconnect(); 202 user_sock_->Disconnect();
198 EXPECT_FALSE(tcp_sock_->IsConnected()); 203 EXPECT_FALSE(tcp_sock_->IsConnected());
199 EXPECT_FALSE(user_sock_->IsConnected()); 204 EXPECT_FALSE(user_sock_->IsConnected());
200 } 205 }
201 206
202 // List of responses from the socks server and the errors they should 207 // List of responses from the socks server and the errors they should
(...skipping 25 matching lines...) Expand all
228 arraysize(tests[i].fail_reply)) }; 233 arraysize(tests[i].fail_reply)) };
229 TestNetLog log; 234 TestNetLog log;
230 235
231 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads), 236 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads),
232 data_writes, arraysize(data_writes), 237 data_writes, arraysize(data_writes),
233 host_resolver_.get(), 238 host_resolver_.get(),
234 "localhost", 80, 239 "localhost", 80,
235 &log); 240 &log);
236 241
237 int rv = user_sock_->Connect(callback_.callback()); 242 int rv = user_sock_->Connect(callback_.callback());
238 EXPECT_EQ(ERR_IO_PENDING, rv); 243 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
239 244
240 TestNetLogEntry::List entries; 245 TestNetLogEntry::List entries;
241 log.GetEntries(&entries); 246 log.GetEntries(&entries);
242 EXPECT_TRUE(LogContainsBeginEvent( 247 EXPECT_TRUE(LogContainsBeginEvent(
243 entries, 0, NetLog::TYPE_SOCKS_CONNECT)); 248 entries, 0, NetLog::TYPE_SOCKS_CONNECT));
244 249
245 rv = callback_.WaitForResult(); 250 rv = callback_.WaitForResult();
246 EXPECT_EQ(tests[i].fail_code, rv); 251 EXPECT_EQ(tests[i].fail_code, rv);
247 EXPECT_FALSE(user_sock_->IsConnected()); 252 EXPECT_FALSE(user_sock_->IsConnected());
248 EXPECT_TRUE(tcp_sock_->IsConnected()); 253 EXPECT_TRUE(tcp_sock_->IsConnected());
(...skipping 16 matching lines...) Expand all
265 MockRead(ASYNC, kSOCKSPartialReply2, arraysize(kSOCKSPartialReply2)) }; 270 MockRead(ASYNC, kSOCKSPartialReply2, arraysize(kSOCKSPartialReply2)) };
266 TestNetLog log; 271 TestNetLog log;
267 272
268 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads), 273 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads),
269 data_writes, arraysize(data_writes), 274 data_writes, arraysize(data_writes),
270 host_resolver_.get(), 275 host_resolver_.get(),
271 "localhost", 80, 276 "localhost", 80,
272 &log); 277 &log);
273 278
274 int rv = user_sock_->Connect(callback_.callback()); 279 int rv = user_sock_->Connect(callback_.callback());
275 EXPECT_EQ(ERR_IO_PENDING, rv); 280 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
276 TestNetLogEntry::List entries; 281 TestNetLogEntry::List entries;
277 log.GetEntries(&entries); 282 log.GetEntries(&entries);
278 EXPECT_TRUE(LogContainsBeginEvent( 283 EXPECT_TRUE(LogContainsBeginEvent(
279 entries, 0, NetLog::TYPE_SOCKS_CONNECT)); 284 entries, 0, NetLog::TYPE_SOCKS_CONNECT));
280 285
281 rv = callback_.WaitForResult(); 286 rv = callback_.WaitForResult();
282 EXPECT_EQ(OK, rv); 287 EXPECT_THAT(rv, IsOk());
283 EXPECT_TRUE(user_sock_->IsConnected()); 288 EXPECT_TRUE(user_sock_->IsConnected());
284 log.GetEntries(&entries); 289 log.GetEntries(&entries);
285 EXPECT_TRUE(LogContainsEndEvent( 290 EXPECT_TRUE(LogContainsEndEvent(
286 entries, -1, NetLog::TYPE_SOCKS_CONNECT)); 291 entries, -1, NetLog::TYPE_SOCKS_CONNECT));
287 } 292 }
288 293
289 // Tests scenario when the client sends the handshake request in 294 // Tests scenario when the client sends the handshake request in
290 // more than one packet. 295 // more than one packet.
291 TEST_F(SOCKSClientSocketTest, PartialClientWrites) { 296 TEST_F(SOCKSClientSocketTest, PartialClientWrites) {
292 const char kSOCKSPartialRequest1[] = { 0x04, 0x01 }; 297 const char kSOCKSPartialRequest1[] = { 0x04, 0x01 };
(...skipping 10 matching lines...) Expand all
303 MockRead(ASYNC, kSOCKSOkReply, arraysize(kSOCKSOkReply)) }; 308 MockRead(ASYNC, kSOCKSOkReply, arraysize(kSOCKSOkReply)) };
304 TestNetLog log; 309 TestNetLog log;
305 310
306 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads), 311 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads),
307 data_writes, arraysize(data_writes), 312 data_writes, arraysize(data_writes),
308 host_resolver_.get(), 313 host_resolver_.get(),
309 "localhost", 80, 314 "localhost", 80,
310 &log); 315 &log);
311 316
312 int rv = user_sock_->Connect(callback_.callback()); 317 int rv = user_sock_->Connect(callback_.callback());
313 EXPECT_EQ(ERR_IO_PENDING, rv); 318 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
314 TestNetLogEntry::List entries; 319 TestNetLogEntry::List entries;
315 log.GetEntries(&entries); 320 log.GetEntries(&entries);
316 EXPECT_TRUE(LogContainsBeginEvent( 321 EXPECT_TRUE(LogContainsBeginEvent(
317 entries, 0, NetLog::TYPE_SOCKS_CONNECT)); 322 entries, 0, NetLog::TYPE_SOCKS_CONNECT));
318 323
319 rv = callback_.WaitForResult(); 324 rv = callback_.WaitForResult();
320 EXPECT_EQ(OK, rv); 325 EXPECT_THAT(rv, IsOk());
321 EXPECT_TRUE(user_sock_->IsConnected()); 326 EXPECT_TRUE(user_sock_->IsConnected());
322 log.GetEntries(&entries); 327 log.GetEntries(&entries);
323 EXPECT_TRUE(LogContainsEndEvent( 328 EXPECT_TRUE(LogContainsEndEvent(
324 entries, -1, NetLog::TYPE_SOCKS_CONNECT)); 329 entries, -1, NetLog::TYPE_SOCKS_CONNECT));
325 } 330 }
326 331
327 // Tests the case when the server sends a smaller sized handshake data 332 // Tests the case when the server sends a smaller sized handshake data
328 // and closes the connection. 333 // and closes the connection.
329 TEST_F(SOCKSClientSocketTest, FailedSocketRead) { 334 TEST_F(SOCKSClientSocketTest, FailedSocketRead) {
330 MockWrite data_writes[] = { 335 MockWrite data_writes[] = {
331 MockWrite(ASYNC, kSOCKSOkRequest, arraysize(kSOCKSOkRequest)) }; 336 MockWrite(ASYNC, kSOCKSOkRequest, arraysize(kSOCKSOkRequest)) };
332 MockRead data_reads[] = { 337 MockRead data_reads[] = {
333 MockRead(ASYNC, kSOCKSOkReply, arraysize(kSOCKSOkReply) - 2), 338 MockRead(ASYNC, kSOCKSOkReply, arraysize(kSOCKSOkReply) - 2),
334 // close connection unexpectedly 339 // close connection unexpectedly
335 MockRead(SYNCHRONOUS, 0) }; 340 MockRead(SYNCHRONOUS, 0) };
336 TestNetLog log; 341 TestNetLog log;
337 342
338 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads), 343 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads),
339 data_writes, arraysize(data_writes), 344 data_writes, arraysize(data_writes),
340 host_resolver_.get(), 345 host_resolver_.get(),
341 "localhost", 80, 346 "localhost", 80,
342 &log); 347 &log);
343 348
344 int rv = user_sock_->Connect(callback_.callback()); 349 int rv = user_sock_->Connect(callback_.callback());
345 EXPECT_EQ(ERR_IO_PENDING, rv); 350 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
346 TestNetLogEntry::List entries; 351 TestNetLogEntry::List entries;
347 log.GetEntries(&entries); 352 log.GetEntries(&entries);
348 EXPECT_TRUE(LogContainsBeginEvent( 353 EXPECT_TRUE(LogContainsBeginEvent(
349 entries, 0, NetLog::TYPE_SOCKS_CONNECT)); 354 entries, 0, NetLog::TYPE_SOCKS_CONNECT));
350 355
351 rv = callback_.WaitForResult(); 356 rv = callback_.WaitForResult();
352 EXPECT_EQ(ERR_CONNECTION_CLOSED, rv); 357 EXPECT_THAT(rv, IsError(ERR_CONNECTION_CLOSED));
353 EXPECT_FALSE(user_sock_->IsConnected()); 358 EXPECT_FALSE(user_sock_->IsConnected());
354 log.GetEntries(&entries); 359 log.GetEntries(&entries);
355 EXPECT_TRUE(LogContainsEndEvent( 360 EXPECT_TRUE(LogContainsEndEvent(
356 entries, -1, NetLog::TYPE_SOCKS_CONNECT)); 361 entries, -1, NetLog::TYPE_SOCKS_CONNECT));
357 } 362 }
358 363
359 // Tries to connect to an unknown hostname. Should fail rather than 364 // Tries to connect to an unknown hostname. Should fail rather than
360 // falling back to SOCKS4a. 365 // falling back to SOCKS4a.
361 TEST_F(SOCKSClientSocketTest, FailedDNS) { 366 TEST_F(SOCKSClientSocketTest, FailedDNS) {
362 const char hostname[] = "unresolved.ipv4.address"; 367 const char hostname[] = "unresolved.ipv4.address";
363 368
364 host_resolver_->rules()->AddSimulatedFailure(hostname); 369 host_resolver_->rules()->AddSimulatedFailure(hostname);
365 370
366 TestNetLog log; 371 TestNetLog log;
367 372
368 user_sock_ = BuildMockSocket(NULL, 0, 373 user_sock_ = BuildMockSocket(NULL, 0,
369 NULL, 0, 374 NULL, 0,
370 host_resolver_.get(), 375 host_resolver_.get(),
371 hostname, 80, 376 hostname, 80,
372 &log); 377 &log);
373 378
374 int rv = user_sock_->Connect(callback_.callback()); 379 int rv = user_sock_->Connect(callback_.callback());
375 EXPECT_EQ(ERR_IO_PENDING, rv); 380 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
376 TestNetLogEntry::List entries; 381 TestNetLogEntry::List entries;
377 log.GetEntries(&entries); 382 log.GetEntries(&entries);
378 EXPECT_TRUE(LogContainsBeginEvent( 383 EXPECT_TRUE(LogContainsBeginEvent(
379 entries, 0, NetLog::TYPE_SOCKS_CONNECT)); 384 entries, 0, NetLog::TYPE_SOCKS_CONNECT));
380 385
381 rv = callback_.WaitForResult(); 386 rv = callback_.WaitForResult();
382 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, rv); 387 EXPECT_THAT(rv, IsError(ERR_NAME_NOT_RESOLVED));
383 EXPECT_FALSE(user_sock_->IsConnected()); 388 EXPECT_FALSE(user_sock_->IsConnected());
384 log.GetEntries(&entries); 389 log.GetEntries(&entries);
385 EXPECT_TRUE(LogContainsEndEvent( 390 EXPECT_TRUE(LogContainsEndEvent(
386 entries, -1, NetLog::TYPE_SOCKS_CONNECT)); 391 entries, -1, NetLog::TYPE_SOCKS_CONNECT));
387 } 392 }
388 393
389 // Calls Disconnect() while a host resolve is in progress. The outstanding host 394 // Calls Disconnect() while a host resolve is in progress. The outstanding host
390 // resolve should be cancelled. 395 // resolve should be cancelled.
391 TEST_F(SOCKSClientSocketTest, DisconnectWhileHostResolveInProgress) { 396 TEST_F(SOCKSClientSocketTest, DisconnectWhileHostResolveInProgress) {
392 std::unique_ptr<HangingHostResolverWithCancel> hanging_resolver( 397 std::unique_ptr<HangingHostResolverWithCancel> hanging_resolver(
393 new HangingHostResolverWithCancel()); 398 new HangingHostResolverWithCancel());
394 399
395 // Doesn't matter what the socket data is, we will never use it -- garbage. 400 // Doesn't matter what the socket data is, we will never use it -- garbage.
396 MockWrite data_writes[] = { MockWrite(SYNCHRONOUS, "", 0) }; 401 MockWrite data_writes[] = { MockWrite(SYNCHRONOUS, "", 0) };
397 MockRead data_reads[] = { MockRead(SYNCHRONOUS, "", 0) }; 402 MockRead data_reads[] = { MockRead(SYNCHRONOUS, "", 0) };
398 403
399 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads), 404 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads),
400 data_writes, arraysize(data_writes), 405 data_writes, arraysize(data_writes),
401 hanging_resolver.get(), 406 hanging_resolver.get(),
402 "foo", 80, 407 "foo", 80,
403 NULL); 408 NULL);
404 409
405 // Start connecting (will get stuck waiting for the host to resolve). 410 // Start connecting (will get stuck waiting for the host to resolve).
406 int rv = user_sock_->Connect(callback_.callback()); 411 int rv = user_sock_->Connect(callback_.callback());
407 EXPECT_EQ(ERR_IO_PENDING, rv); 412 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
408 413
409 EXPECT_FALSE(user_sock_->IsConnected()); 414 EXPECT_FALSE(user_sock_->IsConnected());
410 EXPECT_FALSE(user_sock_->IsConnectedAndIdle()); 415 EXPECT_FALSE(user_sock_->IsConnectedAndIdle());
411 416
412 // The host resolver should have received the resolve request. 417 // The host resolver should have received the resolve request.
413 EXPECT_TRUE(hanging_resolver->HasOutstandingRequest()); 418 EXPECT_TRUE(hanging_resolver->HasOutstandingRequest());
414 419
415 // Disconnect the SOCKS socket -- this should cancel the outstanding resolve. 420 // Disconnect the SOCKS socket -- this should cancel the outstanding resolve.
416 user_sock_->Disconnect(); 421 user_sock_->Disconnect();
417 422
(...skipping 29 matching lines...) Expand all
447 NULL, 0, 452 NULL, 0,
448 host_resolver.get(), 453 host_resolver.get(),
449 kHostName, 80, 454 kHostName, 80,
450 NULL); 455 NULL);
451 456
452 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, 457 EXPECT_EQ(ERR_NAME_NOT_RESOLVED,
453 callback_.GetResult(user_sock_->Connect(callback_.callback()))); 458 callback_.GetResult(user_sock_->Connect(callback_.callback())));
454 } 459 }
455 460
456 } // namespace net 461 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/socks_client_socket_pool_unittest.cc ('k') | net/socket/ssl_client_socket_pool_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698