Use httpbin for error status with body test too

Although httpbin doesn't return any body for the other 4xx statuses, it
does make an exception for this one, so we can use it for testing
instead of the even less reliable httpstat.us which regularly returns
503 server error instead of the expected 418.

This probably also makes the workaround for Ubuntu 14.04 unnecessary, so
remove it.
This commit is contained in:
Vadim Zeitlin 2021-01-26 22:15:32 +01:00
parent 75b4f5439a
commit d5ebe48d93

View File

@ -247,24 +247,14 @@ TEST_CASE_METHOD(RequestFixture,
if ( !InitBaseURL() ) if ( !InitBaseURL() )
return; return;
// We can't use the same httpbin.org server that we use for the other tests Create("/status/418");
// for this one because it doesn't return anything in the body when
// returning an error status code, so use another one.
CreateAbs("https://httpstat.us/418");
Run(wxWebRequest::State_Failed, 0); Run(wxWebRequest::State_Failed, 0);
// For some reason, this test doesn't work with libcurl included in Ubuntu CHECK( request.GetResponse().GetStatus() == 418 );
// 14.04, so skip it.
const int status = request.GetResponse().GetStatus(); const wxString& response = request.GetResponse().AsString();
if ( status == 0 ) INFO( "Response: " << response);
{ CHECK( response.Contains("teapot") );
WARN("Status code not returned.");
}
else
{
CHECK( status == 418 );
CHECK( request.GetResponse().AsString() == "418 I'm a teapot" );
}
} }
TEST_CASE_METHOD(RequestFixture, TEST_CASE_METHOD(RequestFixture,