Added unit tests for middleware

This commit is contained in:
Frederic Guillot
2016-05-15 20:56:01 -04:00
parent 8a6f02735b
commit 4eaab1f6da
7 changed files with 293 additions and 6 deletions

View File

@@ -25,7 +25,7 @@ abstract class BaseMiddleware extends Base
/**
* Set next middleware
*
* @param BaseMiddleware|null $nextMiddleware
* @param BaseMiddleware $nextMiddleware
* @return BaseMiddleware
*/
public function setNextMiddleware(BaseMiddleware $nextMiddleware)

View File

@@ -94,7 +94,7 @@ class Helper
{
$container = $this->container;
$this->helpers[$property] = function() use($className, $container) {
$this->helpers[$property] = function() use ($className, $container) {
return new $className($container);
};

View File

@@ -33,7 +33,7 @@ class AuthenticationMiddleware extends BaseMiddleware
protected function handleAuthentication()
{
if (! $this->userSession->isLogged() && ! $this->authenticationManager->preAuthentication()) {
$this->setNextMiddleware(null);
$this->nextMiddleware = null;
if ($this->request->isAjax()) {
$this->response->text('Not Authorized', 401);
@@ -44,10 +44,10 @@ class AuthenticationMiddleware extends BaseMiddleware
}
}
private function isPublicAccess()
protected function isPublicAccess()
{
if ($this->applicationAuthorization->isAllowed($this->router->getController(), $this->router->getAction(), Role::APP_PUBLIC)) {
$this->setNextMiddleware(null);
$this->nextMiddleware = null;
return true;
}

View File

@@ -22,7 +22,7 @@ class PostAuthenticationMiddleware extends BaseMiddleware
$ignore = ($controller === 'twofactor' && in_array($action, array('code', 'check'))) || ($controller === 'auth' && $action === 'logout');
if ($ignore === false && $this->userSession->hasPostAuthentication() && ! $this->userSession->isPostAuthenticationValidated()) {
$this->setNextMiddleware(null);
$this->nextMiddleware = null;
if ($this->request->isAjax()) {
$this->response->text('Not Authorized', 401);