From 4b67a0851e9174618c7abf76b489a98983c35a9d Mon Sep 17 00:00:00 2001 From: Chris Kankiewicz Date: Fri, 25 Jun 2021 10:37:14 -0700 Subject: [PATCH] Enabled PruneCacheMiddleware and renamed some middlewares --- app/config/container.php | 8 ++++---- ...heMiddleware.php => CacheControlMiddleware.php} | 6 +++--- ...iddleware.php => RegisterGlobalsMiddleware.php} | 4 ++-- tests/Bootstrap/MiddlewareManagerTest.php | 5 +++-- ...wareTest.php => CacheControlMiddlewareTest.php} | 10 +++++----- ...eTest.php => RegisterGlobalsMiddlewareTest.php} | 14 +++++++------- 6 files changed, 24 insertions(+), 23 deletions(-) rename app/src/Middlewares/{CacheMiddleware.php => CacheControlMiddleware.php} (87%) rename app/src/Middlewares/{ThemeMiddleware.php => RegisterGlobalsMiddleware.php} (92%) rename tests/Middlewares/{CacheMiddlewareTest.php => CacheControlMiddlewareTest.php} (81%) rename tests/Middlewares/{ThemeMiddlewareTest.php => RegisterGlobalsMiddlewareTest.php} (79%) diff --git a/app/config/container.php b/app/config/container.php index ebb65ba..6cfdee3 100644 --- a/app/config/container.php +++ b/app/config/container.php @@ -4,7 +4,6 @@ use App\Factories; use App\Middlewares; use App\SortMethods; use App\ViewFunctions; -use Psr\Container\ContainerInterface; return [ /** Path definitions */ @@ -21,11 +20,12 @@ return [ 'app_files' => ['app', 'index.php', '.hidden'], /** Array of application middlewares */ - 'middlewares' => function (ContainerInterface $container): array { + 'middlewares' => function (): array { return [ - Middlewares\CacheMiddleware::class, - Middlewares\ThemeMiddleware::class, Middlewares\WhoopsMiddleware::class, + Middlewares\PruneCacheMiddleware::class, + Middlewares\CacheControlMiddleware::class, + Middlewares\RegisterGlobalsMiddleware::class, ]; }, diff --git a/app/src/Middlewares/CacheMiddleware.php b/app/src/Middlewares/CacheControlMiddleware.php similarity index 87% rename from app/src/Middlewares/CacheMiddleware.php rename to app/src/Middlewares/CacheControlMiddleware.php index 65953fe..6327c6f 100644 --- a/app/src/Middlewares/CacheMiddleware.php +++ b/app/src/Middlewares/CacheControlMiddleware.php @@ -7,18 +7,18 @@ use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\RequestHandlerInterface as RequestHandler; -class CacheMiddleware +class CacheControlMiddleware { /** @var Config The application configuration */ protected $config; - /** Create a new CacheMiddleware. */ + /** Create a new CacheControlMiddleware object. */ public function __construct(Config $config) { $this->config = $config; } - /** Invoke the CacheMiddleware class. */ + /** Invoke the CacheControlMiddleware class. */ public function __invoke(Request $request, RequestHandler $handler): ResponseInterface { $response = $handler->handle($request); diff --git a/app/src/Middlewares/ThemeMiddleware.php b/app/src/Middlewares/RegisterGlobalsMiddleware.php similarity index 92% rename from app/src/Middlewares/ThemeMiddleware.php rename to app/src/Middlewares/RegisterGlobalsMiddleware.php index a5a37b0..2a6550a 100644 --- a/app/src/Middlewares/ThemeMiddleware.php +++ b/app/src/Middlewares/RegisterGlobalsMiddleware.php @@ -7,7 +7,7 @@ use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\RequestHandlerInterface as RequestHandler; use Slim\Views\Twig; -class ThemeMiddleware +class RegisterGlobalsMiddleware { /** Array of valid theme strings. */ private const VALID_THEMES = ['dark', 'light']; @@ -20,7 +20,7 @@ class ThemeMiddleware $this->view = $view; } - /** Invoke the ThemeMiddleware class. */ + /** Invoke the RegisterGlobalsMiddleware class. */ public function __invoke(Request $request, RequestHandler $handler): ResponseInterface { $this->view->getEnvironment()->addGlobal('theme', $this->getThemeFromRequest($request)); diff --git a/tests/Bootstrap/MiddlewareManagerTest.php b/tests/Bootstrap/MiddlewareManagerTest.php index 13568ad..e25e034 100644 --- a/tests/Bootstrap/MiddlewareManagerTest.php +++ b/tests/Bootstrap/MiddlewareManagerTest.php @@ -12,9 +12,10 @@ class MiddlewareManagerTest extends TestCase { /** @const Array of application middlewares */ protected const MIDDLEWARES = [ - Middlewares\CacheMiddleware::class, - Middlewares\ThemeMiddleware::class, Middlewares\WhoopsMiddleware::class, + Middlewares\PruneCacheMiddleware::class, + Middlewares\CacheControlMiddleware::class, + Middlewares\RegisterGlobalsMiddleware::class, ]; public function test_it_registers_application_middlewares(): void diff --git a/tests/Middlewares/CacheMiddlewareTest.php b/tests/Middlewares/CacheControlMiddlewareTest.php similarity index 81% rename from tests/Middlewares/CacheMiddlewareTest.php rename to tests/Middlewares/CacheControlMiddlewareTest.php index 299967a..b234f18 100644 --- a/tests/Middlewares/CacheMiddlewareTest.php +++ b/tests/Middlewares/CacheControlMiddlewareTest.php @@ -2,7 +2,7 @@ namespace Tests\Middlewares; -use App\Middlewares\CacheMiddleware; +use App\Middlewares\CacheControlMiddleware; use Fig\Http\Message\StatusCodeInterface; use PHPUnit\Framework\MockObject\MockObject; use Psr\Http\Message\ServerRequestInterface; @@ -11,8 +11,8 @@ use Slim\Psr7\Headers; use Slim\Psr7\Response; use Tests\TestCase; -/** @covers \App\Middlewares\CacheMiddleware */ -class CacheMiddlewareTest extends TestCase +/** @covers \App\Middlewares\CacheControlMiddleware */ +class CacheControlMiddlewareTest extends TestCase { /** @var RequestHandlerInterface&MockObject */ protected $handler; @@ -33,7 +33,7 @@ class CacheMiddlewareTest extends TestCase ])) ); - $response = (new CacheMiddleware($this->config))($this->request, $this->handler); + $response = (new CacheControlMiddleware($this->config))($this->request, $this->handler); $this->assertEquals(['max-age=0, private, must-revalidate'], $response->getHeader('Cache-Control')); } @@ -46,7 +46,7 @@ class CacheMiddlewareTest extends TestCase ])) ); - $response = (new CacheMiddleware($this->config))($this->request, $this->handler); + $response = (new CacheControlMiddleware($this->config))($this->request, $this->handler); $this->assertEquals(['max-age=300, private, must-revalidate'], $response->getHeader('Cache-Control')); } diff --git a/tests/Middlewares/ThemeMiddlewareTest.php b/tests/Middlewares/RegisterGlobalsMiddlewareTest.php similarity index 79% rename from tests/Middlewares/ThemeMiddlewareTest.php rename to tests/Middlewares/RegisterGlobalsMiddlewareTest.php index 1fcb2cc..a3fcb20 100644 --- a/tests/Middlewares/ThemeMiddlewareTest.php +++ b/tests/Middlewares/RegisterGlobalsMiddlewareTest.php @@ -2,15 +2,15 @@ namespace Tests\Middlewares; -use App\Middlewares\ThemeMiddleware; +use App\Middlewares\RegisterGlobalsMiddleware; use PHPUnit\Framework\MockObject\MockObject; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; use Slim\Views\Twig; use Tests\TestCase; -/** @covers \App\Middlewares\ThemeMiddleware */ -class ThemeMiddlewareTest extends TestCase +/** @covers \App\Middlewares\RegisterGlobalsMiddleware */ +class RegisterGlobalsMiddlewareTest extends TestCase { /** @var Twig Twig templating component */ protected $view; @@ -32,7 +32,7 @@ class ThemeMiddlewareTest extends TestCase public function test_it_sets_the_theme_view_variabe_to_light_by_default(): void { - (new ThemeMiddleware($this->view))($this->request, $this->handler); + (new RegisterGlobalsMiddleware($this->view))($this->request, $this->handler); $this->assertEquals(['theme' => 'light'], $this->view->getEnvironment()->getGlobals()); } @@ -43,7 +43,7 @@ class ThemeMiddlewareTest extends TestCase 'theme' => 'dark', ]); - (new ThemeMiddleware($this->view))($this->request, $this->handler); + (new RegisterGlobalsMiddleware($this->view))($this->request, $this->handler); $this->assertEquals(['theme' => 'dark'], $this->view->getEnvironment()->getGlobals()); } @@ -54,7 +54,7 @@ class ThemeMiddlewareTest extends TestCase 'theme' => 'dark', ]); - (new ThemeMiddleware($this->view))($this->request, $this->handler); + (new RegisterGlobalsMiddleware($this->view))($this->request, $this->handler); $this->assertEquals(['theme' => 'dark'], $this->view->getEnvironment()->getGlobals()); } @@ -65,7 +65,7 @@ class ThemeMiddlewareTest extends TestCase 'theme' => 'dim', ]); - (new ThemeMiddleware($this->view))($this->request, $this->handler); + (new RegisterGlobalsMiddleware($this->view))($this->request, $this->handler); $this->assertEquals(['theme' => 'light'], $this->view->getEnvironment()->getGlobals()); }