@@ -41,7 +41,7 @@ public function testWaitsForTwoSecondsAndReturnNullOnReceive()
41
41
$ startAt = microtime (true );
42
42
43
43
$ consumer = $ this ->amqpContext ->createConsumer ($ queue );
44
- $ message = $ consumer ->receive (2 );
44
+ $ message = $ consumer ->receive (2000 );
45
45
46
46
$ endAt = microtime (true );
47
47
@@ -83,7 +83,7 @@ public function testProduceAndReceiveOneMessageSentDirectlyToQueue()
83
83
$ producer ->send ($ queue , $ message );
84
84
85
85
$ consumer = $ this ->amqpContext ->createConsumer ($ queue );
86
- $ message = $ consumer ->receive (1 );
86
+ $ message = $ consumer ->receive (1000 );
87
87
88
88
$ this ->assertInstanceOf (AmqpMessage::class, $ message );
89
89
$ consumer ->acknowledge ($ message );
@@ -115,7 +115,7 @@ public function testProduceAndReceiveOneMessageSentDirectlyToTemporaryQueue()
115
115
$ producer ->send ($ queue , $ message );
116
116
117
117
$ consumer = $ this ->amqpContext ->createConsumer ($ queue );
118
- $ message = $ consumer ->receive (1 );
118
+ $ message = $ consumer ->receive (1000 );
119
119
120
120
$ this ->assertInstanceOf (AmqpMessage::class, $ message );
121
121
$ consumer ->acknowledge ($ message );
@@ -140,7 +140,7 @@ public function testProduceAndReceiveOneMessageSentDirectlyToTopic()
140
140
$ producer ->send ($ topic , $ message );
141
141
142
142
$ consumer = $ this ->amqpContext ->createConsumer ($ queue );
143
- $ message = $ consumer ->receive (1 );
143
+ $ message = $ consumer ->receive (1000 );
144
144
145
145
$ this ->assertInstanceOf (AmqpMessage::class, $ message );
146
146
$ consumer ->acknowledge ($ message );
@@ -157,13 +157,37 @@ public function testConsumerReceiveMessageFromTopicDirectly()
157
157
158
158
$ consumer = $ this ->amqpContext ->createConsumer ($ topic );
159
159
//guard
160
- $ this ->assertNull ($ consumer ->receive (1 ));
160
+ $ this ->assertNull ($ consumer ->receive (1000 ));
161
161
162
162
$ message = $ this ->amqpContext ->createMessage (__METHOD__ );
163
163
164
164
$ producer = $ this ->amqpContext ->createProducer ();
165
165
$ producer ->send ($ topic , $ message );
166
- $ actualMessage = $ consumer ->receive (1 );
166
+ $ actualMessage = $ consumer ->receive (1000 );
167
+
168
+ $ this ->assertInstanceOf (AmqpMessage::class, $ actualMessage );
169
+ $ consumer ->acknowledge ($ message );
170
+
171
+ $ this ->assertEquals (__METHOD__ , $ message ->getBody ());
172
+ }
173
+
174
+ public function testConsumerReceiveMessageWithZeroTimeout ()
175
+ {
176
+ $ topic = $ this ->amqpContext ->createTopic ('amqp_ext.test_exchange ' );
177
+ $ topic ->setType (AMQP_EX_TYPE_FANOUT );
178
+
179
+ $ this ->amqpContext ->declareTopic ($ topic );
180
+
181
+ $ consumer = $ this ->amqpContext ->createConsumer ($ topic );
182
+ //guard
183
+ $ this ->assertNull ($ consumer ->receive (1000 ));
184
+
185
+ $ message = $ this ->amqpContext ->createMessage (__METHOD__ );
186
+
187
+ $ producer = $ this ->amqpContext ->createProducer ();
188
+ $ producer ->send ($ topic , $ message );
189
+ usleep (100 );
190
+ $ actualMessage = $ consumer ->receive (0 );
167
191
168
192
$ this ->assertInstanceOf (AmqpMessage::class, $ actualMessage );
169
193
$ consumer ->acknowledge ($ message );
0 commit comments