/** * Before execute login * * @param Login $login * @return void */ public function beforeExecute(Login $login) { $logoutReasonCode = $this->securityCookie->getLogoutReasonCookie(); if ($this->isLoginForm($login) && $logoutReasonCode >= 0) { $this->messageManager->addError($this->sessionsManager->getLogoutReasonMessageByStatus($logoutReasonCode)); $this->securityCookie->deleteLogoutReasonCookie(); } }
/** * Test delete logout reason cookie * @return void */ public function testDeleteLogoutReasonCookie() { $frontName = 'FrontName'; $this->createCookieMetaData(); $this->backendDataMock->expects($this->once())->method('getAreaFrontName')->willReturn($frontName); $this->cookieMetadataMock->expects($this->once())->method('setPath')->with('/' . $frontName)->willReturnSelf(); $this->cookieMetadataMock->expects($this->once())->method('setDuration')->with(-1)->willReturnSelf(); $this->phpCookieManagerMock->expects($this->once())->method('setPublicCookie')->with(SecurityCookie::LOGOUT_REASON_CODE_COOKIE_NAME, '', $this->cookieMetadataMock)->willReturnSelf(); $this->assertEquals($this->model, $this->model->deleteLogoutReasonCookie()); }
/** * Add user logout notification * * @return $this */ private function addUserLogoutNotification() { if ($this->isAjaxRequest()) { $this->securityCookie->setLogoutReasonCookie($this->sessionsManager->getCurrentSession()->getStatus()); } else { if ($message = $this->sessionsManager->getLogoutReasonMessage()) { $this->messageManager->addError($message); } } return $this; }
/** * @return void */ public function testAroundProlongSessionIsNotActiveAndIsAjaxRequest() { $result = 'result'; $status = 1; $proceed = function () use($result) { return $result; }; $this->currentSessionMock->expects($this->any())->method('isActive')->willReturn(false); $this->authSessionMock->expects($this->once())->method('destroy'); $this->requestMock->expects($this->once())->method('getParam')->with('isAjax')->willReturn(true); $this->currentSessionMock->expects($this->once())->method('getStatus')->willReturn($status); $this->securityCookieMock->expects($this->once())->method('setLogoutReasonCookie')->with($status)->willReturnSelf(); $this->model->aroundProlong($this->authSessionMock, $proceed); }
/** * @return void */ public function testBeforeExecute() { $logoutReasonCode = 2; $uri = '/uri/'; $errorMessage = 'Error Message'; $this->securityCookieMock->expects($this->once())->method('getLogoutReasonCookie')->willReturn($logoutReasonCode); $this->backendControllerAuthLoginMock->expects($this->once())->method('getRequest')->willReturn($this->requestMock); $this->requestMock->expects($this->once())->method('getUri')->willReturn($uri); $this->backendControllerAuthLoginMock->expects($this->once())->method('getUrl')->willReturn($uri); $this->adminSessionsManagerMock->expects($this->once())->method('getLogoutReasonMessageByStatus')->with($logoutReasonCode)->willReturn($errorMessage); $this->messageManagerMock->expects($this->once())->method('addError')->with($errorMessage); $this->securityCookieMock->expects($this->once())->method('deleteLogoutReasonCookie')->willReturnSelf(); $this->controller->beforeExecute($this->backendControllerAuthLoginMock); }