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

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

Issue 197050: Return ERR_FILE_NOT_FOUND from FtpNetworkTransaction when we can. (Closed)
Patch Set: clarify Created 11 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
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 #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
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
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
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
OLDNEW
« net/ftp/ftp_network_transaction.cc ('K') | « net/ftp/ftp_network_transaction.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698