Skip to content

Commit e63e5df

Browse files
committed
MC-30290: Non-cacheable block added to default handle makes every page non-cacheable
1 parent a027e3e commit e63e5df

File tree

11 files changed

+51
-56
lines changed

11 files changed

+51
-56
lines changed

app/code/Magento/Catalog/Test/Unit/Model/Layout/DepersonalizePluginTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
use Magento\Catalog\Model\Layout\DepersonalizePlugin;
1111
use Magento\Catalog\Model\Session as CatalogSession;
12-
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
12+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
1313
use Magento\Framework\View\LayoutInterface;
1414
use Magento\PageCache\Model\DepersonalizeChecker;
1515
use PHPUnit\Framework\TestCase;
@@ -44,11 +44,11 @@ class DepersonalizePluginTest extends TestCase
4444
*/
4545
protected function setUp()
4646
{
47-
$this->layoutMock = $this->getMockBuilder(LayoutInterface::class)->setMethods([])->getMockForAbstractClass();
47+
$this->layoutMock = $this->getMockForAbstractClass(LayoutInterface::class);
4848
$this->catalogSessionMock = $this->createPartialMock(CatalogSession::class, ['clearStorage']);
4949
$this->depersonalizeCheckerMock = $this->createMock(DepersonalizeChecker::class);
5050

51-
$this->plugin = (new ObjectManager($this))->getObject(
51+
$this->plugin = (new ObjectManagerHelper($this))->getObject(
5252
DepersonalizePlugin::class,
5353
[
5454
'catalogSession' => $this->catalogSessionMock,
@@ -66,7 +66,7 @@ public function testAfterGenerateElements(): void
6666
{
6767
$this->catalogSessionMock->expects($this->once())->method('clearStorage');
6868
$this->depersonalizeCheckerMock->expects($this->once())->method('checkIfDepersonalize')->willReturn(true);
69-
$this->plugin->afterGenerateElements($this->layoutMock);
69+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
7070
}
7171

7272
/**
@@ -78,6 +78,6 @@ public function testAfterGenerateElementsNoDepersonalize(): void
7878
{
7979
$this->catalogSessionMock->expects($this->never())->method('clearStorage');
8080
$this->depersonalizeCheckerMock->expects($this->once())->method('checkIfDepersonalize')->willReturn(false);
81-
$this->plugin->afterGenerateElements($this->layoutMock);
81+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
8282
}
8383
}

app/code/Magento/Checkout/Test/Unit/Model/Layout/DepersonalizePluginTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
use Magento\Checkout\Model\Layout\DepersonalizePlugin;
1111
use Magento\Checkout\Model\Session as CheckoutSession;
12-
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
12+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
1313
use Magento\Framework\View\LayoutInterface;
1414
use Magento\PageCache\Model\DepersonalizeChecker;
1515
use PHPUnit\Framework\TestCase;
@@ -44,11 +44,11 @@ class DepersonalizePluginTest extends TestCase
4444
*/
4545
protected function setUp()
4646
{
47-
$this->layoutMock = $this->getMockBuilder(LayoutInterface::class)->getMockForAbstractClass();
47+
$this->layoutMock = $this->getMockForAbstractClass(LayoutInterface::class);
4848
$this->checkoutSessionMock = $this->createPartialMock(CheckoutSession::class, ['clearStorage']);
4949
$this->depersonalizeCheckerMock = $this->createMock(DepersonalizeChecker::class);
5050

51-
$this->plugin = (new ObjectManager($this))->getObject(
51+
$this->plugin = (new ObjectManagerHelper($this))->getObject(
5252
DepersonalizePlugin::class,
5353
[
5454
'depersonalizeChecker' => $this->depersonalizeCheckerMock,
@@ -70,7 +70,7 @@ public function testAfterGenerateElements(): void
7070
->method('clearStorage')
7171
->willReturnSelf();
7272

73-
$this->plugin->afterGenerateElements($this->layoutMock);
73+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
7474
}
7575

7676
/**
@@ -86,6 +86,6 @@ public function testAfterGenerateElementsNoDepersonalize(): void
8686
->method('clearStorage')
8787
->willReturnSelf();
8888

89-
$this->plugin->afterGenerateElements($this->layoutMock);
89+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
9090
}
9191
}

app/code/Magento/Customer/Test/Unit/Model/Layout/DepersonalizePluginTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
use Magento\Customer\Model\Visitor as VisitorModel;
1515
use Magento\Framework\Data\Form\FormKey;
1616
use Magento\Framework\Session\Generic as GenericSession;
17-
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
17+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
1818
use Magento\Framework\View\LayoutInterface;
1919
use Magento\PageCache\Model\DepersonalizeChecker;
2020
use PHPUnit\Framework\TestCase;
@@ -71,7 +71,7 @@ class DepersonalizePluginTest extends TestCase
7171
*/
7272
protected function setUp()
7373
{
74-
$this->layoutMock = $this->createMock(LayoutInterface::class);
74+
$this->layoutMock = $this->getMockForAbstractClass(LayoutInterface::class);
7575
$this->sessionMock = $this->createPartialMock(
7676
GenericSession::class,
7777
['clearStorage', 'setData', 'getData']
@@ -91,7 +91,7 @@ protected function setUp()
9191
->willReturn($this->customerMock);
9292
$this->depersonalizeCheckerMock = $this->createMock(DepersonalizeChecker::class);
9393

94-
$this->plugin = (new ObjectManager($this))->getObject(
94+
$this->plugin = (new ObjectManagerHelper($this))->getObject(
9595
DepersonalizePlugin::class,
9696
[
9797
'depersonalizeChecker' => $this->depersonalizeCheckerMock,
@@ -159,7 +159,7 @@ public function testAfterGenerateElements(): void
159159
->expects($this->once())
160160
->method('setCustomer')
161161
->with($this->equalTo($this->customerMock));
162-
$this->plugin->afterGenerateElements($this->layoutMock);
162+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
163163
}
164164

165165
/**
@@ -178,6 +178,6 @@ public function testAfterGenerateElementsNoDepersonalize(): void
178178
$this->customerMock->expects($this->never())->method('setGroupId');
179179
$this->sessionMock->expects($this->never())->method('setData');
180180
$this->customerSessionMock->expects($this->never())->method('setCustomer');
181-
$this->plugin->afterGenerateElements($this->layoutMock);
181+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
182182
}
183183
}

app/code/Magento/PageCache/Test/Unit/Model/Layout/DepersonalizePluginTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
use Magento\Framework\Event\Manager;
1111
use Magento\Framework\Message\Session;
12-
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
12+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
1313
use Magento\Framework\View\LayoutInterface;
1414
use Magento\PageCache\Model\DepersonalizeChecker;
1515
use Magento\PageCache\Model\Layout\DepersonalizePlugin;
@@ -51,14 +51,14 @@ class DepersonalizePluginTest extends TestCase
5151
*/
5252
protected function setUp()
5353
{
54-
$this->layoutMock = $this->createMock(LayoutInterface::class);
54+
$this->layoutMock = $this->getMockForAbstractClass(LayoutInterface::class);
5555
$this->eventManagerMock = $this->createMock(Manager::class);
5656
$this->messageSessionMock = $this->createPartialMock(
5757
Session::class,
5858
['clearStorage']
5959
);
6060
$this->depersonalizeCheckerMock = $this->createMock(DepersonalizeChecker::class);
61-
$this->plugin = (new ObjectManager($this))->getObject(
61+
$this->plugin = (new ObjectManagerHelper($this))->getObject(
6262
DepersonalizePlugin::class,
6363
[
6464
'depersonalizeChecker' => $this->depersonalizeCheckerMock,
@@ -81,7 +81,7 @@ public function testAfterGenerateElements(): void
8181
$this->messageSessionMock->expects($this->once())->method('clearStorage');
8282
$this->depersonalizeCheckerMock->expects($this->once())->method('checkIfDepersonalize')->willReturn(true);
8383

84-
$this->plugin->afterGenerateElements($this->layoutMock);
84+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
8585
}
8686

8787
/**
@@ -95,6 +95,6 @@ public function testAfterGenerateElementsNoDepersonalize(): void
9595
$this->eventManagerMock->expects($this->never())->method('dispatch');
9696
$this->messageSessionMock->expects($this->never())->method('clearStorage');
9797

98-
$this->plugin->afterGenerateElements($this->layoutMock);
98+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
9999
}
100100
}

app/code/Magento/PageCache/Test/Unit/Model/Layout/LayoutPluginTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
use Magento\Framework\App\Config\ScopeConfigInterface;
1111
use Magento\Framework\App\Response\Http;
1212
use Magento\Framework\App\ResponseInterface;
13-
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
13+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
1414
use Magento\Framework\View\Layout;
1515
use Magento\PageCache\Model\Config;
1616
use Magento\PageCache\Model\Layout\LayoutPlugin;
@@ -52,7 +52,7 @@ protected function setUp()
5252
$this->responseMock = $this->createMock(Http::class);
5353
$this->configMock = $this->createMock(Config::class);
5454

55-
$this->model = (new ObjectManager($this))->getObject(
55+
$this->model = (new ObjectManagerHelper($this))->getObject(
5656
LayoutPlugin::class,
5757
[
5858
'response' => $this->responseMock,
@@ -81,7 +81,7 @@ public function testAfterGenerateElements($cacheState, $layoutIsCacheable): void
8181
$this->responseMock->expects($this->never())->method('setPublicHeaders');
8282
}
8383

84-
$this->model->afterGenerateElements($this->layoutMock);
84+
$this->assertEmpty($this->model->afterGenerateElements($this->layoutMock));
8585
}
8686

8787
/**

app/code/Magento/Persistent/Test/Unit/Model/Layout/DepersonalizePluginTest.php

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,26 @@
77

88
namespace Magento\Persistent\Test\Unit\Model\Layout;
99

10-
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
10+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
1111
use Magento\Framework\View\LayoutInterface;
1212
use Magento\PageCache\Model\DepersonalizeChecker;
1313
use Magento\Persistent\Model\Layout\DepersonalizePlugin;
1414
use Magento\Persistent\Model\Session as PersistentSession;
15+
use PHPUnit\Framework\MockObject\MockObject;
1516
use PHPUnit\Framework\TestCase;
16-
use PHPUnit_Framework_MockObject_MockObject;
1717

1818
/**
1919
* Tests \Magento\Persistent\Model\Layout\DepersonalizePlugin.
2020
*/
2121
class DepersonalizePluginTest extends TestCase
2222
{
2323
/**
24-
* @var PersistentSession|PHPUnit_Framework_MockObject_MockObject
24+
* @var PersistentSession|MockObject
2525
*/
2626
private $persistentSessionMock;
2727

2828
/**
29-
* @var ObjectManager
29+
* @var ObjectManagerHelper
3030
*/
3131
private $objectManager;
3232

@@ -36,17 +36,23 @@ class DepersonalizePluginTest extends TestCase
3636
private $plugin;
3737

3838
/**
39-
* @var DepersonalizeChecker|PHPUnit_Framework_MockObject_MockObject
39+
* @var DepersonalizeChecker|MockObject
4040
*/
4141
private $depersonalizeCheckerMock;
4242

43+
/**
44+
* @var LayoutInterface|MockObject
45+
*/
46+
private $layoutMock;
47+
4348
/**
4449
* @inheritdoc
4550
*/
4651
protected function setUp()
4752
{
48-
$this->objectManager = new ObjectManager($this);
53+
$this->objectManager = new ObjectManagerHelper($this);
4954

55+
$this->layoutMock = $this->getMockForAbstractClass(LayoutInterface::class);
5056
$this->persistentSessionMock = $this->createPartialMock(PersistentSession::class, ['setCustomerId']);
5157
$this->depersonalizeCheckerMock = $this->createMock(DepersonalizeChecker::class);
5258

@@ -66,13 +72,10 @@ protected function setUp()
6672
*/
6773
public function testAfterGenerateElements(): void
6874
{
69-
/** @var LayoutInterface|PHPUnit_Framework_MockObject_MockObject $subjectMock */
70-
$subjectMock = $this->getMockForAbstractClass(LayoutInterface::class);
71-
7275
$this->depersonalizeCheckerMock->expects($this->once())->method('checkIfDepersonalize')->willReturn(true);
7376
$this->persistentSessionMock->expects($this->once())->method('setCustomerId')->with(null);
7477

75-
$this->plugin->afterGenerateElements($subjectMock);
78+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
7679
}
7780

7881
/**
@@ -82,12 +85,9 @@ public function testAfterGenerateElements(): void
8285
*/
8386
public function testAfterGenerateElementsNoDepersonalize(): void
8487
{
85-
/** @var LayoutInterface|PHPUnit_Framework_MockObject_MockObject $subjectMock */
86-
$subjectMock = $this->getMockForAbstractClass(LayoutInterface::class);
87-
8888
$this->depersonalizeCheckerMock->expects($this->once())->method('checkIfDepersonalize')->willReturn(false);
8989
$this->persistentSessionMock->expects($this->never())->method('setCustomerId');
9090

91-
$this->plugin->afterGenerateElements($subjectMock);
91+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
9292
}
9393
}

app/code/Magento/Tax/Test/Unit/Model/Layout/DepersonalizePluginTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
namespace Magento\Tax\Test\Unit\Model\Layout;
99

1010
use Magento\Customer\Model\Session as CustomerSession;
11-
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
11+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
1212
use Magento\Framework\View\LayoutInterface;
1313
use Magento\PageCache\Model\DepersonalizeChecker;
1414
use Magento\Tax\Model\Layout\DepersonalizePlugin;
@@ -56,9 +56,9 @@ protected function setUp()
5656
]
5757
);
5858
$this->depersonalizeCheckerMock = $this->createMock(DepersonalizeChecker::class);
59-
$this->layoutMock = $this->createMock(LayoutInterface::class);
59+
$this->layoutMock = $this->getMockForAbstractClass(LayoutInterface::class);
6060

61-
$this->plugin = (new ObjectManager($this))->getObject(
61+
$this->plugin = (new ObjectManagerHelper($this))->getObject(
6262
DepersonalizePlugin::class,
6363
[
6464
'customerSession' => $this->customerSessionMock,
@@ -106,7 +106,7 @@ public function testAfterGenerateElements(): void
106106
$this->customerSessionMock->expects($this->once())->method('setDefaultTaxBillingAddress');
107107
$this->customerSessionMock->expects($this->once())->method('setDefaultTaxShippingAddress');
108108
$this->customerSessionMock->expects($this->once())->method('setCustomerTaxClassId');
109-
$this->plugin->afterGenerateElements($this->layoutMock);
109+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
110110
}
111111

112112
/**
@@ -119,7 +119,7 @@ public function testAfterGenerateElementsNoDepersonalize(): void
119119
$this->customerSessionMock->expects($this->never())->method('setDefaultTaxBillingAddress');
120120
$this->customerSessionMock->expects($this->never())->method('setDefaultTaxShippingAddress');
121121
$this->customerSessionMock->expects($this->never())->method('setCustomerTaxClassId');
122-
$this->plugin->afterGenerateElements($this->layoutMock);
122+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
123123
}
124124

125125
/**
@@ -159,6 +159,6 @@ public function testBeforeAndAfter(): void
159159
->method('setCustomerTaxClassId')
160160
->with($customerTaxClassId);
161161

162-
$this->plugin->afterGenerateElements($this->layoutMock);
162+
$this->assertEmpty($this->plugin->afterGenerateElements($this->layoutMock));
163163
}
164164
}

dev/tests/integration/testsuite/Magento/Catalog/Model/Layout/DepersonalizePluginTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public function afterGenerateElementsDataProvider(): array
8787
],
8888
'nonCacheableBlockWithoutReference' => [
8989
'layout' => INTEGRATION_TESTS_DIR
90-
. '/testsuite/Magento/Framework/View/_files/layout/non_cacheable_block_with_undeclared_reference.xml',
90+
. '/testsuite/Magento/Framework/View/_files/layout/non_cacheable_block_with_missing_refference.xml',
9191
'expectedResult' => [],
9292
],
9393
'nonCacheableBlockWithExistedReference' => [

dev/tests/integration/testsuite/Magento/PageCache/Model/Layout/DepersonalizePluginTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public function afterGenerateElementsDataProvider(): array
9292
],
9393
'nonCacheableBlockWithoutReference' => [
9494
'layout' => INTEGRATION_TESTS_DIR
95-
. '/testsuite/Magento/Framework/View/_files/layout/non_cacheable_block_with_undeclared_reference.xml',
95+
. '/testsuite/Magento/Framework/View/_files/layout/non_cacheable_block_with_missing_refference.xml',
9696
'expectedResult' => [],
9797
],
9898
'nonCacheableBlockWithExistedReference' => [

0 commit comments

Comments
 (0)