From 9bb5a3f8ef1239e4047c1045b2c3370b34376374 Mon Sep 17 00:00:00 2001 From: Nathan Wagner Date: Fri, 2 Dec 2011 04:39:33 -0500 Subject: [PATCH] Added stat response tests. --- t/02_responses.t | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 t/02_responses.t diff --git a/t/02_responses.t b/t/02_responses.t new file mode 100644 index 0000000..0ff39d2 --- /dev/null +++ b/t/02_responses.t @@ -0,0 +1,49 @@ +#!/usr/bin/perl + +use Test::More tests => 8; + +BEGIN { use_ok('Net::Cmd') } +BEGIN { use_ok('Net::NNTP') } + +my $c = Net::NNTP->new(Host => '127.0.0.1', Port => 20203, Reader => 0); + +ok(defined $c, 'connected to localhost'); + +BAIL_OUT(q{can't connect to test server'}) unless $c; + +sub Net::NNTP::issue { + my ($c, @cmd) = @_; + $c->command(@cmd); + $c->response(); + return $c->code(); +} + +sub Net::NNTP::try { + my ($c, $cmd, $test, @valid) = @_; + $c->command($cmd); + $c->response(); + ok(scalar (grep {$c->code == $_} @valid) , "$test ".$c->code." in (@valid)"); + return $c->code; +} + +# 3977:5.1.1 initial greeting must be 200 201 400 502 +my @valid = (200, 201, 400, 502); +my $greeting = $c->code; + +ok(grep {$c->code == $_} @valid, 'correct initial response from server'); + +unless ($greeting == 200 or $greeting = 201) { + BAIL_OUT(q{bad greeting from server'}); +} + +# 4 tests done to here + +$c->try('STAT','stat with no newsgroup',412); +$c->try('GROUP de.test','group selection',211); +$c->try('STAT','stat with newsgroup',223,420); + +goto quit; + +quit: + +$c->try('QUIT','quit',205); -- 2.40.0