@@ -25,16 +25,27 @@ public static function setUpBeforeClass()
2525
2626 public static function tearDownAfterClass ()
2727 {
28- self ::$ client ->close ();
28+ self ::$ client ->disconnect ();
2929 self ::$ client = null ;
3030 }
3131
3232 protected function setUp ()
3333 {
34+ $ name = preg_replace ('/^test([^\s]+).*$/ ' , '\1 ' , $ this ->getName ());
35+ $ name = strtolower ($ name );
36+
3437 $ tubeType = $ this ->getTubeType ();
35- $ tubeName = uniqid (sprintf ('t_%s_ ' , $ tubeType ));
38+ $ tubeName = sprintf ('t_%s_%s ' , $ tubeType , $ name );
39+
40+ self ::$ client ->evaluate ('create_tube(...) ' , [$ tubeName , $ tubeType ]);
41+
42+ $ ann = $ this ->getAnnotations ();
43+ if (!empty ($ ann ['method ' ]['eval ' ])) {
44+ foreach ($ ann ['method ' ]['eval ' ] as $ eval ) {
45+ self ::$ client ->evaluate (str_replace ('%tube_name% ' , $ tubeName , $ eval ));
46+ }
47+ }
3648
37- self ::$ client ->call ('queue._create_tube ' , [$ tubeName , $ tubeType ]);
3849 $ this ->queue = new Queue (self ::$ client , $ tubeName );
3950 }
4051
@@ -50,10 +61,7 @@ public function testPut($data)
5061 {
5162 $ task = $ this ->queue ->put ($ data );
5263
53- $ this ->assertTaskInstance ($ task );
54- $ this ->assertNotNull ($ task ->getId ());
55- $ this ->assertSame (States::READY , $ task ->getType ());
56- $ this ->assertSame ($ data , $ task ->getData ());
64+ $ this ->assertTask ($ task , 0 , States::READY , $ data );
5765 }
5866
5967 public function provideTaskData ()
@@ -69,20 +77,24 @@ public function provideTaskData()
6977 ];
7078 }
7179
80+ /**
81+ * @eval queue.tube['%tube_name%']:put('peek_0')
82+ */
7283 public function testPeek ()
7384 {
74- $ task = $ this ->queue ->put ('foo ' );
75- $ peekedTask = $ this ->queue ->peek ($ task ->getId ());
85+ $ task = $ this ->queue ->peek (0 );
7686
77- $ this ->assertEquals ($ task , $ peekedTask );
87+ $ this ->assertTask ($ task , 0 , States:: READY , ' peek_0 ' );
7888 }
7989
90+ /**
91+ * @eval queue.tube['%tube_name%']:put('take')
92+ */
8093 public function testTake ()
8194 {
82- $ task = $ this ->queue ->put ('foo ' );
83- $ takenTask = $ this ->queue ->take ();
95+ $ task = $ this ->queue ->take ();
8496
85- $ this ->assertSimilar ($ task , $ takenTask , States::TAKEN );
97+ $ this ->assertTask ($ task , 0 , States::TAKEN , ' take ' );
8698 }
8799
88100 public function testTakeNone ()
@@ -94,46 +106,72 @@ public function testTakeNone()
94106 $ this ->assertNull ($ task );
95107 }
96108
109+ /**
110+ * @eval queue.tube['%tube_name%']:put('release_0')
111+ * @eval queue.tube['%tube_name%']:take()
112+ */
97113 public function testRelease ()
98114 {
99- $ task = $ this ->queue ->put ('foo ' );
100- $ takenTask = $ this ->queue ->take ();
101- $ releasedTask = $ this ->queue ->release ($ takenTask ->getId ());
115+ $ task = $ this ->queue ->release (0 );
102116
103- $ this ->assertEquals ($ task , $ releasedTask );
117+ $ this ->assertTask ($ task , 0 , States:: READY , ' release_0 ' );
104118 }
105119
120+ /**
121+ * @eval queue.tube['%tube_name%']:put('ack_0')
122+ * @eval queue.tube['%tube_name%']:take()
123+ */
106124 public function testAck ()
107125 {
108- $ task = $ this ->queue ->put ('foo ' );
109- $ takenTask = $ this ->queue ->take ();
110- $ doneTask = $ this ->queue ->ack ($ takenTask ->getId ());
126+ $ task = $ this ->queue ->ack (0 );
111127
112- $ this ->assertSimilar ($ task , $ doneTask , States::DONE );
128+ $ this ->assertTask ($ task , 0 , States::DONE , ' ack_0 ' );
113129 }
114130
131+ /**
132+ * @eval queue.tube['%tube_name%']:put('delete_0')
133+ */
115134 public function testDelete ()
116135 {
117- $ task = $ this ->queue ->put ('foo ' );
118- $ deletedTask = $ this ->queue ->delete ($ task ->getId ());
136+ $ task = $ this ->queue ->delete (0 );
119137
120- $ this ->assertSimilar ($ task , $ deletedTask , States::DONE );
138+ $ this ->assertTask ($ task , 0 , States::DONE , ' delete_0 ' );
121139 }
122140
123- public function testBuryKick ()
141+ /**
142+ * @eval queue.tube['%tube_name%']:put('bury_0')
143+ */
144+ public function testBury ()
124145 {
125- $ task = $ this ->queue ->put ('foo ' );
126- $ buriedTask = $ this ->queue ->bury ($ task ->getId ());
146+ $ task = $ this ->queue ->bury (0 );
127147
128- $ this ->assertSimilar ($ task , $ buriedTask , States::BURIED );
148+ $ this ->assertTask ($ task , 0 , States::BURIED , 'bury_0 ' );
149+ }
129150
151+ /**
152+ * @eval queue.tube['%tube_name%']:put('kick_1')
153+ * @eval queue.tube['%tube_name%']:bury(0)
154+ */
155+ public function testKickOne ()
156+ {
130157 $ count = $ this ->queue ->kick (1 );
131158
132159 $ this ->assertSame (1 , $ count );
160+ }
133161
134- $ peekedTask = $ this ->queue ->peek ($ task ->getId ());
162+ /**
163+ * @eval queue.tube['%tube_name%']:put('kick_1')
164+ * @eval queue.tube['%tube_name%']:put('kick_2')
165+ * @eval queue.tube['%tube_name%']:put('kick_3')
166+ * @eval queue.tube['%tube_name%']:bury(0)
167+ * @eval queue.tube['%tube_name%']:bury(1)
168+ * @eval queue.tube['%tube_name%']:bury(2)
169+ */
170+ public function testKickMany ()
171+ {
172+ $ count = $ this ->queue ->kick (3 );
135173
136- $ this ->assertEquals ( $ task , $ peekedTask );
174+ $ this ->assertSame ( 3 , $ count );
137175 }
138176
139177 /**
@@ -162,15 +200,13 @@ protected function assertTaskInstance($task)
162200 $ this ->assertInstanceOf ('Tarantool\Queue\Task ' , $ task );
163201 }
164202
165- protected function assertSimilar ( Task $ expectedTask , $ actualTask , $ expectedType = null )
203+ protected function assertTask ( $ task , $ expectedId , $ expectedType, $ expectedData )
166204 {
167- $ this ->assertTaskInstance ($ actualTask );
168- $ this ->assertSame ($ expectedTask ->getId (), $ actualTask ->getId ());
169- $ this ->assertEquals ($ expectedTask ->getData (), $ actualTask ->getData ());
205+ $ this ->assertTaskInstance ($ task );
170206
171- if ( null !== $ expectedType ) {
172- $ this ->assertSame ($ expectedType , $ actualTask ->getType ());
173- }
207+ $ this -> assertSame ( $ expectedId , $ task -> getId ());
208+ $ this ->assertSame ($ expectedType , $ task ->getType ());
209+ $ this -> assertSame ( $ expectedData , $ task -> getData ());
174210 }
175211
176212 protected function getTubeType ()
0 commit comments