Skip to content

Commit 38b9777

Browse files
authored
Merge pull request #584 from mbeccati/fix-sqs-delay
Fix delay not working on SQS
2 parents 99c1832 + d372a4f commit 38b9777

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

Diff for: pkg/sqs/Client/SqsDriver.php

100644100755
+2
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ public function createTransportMessage(Message $message)
134134
$transportMessage->setTimestamp($message->getTimestamp());
135135
$transportMessage->setReplyTo($message->getReplyTo());
136136
$transportMessage->setCorrelationId($message->getCorrelationId());
137+
$transportMessage->setDelaySeconds($message->getDelay());
137138

138139
return $transportMessage;
139140
}
@@ -157,6 +158,7 @@ public function createClientMessage(PsrMessage $message)
157158
$clientMessage->setPriority(MessagePriority::NORMAL);
158159
$clientMessage->setReplyTo($message->getReplyTo());
159160
$clientMessage->setCorrelationId($message->getCorrelationId());
161+
$clientMessage->setDelay($message->getDelaySeconds() ?: null);
160162

161163
return $clientMessage;
162164
}

Diff for: pkg/sqs/Tests/Client/SqsDriverTest.php

100644100755
+13-3
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,6 @@ public function testShouldConvertTransportMessageToClientMessage()
9191
$transportMessage->setTimestamp(1000);
9292
$transportMessage->setReplyTo('theReplyTo');
9393
$transportMessage->setCorrelationId('theCorrelationId');
94-
$transportMessage->setReplyTo('theReplyTo');
95-
$transportMessage->setCorrelationId('theCorrelationId');
9694

9795
$driver = new SqsDriver(
9896
$this->createPsrContextMock(),
@@ -120,9 +118,15 @@ public function testShouldConvertTransportMessageToClientMessage()
120118
$this->assertSame(1000, $clientMessage->getTimestamp());
121119
$this->assertSame('theReplyTo', $clientMessage->getReplyTo());
122120
$this->assertSame('theCorrelationId', $clientMessage->getCorrelationId());
121+
$this->assertNull($clientMessage->getDelay());
123122

124123
$this->assertNull($clientMessage->getExpire());
125124
$this->assertSame(MessagePriority::NORMAL, $clientMessage->getPriority());
125+
126+
// Test delay
127+
$transportMessage->setDelaySeconds(100);
128+
$clientMessage = $driver->createClientMessage($transportMessage);
129+
$this->assertSame(100, $clientMessage->getDelay());
126130
}
127131

128132
public function testShouldConvertClientMessageToTransportMessage()
@@ -141,7 +145,7 @@ public function testShouldConvertClientMessageToTransportMessage()
141145

142146
$context = $this->createPsrContextMock();
143147
$context
144-
->expects($this->once())
148+
->expects($this->exactly(2))
145149
->method('createMessage')
146150
->willReturn(new SqsMessage())
147151
;
@@ -171,6 +175,12 @@ public function testShouldConvertClientMessageToTransportMessage()
171175
$this->assertSame(1000, $transportMessage->getTimestamp());
172176
$this->assertSame('theReplyTo', $transportMessage->getReplyTo());
173177
$this->assertSame('theCorrelationId', $transportMessage->getCorrelationId());
178+
$this->assertSame(0, $transportMessage->getDelaySeconds());
179+
180+
// Test delay
181+
$clientMessage->setDelay(100);
182+
$transportMessage = $driver->createTransportMessage($clientMessage);
183+
$this->assertSame(100, $transportMessage->getDelaySeconds());
174184
}
175185

176186
public function testShouldSendMessageToRouterQueue()

0 commit comments

Comments
 (0)