Ejemplo n.º 1
0
 /**
  * @covers AMQPy\AbstractConsumer::failure
  */
 public function testFailure()
 {
     $listener = $this->getMock('AMQPy\\AbstractListener', [], [], '', false);
     $delivery = $this->getMock('\\AMQPy\\Client\\Delivery', [], [], '', false);
     $listener->expects($this->at(0))->method('resend')->with($this->equalTo($delivery));
     $e = $this->getMock('\\Exception', [], [], '', false);
     $this->object->failure($e, $delivery, $listener);
 }
Ejemplo n.º 2
0
 public function feed(Delivery $delivery, AbstractConsumer $consumer)
 {
     $consumer->before($delivery, $this);
     $consumer_exception = null;
     $consume_result = null;
     $consume_payload = null;
     try {
         $consume_payload = $this->getSerializers()->get($delivery->getProperties()->getContentType())->parse($delivery->getBody());
         $consume_result = $consumer->consume($consume_payload, $delivery, $this);
     } catch (Exception $e) {
         $consumer_exception = $e;
     }
     if ($consumer_exception) {
         $consumer->failure($consumer_exception, $delivery, $this);
     } else {
         $consumer->after($consume_result, $delivery, $this);
     }
     $consumer->always($consume_result, $consume_payload, $delivery, $this, $consumer_exception);
 }