1
0
mirror of synced 2025-04-19 00:24:02 +03:00

Switch redirect tests to httpbingo.org (#2090)

Redirect tests fail using httpbin.org or nghttp2.org/httpbin. The
location header value contains a string representation of a Python byte
string (e.g., b'http://www.google.com/'), which results in a 404 error.
This commit is contained in:
Florian Albrechtskirchinger 2025-03-06 17:55:11 +01:00 committed by GitHub
parent ee0bee3907
commit f2928d7152
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1594,36 +1594,40 @@ TEST(YahooRedirectTest, Redirect_Online) {
EXPECT_EQ("https://www.yahoo.com/", res->location); EXPECT_EQ("https://www.yahoo.com/", res->location);
} }
// Previously "nghttp2.org" "/httpbin/redirect-to"
#define REDIR_HOST "httpbingo.org"
#define REDIR_PATH "/redirect-to"
TEST(HttpsToHttpRedirectTest, Redirect_Online) { TEST(HttpsToHttpRedirectTest, Redirect_Online) {
SSLClient cli("nghttp2.org"); SSLClient cli(REDIR_HOST);
cli.set_follow_location(true); cli.set_follow_location(true);
auto res = cli.Get( auto res =
"/httpbin/redirect-to?url=http%3A%2F%2Fwww.google.com&status_code=302"); cli.Get(REDIR_PATH "?url=http%3A%2F%2Fexample.com&status_code=302");
ASSERT_TRUE(res); ASSERT_TRUE(res);
EXPECT_EQ(StatusCode::OK_200, res->status); EXPECT_EQ(StatusCode::OK_200, res->status);
} }
TEST(HttpsToHttpRedirectTest2, Redirect_Online) { TEST(HttpsToHttpRedirectTest2, Redirect_Online) {
SSLClient cli("nghttp2.org"); SSLClient cli(REDIR_HOST);
cli.set_follow_location(true); cli.set_follow_location(true);
Params params; Params params;
params.emplace("url", "http://www.google.com"); params.emplace("url", "http://example.com");
params.emplace("status_code", "302"); params.emplace("status_code", "302");
auto res = cli.Get("/httpbin/redirect-to", params, Headers{}); auto res = cli.Get(REDIR_PATH, params, Headers{});
ASSERT_TRUE(res); ASSERT_TRUE(res);
EXPECT_EQ(StatusCode::OK_200, res->status); EXPECT_EQ(StatusCode::OK_200, res->status);
} }
TEST(HttpsToHttpRedirectTest3, Redirect_Online) { TEST(HttpsToHttpRedirectTest3, Redirect_Online) {
SSLClient cli("nghttp2.org"); SSLClient cli(REDIR_HOST);
cli.set_follow_location(true); cli.set_follow_location(true);
Params params; Params params;
params.emplace("url", "http://www.google.com"); params.emplace("url", "http://example.com");
auto res = cli.Get("/httpbin/redirect-to?status_code=302", params, Headers{}); auto res = cli.Get(REDIR_PATH "?status_code=302", params, Headers{});
ASSERT_TRUE(res); ASSERT_TRUE(res);
EXPECT_EQ(StatusCode::OK_200, res->status); EXPECT_EQ(StatusCode::OK_200, res->status);
} }
@ -6817,38 +6821,41 @@ TEST(DecodeWithChunkedEncoding, BrotliEncoding_Online) {
} }
#endif #endif
// Previously "https://nghttp2.org" "/httpbin/redirect-to"
#undef REDIR_HOST // Silence compiler warning
#define REDIR_HOST "https://httpbingo.org"
TEST(HttpsToHttpRedirectTest, SimpleInterface_Online) { TEST(HttpsToHttpRedirectTest, SimpleInterface_Online) {
Client cli("https://nghttp2.org"); Client cli(REDIR_HOST);
cli.set_follow_location(true); cli.set_follow_location(true);
auto res = auto res =
cli.Get("/httpbin/" cli.Get(REDIR_PATH "?url=http%3A%2F%2Fexample.com&status_code=302");
"redirect-to?url=http%3A%2F%2Fwww.google.com&status_code=302");
ASSERT_TRUE(res); ASSERT_TRUE(res);
EXPECT_EQ(StatusCode::OK_200, res->status); EXPECT_EQ(StatusCode::OK_200, res->status);
} }
TEST(HttpsToHttpRedirectTest2, SimpleInterface_Online) { TEST(HttpsToHttpRedirectTest2, SimpleInterface_Online) {
Client cli("https://nghttp2.org"); Client cli(REDIR_HOST);
cli.set_follow_location(true); cli.set_follow_location(true);
Params params; Params params;
params.emplace("url", "http://www.google.com"); params.emplace("url", "http://example.com");
params.emplace("status_code", "302"); params.emplace("status_code", "302");
auto res = cli.Get("/httpbin/redirect-to", params, Headers{}); auto res = cli.Get(REDIR_PATH, params, Headers{});
ASSERT_TRUE(res); ASSERT_TRUE(res);
EXPECT_EQ(StatusCode::OK_200, res->status); EXPECT_EQ(StatusCode::OK_200, res->status);
} }
TEST(HttpsToHttpRedirectTest3, SimpleInterface_Online) { TEST(HttpsToHttpRedirectTest3, SimpleInterface_Online) {
Client cli("https://nghttp2.org"); Client cli(REDIR_HOST);
cli.set_follow_location(true); cli.set_follow_location(true);
Params params; Params params;
params.emplace("url", "http://www.google.com"); params.emplace("url", "http://example.com");
auto res = cli.Get("/httpbin/redirect-to?status_code=302", params, Headers{}); auto res = cli.Get(REDIR_PATH "?status_code=302", params, Headers{});
ASSERT_TRUE(res); ASSERT_TRUE(res);
EXPECT_EQ(StatusCode::OK_200, res->status); EXPECT_EQ(StatusCode::OK_200, res->status);
} }