Example #1
0
 /**
  * Tests Stomp->connect(), send(), and subscribe() - out of order. the messages should be received in FIFO order.
  */
 public function testAsyncSub()
 {
     $this->assertTrue($this->Stomp->connect());
     $this->assertTrue($this->Stomp->send('/queue/test', 'test 1'));
     $this->assertTrue($this->Stomp->send('/queue/test', 'test 2'));
     $this->assertTrue($this->simpleStomp->subscribe('/queue/test', 'mysubid'));
     $frame = $this->Stomp->readFrame();
     $this->assertEquals($frame->body, 'test 1', 'test 1 was not received!');
     $frame = $this->Stomp->readFrame();
     $this->assertEquals($frame->body, 'test 2', 'test 2 was not received!');
 }
Example #2
0
 public function testAbortTransaction()
 {
     $this->assertTrue($this->Stomp->connect());
     $this->assertTrue($this->simpleStomp->begin('my-id'));
     $this->assertTrue($this->Stomp->send('/queue/test', 'test t-id', ['transaction' => 'my-id']));
     $this->assertTrue($this->simpleStomp->abort('my-id'));
     $this->assertTrue($this->simpleStomp->subscribe('/queue/test', 'mysubid'));
     $this->Stomp->getConnection()->setReadTimeout(0, 500000);
     $frame = $this->Stomp->readFrame();
     $this->assertFalse($frame);
 }
Example #3
0
 public function testSendIsMappedToClient()
 {
     $queue = 'queue';
     $message = new Message('content');
     $stomp = $this->getMockBuilder(Client::class)->disableOriginalConstructor()->setMethods(['send'])->getMock();
     $stomp->expects($this->once())->method('send')->with($queue, $message);
     /**
      * @var $stomp Client
      */
     $simpleStomp = new SimpleStomp($stomp);
     $simpleStomp->send($queue, $message);
 }
 /**
  * Get current activeMq DLQ (and clean it)
  *
  * @return Frame[]
  */
 protected function getCurrentDLQ()
 {
     $messages = [];
     $client = $this->getClient();
     $client->getConnection()->setReadTimeout(0, 500000);
     $dlq = new SimpleStomp($client);
     $dlq->subscribe('ActiveMQ.DLQ', 'dlq-cleaner');
     while ($message = $dlq->read()) {
         $messages[] = $message;
     }
     $dlq->unsubscribe('ActiveMQ.DLQ', 'dlq-cleaner');
     $client->disconnect(true);
     return $messages;
 }
Example #5
0
 /**
  * Tests Stomp->unsubscribe()
  */
 public function testUnsubscribe()
 {
     if (!$this->Stomp->isConnected()) {
         $this->Stomp->connect();
     }
     $this->simpleStomp->subscribe($this->queue, 'mysubid');
     $this->assertTrue($this->simpleStomp->unsubscribe($this->queue, 'mysubid'));
 }
Example #6
0
 protected function consume()
 {
     $consumer = ClientProvider::getClient();
     $consumer->setClientId('test');
     $consumer->connect();
     $consumer->getConnection()->setReadTimeout(5);
     $simpleStomp = new SimpleStomp($consumer);
     $simpleStomp->subscribe($this->topic, 'myId', 'client-individual', null, ['durable' => 'true', 'auto-delete' => 'false']);
     $frame = $simpleStomp->read();
     $this->assertEquals($frame->body, 'test message');
     if ($frame != null) {
         $simpleStomp->ack($frame);
     }
     $simpleStomp->unsubscribe($this->topic, 'myId', ['durable' => 'true', 'auto-delete' => 'false']);
     $consumer->disconnect();
 }