| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/socks5_client_socket.h" | 5 #include "net/socket/socks5_client_socket.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
| 9 #if defined(OS_WIN) | 9 #if defined(OS_WIN) |
| 10 #include <ws2tcpip.h> | 10 #include <ws2tcpip.h> |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 int port); | 38 int port); |
| 39 virtual void SetUp(); | 39 virtual void SetUp(); |
| 40 | 40 |
| 41 protected: | 41 protected: |
| 42 const uint16 kNwPort; | 42 const uint16 kNwPort; |
| 43 scoped_ptr<SOCKS5ClientSocket> user_sock_; | 43 scoped_ptr<SOCKS5ClientSocket> user_sock_; |
| 44 AddressList address_list_; | 44 AddressList address_list_; |
| 45 ClientSocket* tcp_sock_; | 45 ClientSocket* tcp_sock_; |
| 46 TestCompletionCallback callback_; | 46 TestCompletionCallback callback_; |
| 47 scoped_refptr<MockHostResolver> host_resolver_; | 47 scoped_refptr<MockHostResolver> host_resolver_; |
| 48 scoped_ptr<MockSocket> mock_socket_; | 48 scoped_ptr<SocketDataProvider> data_; |
| 49 | 49 |
| 50 private: | 50 private: |
| 51 DISALLOW_COPY_AND_ASSIGN(SOCKS5ClientSocketTest); | 51 DISALLOW_COPY_AND_ASSIGN(SOCKS5ClientSocketTest); |
| 52 }; | 52 }; |
| 53 | 53 |
| 54 SOCKS5ClientSocketTest::SOCKS5ClientSocketTest() | 54 SOCKS5ClientSocketTest::SOCKS5ClientSocketTest() |
| 55 : kNwPort(htons(80)), host_resolver_(new MockHostResolver) { | 55 : kNwPort(htons(80)), host_resolver_(new MockHostResolver) { |
| 56 } | 56 } |
| 57 | 57 |
| 58 // Set up platform before every test case | 58 // Set up platform before every test case |
| 59 void SOCKS5ClientSocketTest::SetUp() { | 59 void SOCKS5ClientSocketTest::SetUp() { |
| 60 PlatformTest::SetUp(); | 60 PlatformTest::SetUp(); |
| 61 | 61 |
| 62 // Resolve the "localhost" AddressList used by the TCP connection to connect. | 62 // Resolve the "localhost" AddressList used by the TCP connection to connect. |
| 63 HostResolver::RequestInfo info("www.socks-proxy.com", 1080); | 63 HostResolver::RequestInfo info("www.socks-proxy.com", 1080); |
| 64 int rv = host_resolver_->Resolve(info, &address_list_, NULL, NULL, NULL); | 64 int rv = host_resolver_->Resolve(info, &address_list_, NULL, NULL, NULL); |
| 65 ASSERT_EQ(OK, rv); | 65 ASSERT_EQ(OK, rv); |
| 66 } | 66 } |
| 67 | 67 |
| 68 SOCKS5ClientSocket* SOCKS5ClientSocketTest::BuildMockSocket( | 68 SOCKS5ClientSocket* SOCKS5ClientSocketTest::BuildMockSocket( |
| 69 MockRead reads[], | 69 MockRead reads[], |
| 70 MockWrite writes[], | 70 MockWrite writes[], |
| 71 const std::string& hostname, | 71 const std::string& hostname, |
| 72 int port) { | 72 int port) { |
| 73 | 73 |
| 74 TestCompletionCallback callback; | 74 TestCompletionCallback callback; |
| 75 mock_socket_.reset(new StaticMockSocket(reads, writes)); | 75 data_.reset(new StaticSocketDataProvider(reads, writes)); |
| 76 tcp_sock_ = new MockTCPClientSocket(address_list_, mock_socket_.get()); | 76 tcp_sock_ = new MockTCPClientSocket(address_list_, data_.get()); |
| 77 | 77 |
| 78 int rv = tcp_sock_->Connect(&callback, NULL); | 78 int rv = tcp_sock_->Connect(&callback, NULL); |
| 79 EXPECT_EQ(ERR_IO_PENDING, rv); | 79 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 80 rv = callback.WaitForResult(); | 80 rv = callback.WaitForResult(); |
| 81 EXPECT_EQ(OK, rv); | 81 EXPECT_EQ(OK, rv); |
| 82 EXPECT_TRUE(tcp_sock_->IsConnected()); | 82 EXPECT_TRUE(tcp_sock_->IsConnected()); |
| 83 | 83 |
| 84 return new SOCKS5ClientSocket(tcp_sock_, | 84 return new SOCKS5ClientSocket(tcp_sock_, |
| 85 HostResolver::RequestInfo(hostname, port), | 85 HostResolver::RequestInfo(hostname, port), |
| 86 host_resolver_); | 86 host_resolver_); |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 *log, 0, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_BEGIN)); | 316 *log, 0, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_BEGIN)); |
| 317 rv = callback_.WaitForResult(); | 317 rv = callback_.WaitForResult(); |
| 318 EXPECT_EQ(OK, rv); | 318 EXPECT_EQ(OK, rv); |
| 319 EXPECT_TRUE(user_sock_->IsConnected()); | 319 EXPECT_TRUE(user_sock_->IsConnected()); |
| 320 EXPECT_TRUE(LogContains( | 320 EXPECT_TRUE(LogContains( |
| 321 *log, -1, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_END)); | 321 *log, -1, LoadLog::TYPE_SOCKS5_CONNECT, LoadLog::PHASE_END)); |
| 322 } | 322 } |
| 323 } | 323 } |
| 324 | 324 |
| 325 } // namespace net | 325 } // namespace net |
| OLD | NEW |