15 TEST(RedirectTests, TemporaryDefaultRedirectTest) {
16 auto url =
Url{
base +
"/temporary_redirect.html"};
19 auto response = session.
Get();
28 TEST(RedirectTests, NoTemporaryRedirectTest) {
29 auto url =
Url{
base +
"/temporary_redirect.html"};
33 auto response = session.
Get();
42 TEST(RedirectTests, PermanentDefaultRedirectTest) {
43 auto url =
Url{
base +
"/permanent_redirect.html"};
46 auto response = session.
Get();
55 TEST(RedirectTests, NoPermanentRedirectTest) {
56 auto url =
Url{
base +
"/permanent_redirect.html"};
60 auto response = session.
Get();
61 auto expected_text =
std::string{
"Moved Permanently"};
69 TEST(MaxRedirectsTests, ZeroMaxRedirectsSuccessTest) {
70 auto url =
Url{
base +
"/hello.html"};
74 auto response = session.
Get();
83 TEST(MaxRedirectsTests, ZeroMaxRedirectsFailureTest) {
84 auto url =
Url{
base +
"/permanent_redirect.html"};
88 auto response = session.
Get();
96 TEST(MaxRedirectsTests, OneMaxRedirectsSuccessTest) {
97 auto url =
Url{
base +
"/permanent_redirect.html"};
101 auto response = session.
Get();
110 TEST(MaxRedirectsTests, OneMaxRedirectsFailureTest) {
111 auto url =
Url{
base +
"/two_redirects.html"};
115 auto response = session.
Get();
123 TEST(MaxRedirectsTests, TwoMaxRedirectsSuccessTest) {
124 auto url =
Url{
base +
"/two_redirects.html"};
128 auto response = session.
Get();
137 TEST(MultipleGetTests, BasicMultipleGetTest) {
138 auto url =
Url{
base +
"/hello.html"};
141 for (
int i = 0;
i < 100; ++
i) {
142 auto response = session.
Get();
152 TEST(MultipleGetTests, UrlChangeMultipleGetTest) {
155 auto url =
Url{
base +
"/hello.html"};
157 auto response = session.
Get();
166 auto url =
Url{
base +
"/basic.json"};
168 auto response = session.
Get();
171 " \"first_key\": \"first_value\",\n" 172 " \"second_key\": \"second_value\"\n" 183 TEST(MultipleGetTests, HeaderMultipleGetTest) {
184 auto url =
Url{
base +
"/header_reflect.html"};
188 for (
int i = 0;
i < 100; ++
i) {
189 auto response = session.
Get();
190 auto expected_text =
std::string{
"Header reflect GET"};
200 TEST(MultipleGetTests, HeaderChangeMultipleGetTest) {
201 auto url =
Url{
base +
"/header_reflect.html"};
206 auto response = session.
Get();
207 auto expected_text =
std::string{
"Header reflect GET"};
217 auto response = session.
Get();
218 auto expected_text =
std::string{
"Header reflect GET"};
228 TEST(MultipleGetTests, ParameterMultipleGetTest) {
229 auto url =
Url{
base +
"/hello.html"};
233 for (
int i = 0;
i < 100; ++
i) {
234 auto response = session.
Get();
244 TEST(MultipleGetTests, ParameterChangeMultipleGetTest) {
245 auto url =
Url{
base +
"/hello.html"};
250 auto response = session.
Get();
261 auto response = session.
Get();
271 TEST(MultipleGetTests, BasicAuthenticationMultipleGetTest) {
272 auto url =
Url{
base +
"/basic_auth.html"};
276 for (
int i = 0;
i < 100; ++
i) {
277 auto response = session.
Get();
278 auto expected_text =
std::string{
"Header reflect GET"};
287 TEST(MultipleGetTests, BasicAuthenticationChangeMultipleGetTest) {
288 auto url =
Url{
base +
"/basic_auth.html"};
293 auto response = session.
Get();
294 auto expected_text =
std::string{
"Header reflect GET"};
303 auto response = session.
Get();
312 auto response = session.
Get();
321 TEST(ParameterTests, ParameterSingleTest) {
322 auto url =
Url{
base +
"/hello.html"};
327 auto response = session.
Get();
336 TEST(ParameterTests, ParameterMultipleTest) {
337 auto url =
Url{
base +
"/hello.html"};
340 Parameters parameters{{
"hello",
"world"}, {
"key",
"value"}};
342 auto response = session.
Get();
345 EXPECT_EQ(
Url{url +
"?hello=world&key=value"}, response.url);
351 TEST(TimeoutTests, SetTimeoutTest) {
352 auto url =
Url{
base +
"/hello.html"};
356 auto response = session.
Get();
365 TEST(TimeoutTests, SetTimeoutLongTest) {
366 auto url =
Url{
base +
"/hello.html"};
370 auto response = session.
Get();
379 TEST(TimeoutTests, SetChronoTimeoutTest) {
380 auto url =
Url{
base +
"/hello.html"};
383 session.
SetTimeout(std::chrono::milliseconds{0});
384 auto response = session.
Get();
393 TEST(TimeoutTests, SetChronoTimeoutLongTest) {
394 auto url =
Url{
base +
"/hello.html"};
397 session.
SetTimeout(std::chrono::milliseconds{10000});
398 auto response = session.
Get();
407 TEST(ConnectTimeoutTests, SetConnectTimeoutTest) {
408 auto url =
Url{
base +
"/hello.html"};
412 auto response = session.
Get();
421 TEST(ConnectTimeoutTests, SetConnectTimeoutLongTest) {
422 auto url =
Url{
base +
"/hello.html"};
426 auto response = session.
Get();
435 TEST(ConnectTimeoutTests, SetChronoConnectTimeoutTest) {
436 auto url =
Url{
base +
"/hello.html"};
440 auto response = session.
Get();
449 TEST(ConnectTimeoutTests, SetChronoConnectTimeoutLongTest) {
450 auto url =
Url{
base +
"/hello.html"};
454 auto response = session.
Get();
463 TEST(LowSpeedTests, SetLowSpeedTest) {
464 auto url =
Url{
base +
"/hello.html"};
468 auto response = session.
Get();
477 TEST(PayloadTests, SetPayloadTest) {
478 auto url =
Url{
base +
"/url_post.html"};
482 auto response = session.
Post();
493 TEST(PayloadTests, SetPayloadLValueTest) {
494 auto url =
Url{
base +
"/url_post.html"};
497 auto payload =
Payload{{
"x",
"5"}};
499 auto response = session.
Post();
510 TEST(MultipartTests, SetMultipartTest) {
511 auto url =
Url{
base +
"/form_post.html"};
515 auto response = session.
Post();
526 TEST(MultipartTests, SetMultipartValueTest) {
527 auto url =
Url{
base +
"/form_post.html"};
532 auto response = session.
Post();
544 auto url =
Url{
base +
"/url_post.html"};
548 auto response = session.
Post();
559 TEST(BodyTests, SetBodyValueTest) {
560 auto url =
Url{
base +
"/url_post.html"};
565 auto response = session.
Post();
576 TEST(DigestTests, SetDigestTest) {
577 auto url =
Url{
base +
"/digest_auth.html"};
581 auto response = session.
Get();
582 auto expected_text =
std::string{
"Header reflect GET"};
590 TEST(UserAgentTests, SetUserAgentTest) {
591 auto url =
Url{
base +
"/header_reflect.html"};
592 auto userAgent =
UserAgent{
"Test User Agent"};
596 auto response = session.
Get();
597 auto expected_text =
std::string{
"Header reflect GET"};
601 EXPECT_EQ(userAgent, response.header[
"User-Agent"]);
606 TEST(CookiesTests, BasicCookiesTest) {
607 auto url =
Url{
base +
"/basic_cookies.html"};
613 auto response = session.Get();
620 cookies = response.cookies;
623 cookies[
"hello"] =
"world";
624 cookies[
"my"] =
"another; fake=cookie;";
625 session.SetCookies(cookies);
626 auto response = session.Get();
633 EXPECT_EQ(cookies[
"cookie"], response.cookies[
"cookie"]);
634 EXPECT_EQ(cookies[
"icecream"], response.cookies[
"icecream"]);
635 EXPECT_EQ(cookies[
"expires"], response.cookies[
"expires"]);
639 TEST(CookiesTests, CookiesConstructorTest) {
640 auto url =
Url{
base +
"/basic_cookies.html"};
646 auto response = session.Get();
653 cookies = response.cookies;
656 cookies =
Cookies{{
"hello",
"world"}, {
"my",
"another; fake=cookie;"}};
657 session.SetCookies(cookies);
658 auto response = session.Get();
665 cookies = response.cookies;
666 EXPECT_EQ(cookies[
"cookie"], response.cookies[
"cookie"]);
667 EXPECT_EQ(cookies[
"icecream"], response.cookies[
"icecream"]);
668 EXPECT_EQ(cookies[
"expires"], response.cookies[
"expires"]);
672 TEST(DifferentMethodTests, GetPostTest) {
675 auto url =
Url{
base +
"/hello.html"};
677 auto response = session.
Get();
686 auto url =
Url{
base +
"/url_post.html"};
689 auto response = session.
Post();
701 TEST(DifferentMethodTests, PostGetTest) {
704 auto url =
Url{
base +
"/url_post.html"};
707 auto response = session.
Post();
718 auto url =
Url{
base +
"/hello.html"};
720 auto response = session.
Get();
730 TEST(DifferentMethodTests, GetPostGetTest) {
733 auto url =
Url{
base +
"/hello.html"};
735 auto response = session.
Get();
744 auto url =
Url{
base +
"/url_post.html"};
747 auto response = session.
Post();
758 auto url =
Url{
base +
"/hello.html"};
760 auto response = session.
Get();
770 TEST(DifferentMethodTests, PostGetPostTest) {
773 auto url =
Url{
base +
"/url_post.html"};
776 auto response = session.
Post();
787 auto url =
Url{
base +
"/hello.html"};
789 auto response = session.
Get();
798 auto url =
Url{
base +
"/url_post.html"};
801 auto response = session.
Post();
813 TEST(DifferentMethodTests, MultipleGetPostTest) {
815 for (
int i = 0;
i < 100; ++
i) {
817 auto url =
Url{
base +
"/hello.html"};
819 auto response = session.
Get();
828 auto url =
Url{
base +
"/url_post.html"};
831 auto response = session.
Post();
844 int main(
int argc,
char** argv) {
Environment * AddGlobalTestEnvironment(Environment *env)
void SetAuth(const Authentication &auth)
void SetConnectTimeout(const ConnectTimeout &timeout)
int main(int argc, char **argv)
void SetMaxRedirects(const MaxRedirects &max_redirects)
void SetRedirect(const bool &redirect)
static const void * body(MD5_CTX *ctx, const void *data, unsigned long size)
void SetUrl(const Url &url)
void SetMultipart(Multipart &&multipart)
void SetUserAgent(const UserAgent &ua)
void SetPayload(Payload &&payload)
TEST(RedirectTests, TemporaryDefaultRedirectTest)
void SetTimeout(const Timeout &timeout)
void SetBody(Body &&body)
void SetHeader(const Header &header)
#define EXPECT_EQ(expected, actual)
int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_
void SetParameters(const Parameters ¶meters)
GTEST_API_ void InitGoogleTest(int *argc, char **argv)
void SetLowSpeed(const LowSpeed &low_speed)
void SetDigest(const Digest &auth)