7
7
8
8
namespace tests \drivers \amqp_interop ;
9
9
10
+ use tests \app \PriorityJob ;
11
+ use tests \app \RetryJob ;
10
12
use tests \drivers \CliTestCase ;
11
13
use Yii ;
12
14
use yii \queue \amqp_interop \Queue ;
@@ -27,6 +29,39 @@ public function testListen()
27
29
$ this ->assertSimpleJobDone ($ job );
28
30
}
29
31
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
+
30
65
/**
31
66
* @return Queue
32
67
*/
@@ -41,12 +76,6 @@ protected function setUp()
41
76
$ this ->markTestSkipped ('Amqp tests are disabled for php 5.5 ' );
42
77
}
43
78
44
- $ queue = $ this ->getQueue ();
45
- $ context = $ queue ->getContext ();
46
-
47
- $ context ->deleteQueue ($ context ->createQueue ($ queue ->queueName ));
48
- $ context ->deleteTopic ($ context ->createTopic ($ queue ->exchangeName ));
49
-
50
79
parent ::setUp ();
51
80
}
52
81
}
0 commit comments