3 use Test::More tests => 20;
7 use lib ("$FindBin::Bin/lib", "$FindBin::Bin/../lib", "$FindBin::Bin/broken");
10 my $t = Test::Rest->new(content_type => 'text/x-yaml');
12 use_ok 'Catalyst::Test', 'Test::Catalyst::Action::REST';
14 my $data = { your => 'face' };
17 request($t->put(url => '/rest/test', data => Dump($data)))->content
19 { test => 'worked', data => $data },
20 'round trip (deserialize/serialize)',
24 ok my $res = request( $t->get( url => '/rest/test_status_created' ) );
25 is $res->code, 201, "... status created";
27 ok $res = request( $t->get( url => '/rest/test_status_accepted' ) );
28 is $res->code, 202, "... status accepted";
30 ok $res = request( $t->get( url => '/rest/test_status_no_content' ) );
31 is $res->code, 204, "... status no content";
32 is $res->content, '', '... no content';
34 ok $res = request( $t->get( url => '/rest/test_status_bad_request' ) );
35 is $res->code, 400, '... status bad request';
36 is_deeply Load( $res->content ),
37 { error => "Cannot do what you have asked!" },
38 "... status bad request message";
40 ok $res = request( $t->get( url => '/rest/test_status_not_found' ) );
41 is $res->code, 404, '... status not found';
42 is_deeply Load( $res->content ),
43 { error => "Cannot find what you were looking for!" },
44 "... status bad request message";
46 ok $res = request( $t->get( url => '/rest/test_status_gone' ) );
47 is $res->code, 410, '... status gone';
48 is_deeply Load( $res->content ),
49 { error => "Document have been deleted by foo" },
50 "... status gone message";
52 ok $res = request( $t->get( url => '/rest/test_status_multiple_choices' ) );
53 is $res->code, 300, "... multiple choices";