X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Action-REST.git;a=blobdiff_plain;f=t%2Fcatalyst-action-deserialize.t;h=8cd13d8510cdae7409e236f5feaaa58766f85f7f;hp=b524b4829d686aa35aa41950368c9297fa637cb4;hb=960e29eed9ccd049c3c0dcd78a65308242a64ae0;hpb=e601addaf89882fccbc824c1a53328f0d049b32b diff --git a/t/catalyst-action-deserialize.t b/t/catalyst-action-deserialize.t index b524b48..8cd13d8 100644 --- a/t/catalyst-action-deserialize.t +++ b/t/catalyst-action-deserialize.t @@ -1,43 +1,8 @@ -package Test::Catalyst::Action::Deserialize; - -use FindBin; - -use lib ("$FindBin::Bin/../lib"); - -use strict; -use warnings; - -use Catalyst::Runtime '5.70'; - -use Catalyst; - -__PACKAGE__->config( - name => 'Test::Catalyst::Action::Deserialize', - serialize => { - 'stash_key' => 'rest', - 'map' => { - 'text/x-yaml' => 'YAML', - 'text/x-data-dumper' => [ 'Data::Serializer', 'Data::Dumper' ], - 'text/broken' => 'Broken', - }, - } -); - -__PACKAGE__->setup; - -sub test :Local :ActionClass('Deserialize') { - my ( $self, $c ) = @_; - $c->res->output($c->req->data->{'kitty'}); -} - -package main; - use strict; use warnings; -use Test::More qw(no_plan); +use Test::More tests => 5; use YAML::Syck; use FindBin; -use Data::Dump qw(dump); use lib ("$FindBin::Bin/lib", "$FindBin::Bin/../lib", "$FindBin::Bin/broken"); use Test::Rest; @@ -45,18 +10,19 @@ use Test::Rest; # Should use Data::Dumper, via Data::Serializer my $t = Test::Rest->new('content_type' => 'text/x-yaml'); -use_ok 'Catalyst::Test', 'Test::Catalyst::Action::Deserialize'; +use_ok 'Catalyst::Test', 'Test::Catalyst::Action::REST'; +my $url = '/deserialize/test'; -my $res = request($t->put( url => '/test', data => Dump({ kitty => "LouLou" }))); +my $res = request($t->put( url => $url, data => Dump({ kitty => "LouLou" }))); ok( $res->is_success, 'PUT Deserialize request succeeded' ); is( $res->content, "LouLou", "Request returned deserialized data"); my $nt = Test::Rest->new('content_type' => 'text/broken'); -my $bres = request($nt->put( url => '/test', data => Dump({ kitty => "LouLou" }))); +my $bres = request($nt->put( url => $url, data => Dump({ kitty => "LouLou" }))); is( $bres->code, 415, 'PUT on un-useable Deserialize class returns 415'); my $ut = Test::Rest->new('content_type' => 'text/not-happening'); -my $ures = request($ut->put( url => '/test', data => Dump({ kitty => "LouLou" }))); +my $ures = request($ut->put( url => $url, data => Dump({ kitty => "LouLou" }))); is ($bres->code, 415, 'GET on unknown Content-Type returns 415'); 1;