/** * @param ActorUpdated $actorUpdated * @param DomainMessage $message */ private function applyActorUpdated(ActorUpdated $actorUpdated, DomainMessage $message) { $this->setLogContextFromDomainMessage($message); $xml = $this->getActorXml($actorUpdated->getUrl()); $enrichedActorUpdated = ActorUpdatedEnrichedWithCdbXml::fromActorUpdated($actorUpdated, $xml, new StringLiteral(\CultureFeed_Cdb_Xml::namespaceUriForVersion('3.3'))); $this->publish($enrichedActorUpdated, $message->getMetadata()); }
public static function fromActorUpdated(ActorUpdated $actorUpdated, StringLiteral $cdbXml, StringLiteral $cdbXmlNamespaceUri) { return new self($actorUpdated->getActorId(), $actorUpdated->getTime(), $actorUpdated->getAuthor(), $actorUpdated->getUrl(), $cdbXml, $cdbXmlNamespaceUri); }
/** * @dataProvider messagesProvider * @test * @param ActorUpdated|ActorCreated $incomingEvent * @param ActorUpdatedEnrichedWithCdbXml|ActorCreatedEnrichedWithCdbXml $newEvent */ public function it_publishes_a_new_message_enriched_with_xml($incomingEvent, $newEvent) { $this->expectHttpClientToReturnCdbXmlFromUrl($incomingEvent->getUrl()); $this->publish($incomingEvent); $this->assertTracedEvents([$newEvent]); }