Skip to content

Commit

Permalink
Merge pull request #423 from patrickcarlohickman/add-null-authenticator
Browse files Browse the repository at this point in the history
Feature | Add a `NullAuthenticator` to overwrite defaultAuth
  • Loading branch information
Sammyjo20 authored Jun 9, 2024
2 parents 29ced5f + 528dd23 commit ea50417
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/Http/Auth/NullAuthenticator.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?php

declare(strict_types=1);

namespace Saloon\Http\Auth;

use Saloon\Http\PendingRequest;
use Saloon\Contracts\Authenticator;

class NullAuthenticator implements Authenticator
{
/**
* Apply the authentication to the request.
*/
public function set(PendingRequest $pendingRequest): void
{
//
}
}
13 changes: 13 additions & 0 deletions tests/Unit/AuthenticatesRequestsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@

use GuzzleHttp\RequestOptions;
use Saloon\Exceptions\SaloonException;
use Saloon\Http\Auth\NullAuthenticator;
use Saloon\Http\Auth\MultiAuthenticator;
use Saloon\Http\Auth\TokenAuthenticator;
use Saloon\Http\Auth\HeaderAuthenticator;
use Saloon\Tests\Fixtures\Requests\UserRequest;
use Saloon\Tests\Fixtures\Connectors\ArraySenderConnector;
use Saloon\Tests\Fixtures\Connectors\DefaultAuthenticatorConnector;

test('you can add basic auth to a request', function () {
$request = new UserRequest;
Expand Down Expand Up @@ -106,3 +108,14 @@
'X-API-Key' => 'api-key',
]);
});

test('you can use a null authenticator to disable default authentication entirely', function () {
$connector = new DefaultAuthenticatorConnector;
$request = new UserRequest;

$request->authenticate(new NullAuthenticator);

$pendingRequest = $connector->createPendingRequest($request);

expect($pendingRequest->headers()->all())->toEqual(['Accept' => 'application/json']);
});

0 comments on commit ea50417

Please sign in to comment.