14
14
use Magento \Framework \Bulk \OperationInterface ;
15
15
use Magento \Framework \DB \Adapter \DeadlockException ;
16
16
use Magento \Framework \Exception \NoSuchEntityException ;
17
+ use Magento \Framework \MessageQueue \ConsumerFactory ;
17
18
use Magento \Framework \MessageQueue \MessageEncoder ;
18
19
use Magento \Framework \ObjectManagerInterface ;
19
- use Magento \MysqlMq \Model \Driver \Queue ;
20
20
use Magento \Store \Api \WebsiteRepositoryInterface ;
21
21
use Magento \TestFramework \Helper \Bootstrap ;
22
22
use Magento \TestFramework \MysqlMq \DeleteTopicRelatedMessages ;
@@ -43,9 +43,6 @@ class ConsumerWebsiteAssignTest extends TestCase
43
43
/** @var ConsumerWebsiteAssign */
44
44
private $ consumer ;
45
45
46
- /** @var Queue */
47
- private $ queue ;
48
-
49
46
/** @var MessageEncoder */
50
47
private $ messageEncoder ;
51
48
@@ -58,6 +55,9 @@ class ConsumerWebsiteAssignTest extends TestCase
58
55
/** @var CollectionFactory */
59
56
private $ operationCollectionFactory ;
60
57
58
+ /** @var ConsumerFactory */
59
+ private $ consumerFactory ;
60
+
61
61
/**
62
62
* @inheritdoc
63
63
*/
@@ -79,14 +79,11 @@ protected function setUp(): void
79
79
80
80
$ this ->objectManager = Bootstrap::getObjectManager ();
81
81
$ this ->consumer = $ this ->objectManager ->get (ConsumerWebsiteAssign::class);
82
- $ this ->queue = $ this ->objectManager ->create (
83
- Queue::class,
84
- ['queueName ' => 'product_action_attribute.website.update ' ]
85
- );
86
82
$ this ->messageEncoder = $ this ->objectManager ->get (MessageEncoder::class);
87
83
$ this ->productRepository = $ this ->objectManager ->get (ProductRepositoryInterface::class);
88
84
$ this ->websiteRepository = $ this ->objectManager ->get (WebsiteRepositoryInterface::class);
89
85
$ this ->operationCollectionFactory = $ this ->objectManager ->get (CollectionFactory::class);
86
+ $ this ->consumerFactory = $ this ->objectManager ->get (ConsumerFactory::class);
90
87
}
91
88
92
89
/**
@@ -212,9 +209,8 @@ private function assertProductWebsites(string $sku, array $expectedWebsites): vo
212
209
*/
213
210
private function processMessages (): void
214
211
{
215
- $ envelope = $ this ->queue ->dequeue ();
216
- $ decodedMessage = $ this ->messageEncoder ->decode (self ::TOPIC_NAME , $ envelope ->getBody ());
217
- $ this ->consumer ->process ($ decodedMessage );
212
+ $ consumer = $ this ->consumerFactory ->get ('product_action_attribute.website.update ' );
213
+ $ consumer ->process (1 );
218
214
}
219
215
220
216
/**
0 commit comments