Skip to content

Commit 9fdd6d3

Browse files
committed
AC-14475: Updated unit test cases of cookie manager
1 parent 7556d8a commit 9fdd6d3

File tree

2 files changed

+17
-27
lines changed

2 files changed

+17
-27
lines changed

lib/internal/Magento/Framework/Stdlib/Cookie/PhpCookieManager.php

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,6 @@
22
/**
33
* Copyright 2025 Adobe
44
* All Rights Reserved.
5-
*
6-
* NOTICE: All information contained herein is, and remains
7-
* the property of Adobe and its suppliers, if any. The intellectual
8-
* and technical concepts contained herein are proprietary to Adobe
9-
* and its suppliers and are protected by all applicable intellectual
10-
* property laws, including trade secret and copyright laws.
11-
* Dissemination of this information or reproduction of this material
12-
* is strictly forbidden unless prior written permission is obtained
13-
* from Adobe.
145
*/
156
declare(strict_types=1);
167

@@ -37,7 +28,7 @@ class PhpCookieManager implements CookieManagerInterface
3728
{
3829
/**#@+
3930
* Constants for Cookie manager.
40-
* RFC 2109 - Page 15
31+
* RFC 2109 - Page 26
4132
* http://www.ietf.org/rfc/rfc6265.txt
4233
*/
4334
public const MAX_NUM_COOKIES = 50;
@@ -220,7 +211,7 @@ private function checkAbilityToSendCookie($name, $value)
220211

221212
$sizeOfCookie = $this->sizeOfCookie($name, $value);
222213

223-
if ($numCookies > self::MAX_NUM_COOKIES) {
214+
if ($numCookies > static::MAX_NUM_COOKIES) {
224215
$this->logger->warning(
225216
new Phrase('Unable to send the cookie. Maximum number of cookies would be exceeded.'),
226217
[
@@ -230,7 +221,7 @@ private function checkAbilityToSendCookie($name, $value)
230221
);
231222
}
232223

233-
if ($sizeOfCookie > self::MAX_COOKIE_SIZE) {
224+
if ($sizeOfCookie > static::MAX_COOKIE_SIZE) {
234225
throw new CookieSizeLimitReachedException(
235226
new Phrase(
236227
'Unable to send the cookie. Size of \'%name\' is %size bytes.',

lib/internal/Magento/Framework/Stdlib/Test/Unit/Cookie/PhpCookieManagerTest.php

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
/**
3-
* Copyright © Magento, Inc. All rights reserved.
4-
* See COPYING.txt for license details.
3+
* Copyright 2025 Adobe
4+
* All Rights Reserved.
55
*/
66
declare(strict_types=1);
77

@@ -60,9 +60,6 @@ class PhpCookieManagerTest extends TestCase
6060
public const COOKIE_HTTP_ONLY = true;
6161
public const COOKIE_NOT_HTTP_ONLY = false;
6262
public const COOKIE_EXPIRE_END_OF_SESSION = 0;
63-
private const MAX_NUM_COOKIES = 50;
64-
private const EXPIRE_NOW_TIME = 1;
65-
private const EXPIRE_AT_END_OF_SESSION_TIME = 0;
6663

6764
/**
6865
* Mapping from constant names to functions that handle the assertions.
@@ -518,7 +515,8 @@ public function testSetCookieSizeTooLarge()
518515

519516
$cookieValue = '';
520517

521-
for ($i = 0; $i < $this->cookieManager::MAX_COOKIE_SIZE + 1; $i++) {
518+
$cookieManager = $this->cookieManager;
519+
for ($i = 0; $i < $cookieManager::MAX_COOKIE_SIZE + 1; $i++) {
522520
$cookieValue = $cookieValue . 'a';
523521
}
524522

@@ -546,8 +544,9 @@ public function testSetTooManyCookies()
546544

547545
$userAgent = 'some_user_agent';
548546

549-
// Set self::MAX_NUM_COOKIES number of cookies in superglobal $_COOKIE.
550-
for ($i = count($_COOKIE); $i < self::MAX_NUM_COOKIES; $i++) {
547+
$cookieManager = $this->cookieManager;
548+
// Set $cookieManager::MAX_NUM_COOKIES number of cookies in superglobal $_COOKIE.
549+
for ($i = count($_COOKIE); $i < $cookieManager::MAX_NUM_COOKIES; $i++) {
551550
$_COOKIE['test_cookie_' . $i] = self::COOKIE_VALUE . '_' . $i;
552551
}
553552

@@ -616,7 +615,7 @@ private static function assertDeleteCookie(
616615
) {
617616
self::assertEquals(self::DELETE_COOKIE_NAME, $name);
618617
self::assertEquals('', $value);
619-
self::assertEquals($expiry, self::EXPIRE_NOW_TIME);
618+
self::assertEquals($expiry, PhpCookieManager::EXPIRE_NOW_TIME);
620619
self::assertFalse($secure);
621620
self::assertFalse($httpOnly);
622621
self::assertEquals('magento.url', $domain);
@@ -642,7 +641,7 @@ private static function assertDeleteCookieWithNoMetadata(
642641
) {
643642
self::assertEquals(self::DELETE_COOKIE_NAME_NO_METADATA, $name);
644643
self::assertEquals('', $value);
645-
self::assertEquals($expiry, self::EXPIRE_NOW_TIME);
644+
self::assertEquals($expiry, PhpCookieManager::EXPIRE_NOW_TIME);
646645
self::assertFalse($secure);
647646
self::assertFalse($httpOnly);
648647
self::assertEquals('', $domain);
@@ -668,7 +667,7 @@ private static function assertSensitiveCookieWithNoMetaDataHttps(
668667
) {
669668
self::assertEquals(self::SENSITIVE_COOKIE_NAME_NO_METADATA_HTTPS, $name);
670669
self::assertEquals(self::COOKIE_VALUE, $value);
671-
self::assertEquals(self::EXPIRE_AT_END_OF_SESSION_TIME, $expiry);
670+
self::assertEquals(PhpCookieManager::EXPIRE_AT_END_OF_SESSION_TIME, $expiry);
672671
self::assertTrue($secure);
673672
self::assertTrue($httpOnly);
674673
self::assertEquals('', $domain);
@@ -694,7 +693,7 @@ private static function assertSensitiveCookieWithNoMetaDataNotHttps(
694693
) {
695694
self::assertEquals(self::SENSITIVE_COOKIE_NAME_NO_METADATA_NOT_HTTPS, $name);
696695
self::assertEquals(self::COOKIE_VALUE, $value);
697-
self::assertEquals(self::EXPIRE_AT_END_OF_SESSION_TIME, $expiry);
696+
self::assertEquals(PhpCookieManager::EXPIRE_AT_END_OF_SESSION_TIME, $expiry);
698697
self::assertFalse($secure);
699698
self::assertTrue($httpOnly);
700699
self::assertEquals('', $domain);
@@ -720,7 +719,7 @@ private static function assertSensitiveCookieNoDomainNoPath(
720719
) {
721720
self::assertEquals(self::SENSITIVE_COOKIE_NAME_NO_DOMAIN_NO_PATH, $name);
722721
self::assertEquals(self::COOKIE_VALUE, $value);
723-
self::assertEquals(self::EXPIRE_AT_END_OF_SESSION_TIME, $expiry);
722+
self::assertEquals(PhpCookieManager::EXPIRE_AT_END_OF_SESSION_TIME, $expiry);
724723
self::assertTrue($secure);
725724
self::assertTrue($httpOnly);
726725
self::assertEquals('', $domain);
@@ -746,7 +745,7 @@ private static function assertSensitiveCookieWithDomainAndPath(
746745
) {
747746
self::assertEquals(self::SENSITIVE_COOKIE_NAME_WITH_DOMAIN_AND_PATH, $name);
748747
self::assertEquals(self::COOKIE_VALUE, $value);
749-
self::assertEquals(self::EXPIRE_AT_END_OF_SESSION_TIME, $expiry);
748+
self::assertEquals(PhpCookieManager::EXPIRE_AT_END_OF_SESSION_TIME, $expiry);
750749
self::assertFalse($secure);
751750
self::assertTrue($httpOnly);
752751
self::assertEquals('magento.url', $domain);
@@ -798,7 +797,7 @@ private static function assertPublicCookieWithNoDomainNoPath(
798797
) {
799798
self::assertEquals(self::PUBLIC_COOKIE_NAME_NO_METADATA, $name);
800799
self::assertEquals(self::COOKIE_VALUE, $value);
801-
self::assertEquals(self::EXPIRE_AT_END_OF_SESSION_TIME, $expiry);
800+
self::assertEquals(PhpCookieManager::EXPIRE_AT_END_OF_SESSION_TIME, $expiry);
802801
self::assertTrue($secure);
803802
self::assertTrue($httpOnly);
804803
self::assertEquals('magento.url', $domain);

0 commit comments

Comments
 (0)