11#include < algorithm>
2+ #include < chrono>
23#include < cstdint>
34#include < cstdlib>
45#include < gtest/gtest.h>
56
6- #include < chrono>
77#include < stdexcept>
88#include < string>
99
@@ -1005,9 +1005,34 @@ TEST(DifferentMethodTests, MultipleDeleteHeadPutGetPostTest) {
10051005 Url url{server->GetBaseUrl () + " /header_reflect.html" };
10061006 Url urlPost{server->GetBaseUrl () + " /post_reflect.html" };
10071007 Url urlPut{server->GetBaseUrl () + " /put.html" };
1008+ Url urlMultipartPost{server->GetBaseUrl () + " /post_file_upload.html" };
10081009 Session session;
10091010 for (size_t i = 0 ; i < 10 ; ++i) {
10101011 {
1012+ session.RemoveContent ();
1013+ session.SetUrl (url);
1014+ Response response = session.Get ();
1015+ std::string expected_text{" Header reflect GET" };
1016+ EXPECT_EQ (expected_text, response.text );
1017+ EXPECT_EQ (url, response.url );
1018+ EXPECT_EQ (200 , response.status_code );
1019+ EXPECT_EQ (ErrorCode::OK, response.error .code );
1020+ }
1021+ {
1022+ session.RemoveContent ();
1023+ session.SetUrl (urlMultipartPost);
1024+ std::string fileContentsBinary{" this is a binary payload" };
1025+ std::string fileExtension = " .myfile" ;
1026+ session.SetMultipart (cpr::Multipart{{" files" , cpr::Buffer{fileContentsBinary.begin (), fileContentsBinary.end (), " myfile.jpg" }}, {" file_types" , " [\" " + fileExtension + " \" ]" }});
1027+ Response response = session.Post ();
1028+ std::string expected_text{" {\n \" files\" : \" myfile.jpg=this is a binary payload\" ,\n \" file_types\" : \" [\" .myfile\" ]\"\n }" };
1029+ EXPECT_EQ (expected_text, response.text );
1030+ EXPECT_EQ (urlMultipartPost, response.url );
1031+ EXPECT_EQ (201 , response.status_code );
1032+ EXPECT_EQ (ErrorCode::OK, response.error .code );
1033+ }
1034+ {
1035+ session.RemoveContent ();
10111036 session.SetUrl (url);
10121037 Response response = session.Delete ();
10131038 std::string expected_text{" Header reflect DELETE" };
@@ -1027,6 +1052,7 @@ TEST(DifferentMethodTests, MultipleDeleteHeadPutGetPostTest) {
10271052 EXPECT_EQ (ErrorCode::OK, response.error .code );
10281053 }
10291054 {
1055+ session.RemoveContent ();
10301056 session.SetUrl (url);
10311057 Response response = session.Get ();
10321058 std::string expected_text{" Header reflect GET" };
@@ -1050,6 +1076,7 @@ TEST(DifferentMethodTests, MultipleDeleteHeadPutGetPostTest) {
10501076 EXPECT_EQ (ErrorCode::OK, response.error .code );
10511077 }
10521078 {
1079+ session.RemoveContent ();
10531080 session.SetUrl (url);
10541081 Response response = session.Head ();
10551082 std::string expected_text{" Header reflect HEAD" };
0 commit comments