Commit | Line | Data |
06e1b616 |
1 | #!perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use FindBin; |
a2e038a1 |
7 | use lib "$FindBin::Bin/lib"; |
06e1b616 |
8 | |
fbcc39ad |
9 | use Test::More tests => 18; |
06e1b616 |
10 | use Catalyst::Test 'TestApp'; |
11 | |
12 | use Catalyst::Request; |
13 | use HTTP::Headers; |
14 | use HTTP::Request::Common; |
15 | |
16 | { |
17 | my $creq; |
18 | |
fbcc39ad |
19 | my $request = POST( |
20 | 'http://localhost/dump/request/', |
06e1b616 |
21 | 'Content-Type' => 'text/plain', |
22 | 'Content' => 'Hello Catalyst' |
23 | ); |
24 | |
25 | ok( my $response = request($request), 'Request' ); |
26 | ok( $response->is_success, 'Response Successful 2xx' ); |
27 | is( $response->content_type, 'text/plain', 'Response Content-Type' ); |
fbcc39ad |
28 | like( $response->content, qr/'Catalyst::Request'/, |
29 | 'Content is a serialized Catalyst::Request' ); |
30 | |
06e1b616 |
31 | { |
32 | no strict 'refs'; |
fbcc39ad |
33 | ok( |
34 | eval '$creq = ' . $response->content, |
35 | 'Unserialize Catalyst::Request' |
36 | ); |
06e1b616 |
37 | } |
38 | |
39 | isa_ok( $creq, 'Catalyst::Request' ); |
fbcc39ad |
40 | is( $creq->method, 'POST', 'Catalyst::Request method' ); |
06e1b616 |
41 | is( $creq->content_type, 'text/plain', 'Catalyst::Request Content-Type' ); |
fbcc39ad |
42 | is( $creq->content_length, $request->content_length, |
43 | 'Catalyst::Request Content-Length' ); |
06e1b616 |
44 | } |
1408d0a4 |
45 | |
46 | { |
47 | my $creq; |
48 | |
fbcc39ad |
49 | my $request = POST( |
50 | 'http://localhost/dump/request/', |
1408d0a4 |
51 | 'Content-Type' => 'text/plain', |
52 | 'Content' => 'x' x 100_000 |
53 | ); |
54 | |
55 | ok( my $response = request($request), 'Request' ); |
56 | ok( $response->is_success, 'Response Successful 2xx' ); |
57 | is( $response->content_type, 'text/plain', 'Response Content-Type' ); |
fbcc39ad |
58 | like( |
59 | $response->content, |
60 | qr/^bless\( .* 'Catalyst::Request' \)$/s, |
61 | 'Content is a serialized Catalyst::Request' |
62 | ); |
63 | |
1408d0a4 |
64 | { |
65 | no strict 'refs'; |
fbcc39ad |
66 | ok( |
67 | eval '$creq = ' . $response->content, |
68 | 'Unserialize Catalyst::Request' |
69 | ); |
1408d0a4 |
70 | } |
71 | |
72 | isa_ok( $creq, 'Catalyst::Request' ); |
fbcc39ad |
73 | is( $creq->method, 'POST', 'Catalyst::Request method' ); |
1408d0a4 |
74 | is( $creq->content_type, 'text/plain', 'Catalyst::Request Content-Type' ); |
fbcc39ad |
75 | is( $creq->content_length, $request->content_length, |
76 | 'Catalyst::Request Content-Length' ); |
77 | } |