diff options
author | wn_ <[email protected]> | 2023-12-24 11:21:43 +0000 |
---|---|---|
committer | wn_ <[email protected]> | 2023-12-24 11:21:43 +0000 |
commit | 0ea9db317038f5510a1ca875b55af770997ec148 (patch) | |
tree | 1a6be722f06c261aa7e28dd2a4a9665bf5cb949e /tests/UrlHelperTest.php | |
parent | 9a1f7c2ebfe4470440097c403cec2da011f22d02 (diff) |
Fix specifying auth type in UrlHelper::fetch(), add a test for 403 auth retry.
Diffstat (limited to 'tests/UrlHelperTest.php')
-rw-r--r-- | tests/UrlHelperTest.php | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/tests/UrlHelperTest.php b/tests/UrlHelperTest.php index 30a0201c1..58960add0 100644 --- a/tests/UrlHelperTest.php +++ b/tests/UrlHelperTest.php @@ -102,13 +102,19 @@ final class UrlHelperTest extends TestCase { $this->assertFalse($result); $this->assertEquals('Successful response, but no content was received.', UrlHelper::$fetch_last_error); - // Currently failing with `Error: Undefined constant "CURLOPT_HTTPAUTH"`. - // $mock->append( - // new Response(403, []), - // new Response(200, [], 'Hello, World'), - // ); - // $result = UrlHelper::fetch(['url' => 'https://example.com/requires-credentials', 'login' => 'some_username', 'pass' => 'some_password']); - // $this->assertEquals(200, UrlHelper::$fetch_last_error_code); - // $this->assertEquals('Hello, World', $result); + // Fake a 403 for basic auth and success with `CURLAUTH_ANY` in the retry attempt + $mock->append( + new Response(403, []), + new Response(200, [], 'Hello, World'), + ); + $result = UrlHelper::fetch([ + 'url' => 'https://example.com/requires-credentials', + 'login' => 'some_username', + 'pass' => 'some_password', + 'auth_type' => 'basic', + ]); + $this->assertEquals(200, UrlHelper::$fetch_last_error_code); + $this->assertEquals('Hello, World', $result); + $this->assertEquals($mock->getLastOptions()['curl'][\CURLOPT_HTTPAUTH], \CURLAUTH_ANY); } } |