![]() 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/framework/Stdlib/Test/Unit/Cookie/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Framework\Stdlib\Test\Unit\Cookie; use Magento\Framework\Stdlib\Cookie\PublicCookieMetadata; use Magento\Framework\Stdlib\StringUtils; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use PHPUnit\Framework\TestCase; /** * Test PublicCookieMetadata * */ class PublicCookieMetadataTest extends TestCase { /** @var PublicCookieMetadata */ private $publicCookieMetadata; /** @var ObjectManager */ private $objectManager; protected function setUp(): void { $this->objectManager = new ObjectManager($this); $this->publicCookieMetadata = $this->objectManager->getObject( PublicCookieMetadata::class ); } /** * @param StringUtils $setMethodName * @param StringUtils $getMethodName * @param StringUtils $expectedValue * @dataProvider getMethodData */ public function testGetters($setMethodName, $getMethodName, $expectedValue) { $this->publicCookieMetadata->$setMethodName($expectedValue); $this->assertSame($expectedValue, $this->publicCookieMetadata->$getMethodName()); } /** * @return array */ public function getMethodData() { return [ "getDomain" => ["setDomain", 'getDomain', "example.com"], "getPath" => ["setPath", 'getPath', "path"], "getDuration" => ["setDuration", 'getDuration', 125], "getHttpOnly" => ["setHttpOnly", 'getHttpOnly', true], "getSecure" => ["setSecure", 'getSecure', true], "getDurationOneYear" => ["setDurationOneYear", 'getDuration', (3600*24*365)], "getSameSite" => ["setSameSite", 'getSameSite', 'Lax'] ]; } /** * @return array */ public function toArrayDataProvider(): array { return [ [ [ PublicCookieMetadata::KEY_SECURE => false, PublicCookieMetadata::KEY_DOMAIN => 'domain', PublicCookieMetadata::KEY_PATH => 'path', ], [ PublicCookieMetadata::KEY_SECURE => false, PublicCookieMetadata::KEY_DOMAIN => 'domain', PublicCookieMetadata::KEY_PATH => 'path', PublicCookieMetadata::KEY_SAME_SITE => 'Lax', ], ] ]; } /** * Test To Array * * @param array $metadata * @param array $expected * @dataProvider toArrayDataProvider * @return void */ public function testToArray(array $metadata, array $expected): void { /** @var \Magento\Framework\Stdlib\Cookie\PublicCookieMetadata $object */ $object = $this->objectManager->getObject( PublicCookieMetadata::class, [ 'metadata' => $metadata, ] ); $this->assertEquals($expected, $object->__toArray()); } /** * Test Set SameSite None With Insecure Cookies * * @return void */ public function testSetSecureWithSameSiteNone(): void { /** @var \Magento\Framework\Stdlib\Cookie\PublicCookieMetadata $publicCookieMetadata */ $publicCookieMetadata = $this->objectManager->getObject( PublicCookieMetadata::class ); $this->expectException('InvalidArgumentException'); $this->expectExceptionMessage('Cookie must be secure in order to use the SameSite None directive.'); $publicCookieMetadata->setSameSite('None'); $publicCookieMetadata->setSecure(false); } }