![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-security/Test/Unit/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Security\Test\Unit\Model; use Magento\Backend\Helper\Data; use Magento\Framework\Stdlib\Cookie\CookieReaderInterface; use Magento\Framework\Stdlib\Cookie\PhpCookieManager; use Magento\Framework\Stdlib\Cookie\PublicCookieMetadata; use Magento\Framework\Stdlib\Cookie\PublicCookieMetadataFactory; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use Magento\Security\Model\SecurityCookie; use PHPUnit\Framework\TestCase; /** * Test class for \Magento\Security\Model\SecurityCookie testing */ class SecurityCookieTest extends TestCase { /** @var PhpCookieManager */ protected $phpCookieManagerMock; /** @var PublicCookieMetadataFactory */ protected $cookieMetadataFactoryMock; /** @var PublicCookieMetadata */ protected $cookieMetadataMock; /** @var CookieReaderInterface */ protected $cookieReaderMock; /** @var PublicCookieMetadata */ protected $backendDataMock; /** @var SecurityCookie */ protected $model; /** * Init mocks for tests * @return void */ protected function setUp(): void { $this->phpCookieManagerMock = $this->createPartialMock( PhpCookieManager::class, ['setPublicCookie'] ); $this->cookieMetadataFactoryMock = $this->createPartialMock( PublicCookieMetadataFactory::class, ['create'] ); $this->cookieMetadataMock = $this->createPartialMock( PublicCookieMetadata::class, ['setPath', 'setDuration', 'setSameSite'] ); $this->cookieReaderMock = $this->createPartialMock( CookieReaderInterface::class, ['getCookie'] ); $this->backendDataMock = $this->createMock(Data::class); $objectManager = new ObjectManager($this); $this->model = $objectManager->getObject( SecurityCookie::class, [ 'phpCookieManager' => $this->phpCookieManagerMock, 'cookieMetadataFactory' => $this->cookieMetadataFactoryMock, 'cookieReader' => $this->cookieReaderMock, 'backendData' => $this->backendDataMock ] ); } /** * Test get logout reason cookie * @return void */ public function testGetLogoutReasonCookie() { $cookie = '123'; $this->cookieReaderMock->expects($this->once()) ->method('getCookie') ->with( SecurityCookie::LOGOUT_REASON_CODE_COOKIE_NAME, -1 ) ->willReturn($cookie); $this->assertEquals((int)$cookie, $this->model->getLogoutReasonCookie()); } /** * Test set logout reason cookie * @return void */ public function testSetLogoutReasonCookie() { $status = '3'; $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('setSameSite') ->with('Strict') ->willReturnSelf(); $this->phpCookieManagerMock->expects($this->once()) ->method('setPublicCookie') ->with( SecurityCookie::LOGOUT_REASON_CODE_COOKIE_NAME, (int)$status, $this->cookieMetadataMock ) ->willReturnSelf(); $this->assertEquals($this->model, $this->model->setLogoutReasonCookie($status)); } /** * 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()); } /** * @return void */ protected function createCookieMetaData() { $this->cookieMetadataFactoryMock->expects($this->once()) ->method('create') ->willReturn($this->cookieMetadataMock); } }