| 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/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 #if defined(OS_WIN) | 9 #if defined(OS_WIN) |
| 10 #include <ws2tcpip.h> | 10 #include <ws2tcpip.h> |
| (...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 296 | 296 |
| 297 virtual MockWriteResult OnWrite(const std::string& data) { | 297 virtual MockWriteResult OnWrite(const std::string& data) { |
| 298 if (InjectFault()) | 298 if (InjectFault()) |
| 299 return MockWriteResult(true, data.length()); | 299 return MockWriteResult(true, data.length()); |
| 300 switch (state()) { | 300 switch (state()) { |
| 301 case PRE_PASV2: | 301 case PRE_PASV2: |
| 302 return Verify("PASV\r\n", data, PRE_CWD, | 302 return Verify("PASV\r\n", data, PRE_CWD, |
| 303 "227 Entering Passive Mode (127,0,0,1,123,456)\r\n"); | 303 "227 Entering Passive Mode (127,0,0,1,123,456)\r\n"); |
| 304 case PRE_CWD: | 304 case PRE_CWD: |
| 305 return Verify("CWD /file\r\n", data, PRE_QUIT, | 305 return Verify("CWD /file\r\n", data, PRE_QUIT, |
| 306 "500 file is a directory\r\n"); | 306 "550 file is a directory\r\n"); |
| 307 default: | 307 default: |
| 308 return FtpMockControlSocketFileDownload::OnWrite(data); | 308 return FtpMockControlSocketFileDownload::OnWrite(data); |
| 309 } | 309 } |
| 310 } | 310 } |
| 311 | 311 |
| 312 private: | 312 private: |
| 313 DISALLOW_COPY_AND_ASSIGN(FtpMockControlSocketFileDownloadRetrFail); | 313 DISALLOW_COPY_AND_ASSIGN(FtpMockControlSocketFileDownloadRetrFail); |
| 314 }; | 314 }; |
| 315 | 315 |
| 316 class FtpMockControlSocketEvilPasv : public FtpMockControlSocketFileDownload { | 316 class FtpMockControlSocketEvilPasv : public FtpMockControlSocketFileDownload { |
| (...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 TEST_F(FtpNetworkTransactionTest, DirectoryTransactionFailCwd) { | 677 TEST_F(FtpNetworkTransactionTest, DirectoryTransactionFailCwd) { |
| 678 FtpMockControlSocketDirectoryListing ctrl_socket; | 678 FtpMockControlSocketDirectoryListing ctrl_socket; |
| 679 TransactionFailHelper(&ctrl_socket, | 679 TransactionFailHelper(&ctrl_socket, |
| 680 "ftp://host", | 680 "ftp://host", |
| 681 FtpMockControlSocket::PRE_CWD, | 681 FtpMockControlSocket::PRE_CWD, |
| 682 FtpMockControlSocket::PRE_QUIT, | 682 FtpMockControlSocket::PRE_QUIT, |
| 683 "500 failed cwd\r\n", | 683 "500 failed cwd\r\n", |
| 684 ERR_FAILED); | 684 ERR_FAILED); |
| 685 } | 685 } |
| 686 | 686 |
| 687 TEST_F(FtpNetworkTransactionTest, DirectoryTransactionFileNotFound) { |
| 688 FtpMockControlSocketDirectoryListing ctrl_socket; |
| 689 TransactionFailHelper(&ctrl_socket, |
| 690 "ftp://host", |
| 691 FtpMockControlSocket::PRE_CWD, |
| 692 FtpMockControlSocket::PRE_QUIT, |
| 693 "550 cannot open file\r\n", |
| 694 ERR_FILE_NOT_FOUND); |
| 695 } |
| 696 |
| 687 TEST_F(FtpNetworkTransactionTest, DirectoryTransactionFailList) { | 697 TEST_F(FtpNetworkTransactionTest, DirectoryTransactionFailList) { |
| 688 FtpMockControlSocketDirectoryListing ctrl_socket; | 698 FtpMockControlSocketDirectoryListing ctrl_socket; |
| 689 TransactionFailHelper(&ctrl_socket, | 699 TransactionFailHelper(&ctrl_socket, |
| 690 "ftp://host", | 700 "ftp://host", |
| 691 FtpMockControlSocket::PRE_LIST, | 701 FtpMockControlSocket::PRE_LIST, |
| 692 FtpMockControlSocket::PRE_QUIT, | 702 FtpMockControlSocket::PRE_QUIT, |
| 693 "500 failed list\r\n", | 703 "500 failed list\r\n", |
| 694 ERR_FAILED); | 704 ERR_FAILED); |
| 695 } | 705 } |
| 696 | 706 |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 762 FtpMockControlSocket::PRE_RETR, | 772 FtpMockControlSocket::PRE_RETR, |
| 763 "500 failed mdtm\r\n", | 773 "500 failed mdtm\r\n", |
| 764 OK); | 774 OK); |
| 765 } | 775 } |
| 766 | 776 |
| 767 TEST_F(FtpNetworkTransactionTest, DownloadTransactionFailRetr) { | 777 TEST_F(FtpNetworkTransactionTest, DownloadTransactionFailRetr) { |
| 768 FtpMockControlSocketFileDownloadRetrFail ctrl_socket; | 778 FtpMockControlSocketFileDownloadRetrFail ctrl_socket; |
| 769 TransactionFailHelper(&ctrl_socket, | 779 TransactionFailHelper(&ctrl_socket, |
| 770 "ftp://host/file", | 780 "ftp://host/file", |
| 771 FtpMockControlSocket::PRE_RETR, | 781 FtpMockControlSocket::PRE_RETR, |
| 782 FtpMockControlSocket::PRE_QUIT, |
| 783 "500 failed retr\r\n", |
| 784 ERR_FAILED); |
| 785 } |
| 786 |
| 787 TEST_F(FtpNetworkTransactionTest, DownloadTransactionFileNotFound) { |
| 788 FtpMockControlSocketFileDownloadRetrFail ctrl_socket; |
| 789 TransactionFailHelper(&ctrl_socket, |
| 790 "ftp://host/file", |
| 791 FtpMockControlSocket::PRE_RETR, |
| 772 FtpMockControlSocket::PRE_PASV2, | 792 FtpMockControlSocket::PRE_PASV2, |
| 773 "500 failed retr\r\n", | 793 "550 cannot open file\r\n", |
| 774 ERR_FAILED); | 794 ERR_FILE_NOT_FOUND); |
| 775 } | 795 } |
| 776 | 796 |
| 777 } // namespace net | 797 } // namespace net |
| OLD | NEW |