Skip to content

Commit 99100ac

Browse files
committed
新增延时消息测试用例
1 parent 9594715 commit 99100ac

File tree

1 file changed

+26
-4
lines changed

1 file changed

+26
-4
lines changed

tests/Queue/BaseQueueTest.php

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
use Imi\Queue\Model\Message;
55
use Imi\Queue\Driver\IQueueDriver;
6+
use Swoole\Coroutine\Channel;
67

78
abstract class BaseQueueTest extends BaseTest
89
{
@@ -16,15 +17,36 @@ public function testPush()
1617
$message->setMessage('a');
1718
$messageId = $driver->push($message);
1819
$this->assertNotEmpty($messageId);
19-
20-
$message->setMessage('b');
21-
$messageId = $driver->push($message, 3600);
22-
$this->assertNotEmpty($messageId);
2320
}
2421

2522
public function testPop()
2623
{
2724
$message = $this->getDriver()->pop();
25+
$this->assertInstanceOf(\Imi\Queue\Contract\IMessage::class, $message);
26+
$this->assertNotEmpty($message->getMessageId());
27+
}
28+
29+
public function testPushDelay()
30+
{
31+
$driver = $this->getDriver();
32+
$driver->clear();
33+
$message = new Message;
34+
$message->setMessage('b');
35+
$messageId = $driver->push($message, 3);
36+
$this->assertNotEmpty($messageId);
37+
38+
$time = microtime(true);
39+
for($i = 0; $i < 3; ++$i)
40+
{
41+
sleep(1);
42+
$message = $driver->pop();
43+
if(null !== $message)
44+
{
45+
break;
46+
}
47+
}
48+
$this->assertEquals(3, (int)(microtime(true) - $time));
49+
$this->assertInstanceOf(\Imi\Queue\Contract\IMessage::class, $message);
2850
$this->assertNotEmpty($message->getMessageId());
2951
}
3052

0 commit comments

Comments
 (0)