ultimatepp/autotest/HttpRequest/HttpRequest.cpp
Mirek Fidler 30452cba90 .autotest
2024-12-23 09:48:46 +01:00

85 lines
2 KiB
C++

#include <Core/Core.h>
using namespace Upp;
#define LLOG(x) RLOG(x)
#define LDUMP(x) RDUMP(x)
CONSOLE_APP_MAIN
{
StdLogSetup(LOG_COUT|LOG_FILE);
HttpRequest::Trace();
const Tuple2<const char *, const char *> x[] = {
{ "https://www.servis24.cz", "" },
{ "rcmania.cz", "</html>" },
{ "http://pagead2.googlesyndication.com/pagead/show_ads.js", "" },
{ "www.ultimatepp.org", "</script></BODY>" },
{ "www.idnes.cz", "</html>" },
{ "www.google.com", "</script>" },
{ "http://wattsupwiththat.com/", "</html>" },
// { "http://www.rcalbum.cz", "</html>" },
{ "www.cekas.eu", "<script src='https://www.cekas.eu/" },
};
for(int nd = 0; nd < 1; nd++)
for(int i = 0; i < __countof(x); i++) {
LLOG("=============================================");
LLOG("URL: " << x[i].a);
HttpRequest h(x[i].a);
if(nd)
h.Timeout(0);
if(IsNull(h.Execute())) {
DUMP(~h);
LLOG("Error:\n" << h.GetErrorDesc());
NEVER();
}
if((~h).Find(x[i].b) < 0) {
LLOG("Content:\n" << ~h);
NEVER();
}
}
{
HttpRequest h("www.idnes.cz");
h.MaxContentSize(10000);
h.Execute();
ASSERT(h.IsError());
LDUMP(h.GetError());
}
{
HttpRequest r("http://httpbin.org/basic-auth/user/passw0rd");
r.User("user", "passw0rd");
String h = r.Execute();
DUMP(h);
ASSERT(h.Find("\"authenticated\": true") >= 0);
}
{
HttpRequest r("http://httpbin.org/digest-auth/auth/usr/pwd");
r.Digest("usr", "pwd");
String h = r.Execute();
DUMP(r.GetContent());
ASSERT(h.Find("\"authenticated\": true") >= 0);
}
{
HttpRequest r("https://httpbin.org/bytes/0");
ASSERT(r.Execute().GetCount() == 0);
ASSERT(r.IsSuccess());
}
{
HttpRequest h("https://journeyman.cz/");
String s = h.Execute();
DUMP(h.GetReasonPhrase());
DUMP(h.GetContent());
ASSERT(s.Find("Journeyman CZ") >= 0);
}
{
HttpRequest h("https://journeyman.cz/");
h.Timeout(0);
String s = h.Execute();
DUMP(h.GetReasonPhrase());
DUMP(h.GetContent());
ASSERT(s.Find("Journeyman CZ") >= 0);
}
LLOG("*********** Everything is OK");
}