From 1226e79cf1ecea286911851a7c3729b4ae54c8cd Mon Sep 17 00:00:00 2001 From: Steve Mokris Date: Tue, 7 May 2024 19:24:38 -0400 Subject: [PATCH 1/2] fix(settings): define a 'heartbeat' route, so SecurityHeaders can handle redirected root Signed-off-by: Steve Mokris --- core/routes.php | 2 ++ tests/lib/Route/RouterTest.php | 20 +++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/core/routes.php b/core/routes.php index fe1fe6fcd7500..82a999f1c6219 100644 --- a/core/routes.php +++ b/core/routes.php @@ -172,3 +172,5 @@ // Routing $this->create('core_ajax_update', '/core/ajax/update.php') ->actionInclude('core/ajax/update.php'); + +$this->create('heartbeat', '/heartbeat')->get(); diff --git a/tests/lib/Route/RouterTest.php b/tests/lib/Route/RouterTest.php index 301058f74a625..f2099b2cc5a1d 100644 --- a/tests/lib/Route/RouterTest.php +++ b/tests/lib/Route/RouterTest.php @@ -39,7 +39,10 @@ * @package Test\Route */ class RouterTest extends TestCase { - public function testGenerateConsecutively(): void { + /** @var Router */ + private $router; + protected function setUp(): void { + parent::setUp(); /** @var LoggerInterface $logger */ $logger = $this->createMock(LoggerInterface::class); $logger->method('info') @@ -48,20 +51,27 @@ function (string $message, array $data) { $this->fail('Unexpected info log: '.(string)($data['exception'] ?? $message)); } ); - $router = new Router( + $this->router = new Router( $logger, $this->createMock(IRequest::class), $this->createMock(IConfig::class), $this->createMock(IEventLogger::class), $this->createMock(ContainerInterface::class), ); + } + + public function testHeartbeat(): void { + $this->assertEquals('/index.php/heartbeat', $this->router->generate('heartbeat')); + } + + public function testGenerateConsecutively(): void { - $this->assertEquals('/index.php/apps/files/', $router->generate('files.view.index')); + $this->assertEquals('/index.php/apps/files/', $this->router->generate('files.view.index')); // the OCS route is the prefixed one for the AppFramework - see /ocs/v1.php for routing details - $this->assertEquals('/index.php/ocsapp/apps/dav/api/v1/direct', $router->generate('ocs.dav.direct.getUrl')); + $this->assertEquals('/index.php/ocsapp/apps/dav/api/v1/direct', $this->router->generate('ocs.dav.direct.getUrl')); // test caching - $this->assertEquals('/index.php/apps/files/', $router->generate('files.view.index')); + $this->assertEquals('/index.php/apps/files/', $this->router->generate('files.view.index')); } } From 82f9c66dfcbc1cb886bfe94e25cd76beab2d9df0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <91878298+come-nc@users.noreply.github.com> Date: Tue, 18 Jun 2024 16:33:31 +0200 Subject: [PATCH 2/2] fix(tests): Strong type property $router in RouterTest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com> Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com> --- tests/lib/Route/RouterTest.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/lib/Route/RouterTest.php b/tests/lib/Route/RouterTest.php index f2099b2cc5a1d..bb322e51bb700 100644 --- a/tests/lib/Route/RouterTest.php +++ b/tests/lib/Route/RouterTest.php @@ -39,8 +39,7 @@ * @package Test\Route */ class RouterTest extends TestCase { - /** @var Router */ - private $router; + private Router $router; protected function setUp(): void { parent::setUp(); /** @var LoggerInterface $logger */