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