Add wxWebCredentials and use it in SetCredentials()

Prefer using a class encapsulating both the user name and the password
to using a pair of variables.
This commit is contained in:
Vadim Zeitlin
2021-01-10 01:22:40 +01:00
parent fe197d7527
commit 1e6d6be8bb
9 changed files with 87 additions and 24 deletions

View File

@@ -108,6 +108,13 @@ public:
REQUIRE( request.GetResponse().GetStatus() == requiredStatus );
}
// Precondition: we must have an auth challenge.
void UseCredentials(const wxString& user, const wxString& password)
{
request.GetAuthChallenge().SetCredentials(
wxWebCredentials(user, wxSecretValue(password)));
}
wxString baseURL;
wxEventLoop loop;
wxWebRequest request;
@@ -200,7 +207,7 @@ TEST_CASE_METHOD(RequestFixture, "WebRequest", "[net][webrequest]")
SECTION("Good password")
{
request.GetAuthChallenge().SetCredentials("wxtest", "wxwidgets");
UseCredentials("wxtest", "wxwidgets");
loop.Run();
CHECK( request.GetResponse().GetStatus() == 200 );
CHECK( request.GetState() == wxWebRequest::State_Completed );
@@ -208,7 +215,7 @@ TEST_CASE_METHOD(RequestFixture, "WebRequest", "[net][webrequest]")
SECTION("Bad password")
{
request.GetAuthChallenge().SetCredentials("wxtest", "foobar");
UseCredentials("wxtest", "foobar");
loop.Run();
CHECK( request.GetResponse().GetStatus() == 401 );
CHECK( request.GetState() == wxWebRequest::State_Unauthorized );
@@ -229,7 +236,7 @@ TEST_CASE_METHOD(RequestFixture, "WebRequest", "[net][webrequest]")
SECTION("Good password")
{
request.GetAuthChallenge().SetCredentials("wxtest", "wxwidgets");
UseCredentials("wxtest", "wxwidgets");
loop.Run();
CHECK( request.GetResponse().GetStatus() == 200 );
CHECK( request.GetState() == wxWebRequest::State_Completed );
@@ -237,7 +244,7 @@ TEST_CASE_METHOD(RequestFixture, "WebRequest", "[net][webrequest]")
SECTION("Bad password")
{
request.GetAuthChallenge().SetCredentials("foo", "bar");
UseCredentials("foo", "bar");
loop.Run();
CHECK( request.GetResponse().GetStatus() == 401 );
CHECK( request.GetState() == wxWebRequest::State_Unauthorized );