Kanboard-Prod/libs/jsonrpc/tests/MiddlewareHandlerTest.php

41 lines
1.2 KiB
PHP

<?php
use JsonRPC\Exception\AuthenticationFailureException;
use JsonRPC\MiddlewareHandler;
use JsonRPC\MiddlewareInterface;
require_once __DIR__.'/../../../vendor/autoload.php';
class FirstMiddleware implements MiddlewareInterface
{
public function execute($username, $password, $procedureName)
{
}
}
class SecondMiddleware implements MiddlewareInterface
{
public function execute($username, $password, $procedureName)
{
if ($username === 'myUsername' && $password === 'myPassword' && $procedureName === 'myProcedure') {
throw new AuthenticationFailureException('Bad user');
}
}
}
class MiddlewareHandlerTest extends PHPUnit_Framework_TestCase
{
public function testMiddlewareCanRaiseException()
{
$this->expectException('JsonRpc\Exception\AuthenticationFailureException');
$middlewareHandler = new MiddlewareHandler();
$middlewareHandler->withUsername('myUsername');
$middlewareHandler->withPassword('myPassword');
$middlewareHandler->withProcedure('myProcedure');
$middlewareHandler->withMiddleware(new FirstMiddleware());
$middlewareHandler->withMiddleware(new SecondMiddleware());
$middlewareHandler->execute();
}
}