. */ namespace Xibo\Tests\Middleware; use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\MiddlewareInterface as Middleware; use Psr\Http\Server\RequestHandlerInterface as RequestHandler; use Slim\App; use Xibo\Entity\User; /** * Class TestAuthMiddleware * @package Xibo\Tests\Middleware * */ class TestAuthMiddleware implements Middleware { /* @var App $app */ private $app; /** * Xmr constructor. * @param $app */ public function __construct($app) { $this->app = $app; } /** * @param Request $request * @param RequestHandler $handler * @return Response * @throws \Xibo\Support\Exception\GeneralException */ public function process(Request $request, RequestHandler $handler): Response { $app = $this->app; $container = $app->getContainer(); /** @var User $user */ $user = $container->get('userFactory')->getByName('phpunit'); $user->setChildAclDependencies($app->getContainer()->get('userGroupFactory')); // Load the user $user->load(false); $container->set('user', $user); return $handler->handle($request); } }