QueueInstallerTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Amqp\Test\Unit\Topology;
  7. use Magento\Framework\Amqp\Topology\QueueInstaller;
  8. use Magento\Framework\MessageQueue\Topology\Config\QueueConfigItemInterface;
  9. use PhpAmqpLib\Channel\AMQPChannel;
  10. class QueueInstallerTest extends \PHPUnit\Framework\TestCase
  11. {
  12. public function testInstall()
  13. {
  14. $bindingInstaller = $this->createMock(QueueConfigItemInterface::class);
  15. $model = new QueueInstaller($bindingInstaller);
  16. $channel = $this->createMock(AMQPChannel::class);
  17. $queue = $this->createMock(QueueConfigItemInterface::class);
  18. $queue->expects($this->once())->method('getName')->willReturn('queue01');
  19. $queue->expects($this->once())->method('isDurable')->willReturn(true);
  20. $queue->expects($this->once())->method('isAutoDelete')->willReturn(false);
  21. $queue->expects($this->once())->method('getArguments')->willReturn(['some' => 'value']);
  22. $channel->expects($this->once())
  23. ->method('queue_declare')
  24. ->with('queue01', false, true, false, false, false, ['some' => ['S', 'value']], null);
  25. $model->install($channel, $queue);
  26. }
  27. }