20 private $objectManager;
27 public function testGetConsumerMultipleHandlersFromCommunicationConfig()
31 $consumer =
$config->getConsumer(
'deprecatedConfigAsyncBoolConsumer');
33 $this->assertEquals(
'deprecatedConfigAsyncBoolConsumer', $consumer->getName());
34 $this->assertEquals(
'deprecated.config.queue.2', $consumer->getQueue());
35 $this->assertEquals(
'db', $consumer->getConnection());
36 $this->assertEquals(\
Magento\Framework\MessageQueue\ConsumerInterface::class, $consumer->getConsumerInstance());
37 $this->assertEquals(
null, $consumer->getMaxMessages());
39 $handlers = $consumer->getHandlers();
40 $this->assertInstanceOf(HandlerIterator::class, $handlers);
41 $this->assertCount(2, $handlers);
42 $this->assertEquals(
'methodWithBoolParam', $handlers[0]->getMethod());
43 $this->assertEquals(\
Magento\TestModuleMessageQueueConfiguration\AsyncHandler::class, $handlers[0]->getType());
44 $this->assertEquals(
'methodWithMixedParam', $handlers[1]->getMethod());
45 $this->assertEquals(\
Magento\TestModuleMessageQueueConfiguration\AsyncHandler::class, $handlers[1]->getType());
48 public function testGetConsumerCustomHandler()
52 $consumer =
$config->getConsumer(
'deprecatedConfigAsyncMixedConsumer');
54 $this->assertEquals(
'deprecatedConfigAsyncMixedConsumer', $consumer->getName());
55 $this->assertEquals(
'deprecated.config.queue.3', $consumer->getQueue());
56 $this->assertEquals(
'amqp', $consumer->getConnection());
57 $this->assertEquals(\
Magento\Framework\MessageQueue\ConsumerInterface::class, $consumer->getConsumerInstance());
58 $this->assertEquals(
null, $consumer->getMaxMessages());
60 $handlers = $consumer->getHandlers();
61 $this->assertInstanceOf(HandlerIterator::class, $handlers);
62 $this->assertCount(1, $handlers);
63 $this->assertEquals(
'methodWithMixedParam', $handlers[0]->getMethod());
64 $this->assertEquals(\
Magento\TestModuleMessageQueueConfiguration\AsyncHandler::class, $handlers[0]->getType());
67 public function testGetConsumerCustomConnectionSync()
70 $config = $this->objectManager->create(\
Magento\Framework\MessageQueue\Consumer\ConfigInterface::class);
71 $consumer =
$config->getConsumer(
'deprecatedConfigSyncBoolConsumer');
73 $this->assertEquals(
'deprecatedConfigSyncBoolConsumer', $consumer->getName());
74 $this->assertEquals(
'deprecated.config.queue.4', $consumer->getQueue());
75 $this->assertEquals(
'amqp', $consumer->getConnection());
76 $this->assertEquals(\
Magento\Framework\MessageQueue\ConsumerInterface::class, $consumer->getConsumerInstance());
77 $this->assertEquals(
null, $consumer->getMaxMessages());
79 $handlers = $consumer->getHandlers();
80 $this->assertInstanceOf(HandlerIterator::class, $handlers);
81 $this->assertCount(1, $handlers);
82 $this->assertEquals(
'methodWithBoolParam', $handlers[0]->getMethod());
83 $this->assertEquals(\
Magento\TestModuleMessageQueueConfiguration\SyncHandler::class, $handlers[0]->getType());
86 public function testGetConsumerCustomConsumerAndMaxMessages()
89 $config = $this->objectManager->create(\
Magento\Framework\MessageQueue\Consumer\ConfigInterface::class);
90 $consumer =
$config->getConsumer(
'deprecatedConfigAsyncStringConsumer');
92 $this->assertEquals(
'deprecatedConfigAsyncStringConsumer', $consumer->getName());
93 $this->assertEquals(
'deprecated.config.queue.1', $consumer->getQueue());
94 $this->assertEquals(
'amqp', $consumer->getConnection());
95 $this->assertEquals(\
Magento\Framework\MessageQueue\BatchConsumer::class, $consumer->getConsumerInstance());
96 $this->assertEquals(200, $consumer->getMaxMessages());
98 $handlers = $consumer->getHandlers();
99 $this->assertInstanceOf(HandlerIterator::class, $handlers);
100 $this->assertCount(0, $handlers);
103 public function testGetOverlapWithQueueConfig()
106 $config = $this->objectManager->create(\
Magento\Framework\MessageQueue\Consumer\ConfigInterface::class);
107 $consumer =
$config->getConsumer(
'overlappingConsumerDeclaration');
109 $this->assertEquals(
'overlappingConsumerDeclaration', $consumer->getName());
110 $this->assertEquals(
'consumer.config.queue', $consumer->getQueue());
111 $this->assertEquals(
'amqp', $consumer->getConnection());
112 $this->assertEquals(\
Magento\Framework\MessageQueue\ConsumerInterface::class, $consumer->getConsumerInstance());
113 $this->assertEquals(
null, $consumer->getMaxMessages());
115 $handlers = $consumer->getHandlers();
116 $this->assertInstanceOf(HandlerIterator::class, $handlers);
117 $this->assertCount(0, $handlers);
static getObjectManager()