Skip to content

Commit 79151d6

Browse files
committed
magento/adobe-stock-integration#1724: Support batches processing for synchronization queue messages - updated publisher integration test file
1 parent 000120d commit 79151d6

File tree

1 file changed

+19
-25
lines changed

1 file changed

+19
-25
lines changed

app/code/Magento/MediaContentSynchronization/Test/Integration/Model/PublisherTest.php

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,13 @@
99

1010
use Magento\Framework\Exception\IntegrationException;
1111
use Magento\Framework\Exception\LocalizedException;
12-
use Magento\Framework\MessageQueue\ConsumerInterface;
12+
use Magento\Framework\MessageQueue\ConsumerFactory;
1313
use Magento\MediaContentApi\Api\Data\ContentIdentityInterfaceFactory;
1414
use Magento\MediaContentApi\Api\GetAssetIdsByContentIdentityInterface;
1515
use Magento\MediaContentApi\Api\GetContentByAssetIdsInterface;
1616
use Magento\MediaContentSynchronization\Model\Publish;
1717
use Magento\TestFramework\Helper\Bootstrap;
1818
use PHPUnit\Framework\TestCase;
19-
use Magento\Framework\MessageQueue\ConsumerFactory;
2019

2120
/**
2221
* Test for media content Publisher
@@ -26,43 +25,37 @@ class PublisherTest extends TestCase
2625
private const TOPIC_MEDIA_CONTENT_SYNCHRONIZATION = 'media.content.synchronization';
2726

2827
/**
29-
* @var ContentIdentityInterfaceFactory
28+
* @var ConsumerFactory
3029
*/
31-
private $contentIdentityFactory;
30+
private $consumerFactory;
3231

3332
/**
34-
* @var GetAssetIdsByContentIdentityInterface
33+
* @var ContentIdentityInterfaceFactory
3534
*/
36-
private $getAssetIds;
35+
private $contentIdentityFactory;
3736

3837
/**
3938
* @var GetContentByAssetIdsInterface
4039
*/
4140
private $getContentIdentities;
4241

4342
/**
44-
* @var Publish
45-
*/
46-
private $publish;
47-
48-
/**
49-
* @var ConsumerInterface
43+
* @var GetAssetIdsByContentIdentityInterface
5044
*/
51-
private $consumer;
45+
private $getAssetIds;
5246

5347
/**
54-
* @var ConsumerFactory
48+
* @var Publish
5549
*/
56-
private $consumerFactory;
50+
private $publish;
5751

5852
protected function setUp(): void
5953
{
54+
$this->consumerFactory = Bootstrap::getObjectManager()->get(ConsumerFactory::class);
6055
$this->contentIdentityFactory = Bootstrap::getObjectManager()->get(ContentIdentityInterfaceFactory::class);
61-
$this->publish = Bootstrap::getObjectManager()->get(Publish::class);
62-
$this->getAssetIds = Bootstrap::getObjectManager()->get(GetAssetIdsByContentIdentityInterface::class);
6356
$this->getContentIdentities = Bootstrap::getObjectManager()->get(GetContentByAssetIdsInterface::class);
64-
$this->consumerFactory = Bootstrap::getObjectManager()->get(ConsumerFactory::class);
65-
$this->consumer = Bootstrap::getObjectManager()->get(ConsumerInterface::class);
57+
$this->getAssetIds = Bootstrap::getObjectManager()->get(GetAssetIdsByContentIdentityInterface::class);
58+
$this->publish = Bootstrap::getObjectManager()->get(Publish::class);
6659
}
6760

6861
/**
@@ -82,25 +75,26 @@ public function testExecute(array $contentIdentities): void
8275
$this->publish->execute($contentIdentities);
8376

8477
// run and process message
85-
$consumerName = self::TOPIC_MEDIA_CONTENT_SYNCHRONIZATION;
86-
$this->consumerFactory->get(self::TOPIC_MEDIA_CONTENT_SYNCHRONIZATION);
87-
$this->consumer->process();
78+
$batchSize = 1;
79+
$maxNumberOfMessages = 1;
80+
$consumer = $this->consumerFactory->get(self::TOPIC_MEDIA_CONTENT_SYNCHRONIZATION, $batchSize);
81+
$consumer->process($maxNumberOfMessages);
8882

8983
// verify synchronized media content
9084
foreach ($contentIdentities as $contentIdentity) {
9185
$assetId = 2020;
9286
$contentIdentityObject = $this->contentIdentityFactory->create($contentIdentity);
93-
var_dump($this->getAssetIds->execute($contentIdentityObject));
9487
$this->assertEquals([$assetId], $this->getAssetIds->execute($contentIdentityObject));
9588
$synchronizedContentIdentities = $this->getContentIdentities->execute([$assetId]);
96-
var_dump(count($synchronizedContentIdentities));
9789
$this->assertEquals(4, count($synchronizedContentIdentities));
9890

9991
$syncedIds = [];
10092
foreach ($synchronizedContentIdentities as $syncedContentIdentity) {
10193
$syncedIds[] = $syncedContentIdentity->getEntityId();
10294
}
103-
$this->assertContains($contentIdentity->getEntityId(), $syncedIds);
95+
foreach ($contentIdentityObject as $identityObject) {
96+
$this->assertContains($identityObject->getEntityId(), $syncedIds);
97+
}
10498
}
10599
}
106100

0 commit comments

Comments
 (0)