Commit | Line | Data |
982d7488 |
1 | #!/usr/bin/env perl |
2 | |
3 | use warnings; |
4 | use strict; |
5 | |
6 | use FindBin; |
7 | use Test::More; |
8 | use HTTP::Request::Common; |
d15db19c |
9 | use JSON::MaybeXS; |
982d7488 |
10 | |
11 | use lib "$FindBin::Bin/lib"; |
12 | use Catalyst::Test 'TestContentNegotiation'; |
13 | |
d15db19c |
14 | { |
15 | ok my $req = POST '/', |
16 | Content_Type => 'application/json', |
17 | Content => encode_json +{message=>'test'}; |
18 | |
19 | ok my $res = request $req; |
20 | |
32d4a56f |
21 | is $res->content, 'is_json1'; |
d15db19c |
22 | } |
23 | |
24 | { |
25 | ok my $req = POST '/', [a=>1,b=>2]; |
26 | ok my $res = request $req; |
27 | |
32d4a56f |
28 | is $res->content, 'is_urlencoded1'; |
d15db19c |
29 | } |
30 | |
31 | { |
32 | ok my $path = TestContentNegotiation->path_to(qw/share file.txt/); |
33 | ok my $req = POST '/', |
34 | Content_Type => 'form-data', |
35 | Content => [a=>1, b=>2, file=>["$path"]]; |
36 | |
37 | ok my $res = request $req; |
38 | |
32d4a56f |
39 | is $res->content, 'is_multipart1'; |
d15db19c |
40 | } |
41 | |
32d4a56f |
42 | { |
43 | ok my $req = POST '/under', |
44 | Content_Type => 'application/json', |
45 | Content => encode_json +{message=>'test'}; |
46 | |
47 | ok my $res = request $req; |
48 | |
49 | is $res->content, 'is_json2'; |
50 | } |
51 | |
52 | { |
53 | ok my $req = POST '/under', [a=>1,b=>2]; |
54 | ok my $res = request $req; |
55 | |
56 | is $res->content, 'is_urlencoded2'; |
57 | } |
58 | |
59 | { |
60 | ok my $path = TestContentNegotiation->path_to(qw/share file.txt/); |
61 | ok my $req = POST '/under', |
62 | Content_Type => 'form-data', |
63 | Content => [a=>1, b=>2, file=>["$path"]]; |
64 | |
65 | ok my $res = request $req; |
66 | |
67 | is $res->content, 'is_multipart2'; |
68 | } |
69 | |
70 | { |
71 | ok my $req = POST '/is_more_than_one_1', |
72 | Content => [a=>1, b=>2]; |
73 | |
74 | ok my $res = request $req; |
75 | |
76 | is $res->content, 'formdata1'; |
77 | } |
78 | |
79 | { |
80 | ok my $req = POST '/is_more_than_one_2', |
81 | Content => [a=>1, b=>2]; |
82 | |
83 | ok my $res = request $req; |
84 | |
85 | is $res->content, 'formdata2'; |
86 | } |
87 | |
88 | { |
89 | ok my $req = POST '/is_more_than_one_3', |
90 | Content => [a=>1, b=>2]; |
91 | |
92 | ok my $res = request $req; |
93 | |
94 | is $res->content, 'formdata3'; |
95 | } |
96 | |
97 | { |
98 | ok my $path = TestContentNegotiation->path_to(qw/share file.txt/); |
99 | ok my $req = POST '/is_more_than_one_1', |
100 | Content_Type => 'form-data', |
101 | Content => [a=>1, b=>2, file=>["$path"]]; |
102 | |
103 | ok my $res = request $req; |
104 | |
105 | is $res->content, 'formdata1'; |
106 | } |
107 | |
108 | { |
109 | ok my $path = TestContentNegotiation->path_to(qw/share file.txt/); |
110 | ok my $req = POST '/is_more_than_one_2', |
111 | Content_Type => 'form-data', |
112 | Content => [a=>1, b=>2, file=>["$path"]]; |
113 | |
114 | ok my $res = request $req; |
115 | |
116 | is $res->content, 'formdata2'; |
117 | } |
118 | |
119 | { |
120 | ok my $path = TestContentNegotiation->path_to(qw/share file.txt/); |
121 | ok my $req = POST '/is_more_than_one_3', |
122 | Content_Type => 'form-data', |
123 | Content => [a=>1, b=>2, file=>["$path"]]; |
124 | |
125 | ok my $res = request $req; |
126 | |
127 | is $res->content, 'formdata3'; |
128 | } |
982d7488 |
129 | |
130 | done_testing; |