Skip to content

Commit 3bbebcb

Browse files
committed
upd client.
1 parent eb6acb3 commit 3bbebcb

File tree

4 files changed

+149
-26
lines changed

4 files changed

+149
-26
lines changed

pkg/enqueue/Client/Config.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ class Config
1313
*/
1414
const PARAMETER_PROCESSOR_QUEUE_NAME = 'enqueue.processor_queue_name';
1515

16-
/**
17-
* @deprecated
18-
*/
1916
const DEFAULT_PROCESSOR_QUEUE_NAME = 'default';
2017

2118
/**

pkg/enqueue/Client/Driver/GenericDriver.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,16 @@ public function createQueue(string $clientQueueName): PsrQueue
123123
return $this->doCreateQueue($transportName);
124124
}
125125

126+
public function createRouteQueue(Route $route): PsrQueue
127+
{
128+
$transportName = $this->createTransportQueueName(
129+
$route->getQueue() ?: $this->config->getDefaultProcessorQueueName(),
130+
$route->isPrefixQueue()
131+
);
132+
133+
return $this->doCreateQueue($transportName);
134+
}
135+
126136
public function createTransportMessage(Message $clientMessage): PsrMessage
127137
{
128138
$headers = $clientMessage->getHeaders();
@@ -219,16 +229,6 @@ protected function createRouterTopic(): PsrTopic
219229
);
220230
}
221231

222-
protected function createRouteQueue(Route $route): PsrQueue
223-
{
224-
$transportName = $this->createTransportQueueName(
225-
$route->getQueue() ?: $this->config->getDefaultProcessorQueueName(),
226-
$route->isPrefixQueue()
227-
);
228-
229-
return $this->doCreateQueue($transportName);
230-
}
231-
232232
protected function createTransportRouterTopicName(string $name, bool $prefix): string
233233
{
234234
$clientPrefix = $prefix ? $this->config->getPrefix() : '';

pkg/enqueue/Client/DriverInterface.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ public function sendToProcessor(Message $message): void;
2121

2222
public function createQueue(string $queueName): PsrQueue;
2323

24+
public function createRouteQueue(Route $route): PsrQueue;
25+
2426
/**
2527
* Prepare broker for work.
2628
* Creates all required queues, exchanges, topics, bindings etc.

pkg/enqueue/Tests/Client/Driver/GenericDriverTestsTrait.php

Lines changed: 137 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -929,19 +929,143 @@ public function testShouldOverwriteProcessorPropertySetByOneFromCommandRouteOnSe
929929
$this->assertSame('expectedProcessor', $message->getProperty(Config::PARAMETER_PROCESSOR_NAME));
930930
}
931931

932-
// public function testThrowIfProcessorIsNotSetOnSendToProcessor()
933-
// {
934-
// $driver = $this->createDriver(
935-
// $this->createContextMock(),
936-
// $this->createDummyConfig(),
937-
// new RouteCollection([])
938-
// );
939-
//
940-
// $this->expectException(\LogicException::class);
941-
// $this->expectExceptionMessage('Processor name parameter is required but is not set');
942-
//
943-
// $driver->sendToProcessor(new Message());
944-
// }
932+
public function testShouldNotInitDeliveryDelayOnSendMessageToProcessorIfPropertyNull()
933+
{
934+
$queue = $this->createQueue('');
935+
$transportMessage = $this->createMessage();
936+
937+
$producer = $this->createProducerMock();
938+
$producer
939+
->expects($this->never())
940+
->method('setDeliveryDelay')
941+
;
942+
$producer
943+
->expects($this->once())
944+
->method('send')
945+
;
946+
$context = $this->createContextMock();
947+
$context
948+
->expects($this->once())
949+
->method('createQueue')
950+
->willReturn($queue)
951+
;
952+
$context
953+
->expects($this->once())
954+
->method('createProducer')
955+
->willReturn($producer)
956+
;
957+
$context
958+
->expects($this->once())
959+
->method('createMessage')
960+
->willReturn($transportMessage)
961+
;
962+
963+
$driver = $this->createDriver(
964+
$context,
965+
$this->createDummyConfig(),
966+
new RouteCollection([
967+
new Route('command', Route::COMMAND, 'expectedProcessor', ['queue' => 'custom']),
968+
])
969+
);
970+
971+
$message = new Message();
972+
$message->setProperty(Config::PARAMETER_COMMAND_NAME, 'command');
973+
$message->setDelay(null);
974+
975+
$driver->sendToProcessor($message);
976+
}
977+
978+
public function testShouldNotInitPriorityOnSendMessageToProcessorIfPropertyNull()
979+
{
980+
$queue = $this->createQueue('');
981+
$transportMessage = $this->createMessage();
982+
983+
$producer = $this->createProducerMock();
984+
$producer
985+
->expects($this->never())
986+
->method('setPriority')
987+
;
988+
$producer
989+
->expects($this->once())
990+
->method('send')
991+
;
992+
$context = $this->createContextMock();
993+
$context
994+
->expects($this->once())
995+
->method('createQueue')
996+
->willReturn($queue)
997+
;
998+
$context
999+
->expects($this->once())
1000+
->method('createProducer')
1001+
->willReturn($producer)
1002+
;
1003+
$context
1004+
->expects($this->once())
1005+
->method('createMessage')
1006+
->willReturn($transportMessage)
1007+
;
1008+
1009+
$driver = $this->createDriver(
1010+
$context,
1011+
$this->createDummyConfig(),
1012+
new RouteCollection([
1013+
new Route('command', Route::COMMAND, 'expectedProcessor', ['queue' => 'custom']),
1014+
])
1015+
);
1016+
1017+
$message = new Message();
1018+
$message->setProperty(Config::PARAMETER_COMMAND_NAME, 'command');
1019+
$message->setPriority(null);
1020+
1021+
$driver->sendToProcessor($message);
1022+
}
1023+
1024+
public function testShouldNotInitTimeToLiveOnSendMessageToProcessorIfPropertyNull()
1025+
{
1026+
$queue = $this->createQueue('');
1027+
$transportMessage = $this->createMessage();
1028+
1029+
$producer = $this->createProducerMock();
1030+
$producer
1031+
->expects($this->never())
1032+
->method('setTimeToLive')
1033+
;
1034+
$producer
1035+
->expects($this->once())
1036+
->method('send')
1037+
;
1038+
$context = $this->createContextMock();
1039+
$context
1040+
->expects($this->once())
1041+
->method('createQueue')
1042+
->willReturn($queue)
1043+
;
1044+
$context
1045+
->expects($this->once())
1046+
->method('createProducer')
1047+
->willReturn($producer)
1048+
;
1049+
$context
1050+
->expects($this->once())
1051+
->method('createMessage')
1052+
->willReturn($transportMessage)
1053+
;
1054+
1055+
$driver = $this->createDriver(
1056+
$context,
1057+
$this->createDummyConfig(),
1058+
new RouteCollection([
1059+
new Route('command', Route::COMMAND, 'expectedProcessor', ['queue' => 'custom']),
1060+
])
1061+
);
1062+
1063+
$message = new Message();
1064+
$message->setProperty(Config::PARAMETER_COMMAND_NAME, 'command');
1065+
$message->setExpire(null);
1066+
1067+
$driver->sendToProcessor($message);
1068+
}
9451069

9461070
public function testThrowIfNeitherTopicNorCommandAreSentOnSendToProcessor()
9471071
{

0 commit comments

Comments
 (0)