clam2021/vendor/tuupola/slim-basic-auth/tests/RequestMethodRuleTest.php
2021-05-13 13:04:00 -03:00

79 lines
1.9 KiB
PHP

<?php
/*
* This file is part of Slim HTTP Basic Authentication middleware
*
* Copyright (c) 2013-2018 Mika Tuupola
*
* Licensed under the MIT license:
* http://www.opensource.org/licenses/mit-license.php
*
* Project home:
* https://github.com/tuupola/slim-basic-auth
*
*/
namespace Tuupola\Middleware\HttpBasicAuthentication;
use PHPUnit\Framework\TestCase;
use Zend\Diactoros\ServerRequest;
use Zend\Diactoros\ServerRequestFactory;
use Zend\Diactoros\Response;
use Zend\Diactoros\Uri;
class RequestMethodRuleTest extends TestCase
{
public function testShouldNotAuthenticateOptions()
{
$request = (new ServerRequest())
->withUri(new Uri("https://example.com/api"))
->withMethod("OPTIONS");
$response = new Response;
$rule = new RequestMethodRule;
$this->assertFalse($rule($request));
}
public function testShouldAuthenticatePost()
{
$request = (new ServerRequest())
->withUri(new Uri("https://example.com/api"))
->withMethod("POST");
$response = new Response;
$rule = new RequestMethodRule;
$this->assertTrue($rule($request));
}
public function testShouldAuthenticateGet()
{
$request = (new ServerRequest())
->withUri(new Uri("https://example.com/api"))
->withMethod("GET");
$response = new Response;
$rule = new RequestMethodRule;
$this->assertTrue($rule($request));
}
public function testShouldConfigureIgnore()
{
$request = (new ServerRequest())
->withUri(new Uri("https://example.com/api"))
->withMethod("GET");
$response = new Response;
$rule = new RequestMethodRule;
$rule = new RequestMethodRule([
"ignore" => ["GET"]
]);
$this->assertFalse($rule($request));
}
}