X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fcatalyst-action-rest.t;h=c7f23a447e31180e53567dad0817d9cb93acc822;hb=ecb598eff7eefd9ad9a113303e2c6f578a12a3b4;hp=d2306627ca2bd3d4a214b69a64143ebeb757cc18;hpb=89b766ab4d711d370d06bd72526bd7ead8a19a57;p=catagits%2FCatalyst-Action-REST.git diff --git a/t/catalyst-action-rest.t b/t/catalyst-action-rest.t index d230662..c7f23a4 100644 --- a/t/catalyst-action-rest.t +++ b/t/catalyst-action-rest.t @@ -1,100 +1,7 @@ -package Test::Catalyst::Action::REST; - -use FindBin; - -use lib ("$FindBin::Bin/../lib"); - use strict; use warnings; - -use Catalyst::Runtime '5.70'; - -use Catalyst; - -__PACKAGE__->config( name => 'Test::Catalyst::Action::REST' ); -__PACKAGE__->setup; - -sub test : Local : ActionClass('REST') { - my ( $self, $c ) = @_; - $c->stash->{'entity'} = 'something'; -} - -sub test_GET : Local : ActionClass('REST') { - my ( $self, $c ) = @_; - - $c->stash->{'entity'} .= " GET"; - $c->forward('ok'); -} - -sub test_POST : Local : ActionClass('REST') { - my ( $self, $c ) = @_; - - $c->stash->{'entity'} .= " POST"; - $c->forward('ok'); -} - -sub test_PUT : Local : ActionClass('REST') { - my ( $self, $c ) = @_; - - $c->stash->{'entity'} .= " PUT"; - $c->forward('ok'); -} - -sub test_DELETE : Local : ActionClass('REST') { - my ( $self, $c ) = @_; - - $c->stash->{'entity'} .= " DELETE"; - $c->forward('ok'); -} - -sub test_OPTIONS : Local : ActionClass('REST') { - my ( $self, $c ) = @_; - - $c->stash->{'entity'} .= " OPTIONS"; - $c->forward('ok'); -} - -sub notreally : Local : ActionClass('REST') { -} - -sub notreally_GET { - my ( $self, $c ) = @_; - - $c->stash->{'entity'} = "notreally GET"; - $c->forward('ok'); -} - -sub not_implemented : Local : ActionClass('REST') { -} - -sub not_implemented_GET { - my ( $self, $c ) = @_; - - $c->stash->{'entity'} = "not_implemented GET"; - $c->forward('ok'); -} - -sub not_implemented_not_implemented { - my ( $self, $c ) = @_; - - $c->stash->{'entity'} = "Not Implemented Handler"; - $c->forward('ok'); -} - -sub ok : Private { - my ( $self, $c ) = @_; - - $c->res->content_type('text/plain'); - $c->res->body( $c->stash->{'entity'} ); -} - -package main; - -use strict; -use warnings; -use Test::More qw(no_plan); +use Test::More; use FindBin; -use Data::Dump qw(dump); use lib ( "$FindBin::Bin/lib", "$FindBin::Bin/../lib" ); use Test::Rest; @@ -114,7 +21,7 @@ foreach my $method (qw(GET DELETE POST PUT OPTIONS)) { $res = request( $t->$run_method( url => '/test', - data => { foo => 'bar' } + data => '', ) ); } @@ -126,6 +33,11 @@ foreach my $method (qw(GET DELETE POST PUT OPTIONS)) { ); } +my $head_res = request( $t->head(url => '/test') ); +ok($head_res->is_success, 'HEAD request succeeded') + or diag($head_res->code); +ok(!$head_res->content, 'HEAD request had proper response'); + my $fail_res = request( $t->delete( url => '/notreally' ) ); is( $fail_res->code, 405, "Request to bad method gets 405 Not Implemented" ); is( $fail_res->header('allow'), "GET", "405 allow header properly set." ); @@ -135,6 +47,9 @@ is( $options_res->code, 200, "OPTIONS request handler succeeded" ); is( $options_res->header('allow'), "GET", "OPTIONS request allow header properly set." ); +my $modified_res = request( $t->get( url => '/not_modified' ) ); +is( $modified_res->code, 304, "Not Modified request handler succeeded" ); + my $ni_res = request( $t->delete( url => '/not_implemented' ) ); is( $ni_res->code, 200, "Custom not_implemented handler succeeded" ); is( @@ -144,3 +59,5 @@ is( ); 1; + +done_testing;