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

Side by Side Diff: net/socket/socks5_client_socket_unittest.cc

Issue 2315613002: Extracted NetLog class's inner enum types into their own enum classes and (Closed)
Patch Set: Ran "git cl format" on code. Much formatting ensued. 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
« no previous file with comments | « net/socket/socks5_client_socket.cc ('k') | net/socket/socks_client_socket.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 (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/socks5_client_socket.h" 5 #include "net/socket/socks5_client_socket.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <iterator> 8 #include <iterator>
9 #include <map> 9 #include <map>
10 #include <utility> 10 #include <utility>
11 11
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/sys_byteorder.h" 13 #include "base/sys_byteorder.h"
14 #include "net/base/address_list.h" 14 #include "net/base/address_list.h"
15 #include "net/base/test_completion_callback.h" 15 #include "net/base/test_completion_callback.h"
16 #include "net/base/winsock_init.h" 16 #include "net/base/winsock_init.h"
17 #include "net/dns/mock_host_resolver.h" 17 #include "net/dns/mock_host_resolver.h"
18 #include "net/log/net_log.h" 18 #include "net/log/net_log.h"
19 #include "net/log/net_log_event_type.h"
19 #include "net/log/test_net_log.h" 20 #include "net/log/test_net_log.h"
20 #include "net/log/test_net_log_entry.h" 21 #include "net/log/test_net_log_entry.h"
21 #include "net/log/test_net_log_util.h" 22 #include "net/log/test_net_log_util.h"
22 #include "net/socket/client_socket_factory.h" 23 #include "net/socket/client_socket_factory.h"
23 #include "net/socket/socket_test_util.h" 24 #include "net/socket/socket_test_util.h"
24 #include "net/socket/tcp_client_socket.h" 25 #include "net/socket/tcp_client_socket.h"
25 #include "net/test/gtest_util.h" 26 #include "net/test/gtest_util.h"
26 #include "testing/gmock/include/gmock/gmock.h" 27 #include "testing/gmock/include/gmock/gmock.h"
27 #include "testing/gtest/include/gtest/gtest.h" 28 #include "testing/gtest/include/gtest/gtest.h"
28 #include "testing/platform_test.h" 29 #include "testing/platform_test.h"
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 EXPECT_TRUE(tcp_sock_->IsConnected()); 151 EXPECT_TRUE(tcp_sock_->IsConnected());
151 EXPECT_FALSE(user_sock_->IsConnected()); 152 EXPECT_FALSE(user_sock_->IsConnected());
152 153
153 int rv = user_sock_->Connect(callback_.callback()); 154 int rv = user_sock_->Connect(callback_.callback());
154 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 155 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
155 EXPECT_FALSE(user_sock_->IsConnected()); 156 EXPECT_FALSE(user_sock_->IsConnected());
156 157
157 TestNetLogEntry::List net_log_entries; 158 TestNetLogEntry::List net_log_entries;
158 net_log_.GetEntries(&net_log_entries); 159 net_log_.GetEntries(&net_log_entries);
159 EXPECT_TRUE(LogContainsBeginEvent(net_log_entries, 0, 160 EXPECT_TRUE(LogContainsBeginEvent(net_log_entries, 0,
160 NetLog::TYPE_SOCKS5_CONNECT)); 161 NetLogEventType::SOCKS5_CONNECT));
161 162
162 rv = callback_.WaitForResult(); 163 rv = callback_.WaitForResult();
163 164
164 EXPECT_THAT(rv, IsOk()); 165 EXPECT_THAT(rv, IsOk());
165 EXPECT_TRUE(user_sock_->IsConnected()); 166 EXPECT_TRUE(user_sock_->IsConnected());
166 167
167 net_log_.GetEntries(&net_log_entries); 168 net_log_.GetEntries(&net_log_entries);
168 EXPECT_TRUE(LogContainsEndEvent(net_log_entries, -1, 169 EXPECT_TRUE(LogContainsEndEvent(net_log_entries, -1,
169 NetLog::TYPE_SOCKS5_CONNECT)); 170 NetLogEventType::SOCKS5_CONNECT));
170 171
171 scoped_refptr<IOBuffer> buffer(new IOBuffer(payload_write.size())); 172 scoped_refptr<IOBuffer> buffer(new IOBuffer(payload_write.size()));
172 memcpy(buffer->data(), payload_write.data(), payload_write.size()); 173 memcpy(buffer->data(), payload_write.data(), payload_write.size());
173 rv = user_sock_->Write( 174 rv = user_sock_->Write(
174 buffer.get(), payload_write.size(), callback_.callback()); 175 buffer.get(), payload_write.size(), callback_.callback());
175 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 176 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
176 rv = callback_.WaitForResult(); 177 rv = callback_.WaitForResult();
177 EXPECT_EQ(static_cast<int>(payload_write.size()), rv); 178 EXPECT_EQ(static_cast<int>(payload_write.size()), rv);
178 179
179 buffer = new IOBuffer(payload_read.size()); 180 buffer = new IOBuffer(payload_read.size());
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 MockRead(ASYNC, kSOCKS5OkResponse, kSOCKS5OkResponseLength) }; 275 MockRead(ASYNC, kSOCKS5OkResponse, kSOCKS5OkResponseLength) };
275 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads), 276 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads),
276 data_writes, arraysize(data_writes), 277 data_writes, arraysize(data_writes),
277 hostname, 80, &net_log_); 278 hostname, 80, &net_log_);
278 int rv = user_sock_->Connect(callback_.callback()); 279 int rv = user_sock_->Connect(callback_.callback());
279 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 280 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
280 281
281 TestNetLogEntry::List net_log_entries; 282 TestNetLogEntry::List net_log_entries;
282 net_log_.GetEntries(&net_log_entries); 283 net_log_.GetEntries(&net_log_entries);
283 EXPECT_TRUE(LogContainsBeginEvent(net_log_entries, 0, 284 EXPECT_TRUE(LogContainsBeginEvent(net_log_entries, 0,
284 NetLog::TYPE_SOCKS5_CONNECT)); 285 NetLogEventType::SOCKS5_CONNECT));
285 286
286 rv = callback_.WaitForResult(); 287 rv = callback_.WaitForResult();
287 EXPECT_THAT(rv, IsOk()); 288 EXPECT_THAT(rv, IsOk());
288 EXPECT_TRUE(user_sock_->IsConnected()); 289 EXPECT_TRUE(user_sock_->IsConnected());
289 290
290 net_log_.GetEntries(&net_log_entries); 291 net_log_.GetEntries(&net_log_entries);
291 EXPECT_TRUE(LogContainsEndEvent(net_log_entries, -1, 292 EXPECT_TRUE(LogContainsEndEvent(net_log_entries, -1,
292 NetLog::TYPE_SOCKS5_CONNECT)); 293 NetLogEventType::SOCKS5_CONNECT));
293 } 294 }
294 295
295 // Test for partial greet response read 296 // Test for partial greet response read
296 { 297 {
297 const char partial1[] = { 0x05 }; 298 const char partial1[] = { 0x05 };
298 const char partial2[] = { 0x00 }; 299 const char partial2[] = { 0x00 };
299 MockWrite data_writes[] = { 300 MockWrite data_writes[] = {
300 MockWrite(ASYNC, kSOCKS5GreetRequest, kSOCKS5GreetRequestLength), 301 MockWrite(ASYNC, kSOCKS5GreetRequest, kSOCKS5GreetRequestLength),
301 MockWrite(ASYNC, kOkRequest, arraysize(kOkRequest)) }; 302 MockWrite(ASYNC, kOkRequest, arraysize(kOkRequest)) };
302 MockRead data_reads[] = { 303 MockRead data_reads[] = {
303 MockRead(ASYNC, partial1, arraysize(partial1)), 304 MockRead(ASYNC, partial1, arraysize(partial1)),
304 MockRead(ASYNC, partial2, arraysize(partial2)), 305 MockRead(ASYNC, partial2, arraysize(partial2)),
305 MockRead(ASYNC, kSOCKS5OkResponse, kSOCKS5OkResponseLength) }; 306 MockRead(ASYNC, kSOCKS5OkResponse, kSOCKS5OkResponseLength) };
306 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads), 307 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads),
307 data_writes, arraysize(data_writes), 308 data_writes, arraysize(data_writes),
308 hostname, 80, &net_log_); 309 hostname, 80, &net_log_);
309 int rv = user_sock_->Connect(callback_.callback()); 310 int rv = user_sock_->Connect(callback_.callback());
310 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 311 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
311 312
312 TestNetLogEntry::List net_log_entries; 313 TestNetLogEntry::List net_log_entries;
313 net_log_.GetEntries(&net_log_entries); 314 net_log_.GetEntries(&net_log_entries);
314 EXPECT_TRUE(LogContainsBeginEvent(net_log_entries, 0, 315 EXPECT_TRUE(LogContainsBeginEvent(net_log_entries, 0,
315 NetLog::TYPE_SOCKS5_CONNECT)); 316 NetLogEventType::SOCKS5_CONNECT));
316 rv = callback_.WaitForResult(); 317 rv = callback_.WaitForResult();
317 EXPECT_THAT(rv, IsOk()); 318 EXPECT_THAT(rv, IsOk());
318 EXPECT_TRUE(user_sock_->IsConnected()); 319 EXPECT_TRUE(user_sock_->IsConnected());
319 net_log_.GetEntries(&net_log_entries); 320 net_log_.GetEntries(&net_log_entries);
320 EXPECT_TRUE(LogContainsEndEvent(net_log_entries, -1, 321 EXPECT_TRUE(LogContainsEndEvent(net_log_entries, -1,
321 NetLog::TYPE_SOCKS5_CONNECT)); 322 NetLogEventType::SOCKS5_CONNECT));
322 } 323 }
323 324
324 // Test for partial handshake request write. 325 // Test for partial handshake request write.
325 { 326 {
326 const int kSplitPoint = 3; // Break handshake write into two parts. 327 const int kSplitPoint = 3; // Break handshake write into two parts.
327 MockWrite data_writes[] = { 328 MockWrite data_writes[] = {
328 MockWrite(ASYNC, kSOCKS5GreetRequest, kSOCKS5GreetRequestLength), 329 MockWrite(ASYNC, kSOCKS5GreetRequest, kSOCKS5GreetRequestLength),
329 MockWrite(ASYNC, kOkRequest, kSplitPoint), 330 MockWrite(ASYNC, kOkRequest, kSplitPoint),
330 MockWrite(ASYNC, kOkRequest + kSplitPoint, 331 MockWrite(ASYNC, kOkRequest + kSplitPoint,
331 arraysize(kOkRequest) - kSplitPoint) 332 arraysize(kOkRequest) - kSplitPoint)
332 }; 333 };
333 MockRead data_reads[] = { 334 MockRead data_reads[] = {
334 MockRead(ASYNC, kSOCKS5GreetResponse, kSOCKS5GreetResponseLength), 335 MockRead(ASYNC, kSOCKS5GreetResponse, kSOCKS5GreetResponseLength),
335 MockRead(ASYNC, kSOCKS5OkResponse, kSOCKS5OkResponseLength) }; 336 MockRead(ASYNC, kSOCKS5OkResponse, kSOCKS5OkResponseLength) };
336 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads), 337 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads),
337 data_writes, arraysize(data_writes), 338 data_writes, arraysize(data_writes),
338 hostname, 80, &net_log_); 339 hostname, 80, &net_log_);
339 int rv = user_sock_->Connect(callback_.callback()); 340 int rv = user_sock_->Connect(callback_.callback());
340 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 341 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
341 TestNetLogEntry::List net_log_entries; 342 TestNetLogEntry::List net_log_entries;
342 net_log_.GetEntries(&net_log_entries); 343 net_log_.GetEntries(&net_log_entries);
343 EXPECT_TRUE(LogContainsBeginEvent(net_log_entries, 0, 344 EXPECT_TRUE(LogContainsBeginEvent(net_log_entries, 0,
344 NetLog::TYPE_SOCKS5_CONNECT)); 345 NetLogEventType::SOCKS5_CONNECT));
345 rv = callback_.WaitForResult(); 346 rv = callback_.WaitForResult();
346 EXPECT_THAT(rv, IsOk()); 347 EXPECT_THAT(rv, IsOk());
347 EXPECT_TRUE(user_sock_->IsConnected()); 348 EXPECT_TRUE(user_sock_->IsConnected());
348 net_log_.GetEntries(&net_log_entries); 349 net_log_.GetEntries(&net_log_entries);
349 EXPECT_TRUE(LogContainsEndEvent(net_log_entries, -1, 350 EXPECT_TRUE(LogContainsEndEvent(net_log_entries, -1,
350 NetLog::TYPE_SOCKS5_CONNECT)); 351 NetLogEventType::SOCKS5_CONNECT));
351 } 352 }
352 353
353 // Test for partial handshake response read 354 // Test for partial handshake response read
354 { 355 {
355 const int kSplitPoint = 6; // Break the handshake read into two parts. 356 const int kSplitPoint = 6; // Break the handshake read into two parts.
356 MockWrite data_writes[] = { 357 MockWrite data_writes[] = {
357 MockWrite(ASYNC, kSOCKS5GreetRequest, kSOCKS5GreetRequestLength), 358 MockWrite(ASYNC, kSOCKS5GreetRequest, kSOCKS5GreetRequestLength),
358 MockWrite(ASYNC, kOkRequest, arraysize(kOkRequest)) 359 MockWrite(ASYNC, kOkRequest, arraysize(kOkRequest))
359 }; 360 };
360 MockRead data_reads[] = { 361 MockRead data_reads[] = {
361 MockRead(ASYNC, kSOCKS5GreetResponse, kSOCKS5GreetResponseLength), 362 MockRead(ASYNC, kSOCKS5GreetResponse, kSOCKS5GreetResponseLength),
362 MockRead(ASYNC, kSOCKS5OkResponse, kSplitPoint), 363 MockRead(ASYNC, kSOCKS5OkResponse, kSplitPoint),
363 MockRead(ASYNC, kSOCKS5OkResponse + kSplitPoint, 364 MockRead(ASYNC, kSOCKS5OkResponse + kSplitPoint,
364 kSOCKS5OkResponseLength - kSplitPoint) 365 kSOCKS5OkResponseLength - kSplitPoint)
365 }; 366 };
366 367
367 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads), 368 user_sock_ = BuildMockSocket(data_reads, arraysize(data_reads),
368 data_writes, arraysize(data_writes), 369 data_writes, arraysize(data_writes),
369 hostname, 80, &net_log_); 370 hostname, 80, &net_log_);
370 int rv = user_sock_->Connect(callback_.callback()); 371 int rv = user_sock_->Connect(callback_.callback());
371 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 372 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
372 TestNetLogEntry::List net_log_entries; 373 TestNetLogEntry::List net_log_entries;
373 net_log_.GetEntries(&net_log_entries); 374 net_log_.GetEntries(&net_log_entries);
374 EXPECT_TRUE(LogContainsBeginEvent(net_log_entries, 0, 375 EXPECT_TRUE(LogContainsBeginEvent(net_log_entries, 0,
375 NetLog::TYPE_SOCKS5_CONNECT)); 376 NetLogEventType::SOCKS5_CONNECT));
376 rv = callback_.WaitForResult(); 377 rv = callback_.WaitForResult();
377 EXPECT_THAT(rv, IsOk()); 378 EXPECT_THAT(rv, IsOk());
378 EXPECT_TRUE(user_sock_->IsConnected()); 379 EXPECT_TRUE(user_sock_->IsConnected());
379 net_log_.GetEntries(&net_log_entries); 380 net_log_.GetEntries(&net_log_entries);
380 EXPECT_TRUE(LogContainsEndEvent(net_log_entries, -1, 381 EXPECT_TRUE(LogContainsEndEvent(net_log_entries, -1,
381 NetLog::TYPE_SOCKS5_CONNECT)); 382 NetLogEventType::SOCKS5_CONNECT));
382 } 383 }
383 } 384 }
384 385
385 } // namespace 386 } // namespace
386 387
387 } // namespace net 388 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/socks5_client_socket.cc ('k') | net/socket/socks_client_socket.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698