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()); }
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()); }