/** * @test */ public function it_sends_log_message_via_message_dispatcher_to_a_handler() { $taskListPosition = TaskListPosition::at(TaskListId::linkWith(NodeName::defaultName(), ProcessId::generate()), 1); $wfMessage = $this->getUserDataCollectedTestMessage(); $wfMessage->connectToProcessTask($taskListPosition); $logMessage = LogMessage::logWarningMsg("Just a fake warning", $wfMessage); $eventBus = new EventBus(); $eventRouter = new EventRouter(); $eventRouter->route($logMessage->messageName())->to($this->messageDispatcher); $eventBus->utilize($eventRouter); $eventBus->utilize(new ForwardToRemoteMessageDispatcherStrategy(new FromProcessingMessageTranslator())); $eventBus->dispatch($logMessage); /** @var $receivedMessage LogMessage */ $receivedMessage = $this->receivedMessage; $this->assertInstanceOf('Prooph\\Processing\\Message\\LogMessage', $receivedMessage); $this->assertTrue($taskListPosition->equals($receivedMessage->processTaskListPosition())); $this->assertTrue($logMessage->uuid()->equals($receivedMessage->uuid())); $this->assertEquals($logMessage->technicalMsg(), $receivedMessage->technicalMsg()); $this->assertEquals($logMessage->createdAt()->format('Y-m-d H:i:s'), $receivedMessage->createdAt()->format('Y-m-d H:i:s')); }
/** * @test */ public function it_is_capable_of_logging_messages() { $taskListEntry = $this->getTestTaskListEntry(); $wfMessage = $this->getUserDataCollectedTestMessage(); $wfMessage->connectToProcessTask($taskListEntry->taskListPosition()); $info = LogMessage::logInfoDataProcessingStarted($wfMessage); $taskListEntry->logMessage($info); $warning = LogMessage::logWarningMsg("Just a warning", $wfMessage); $taskListEntry->logMessage($warning); $log = $taskListEntry->messageLog(); $this->assertEquals(2, count($log)); $this->assertSame($info, $log[0]); $this->assertSame($warning, $log[1]); }
/** * @test */ public function it_dispatches_a_log_message() { $taskListPosition = TaskListPosition::at(TaskListId::linkWith(NodeName::defaultName(), ProcessId::generate()), 1); $wfMessage = $this->getUserDataCollectedTestMessage(); $wfMessage->connectToProcessTask($taskListPosition); $logMessage = LogMessage::logWarningMsg("Just a fake warning", $wfMessage); $this->workflowEngine->dispatch($logMessage); $this->assertSame($logMessage, $this->receivedMessage); }
/** * @test */ public function it_translates_to_service_bus_message_and_back() { $wfMessage = $this->getTestWorkflowMessage(); $logMessage = LogMessage::logWarningMsg("A simple warning msg", $wfMessage); $sbMessage = $logMessage->toServiceBusMessage(); $this->assertInstanceOf('Prooph\\Common\\Messaging\\RemoteMessage', $sbMessage); $copyOfLogMessage = LogMessage::fromServiceBusMessage($sbMessage); $this->assertInstanceOf('Prooph\\Processing\\Message\\LogMessage', $copyOfLogMessage); $this->assertEquals('A simple warning msg', $copyOfLogMessage->technicalMsg()); $this->assertTrue($copyOfLogMessage->isWarning()); $this->assertEquals($wfMessage->target(), $copyOfLogMessage->origin()); $this->assertTrue($wfMessage->processTaskListPosition()->equals($copyOfLogMessage->processTaskListPosition())); $this->assertEquals(NodeName::defaultName()->toString(), $copyOfLogMessage->target()); }