| Index: net/socket/socks5_client_socket_unittest.cc
|
| diff --git a/net/socket/socks5_client_socket_unittest.cc b/net/socket/socks5_client_socket_unittest.cc
|
| index 9dedc39fa4c85835d8427645bdce074ade22d879..1b079e7b52cf2a9927a7a60d7d59ee73da039854 100644
|
| --- a/net/socket/socks5_client_socket_unittest.cc
|
| +++ b/net/socket/socks5_client_socket_unittest.cc
|
| @@ -12,6 +12,8 @@
|
| #include <netdb.h>
|
| #endif
|
| #include "net/base/address_list.h"
|
| +#include "net/base/load_log.h"
|
| +#include "net/base/load_log_unittest.h"
|
| #include "net/base/mock_host_resolver.h"
|
| #include "net/base/test_completion_callback.h"
|
| #include "net/base/winsock_init.h"
|
| @@ -73,7 +75,7 @@ SOCKS5ClientSocket* SOCKS5ClientSocketTest::BuildMockSocket(
|
| mock_socket_.reset(new StaticMockSocket(reads, writes));
|
| tcp_sock_ = new MockTCPClientSocket(address_list_, mock_socket_.get());
|
|
|
| - int rv = tcp_sock_->Connect(&callback);
|
| + int rv = tcp_sock_->Connect(&callback, NULL);
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
| rv = callback.WaitForResult();
|
| EXPECT_EQ(OK, rv);
|
| @@ -112,15 +114,21 @@ TEST_F(SOCKS5ClientSocketTest, CompleteHandshake) {
|
| EXPECT_TRUE(tcp_sock_->IsConnected());
|
| EXPECT_FALSE(user_sock_->IsConnected());
|
|
|
| - int rv = user_sock_->Connect(&callback_);
|
| + scoped_refptr<LoadLog> log(new LoadLog);
|
| + int rv = user_sock_->Connect(&callback_, log);
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
| EXPECT_FALSE(user_sock_->IsConnected());
|
| + EXPECT_TRUE(
|
| + LogContains(*log, 0, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_BEGIN));
|
| +
|
| rv = callback_.WaitForResult();
|
|
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(user_sock_->IsConnected());
|
| EXPECT_EQ(SOCKS5ClientSocket::kEndPointResolvedIPv4,
|
| user_sock_->address_type_);
|
| + EXPECT_TRUE(LogContains(
|
| + *log, -1, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_END));
|
|
|
| scoped_refptr<IOBuffer> buffer = new IOBuffer(payload_write.size());
|
| memcpy(buffer->data(), payload_write.data(), payload_write.size());
|
| @@ -163,13 +171,18 @@ TEST_F(SOCKS5ClientSocketTest, FailedDNS) {
|
|
|
| user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
|
|
|
| - int rv = user_sock_->Connect(&callback_);
|
| + scoped_refptr<LoadLog> log(new LoadLog);
|
| + int rv = user_sock_->Connect(&callback_, log);
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
| + EXPECT_TRUE(LogContains(
|
| + *log, 0, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_BEGIN));
|
| rv = callback_.WaitForResult();
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(user_sock_->IsConnected());
|
| EXPECT_EQ(SOCKS5ClientSocket::kEndPointFailedDomain,
|
| user_sock_->address_type_);
|
| + EXPECT_TRUE(LogContains(
|
| + *log, -1, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_END));
|
| }
|
|
|
| // Tries to connect to a domain that resolves to IPv6.
|
| @@ -195,13 +208,18 @@ TEST_F(SOCKS5ClientSocketTest, IPv6Domain) {
|
|
|
| user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
|
|
|
| - int rv = user_sock_->Connect(&callback_);
|
| + scoped_refptr<LoadLog> log(new LoadLog);
|
| + int rv = user_sock_->Connect(&callback_, log);
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
| + EXPECT_TRUE(LogContains(
|
| + *log, 0, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_BEGIN));
|
| rv = callback_.WaitForResult();
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(user_sock_->IsConnected());
|
| EXPECT_EQ(SOCKS5ClientSocket::kEndPointResolvedIPv6,
|
| user_sock_->address_type_);
|
| + EXPECT_TRUE(LogContains(
|
| + *log, -1, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_END));
|
| }
|
|
|
| TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
|
| @@ -219,11 +237,16 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
|
| MockRead(true, kSOCKS5GreetResponse, arraysize(kSOCKS5GreetResponse)),
|
| MockRead(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)) };
|
| user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
|
| - int rv = user_sock_->Connect(&callback_);
|
| + scoped_refptr<LoadLog> log(new LoadLog);
|
| + int rv = user_sock_->Connect(&callback_, log);
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
| + EXPECT_TRUE(LogContains(
|
| + *log, 0, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_BEGIN));
|
| rv = callback_.WaitForResult();
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(user_sock_->IsConnected());
|
| + EXPECT_TRUE(LogContains(
|
| + *log, -1, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_END));
|
| }
|
|
|
| // Test for partial greet response read
|
| @@ -238,11 +261,16 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
|
| MockRead(true, partial2, arraysize(partial2)),
|
| MockRead(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)) };
|
| user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
|
| - int rv = user_sock_->Connect(&callback_);
|
| + scoped_refptr<LoadLog> log(new LoadLog);
|
| + int rv = user_sock_->Connect(&callback_, log);
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
| + EXPECT_TRUE(LogContains(
|
| + *log, 0, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_BEGIN));
|
| rv = callback_.WaitForResult();
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(user_sock_->IsConnected());
|
| + EXPECT_TRUE(LogContains(
|
| + *log, -1, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_END));
|
| }
|
|
|
| // Test for partial handshake request write
|
| @@ -257,11 +285,16 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
|
| MockRead(true, kSOCKS5GreetResponse, arraysize(kSOCKS5GreetResponse)),
|
| MockRead(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)) };
|
| user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
|
| - int rv = user_sock_->Connect(&callback_);
|
| + scoped_refptr<LoadLog> log(new LoadLog);
|
| + int rv = user_sock_->Connect(&callback_, log);
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
| + EXPECT_TRUE(LogContains(
|
| + *log, 0, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_BEGIN));
|
| rv = callback_.WaitForResult();
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(user_sock_->IsConnected());
|
| + EXPECT_TRUE(LogContains(
|
| + *log, -1, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_END));
|
| }
|
|
|
| // Test for partial handshake response read
|
| @@ -276,11 +309,16 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
|
| MockRead(true, partial1, arraysize(partial1)),
|
| MockRead(true, partial2, arraysize(partial2)) };
|
| user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
|
| - int rv = user_sock_->Connect(&callback_);
|
| + scoped_refptr<LoadLog> log(new LoadLog);
|
| + int rv = user_sock_->Connect(&callback_, log);
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
| + EXPECT_TRUE(LogContains(
|
| + *log, 0, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_BEGIN));
|
| rv = callback_.WaitForResult();
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(user_sock_->IsConnected());
|
| + EXPECT_TRUE(LogContains(
|
| + *log, -1, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_END));
|
| }
|
| }
|
|
|
|
|