Skip to content

Commit 5772cca

Browse files
committed
AC-14567: MView mechanism silently ignores errors on trigger execution
Load all inline classes on top
1 parent 614d525 commit 5772cca

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

dev/tests/integration/testsuite/Magento/Framework/Mview/View/SubscriptionTest.php

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
use Magento\Framework\App\ResourceConnection;
1111
use Magento\Framework\DB\Ddl\Trigger;
1212
use Magento\Framework\DB\Ddl\TriggerFactory;
13+
use Magento\Framework\Indexer\Action\Dummy;
1314
use Magento\Framework\Mview\Config;
14-
use Magento\Framework\Mview\View\CollectionInterface;
15-
use Magento\Framework\Mview\View\Subscription;
16-
use Magento\Framework\Mview\View\SubscriptionStatementPostprocessorInterface;
15+
use Magento\Framework\Mview\Config\Data;
16+
use Magento\Framework\Mview\View\AdditionalColumnsProcessor\DefaultProcessor;
1717
use Magento\Framework\Mview\ViewInterface;
1818
use Magento\TestFramework\Helper\Bootstrap;
1919
use PHPUnit\Framework\TestCase;
@@ -81,37 +81,37 @@ protected function setUp(): void
8181
'name' => 'catalog_product_entity',
8282
'column' => 'entity_id',
8383
'subscription_model' => null,
84-
'processor' => \Magento\Framework\Mview\View\AdditionalColumnsProcessor\DefaultProcessor::class
84+
'processor' => DefaultProcessor::class
8585
]
8686
]);
8787

8888
// Create changelog for the view
89-
$changelog = $objectManager->create(\Magento\Framework\Mview\View\Changelog::class);
89+
$changelog = $objectManager->create(Changelog::class);
9090
$changelog->setViewId('test_view');
9191
$changelog->create();
9292

9393
// Set up view state
94-
$state = $objectManager->create(\Magento\Framework\Mview\View\StateInterface::class);
94+
$state = $objectManager->create(StateInterface::class);
9595
$state->setViewId('test_view')
96-
->setMode(\Magento\Framework\Mview\View\StateInterface::MODE_ENABLED)
97-
->setStatus(\Magento\Framework\Mview\View\StateInterface::STATUS_IDLE)
96+
->setMode(StateInterface::MODE_ENABLED)
97+
->setStatus(StateInterface::STATUS_IDLE)
9898
->save();
9999

100100
$this->view->setState($state);
101101

102102
// Configure the view in Mview configuration
103-
$configData = $objectManager->get(\Magento\Framework\Mview\Config\Data::class);
103+
$configData = $objectManager->get(Data::class);
104104
$configData->merge([
105105
'test_view' => [
106106
'view_id' => 'test_view',
107-
'action_class' => \Magento\Framework\Indexer\Action\Dummy::class,
107+
'action_class' => Dummy::class,
108108
'group' => 'indexer',
109109
'subscriptions' => [
110110
'catalog_product_entity' => [
111111
'name' => 'catalog_product_entity',
112112
'column' => 'entity_id',
113113
'subscription_model' => null,
114-
'processor' => \Magento\Framework\Mview\View\AdditionalColumnsProcessor\DefaultProcessor::class
114+
'processor' => DefaultProcessor::class
115115
]
116116
]
117117
]
@@ -160,7 +160,7 @@ public function testCreateTriggers(): void
160160
// Verify triggers were created
161161
$connection = $this->resource->getConnection();
162162
$triggers = $this->subscription->getTriggers();
163-
163+
164164
foreach ($triggers as $trigger) {
165165
$triggerName = $trigger->getName();
166166
$result = $connection->fetchOne(
@@ -181,7 +181,7 @@ public function testRemoveTriggers(): void
181181
{
182182
// First create triggers
183183
$this->subscription->create();
184-
184+
185185
// Get trigger names before removal
186186
$triggers = $this->subscription->getTriggers();
187187
$triggerNames = array_map(function ($trigger) {
@@ -208,7 +208,7 @@ public function testTriggerStatementsWithIgnoredColumns(): void
208208
{
209209
$this->subscription->create();
210210
$triggers = $this->subscription->getTriggers();
211-
211+
212212
// Find the UPDATE trigger
213213
$updateTrigger = null;
214214
foreach ($triggers as $trigger) {
@@ -219,11 +219,11 @@ public function testTriggerStatementsWithIgnoredColumns(): void
219219
}
220220

221221
$this->assertNotNull($updateTrigger, 'UPDATE trigger not found');
222-
222+
223223
// Verify the trigger statements contain the ignored column check
224224
$statements = $updateTrigger->getStatements();
225225
$this->assertNotEmpty($statements, 'Trigger has no statements');
226-
226+
227227
// Check that updated_at is NOT in the list of columns being checked
228228
$hasIgnoredColumnCheck = true;
229229
foreach ($statements as $statement) {
@@ -232,7 +232,7 @@ public function testTriggerStatementsWithIgnoredColumns(): void
232232
break;
233233
}
234234
}
235-
235+
236236
$this->assertTrue(
237237
$hasIgnoredColumnCheck,
238238
'Trigger contains check for ignored column'

0 commit comments

Comments
 (0)