Commit | Line | Data |
e601adda |
1 | use strict; |
2 | use warnings; |
10018fb4 |
3 | use Test::More; |
e601adda |
4 | use YAML::Syck; |
5 | use FindBin; |
e601adda |
6 | |
7 | use lib ( "$FindBin::Bin/lib", "$FindBin::Bin/../lib" ); |
8 | use Test::Rest; |
9 | |
10 | BEGIN { |
11 | use_ok 'Catalyst::Test', 'Test::Serialize'; |
12 | } |
13 | |
14 | my $has_serializer = eval "require YAML::Syck"; |
15 | SKIP: { |
16 | skip "YAML::Syck not available", 3, unless $has_serializer; |
17 | |
18 | my $t = Test::Rest->new( 'content_type' => 'text/html' ); |
19 | |
20 | my $monkey_template = |
21 | "<html><title>Test::Serialize</title><body><pre>--- \nmonkey: likes chicken!\n</pre></body></html>"; |
22 | my $mres = request( $t->get( url => '/monkey_get' ) ); |
23 | ok( $mres->is_success, 'GET the monkey succeeded' ); |
24 | is( $mres->content, $monkey_template, "GET returned the right data" ); |
25 | |
26 | my $post_data = { 'sushi' => 'is good for monkey', }; |
27 | my $mres_post = |
28 | request( $t->post( url => '/monkey_put', data => Dump($post_data) ) ); |
29 | ok( $mres_post->is_error, "POST to the monkey failed; no deserializer." ); |
30 | |
8aa1a2ee |
31 | # xss test - RT 63537 |
32 | my $xss_template = |
33 | "<html><title>Test::Serialize</title><body><pre>--- \nmonkey: likes chicken > sushi!\n</pre></body></html>"; |
34 | my $xres = request( $t->get( url => '/xss_get' ) ); |
35 | ok( $xres->is_success, 'GET the xss succeeded' ); |
36 | is( $xres->content, $xss_template, "GET returned the right data" ); |
37 | |
38 | |
e601adda |
39 | } |
40 | 1; |
10018fb4 |
41 | |
42 | done_testing; |