From 64a748995817edbb09c41f7820ce78e71a42f96d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Wed, 24 Aug 2022 10:36:57 +0200 Subject: [PATCH] Fix SessionMiddlewareTest and cover new case with reopening MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- .../Middleware/SessionMiddlewareTest.php | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/tests/lib/AppFramework/Middleware/SessionMiddlewareTest.php b/tests/lib/AppFramework/Middleware/SessionMiddlewareTest.php index f9739044465b0..be684e3601350 100644 --- a/tests/lib/AppFramework/Middleware/SessionMiddlewareTest.php +++ b/tests/lib/AppFramework/Middleware/SessionMiddlewareTest.php @@ -35,7 +35,7 @@ protected function setUp(): void { * @UseSession */ public function testSessionNotClosedOnBeforeController() { - $session = $this->getSessionMock(0); + $session = $this->getSessionMock(0, 1); $this->reflector->reflect($this, __FUNCTION__); $middleware = new SessionMiddleware($this->reflector, $session); @@ -53,8 +53,20 @@ public function testSessionClosedOnAfterController() { $middleware->afterController($this->controller, __FUNCTION__, new Response()); } + /** + * @UseSession + */ + public function testSessionReopenedAndClosedOnBeforeController() { + $session = $this->getSessionMock(1, 1); + + $this->reflector->reflect($this, __FUNCTION__); + $middleware = new SessionMiddleware($this->reflector, $session); + $middleware->beforeController($this->controller, __FUNCTION__); + $middleware->afterController($this->controller, __FUNCTION__, new Response()); + } + public function testSessionClosedOnBeforeController() { - $session = $this->getSessionMock(1); + $session = $this->getSessionMock(0); $this->reflector->reflect($this, __FUNCTION__); $middleware = new SessionMiddleware($this->reflector, $session); @@ -72,13 +84,15 @@ public function testSessionNotClosedOnAfterController() { /** * @return mixed */ - private function getSessionMock($expectedCloseCount) { + private function getSessionMock(int $expectedCloseCount, int $expectedReopenCount = 0) { $session = $this->getMockBuilder('\OC\Session\Memory') ->disableOriginalConstructor() ->getMock(); $session->expects($this->exactly($expectedCloseCount)) ->method('close'); + $session->expects($this->exactly($expectedReopenCount)) + ->method('reopen'); return $session; } }