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; } }