From a0f28c3fbcc990fbcc1663446e92275dec92c587 Mon Sep 17 00:00:00 2001 From: Mark Story Date: Mon, 7 Jun 2021 22:02:39 -0400 Subject: [PATCH 1/3] Add tests for #61 --- tests/TestCase/QueueManagerTest.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tests/TestCase/QueueManagerTest.php b/tests/TestCase/QueueManagerTest.php index 01f67b6..99a5364 100644 --- a/tests/TestCase/QueueManagerTest.php +++ b/tests/TestCase/QueueManagerTest.php @@ -71,6 +71,33 @@ public function testSetConfigOverwrite() ]); } + public function testNonDefaultQueueNameString() + { + QueueManager::setConfig('test', [ + 'url' => 'file:///' . TMP . DS . 'queue', + 'queue' => 'other', + ]); + $engine = QueueManager::engine('test'); + $this->assertInstanceOf(SimpleClient::class, $engine); + $this->assertSame('other', $engine->getDriver()->getConfig()->getRouterQueue()); + } + + public function testNonDefaultQueueNameArray() + { + QueueManager::setConfig('test', [ + 'url' => [ + 'transport' => 'file:', + 'client' => [ + 'router_queue' => 'other', + ], + ], + 'queue' => 'ignored', + ]); + $engine = QueueManager::engine('test'); + $this->assertInstanceOf(SimpleClient::class, $engine); + $this->assertSame('other', $engine->getDriver()->getConfig()->getRouterQueue()); + } + public function testEngine() { QueueManager::setConfig('test', [ From c090cb888d9e6d7d76b310073f0c75d35a40f9bd Mon Sep 17 00:00:00 2001 From: Mark Story Date: Tue, 8 Jun 2021 11:15:05 -0400 Subject: [PATCH 2/3] Fix integration test. --- src/Command/WorkerCommand.php | 4 ++-- tests/TestCase/Command/WorkerCommandTest.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Command/WorkerCommand.php b/src/Command/WorkerCommand.php index 74d6f62..a74d30a 100644 --- a/src/Command/WorkerCommand.php +++ b/src/Command/WorkerCommand.php @@ -24,6 +24,7 @@ use Cake\Log\Log; use Cake\Queue\Consumption\QueueExtension; use Cake\Queue\Queue\Processor; +use Cake\Queue\QueueManager; use Enqueue\SimpleClient\SimpleClient; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; @@ -139,8 +140,7 @@ public function execute(Arguments $args, ConsoleIo $io) $processor->getEventManager()->on($listener); $extension->getEventManager()->on($listener); } - $url = Configure::read("Queue.{$config}.url"); - $client = new SimpleClient($url, $logger); + $client = QueueManager::engine($config); $queue = $args->getOption('queue') ? (string)$args->getOption('queue') : Configure::read("Queue.{$config}.queue", 'default'); diff --git a/tests/TestCase/Command/WorkerCommandTest.php b/tests/TestCase/Command/WorkerCommandTest.php index 47cd324..0cd77d7 100644 --- a/tests/TestCase/Command/WorkerCommandTest.php +++ b/tests/TestCase/Command/WorkerCommandTest.php @@ -223,7 +223,7 @@ public function testQueueProcessesJobWithOtherQueue() { $config = [ 'queue' => 'other', - 'url' => 'file:///' . TMP . DS . 'queue', + 'url' => 'file:///' . TMP . DS . 'other-queue', ]; Configure::write([ 'Queue' => ['other' => $config], From 7fa2e73d90fdb244ef9522fdf9bdef0627b819a2 Mon Sep 17 00:00:00 2001 From: Mark Story Date: Tue, 8 Jun 2021 11:19:25 -0400 Subject: [PATCH 3/3] Remove unused import. --- src/Command/WorkerCommand.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Command/WorkerCommand.php b/src/Command/WorkerCommand.php index a74d30a..b302dc0 100644 --- a/src/Command/WorkerCommand.php +++ b/src/Command/WorkerCommand.php @@ -25,7 +25,6 @@ use Cake\Queue\Consumption\QueueExtension; use Cake\Queue\Queue\Processor; use Cake\Queue\QueueManager; -use Enqueue\SimpleClient\SimpleClient; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger;