Test::Mock::Net::FTP - Mock Object for Net::FTP
use strict; use warnings; use Test::More; use Test::Mock::Net::FTP; Test::Mock::Net::FTP::mock_prepare( 'somehost.example.com' => { 'user1'=> { password => 'secret', dir => ['./ftpserver', '/ftproot'], override => { ls => sub { return qw(aaa bbb ccc); }, }, }, } ); my $ftp = Test::Mock::Net::FTP->new('somehost.example.com'); $ftp->login('user1', 'secret'); $ftp->cwd('datadir'); $ftp->get('file1'); my @files = $ftp->ls();# => ('aaa', 'bbb', 'ccc'); $ftp->quit(); # or use Test::Mock::Net::FTP qw(intercept); some_method_using_ftp();
Test::Mock::Net::FTP is Mock Object for Net::FTP. This module behave like FTP server, but only use local filesystem.(not using socket).
prepare FTP server in your local filesystem.
mock's current directory
mock's physical root directory
return current connection mode (port or pasv)
return current port no
return current transfer mode(ascii or binary)
return command history
my $ftp = Test::Mock::Net::FTP->new('somehost'); $ftp->login('somehost', 'passwd'); $ftp->ls('dir1'); my @history = $ftp->mock_command_history(); # => ( ['login', 'somehost', 'passwd'], ['ls', 'dir1']);
clear command history
create new instance
login mock FTP server. this method IS NOT allowed to be overridden.
authorize. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for authorize. this method sholud be used in overridden method.
execute SITE command. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for site. this method sholud be used in overridden method.
enter ascii mode. mock_transfer_mode() returns 'ascii'. this methos is allowed to be overridden.
default implementation for ascii. this method sholud be used in overridden method.
enter binary mode. mock_transfer_mode() returns 'binary'. this methos is allowed to be overridden.
default implementation for binary. this method sholud be used in overridden method.
rename remote file. this methos is allowed to be overridden.
default implementation for rename. this method sholud be used in overridden method.
delete remote file. this methos is allowed to be overridden.
default implementation for delete. this method sholud be used in overridden method.
change (mock) server current directory this methos is allowed to be overridden.
default implementation for cwd. this method sholud be used in overridden method.
change (mock) server directory to parent this methos is allowed to be overridden.
default implementation for cdup. this method sholud be used in overridden method.
return (mock) server current directory this methos is allowed to be overridden.
default implementation for pwd. this method sholud be used in overridden method.
restart. currently do_nothing this methos is allowed to be overridden.
default implementation for restart. this method sholud be used in overridden method.
rmdir to remove (mock) server. when $recursive_bool is true, dir is recursively removed. this methos is allowed to be overridden.
default implementation for rmdir. this method sholud be used in overridden method.
mkdir to remove (mock) server. when $recursive_bool is true, dir is recursively create. this methos is allowed to be overridden.
default implementation for mkdir. this method sholud be used in overridden method.
alloc. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for alloc. this method sholud be used in overridden method.
list file(s) in server directory. this methos is allowed to be overridden.
default implementation for ls. this method sholud be used in overridden method.
list file(s) with detail information(ex. filesize) in server directory. this methos is allowed to be overridden.
default implementation for dir. this method sholud be used in overridden method.
get file from mock FTP server this methos is allowed to be overridden.
default implementation for get. this method sholud be used in overridden method.
put a file to mock FTP server this methos is allowed to be overridden.
default implementation for put. this method sholud be used in overridden method.
same as put() but if same file exists in server. rename to unique filename (in this module, simply add suffix .1(.2, .3...). and suffix is limited to 1024) this methos is allowed to be overridden.
default implementation for put_unique. this method sholud be used in overridden method.
put a file to mock FTP server. if file already exists, append file contents in server file. this methos is allowed to be overridden.
default implementation for append. this method sholud be used in overridden method.
return unique filename when put_unique() called. this methos is allowed to be overridden.
default implementation for unique_name. this method sholud be used in overridden method.
returns file modification time in remote (mock) server. this methos is allowed to be overridden.
default implementation for mdtm. this method sholud be used in overridden method.
returns filesize in remote (mock) server. this methos is allowed to be overridden.
default implementation for size. this method sholud be used in overridden method.
supported. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for supported. this method sholud be used in overridden method.
hash. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for hash. this method sholud be used in overridden method.
reature. currently returns list of $cmd. this method is allowed to be overridden.
default implementation for feature. this method sholud be used in overridden method.
nlst. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for nlst. this method sholud be used in overridden method.
list. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for list. this method sholud be used in overridden method.
retr. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for retr. this method sholud be used in overridden method.
stor. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for stor. this method sholud be used in overridden method.
stou. currently do_nothing.
appe. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for appe. this method sholud be used in overridden method.
specify data connection to port-mode.
after called this method, mock_connection_mode() returns 'port' and mock_port_no() returns specified $port_no.
this methos is allowed to be overridden.
default implementation for port. this method sholud be used in overridden method.
specify data connection to passive-mode. after called this method, mock_connection_mode() returns 'pasv' and mock_port_no() returns ''
default implementation for pasv. this method sholud be used in overridden method.
pasv_xfer. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for psv_xfer. this method sholud be used in overridden method.
pasv_xfer_unique. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for psv_xfer_unique. this method sholud be used in overridden method.
pasv_wait. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for pasv_wait. this method sholud be used in overridden method.
abort. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for abort. this method sholud be used in overridden method.
quit. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for quit. this method sholud be used in overridden method.
quot. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for quot. this method sholud be used in overridden method.
close connection mock FTP server. default implementation is 'do nothing'. this method is allowed to be overridden.
default implementation for close. this method sholud be used in overridden method.
return messages from mock FTP server this method is allowed to be overridden.
default implementation for message. this method sholud be used in overridden method.
Takuya Tsuchida <tsucchi at cpan.org>
Net::FTP
http://github.com/tsucchi/Test-Mock-Net-FTP
Copyright (c) 2009-2011 Takuya Tsuchida
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Test::Mock::Net::FTP, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Test::Mock::Net::FTP
CPAN shell
perl -MCPAN -e shell install Test::Mock::Net::FTP
For more information on module installation, please visit the detailed CPAN module installation guide.