18 TEST(UrlEncodedPostTests, UrlPostSingleTest) {
19 auto url =
Url{
base +
"/url_post.html"};
31 TEST(UrlEncodedPostTests, UrlPostAddPayloadPair) {
32 auto url =
Url{
base +
"/url_post.html"};
33 auto payload =
Payload{{
"x",
"1"}};
47 TEST(UrlEncodedPostTests, UrlPostPayloadIteratorTest) {
48 auto url =
Url{
base +
"/url_post.html"};
49 std::vector<Pair> payloadData;
50 payloadData.push_back({
"x",
"1"});
51 payloadData.push_back({
"y",
"2"});
52 auto response =
cpr::Post(url,
Payload(payloadData.begin(), payloadData.end()));
64 TEST(UrlEncodedPostTests, UrlPostEncodeTest) {
65 auto url =
Url{
base +
"/url_post.html"};
68 " \"x\": hello world!!~\n" 77 TEST(UrlEncodedPostTests, UrlPostEncodeNoCopyTest) {
78 auto url =
Url{
base +
"/url_post.html"};
79 auto payload =
Payload{{
"x",
"hello world!!~"}};
83 " \"x\": hello world!!~\n" 92 TEST(UrlEncodedPostTests, UrlPostManyTest) {
93 auto url =
Url{
base +
"/url_post.html"};
107 TEST(UrlEncodedPostTests, UrlPostBadHostTest) {
108 auto url =
Url{
"http://bad_host/"};
117 TEST(UrlEncodedPostTests, FormPostSingleTest) {
118 auto url =
Url{
base +
"/form_post.html"};
130 TEST(UrlEncodedPostTests, FormPostFileTest) {
133 std::ofstream test_file;
135 test_file << content;
137 auto url =
Url{
base +
"/form_post.html"};
140 " \"x\": " + content +
"\n" 150 TEST(UrlEncodedPostTests, FormPostFileNoCopyTest) {
153 std::ofstream test_file;
155 test_file << content;
157 auto url =
Url{
base +
"/form_post.html"};
159 auto response =
cpr::Post(url, multipart);
161 " \"x\": " + content +
"\n" 171 TEST(UrlEncodedPostTests, FormPostFileBufferTest) {
173 auto url =
Url{
base +
"/form_post.html"};
176 " \"x\": " + content +
"\n" 185 TEST(UrlEncodedPostTests, FormPostFileBufferNoCopyTest) {
187 auto url =
Url{
base +
"/form_post.html"};
188 auto multipart =
Multipart{{
"x",
Buffer{content.begin(), content.end(),
"test_file"}}};
189 auto response =
cpr::Post(url, multipart);
191 " \"x\": " + content +
"\n" 200 TEST(UrlEncodedPostTests, FormPostFileBufferPointerTest) {
201 const char *content =
"hello world";
202 auto url =
Url{
base +
"/form_post.html"};
214 TEST(UrlEncodedPostTests, FormPostFileBufferArrayTest) {
215 const char content[] =
"hello world";
216 auto url =
Url{
base +
"/form_post.html"};
219 url,
Multipart{{
"x",
Buffer{std::begin(content), std::end(content) - 1,
"test_file"}}});
230 TEST(UrlEncodedPostTests, FormPostFileBufferVectorTest) {
231 std::vector<unsigned char> content{
'h',
'e',
'l',
'l',
'o',
' ',
'w',
'o',
'r',
'l',
'd'};
232 auto url =
Url{
base +
"/form_post.html"};
236 " \"x\": hello world\n" 245 TEST(UrlEncodedPostTests, FormPostFileBufferStdArrayTest) {
246 std::array<unsigned char, 11> content{{
'h',
'e',
'l',
'l',
'o',
' ',
'w',
'o',
'r',
'l',
'd'}};
247 auto url =
Url{
base +
"/form_post.html"};
251 " \"x\": hello world\n" 260 TEST(UrlEncodedPostTests, FormPostManyTest) {
261 auto url =
Url{
base +
"/form_post.html"};
275 TEST(UrlEncodedPostTests, FormPostManyNoCopyTest) {
276 auto url =
Url{
base +
"/form_post.html"};
277 auto multipart =
Multipart{{
"x", 5}, {
"y", 13}};
278 auto response =
cpr::Post(url, multipart);
291 TEST(UrlEncodedPostTests, FormPostContentTypeTest) {
292 auto url =
Url{
base +
"/form_post.html"};
304 TEST(UrlEncodedPostTests, FormPostContentTypeLValueTest) {
305 auto url =
Url{
base +
"/form_post.html"};
306 auto multipart =
Multipart{{
"x", 5,
"application/number"}};
307 auto response =
cpr::Post(url, multipart);
318 TEST(UrlEncodedPostTests, UrlPostAsyncSingleTest) {
319 auto url =
Url{
base +
"/url_post.html"};
320 auto payload =
Payload{{
"x",
"5"}};
321 std::vector<AsyncResponse> responses;
322 for (
int i = 0;
i < 10; ++
i) {
325 for (
auto& future_response : responses) {
326 auto response = future_response.get();
338 TEST(UrlEncodedPostTests, UrlReflectTest) {
339 auto url =
Url{
base +
"/header_reflect.html"};
341 auto expected_text =
std::string{
"Header reflect POST"};
348 TEST(UrlEncodedPostTests, PostWithNoBodyTest) {
349 auto url =
Url{
base +
"/form_post.html"};
361 int main(
int argc,
char** argv) {
Environment * AddGlobalTestEnvironment(Environment *env)
void AddPair(const Pair &pair)
AsyncResponse PostAsync(Ts...ts)
#define EXPECT_EQ(expected, actual)
TEST(UrlEncodedPostTests, UrlPostSingleTest)
int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_
GTEST_API_ void InitGoogleTest(int *argc, char **argv)
int main(int argc, char **argv)
Response Post(Ts &&...ts)