コード例 #1
0
 public function testConstructor()
 {
     $payload = new \stdClass();
     $message1 = new GenericEventMessage($payload);
     $metaData = new MetaData(['key' => 'value']);
     $message2 = new GenericEventMessage($payload, $metaData);
     $this->assertSame(MetaData::emptyInstance(), $message1->getMetaData());
     $this->assertEquals('stdClass', get_class($message1->getPayload()));
     $this->assertEquals('stdClass', $message1->getPayloadType());
     $this->assertSame($payload, $message1->getPayload());
     $this->assertSame($metaData, $message2->getMetaData());
     $this->assertEquals('stdClass', get_class($message2->getPayload()));
     $this->assertEquals('stdClass', $message2->getPayloadType());
     $this->assertEquals($payload, $message2->getPayload());
     $this->assertFalse($message1->getIdentifier() === $message2->getIdentifier());
 }
コード例 #2
0
 public function testSendMessageWithPublisherAck_NoActiveUnitOfWork()
 {
     $this->testSubject->setTransactional(false);
     $this->testSubject->setWaitForPublisherAck(true);
     $channel = \Phake::mock(AMQPChannel::class);
     \Phake::when($channel)->wait_for_pending_acks()->thenReturn(null);
     \Phake::when($this->connection)->channel()->thenReturn($channel);
     $message = new GenericEventMessage(new Payload("Message"));
     \Phake::when($this->serializer)->serialize(\Phake::equalTo($message->getPayload()))->thenReturn(new SimpleSerializedObject(json_encode($message->getPayload()), new SimpleSerializedType(Payload::class)));
     \Phake::when($this->serializer)->serialize(\Phake::equalTo($message->getMetaData()))->thenReturn(new SimpleSerializedObject(json_encode(array('metadata' => array())), new SimpleSerializedType(MetaData::class)));
     $this->testSubject->publish(array($message));
     \Phake::verify($channel)->confirm_select();
     \Phake::verify($channel)->basic_publish(\Phake::anyParameters());
     \Phake::verify($channel)->wait_for_pending_acks(\Phake::anyParameters());
 }