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

Side by Side Diff: net/ftp/ftp_network_transaction_unittest.cc

Issue 1783008: Cleanup: Remove the implicit constructor for BoundNetLog that allowed passing... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Sync Created 10 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « net/base/net_log.h ('k') | net/http/http_auth_handler_negotiate_unittest.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) 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/ftp/ftp_network_transaction.h" 5 #include "net/ftp/ftp_network_transaction.h"
6 6
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 8
9 #include "base/ref_counted.h" 9 #include "base/ref_counted.h"
10 #include "net/base/io_buffer.h" 10 #include "net/base/io_buffer.h"
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 // For compatibility with FileZilla, the transaction code will use two data 708 // For compatibility with FileZilla, the transaction code will use two data
709 // sockets for directory requests. For more info see http://crbug.com/25316. 709 // sockets for directory requests. For more info see http://crbug.com/25316.
710 StaticSocketDataProvider data1(data_reads, arraysize(data_reads), NULL, 0); 710 StaticSocketDataProvider data1(data_reads, arraysize(data_reads), NULL, 0);
711 StaticSocketDataProvider data2(data_reads, arraysize(data_reads), NULL, 0); 711 StaticSocketDataProvider data2(data_reads, arraysize(data_reads), NULL, 0);
712 mock_socket_factory_.AddSocketDataProvider(ctrl_socket); 712 mock_socket_factory_.AddSocketDataProvider(ctrl_socket);
713 mock_socket_factory_.AddSocketDataProvider(&data1); 713 mock_socket_factory_.AddSocketDataProvider(&data1);
714 mock_socket_factory_.AddSocketDataProvider(&data2); 714 mock_socket_factory_.AddSocketDataProvider(&data2);
715 FtpRequestInfo request_info = GetRequestInfo(request); 715 FtpRequestInfo request_info = GetRequestInfo(request);
716 EXPECT_EQ(LOAD_STATE_IDLE, transaction_.GetLoadState()); 716 EXPECT_EQ(LOAD_STATE_IDLE, transaction_.GetLoadState());
717 ASSERT_EQ(ERR_IO_PENDING, 717 ASSERT_EQ(ERR_IO_PENDING,
718 transaction_.Start(&request_info, &callback_, NULL)); 718 transaction_.Start(&request_info, &callback_, BoundNetLog()));
719 EXPECT_NE(LOAD_STATE_IDLE, transaction_.GetLoadState()); 719 EXPECT_NE(LOAD_STATE_IDLE, transaction_.GetLoadState());
720 ASSERT_EQ(expected_result, callback_.WaitForResult()); 720 ASSERT_EQ(expected_result, callback_.WaitForResult());
721 if (expected_result == OK) { 721 if (expected_result == OK) {
722 scoped_refptr<IOBuffer> io_buffer(new IOBuffer(kBufferSize)); 722 scoped_refptr<IOBuffer> io_buffer(new IOBuffer(kBufferSize));
723 memset(io_buffer->data(), 0, kBufferSize); 723 memset(io_buffer->data(), 0, kBufferSize);
724 ASSERT_EQ(ERR_IO_PENDING, 724 ASSERT_EQ(ERR_IO_PENDING,
725 transaction_.Read(io_buffer.get(), kBufferSize, &callback_)); 725 transaction_.Read(io_buffer.get(), kBufferSize, &callback_));
726 ASSERT_EQ(static_cast<int>(mock_data.length()), 726 ASSERT_EQ(static_cast<int>(mock_data.length()),
727 callback_.WaitForResult()); 727 callback_.WaitForResult());
728 EXPECT_EQ(mock_data, std::string(io_buffer->data(), mock_data.length())); 728 EXPECT_EQ(mock_data, std::string(io_buffer->data(), mock_data.length()));
(...skipping 25 matching lines...) Expand all
754 MockClientSocketFactory mock_socket_factory_; 754 MockClientSocketFactory mock_socket_factory_;
755 FtpNetworkTransaction transaction_; 755 FtpNetworkTransaction transaction_;
756 TestCompletionCallback callback_; 756 TestCompletionCallback callback_;
757 }; 757 };
758 758
759 TEST_F(FtpNetworkTransactionTest, FailedLookup) { 759 TEST_F(FtpNetworkTransactionTest, FailedLookup) {
760 FtpRequestInfo request_info = GetRequestInfo("ftp://badhost"); 760 FtpRequestInfo request_info = GetRequestInfo("ftp://badhost");
761 host_resolver_->rules()->AddSimulatedFailure("badhost"); 761 host_resolver_->rules()->AddSimulatedFailure("badhost");
762 EXPECT_EQ(LOAD_STATE_IDLE, transaction_.GetLoadState()); 762 EXPECT_EQ(LOAD_STATE_IDLE, transaction_.GetLoadState());
763 ASSERT_EQ(ERR_IO_PENDING, 763 ASSERT_EQ(ERR_IO_PENDING,
764 transaction_.Start(&request_info, &callback_, NULL)); 764 transaction_.Start(&request_info, &callback_, BoundNetLog()));
765 ASSERT_EQ(ERR_NAME_NOT_RESOLVED, callback_.WaitForResult()); 765 ASSERT_EQ(ERR_NAME_NOT_RESOLVED, callback_.WaitForResult());
766 EXPECT_EQ(LOAD_STATE_IDLE, transaction_.GetLoadState()); 766 EXPECT_EQ(LOAD_STATE_IDLE, transaction_.GetLoadState());
767 } 767 }
768 768
769 // Check that when determining the host, the square brackets decorating IPv6 769 // Check that when determining the host, the square brackets decorating IPv6
770 // literals in URLs are stripped. 770 // literals in URLs are stripped.
771 TEST_F(FtpNetworkTransactionTest, StripBracketsFromIPv6Literals) { 771 TEST_F(FtpNetworkTransactionTest, StripBracketsFromIPv6Literals) {
772 host_resolver_->rules()->AddSimulatedFailure("[::1]"); 772 host_resolver_->rules()->AddSimulatedFailure("[::1]");
773 773
774 // We start a transaction that is expected to fail with ERR_INVALID_RESPONSE. 774 // We start a transaction that is expected to fail with ERR_INVALID_RESPONSE.
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 MockRead(mock_data.c_str()), 955 MockRead(mock_data.c_str()),
956 }; 956 };
957 StaticSocketDataProvider data_socket1(data_reads, arraysize(data_reads), 957 StaticSocketDataProvider data_socket1(data_reads, arraysize(data_reads),
958 NULL, 0); 958 NULL, 0);
959 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket); 959 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket);
960 mock_socket_factory_.AddSocketDataProvider(&data_socket1); 960 mock_socket_factory_.AddSocketDataProvider(&data_socket1);
961 FtpRequestInfo request_info = GetRequestInfo("ftp://host/file"); 961 FtpRequestInfo request_info = GetRequestInfo("ftp://host/file");
962 962
963 // Start the transaction. 963 // Start the transaction.
964 ASSERT_EQ(ERR_IO_PENDING, 964 ASSERT_EQ(ERR_IO_PENDING,
965 transaction_.Start(&request_info, &callback_, NULL)); 965 transaction_.Start(&request_info, &callback_, BoundNetLog()));
966 ASSERT_EQ(OK, callback_.WaitForResult()); 966 ASSERT_EQ(OK, callback_.WaitForResult());
967 967
968 // The transaction fires the callback when we can start reading data. That 968 // The transaction fires the callback when we can start reading data. That
969 // means that the data socket should be open. 969 // means that the data socket should be open.
970 MockTCPClientSocket* data_socket = 970 MockTCPClientSocket* data_socket =
971 mock_socket_factory_.GetMockTCPClientSocket(1); 971 mock_socket_factory_.GetMockTCPClientSocket(1);
972 ASSERT_TRUE(data_socket); 972 ASSERT_TRUE(data_socket);
973 ASSERT_TRUE(data_socket->IsConnected()); 973 ASSERT_TRUE(data_socket->IsConnected());
974 974
975 // Even if the PASV response specified some other address, we connect 975 // Even if the PASV response specified some other address, we connect
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 TEST_F(FtpNetworkTransactionTest, EvilRestartUser) { 1078 TEST_F(FtpNetworkTransactionTest, EvilRestartUser) {
1079 FtpSocketDataProvider ctrl_socket1; 1079 FtpSocketDataProvider ctrl_socket1;
1080 ctrl_socket1.InjectFailure(FtpSocketDataProvider::PRE_PASSWD, 1080 ctrl_socket1.InjectFailure(FtpSocketDataProvider::PRE_PASSWD,
1081 FtpSocketDataProvider::PRE_QUIT, 1081 FtpSocketDataProvider::PRE_QUIT,
1082 "530 Login authentication failed\r\n"); 1082 "530 Login authentication failed\r\n");
1083 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket1); 1083 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket1);
1084 1084
1085 FtpRequestInfo request_info = GetRequestInfo("ftp://host/file"); 1085 FtpRequestInfo request_info = GetRequestInfo("ftp://host/file");
1086 1086
1087 ASSERT_EQ(ERR_IO_PENDING, 1087 ASSERT_EQ(ERR_IO_PENDING,
1088 transaction_.Start(&request_info, &callback_, NULL)); 1088 transaction_.Start(&request_info, &callback_, BoundNetLog()));
1089 ASSERT_EQ(ERR_FAILED, callback_.WaitForResult()); 1089 ASSERT_EQ(ERR_FAILED, callback_.WaitForResult());
1090 1090
1091 MockRead ctrl_reads[] = { 1091 MockRead ctrl_reads[] = {
1092 MockRead("220 host TestFTPd\r\n"), 1092 MockRead("220 host TestFTPd\r\n"),
1093 MockRead("221 Goodbye!\r\n"), 1093 MockRead("221 Goodbye!\r\n"),
1094 MockRead(false, OK), 1094 MockRead(false, OK),
1095 }; 1095 };
1096 MockWrite ctrl_writes[] = { 1096 MockWrite ctrl_writes[] = {
1097 MockWrite("QUIT\r\n"), 1097 MockWrite("QUIT\r\n"),
1098 }; 1098 };
1099 StaticSocketDataProvider ctrl_socket2(ctrl_reads, arraysize(ctrl_reads), 1099 StaticSocketDataProvider ctrl_socket2(ctrl_reads, arraysize(ctrl_reads),
1100 ctrl_writes, arraysize(ctrl_writes)); 1100 ctrl_writes, arraysize(ctrl_writes));
1101 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket2); 1101 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket2);
1102 ASSERT_EQ(ERR_IO_PENDING, transaction_.RestartWithAuth(L"foo\nownz0red", 1102 ASSERT_EQ(ERR_IO_PENDING, transaction_.RestartWithAuth(L"foo\nownz0red",
1103 L"innocent", 1103 L"innocent",
1104 &callback_)); 1104 &callback_));
1105 EXPECT_EQ(ERR_MALFORMED_IDENTITY, callback_.WaitForResult()); 1105 EXPECT_EQ(ERR_MALFORMED_IDENTITY, callback_.WaitForResult());
1106 } 1106 }
1107 1107
1108 TEST_F(FtpNetworkTransactionTest, EvilRestartPassword) { 1108 TEST_F(FtpNetworkTransactionTest, EvilRestartPassword) {
1109 FtpSocketDataProvider ctrl_socket1; 1109 FtpSocketDataProvider ctrl_socket1;
1110 ctrl_socket1.InjectFailure(FtpSocketDataProvider::PRE_PASSWD, 1110 ctrl_socket1.InjectFailure(FtpSocketDataProvider::PRE_PASSWD,
1111 FtpSocketDataProvider::PRE_QUIT, 1111 FtpSocketDataProvider::PRE_QUIT,
1112 "530 Login authentication failed\r\n"); 1112 "530 Login authentication failed\r\n");
1113 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket1); 1113 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket1);
1114 1114
1115 FtpRequestInfo request_info = GetRequestInfo("ftp://host/file"); 1115 FtpRequestInfo request_info = GetRequestInfo("ftp://host/file");
1116 1116
1117 ASSERT_EQ(ERR_IO_PENDING, 1117 ASSERT_EQ(ERR_IO_PENDING,
1118 transaction_.Start(&request_info, &callback_, NULL)); 1118 transaction_.Start(&request_info, &callback_, BoundNetLog()));
1119 ASSERT_EQ(ERR_FAILED, callback_.WaitForResult()); 1119 ASSERT_EQ(ERR_FAILED, callback_.WaitForResult());
1120 1120
1121 MockRead ctrl_reads[] = { 1121 MockRead ctrl_reads[] = {
1122 MockRead("220 host TestFTPd\r\n"), 1122 MockRead("220 host TestFTPd\r\n"),
1123 MockRead("331 User okay, send password\r\n"), 1123 MockRead("331 User okay, send password\r\n"),
1124 MockRead("221 Goodbye!\r\n"), 1124 MockRead("221 Goodbye!\r\n"),
1125 MockRead(false, OK), 1125 MockRead(false, OK),
1126 }; 1126 };
1127 MockWrite ctrl_writes[] = { 1127 MockWrite ctrl_writes[] = {
1128 MockWrite("USER innocent\r\n"), 1128 MockWrite("USER innocent\r\n"),
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
1394 FtpSocketDataProviderFileDownload ctrl_socket; 1394 FtpSocketDataProviderFileDownload ctrl_socket;
1395 TransactionFailHelper(&ctrl_socket, 1395 TransactionFailHelper(&ctrl_socket,
1396 "ftp://host/file", 1396 "ftp://host/file",
1397 FtpSocketDataProvider::PRE_PWD, 1397 FtpSocketDataProvider::PRE_PWD,
1398 FtpSocketDataProvider::PRE_TYPE, 1398 FtpSocketDataProvider::PRE_TYPE,
1399 "257 \"\"\r\n", 1399 "257 \"\"\r\n",
1400 OK); 1400 OK);
1401 } 1401 }
1402 1402
1403 } // namespace net 1403 } // namespace net
OLDNEW
« no previous file with comments | « net/base/net_log.h ('k') | net/http/http_auth_handler_negotiate_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698