123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Stdlib\Cookie;
- use Magento\Framework\App\RequestInterface;
- use Magento\Framework\ObjectManagerInterface;
- use Magento\TestFramework\Helper\Bootstrap;
- use Zend\Stdlib\Parameters;
- /**
- * Test CookieScope
- *
- */
- class CookieScopeTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var ObjectManagerInterface
- */
- protected $objectManager;
- /**
- * @var RequestInterface
- */
- protected $request;
- public function setUp()
- {
- $this->objectManager = Bootstrap::getObjectManager();
- $this->request = $this->objectManager->get(\Magento\Framework\App\RequestInterface::class);
- }
- public function testGetSensitiveCookieMetadataEmpty()
- {
- $serverVal = $_SERVER;
- $this->request->setServer(new Parameters(array_merge($_SERVER, ['HTTPS' => 'on'])));
- $cookieScope = $this->createCookieScope();
- $this->assertEquals(
- [
- SensitiveCookieMetadata::KEY_HTTP_ONLY => true,
- SensitiveCookieMetadata::KEY_SECURE => true,
- ],
- $cookieScope->getSensitiveCookieMetadata()->__toArray()
- );
- $this->request->setServer(new Parameters($serverVal));
- }
- public function testGetPublicCookieMetadataEmpty()
- {
- $cookieScope = $this->createCookieScope();
- $this->assertEmpty($cookieScope->getPublicCookieMetadata()->__toArray());
- }
- public function testGetSensitiveCookieMetadataDefaults()
- {
- $defaultValues = [
- SensitiveCookieMetadata::KEY_PATH => 'default path',
- SensitiveCookieMetadata::KEY_DOMAIN => 'default domain',
- ];
- $sensitive = $this->createSensitiveMetadata($defaultValues);
- $cookieScope = $this->createCookieScope(
- [
- 'sensitiveCookieMetadata' => $sensitive,
- 'publicCookieMetadata' => null,
- 'cookieMetadata' => null,
- ]
- );
- $this->assertEquals(
- [
- SensitiveCookieMetadata::KEY_PATH => 'default path',
- SensitiveCookieMetadata::KEY_DOMAIN => 'default domain',
- SensitiveCookieMetadata::KEY_HTTP_ONLY => true,
- SensitiveCookieMetadata::KEY_SECURE => false,
- ],
- $cookieScope->getSensitiveCookieMetadata()->__toArray()
- );
- }
- public function testGetPublicCookieMetadataDefaults()
- {
- $defaultValues = [
- PublicCookieMetadata::KEY_PATH => 'default path',
- PublicCookieMetadata::KEY_DOMAIN => 'default domain',
- PublicCookieMetadata::KEY_DURATION => 'default duration',
- PublicCookieMetadata::KEY_HTTP_ONLY => 'default http',
- PublicCookieMetadata::KEY_SECURE => 'default secure',
- ];
- $public = $this->createPublicMetadata($defaultValues);
- $cookieScope = $this->createCookieScope(
- [
- 'publicCookieMetadata' => $public,
- ]
- );
- $this->assertEquals($defaultValues, $cookieScope->getPublicCookieMetadata()->__toArray());
- }
- public function testGetCookieMetadataDefaults()
- {
- $defaultValues = [
- CookieMetadata::KEY_PATH => 'default path',
- CookieMetadata::KEY_DOMAIN => 'default domain',
- ];
- $cookieMetadata = $this->createCookieMetadata($defaultValues);
- $cookieScope = $this->createCookieScope(
- [
- 'deleteCookieMetadata' => $cookieMetadata,
- ]
- );
- $this->assertEquals($defaultValues, $cookieScope->getCookieMetadata()->__toArray());
- }
- public function testGetSensitiveCookieMetadataOverrides()
- {
- $defaultValues = [
- SensitiveCookieMetadata::KEY_PATH => 'default path',
- SensitiveCookieMetadata::KEY_DOMAIN => 'default domain',
- ];
- $overrideValues = [
- SensitiveCookieMetadata::KEY_PATH => 'override path',
- SensitiveCookieMetadata::KEY_DOMAIN => 'override domain',
- ];
- $sensitive = $this->createSensitiveMetadata($defaultValues);
- $cookieScope = $this->createCookieScope(
- [
- 'sensitiveCookieMetadata' => $sensitive,
- ]
- );
- $override = $this->createSensitiveMetadata($overrideValues);
- $this->assertEquals(
- [
- SensitiveCookieMetadata::KEY_PATH => 'override path',
- SensitiveCookieMetadata::KEY_DOMAIN => 'override domain',
- SensitiveCookieMetadata::KEY_HTTP_ONLY => true,
- SensitiveCookieMetadata::KEY_SECURE => false,
- ],
- $cookieScope->getSensitiveCookieMetadata($override)->__toArray()
- );
- }
- public function testGetPublicCookieMetadataOverrides()
- {
- $defaultValues = [
- PublicCookieMetadata::KEY_PATH => 'default path',
- PublicCookieMetadata::KEY_DOMAIN => 'default domain',
- PublicCookieMetadata::KEY_DURATION => 'default duration',
- PublicCookieMetadata::KEY_HTTP_ONLY => 'default http',
- PublicCookieMetadata::KEY_SECURE => 'default secure',
- ];
- $overrideValues = [
- PublicCookieMetadata::KEY_PATH => 'override path',
- PublicCookieMetadata::KEY_DOMAIN => 'override domain',
- PublicCookieMetadata::KEY_DURATION => 'override duration',
- PublicCookieMetadata::KEY_HTTP_ONLY => 'override http',
- PublicCookieMetadata::KEY_SECURE => 'override secure',
- ];
- $public = $this->createPublicMetadata($defaultValues);
- $cookieScope = $this->createCookieScope(
- [
- 'publicCookieMetadata' => $public,
- ]
- );
- $override = $this->createPublicMetadata($overrideValues);
- $this->assertEquals($overrideValues, $cookieScope->getPublicCookieMetadata($override)->__toArray());
- }
- public function testGetCookieMetadataOverrides()
- {
- $defaultValues = [
- CookieMetadata::KEY_PATH => 'default path',
- CookieMetadata::KEY_DOMAIN => 'default domain',
- ];
- $overrideValues = [
- CookieMetadata::KEY_PATH => 'override path',
- CookieMetadata::KEY_DOMAIN => 'override domain',
- ];
- $deleteCookieMetadata = $this->createCookieMetadata($defaultValues);
- $cookieScope = $this->createCookieScope(
- [
- 'deleteCookieMetadata' => $deleteCookieMetadata,
- ]
- );
- $override = $this->createCookieMetadata($overrideValues);
- $this->assertEquals($overrideValues, $cookieScope->getCookieMetadata($override)->__toArray());
- }
- /**
- * Creates a CookieScope object with the given parameters.
- *
- * @param array $params
- * @return CookieScope
- */
- protected function createCookieScope($params = [])
- {
- return $this->objectManager->create(\Magento\Framework\Stdlib\Cookie\CookieScope::class, $params);
- }
- /**
- * Creates a SensitiveCookieMetadata object with provided metadata values.
- *
- * @param array $metadata
- * @return SensitiveCookieMetadata
- */
- protected function createSensitiveMetadata($metadata = [])
- {
- return $this->objectManager->create(
- \Magento\Framework\Stdlib\Cookie\SensitiveCookieMetadata::class,
- ['metadata' => $metadata]
- );
- }
- /**
- * Creates a PublicCookieMetadata object with provided metadata values.
- *
- * @param array $metadata
- * @return PublicCookieMetadata
- */
- protected function createPublicMetadata($metadata = [])
- {
- return $this->objectManager->create(
- \Magento\Framework\Stdlib\Cookie\PublicCookieMetadata::class,
- ['metadata' => $metadata]
- );
- }
- /**
- * Creates a CookieMetadata object with provided metadata values.
- *
- * @param array $metadata
- * @return CookieMetadata
- */
- protected function createCookieMetadata($metadata = [])
- {
- return $this->objectManager->create(
- \Magento\Framework\Stdlib\Cookie\CookieMetadata::class,
- ['metadata' => $metadata]
- );
- }
- }
|