AnyEvent-FTP
view release on metacpan or search on metacpan
t/test_anyeventftpserver.t view on Meta::CPAN
use Test2::V0 -no_srand => 1;
use Test::AnyEventFTPServer;
use File::chdir;
global_timeout_ok;
subtest 'basic' => sub {
my $server = create_ftpserver_ok;
isa_ok $server, 'AnyEvent::FTP::Server';
isa_ok $server->test_uri, 'URI';
my $client = $server->connect_ftpclient_ok;
isa_ok $client, 'AnyEvent::FTP::Client';
my $response = $client->help->recv;
is $response->code, 214, "help response code = 214";
$response = $client->quit->recv;
is $response->code, 221, "quit response code = 221";
$server->help_coverage_ok;
$server->command_ok('bogus')
->code_is(500)
->code_like(qr{5..})
->message_like(qr{not understood});
$server->command_ok('HELP')
->code_is(214)
->code_like(qr{.1.})
->message_like(qr{The following commands are recognized});
isa_ok $server->res, 'AnyEvent::FTP::Client::Response';
};
subtest 'content_is' => sub {
my $server = create_ftpserver_ok('FSRO');
$server->command_ok('CWD' => "$CWD/corpus/nlst");
$server->nlst_ok;
$server->content_is("one.txt\nthree.txt\ntwo.txt\n");
is(
intercept { $server->content_is("one.txt\nthree.txt\ntwo.txt\n") },
array {
event Ok => sub {
call pass => T();
call name => 'content matches';
};
end;
},
'pass okay',
);
is(
intercept { $server->content_is("one.txt\ntwo.txt\nthree.txt\n") },
array {
event Ok => sub {
call pass => F();
call name => 'content matches';
};
event Diag => sub {};
( run in 1.259 second using v1.01-cache-2.11-cpan-39bf76dae61 )