Skip to content

Commit dc1275a

Browse files
committed
update code
1 parent e973e04 commit dc1275a

File tree

4 files changed

+52
-4
lines changed

4 files changed

+52
-4
lines changed

app/code/Magento/PageCache/Model/App/Request/Http/IdentifierForSave.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
namespace Magento\PageCache\Model\App\Request\Http;
99

10-
use Laminas\Uri\UriFactory;
1110
use Magento\Framework\App\Http\Context;
1211
use Magento\Framework\App\PageCache\IdentifierInterface;
1312
use Magento\Framework\App\Request\Http;
@@ -64,7 +63,7 @@ private function reconstructUrl($url)
6463
return [$url, ''];
6564
}
6665
$baseUrl = strtok((string)$url, '?');
67-
$query = UriFactory::factory($url)->getQueryAsArray();
66+
$query = $this->request->getUri()->getQueryAsArray();
6867
if (!empty($query)) {
6968
ksort($query);
7069
$query = http_build_query($query);

app/code/Magento/PageCache/Test/Unit/Model/App/Request/Http/IdentifierForSaveTest.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
namespace Magento\PageCache\Test\Unit\Model\App\Request\Http;
99

1010
use Laminas\Stdlib\Parameters;
11+
use Laminas\Uri\Http as HttpUri;
1112
use Magento\Framework\App\Http\Context;
1213
use Magento\Framework\App\Request\Http as HttpRequest;
1314
use Magento\Framework\Serialize\Serializer\Json;
@@ -115,6 +116,12 @@ public function testGetValue(): void
115116
->method('getVaryString')
116117
->willReturn(self::VARY);
117118

119+
$uri = $this->createMock(HttpUri::class);
120+
$uri->expects($this->any())->method('getQueryAsArray')->willReturn('');
121+
$this->requestMock->expects($this->any())
122+
->method('getUri')
123+
->willReturn($uri);
124+
118125
$this->identifierStoreReader->method('getPageTagsWithStoreCacheTags')->willReturnCallback(
119126
function ($value) {
120127
return $value;
@@ -161,6 +168,15 @@ public function testGetValueWithQuery(): void
161168
->method('getVaryString')
162169
->willReturn(self::VARY);
163170

171+
$uri = $this->createMock(HttpUri::class);
172+
$uri->expects($this->any())->method('getQueryAsArray')->willReturn([
173+
'b' => 2,
174+
'a' => 1,
175+
]);
176+
$this->requestMock->expects($this->any())
177+
->method('getUri')
178+
->willReturn($uri);
179+
164180
$this->identifierStoreReader->method('getPageTagsWithStoreCacheTags')->willReturnCallback(
165181
function ($value) {
166182
return $value;

lib/internal/Magento/Framework/App/PageCache/Identifier.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
*/
66
namespace Magento\Framework\App\PageCache;
77

8-
use Laminas\Uri\UriFactory;
98
use Magento\Framework\App\ObjectManager;
109
use Magento\Framework\Serialize\Serializer\Json;
1110

@@ -75,7 +74,7 @@ private function reconstructUrl($url)
7574
return [$url, ''];
7675
}
7776
$baseUrl = strtok((string)$url, '?');
78-
$query = UriFactory::factory($url)->getQueryAsArray();
77+
$query = $this->request->getUri()->getQueryAsArray();
7978
if (!empty($query)) {
8079
ksort($query);
8180
$query = http_build_query($query);

lib/internal/Magento/Framework/App/Test/Unit/PageCache/IdentifierTest.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
namespace Magento\Framework\App\Test\Unit\PageCache;
99

1010
use Laminas\Stdlib\Parameters;
11+
use Laminas\Uri\Http as HttpUri;
1112
use Magento\Framework\App\Http\Context;
1213
use Magento\Framework\App\PageCache\Identifier;
1314
use Magento\Framework\App\Request\Http as HttpRequest;
@@ -107,6 +108,12 @@ public function testSecureDifferentiator(): void
107108
->method('toArray')
108109
->willReturn([]);
109110

111+
$uri = $this->createMock(HttpUri::class);
112+
$uri->expects($this->any())->method('getQueryAsArray')->willReturn('');
113+
$this->requestMock->expects($this->any())
114+
->method('getUri')
115+
->willReturn($uri);
116+
110117
$valueWithSecureRequest = $this->model->getValue();
111118
$valueWithInsecureRequest = $this->model->getValue();
112119
$this->assertNotEquals($valueWithSecureRequest, $valueWithInsecureRequest);
@@ -129,6 +136,12 @@ public function testDomainDifferentiator(): void
129136
->method('toArray')
130137
->willReturn([]);
131138

139+
$uri = $this->createMock(HttpUri::class);
140+
$uri->expects($this->any())->method('getQueryAsArray')->willReturn('');
141+
$this->requestMock->expects($this->any())
142+
->method('getUri')
143+
->willReturn($uri);
144+
132145
$valueDomain1 = $this->model->getValue();
133146
$valueDomain2 = $this->model->getValue();
134147
$this->assertNotEquals($valueDomain1, $valueDomain2);
@@ -151,6 +164,12 @@ public function testPathDifferentiator(): void
151164
->method('toArray')
152165
->willReturn([]);
153166

167+
$uri = $this->createMock(HttpUri::class);
168+
$uri->expects($this->any())->method('getQueryAsArray')->willReturn('');
169+
$this->requestMock->expects($this->any())
170+
->method('getUri')
171+
->willReturn($uri);
172+
154173
$valuePath1 = $this->model->getValue();
155174
$valuePath2 = $this->model->getValue();
156175
$this->assertNotEquals($valuePath1, $valuePath2);
@@ -209,6 +228,12 @@ public function testGetValue(): void
209228
->method('toArray')
210229
->willReturn([]);
211230

231+
$uri = $this->createMock(HttpUri::class);
232+
$uri->expects($this->any())->method('getQueryAsArray')->willReturn('');
233+
$this->requestMock->expects($this->any())
234+
->method('getUri')
235+
->willReturn($uri);
236+
212237
$this->assertEquals(
213238
sha1(
214239
json_encode(
@@ -248,6 +273,15 @@ public function testGetValueWithQuery(): void
248273
'a' => 1,
249274
]);
250275

276+
$uri = $this->createMock(HttpUri::class);
277+
$uri->expects($this->any())->method('getQueryAsArray')->willReturn([
278+
'b' => 2,
279+
'a' => 1,
280+
]);
281+
$this->requestMock->expects($this->any())
282+
->method('getUri')
283+
->willReturn($uri);
284+
251285
$this->assertEquals(
252286
sha1(
253287
json_encode(

0 commit comments

Comments
 (0)