77
88namespace tests \drivers \amqp_interop ;
99
10+ use tests \app \PriorityJob ;
11+ use tests \app \RetryJob ;
1012use tests \drivers \CliTestCase ;
1113use Yii ;
1214use 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