8000 #158: Additional test cases for AMQP Interop driver · yiisoft/yii2-queue@5d209a6 · GitHub
[go: up one dir, main page]

Skip to 8000 content

Commit 5d209a6

Browse files
committed
#158: Additional test cases for AMQP Interop driver
1 parent 3a6430e commit 5d209a6

File tree

2 files changed

+37
-6
lines changed

2 files changed

+37
-6
lines changed

tests/app/config/main.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@
7777
],
7878
'amqpInteropQueue' => [
7979
'class' => \yii\queue\amqp_interop\Queue::class,
80+
'queueName' => 'queue-interop',
81+
'exchangeName' => 'exchange-interop',
8082
],
8183
'beanstalkQueue' => [
8284
'class' => \yii\queue\beanstalk\Queue::class,

tests/drivers/amqp_interop/QueueTest.php

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
namespace tests\drivers\amqp_interop;
99

10+
use tests\app\PriorityJob;
11+
use tests\app\RetryJob;
1012
use tests\drivers\CliTestCase;
1113
use Yii;
1214
use yii\queue\amqp_interop\Queue;
@@ -27,6 +29,39 @@ public function testListen()
2729
$this->assertSimpleJobDone($job);
2830
}
2931

32+
public function testLater()
33+
{
34+
$this->startProcess('php yii queue/listen');
35+
$job = $this->createSimpleJob();
36+
$this->getQueue()->delay(2)->push($job);
37+
38+
$this->assertSimpleJobLaterDone($job, 2);
39+
}
40+
41+
public function testRetry()
42+
{
43+
$this->startProcess('php yii queue/listen');
44+
$job = new RetryJob(['uid' => uniqid()]);
45+
$this->getQueue()->push($job);
46+
sleep(6);
47+
48+
$this->assertFileExists($job->getFileName());
49+
$this->assertEquals('aa', file_get_contents($job->getFileName()));
50+
}
51+
52+
public function testPriority()
53+
{
54+
$this->getQueue()->priority(1)->push(new PriorityJob(['number' => 1]));
55+
$this->getQueue()->priority(3)->push(new PriorityJob(['number' => 5]));
56+
$this->getQueue()->priority(2)->push(new PriorityJob(['number' => 3]));
57+
$this->getQueue()->priority(2)->push(new PriorityJob(['number' => 4]));
58+
$this->getQueue()->priority(1)->push(new PriorityJob(['number' => 2]));
59+
$this->startProcess('php yii queue/listen');
60+
sleep(3);
61+
62+
$this->assertEquals('12345', file_get_contents(PriorityJob::getFileName()));
63+
}
64+
3065
/**
3166
* @return Queue
3267
*/
@@ -41,12 +76,6 @@ protected function setUp()
4176
$this->markTestSkipped('Amqp tests are disabled for php 5.5');
4277
}
4378

44-
$queue = $this->getQueue();
45-
$context = $queue->getContext();
46-
47-
$context->deleteQueue($context->createQueue($queue->queueName));
48-
$context->deleteTopic($context->createTopic($queue->exchangeName));
49-
5079
parent::setUp();
5180
}
5281
}

0 commit comments

Comments
 (0)
0