stop using Moo as a test package
[catagits/Catalyst-Runtime.git] / t / aggregate / live_engine_request_body.t
CommitLineData
06e1b616 1use strict;
2use warnings;
3
4use FindBin;
42da66a9 5use lib "$FindBin::Bin/../lib";
06e1b616 6
610bc6ec 7use Test::More tests => 23;
06e1b616 8use Catalyst::Test 'TestApp';
9
10use Catalyst::Request;
11use HTTP::Headers;
12use HTTP::Request::Common;
13
14{
15 my $creq;
16
fbcc39ad 17 my $request = POST(
18 'http://localhost/dump/request/',
06e1b616 19 'Content-Type' => 'text/plain',
20 'Content' => 'Hello Catalyst'
21 );
22
23 ok( my $response = request($request), 'Request' );
24 ok( $response->is_success, 'Response Successful 2xx' );
25 is( $response->content_type, 'text/plain', 'Response Content-Type' );
fbcc39ad 26 like( $response->content, qr/'Catalyst::Request'/,
27 'Content is a serialized Catalyst::Request' );
28
06e1b616 29 {
30 no strict 'refs';
fbcc39ad 31 ok(
32 eval '$creq = ' . $response->content,
33 'Unserialize Catalyst::Request'
34 );
06e1b616 35 }
36
37 isa_ok( $creq, 'Catalyst::Request' );
fbcc39ad 38 is( $creq->method, 'POST', 'Catalyst::Request method' );
06e1b616 39 is( $creq->content_type, 'text/plain', 'Catalyst::Request Content-Type' );
610bc6ec 40 is( $creq->{__body_type}, 'File::Temp' );
fbcc39ad 41 is( $creq->content_length, $request->content_length,
42 'Catalyst::Request Content-Length' );
06e1b616 43}
1408d0a4 44
45{
46 my $creq;
47
fbcc39ad 48 my $request = POST(
49 'http://localhost/dump/request/',
1408d0a4 50 'Content-Type' => 'text/plain',
51 'Content' => 'x' x 100_000
52 );
53
54 ok( my $response = request($request), 'Request' );
55 ok( $response->is_success, 'Response Successful 2xx' );
56 is( $response->content_type, 'text/plain', 'Response Content-Type' );
fbcc39ad 57 like(
58 $response->content,
59 qr/^bless\( .* 'Catalyst::Request' \)$/s,
60 'Content is a serialized Catalyst::Request'
61 );
62
1408d0a4 63 {
64 no strict 'refs';
fbcc39ad 65 ok(
66 eval '$creq = ' . $response->content,
67 'Unserialize Catalyst::Request'
68 );
1408d0a4 69 }
70
71 isa_ok( $creq, 'Catalyst::Request' );
fbcc39ad 72 is( $creq->method, 'POST', 'Catalyst::Request method' );
1408d0a4 73 is( $creq->content_type, 'text/plain', 'Catalyst::Request Content-Type' );
610bc6ec 74 is( $creq->{__body_type}, 'File::Temp' );
fbcc39ad 75 is( $creq->content_length, $request->content_length,
76 'Catalyst::Request Content-Length' );
77}
b1e0cb6d 78
79# 5.80 regression, see note in Catalyst::Plugin::Test::Plugin
6e3de58f 80{
b1e0cb6d 81 my $request = GET(
a0821622 82 'http://localhost/dump/response',
b1e0cb6d 83 'Content-Type' => 'text/plain',
84 'Content' => 'x' x 100_000
85 );
86
87 ok( my $response = request($request), 'Request' );
88 ok( $response->is_success, 'Response Successful 2xx' );
a0821622 89 ok( $response->header('X-Have-Request-Body'), 'X-Have-Request-Body set' );
b1e0cb6d 90}
91