private void SendRegisteredApplicationToKafka(RegisteredApplication registeredApplication)
 {
     _kafkaProducerService.Produce(new CompassEvent
     {
         ApplicationToken = registeredApplication.ApplicationToken,
         DateCreated      = DateTime.UtcNow,
         EventName        = "ApplicationRegistered",
         Payload          = new { registeredApplication.ApplicationName }
     });
 }
Пример #2
0
        public async Task <CompassResult> RouteRequest(CompassEvent compassEvent)
        {
            await _validateApplicationTokenService.ValidateApplicationTokenAsync(compassEvent.ApplicationToken);

            var subscriptions =
                await _getServiceSubscriptionsForEventService.GetServiceSubscriptionsAsync(compassEvent);

            _kafkaProducerService.Produce(compassEvent);

            return(await SendToSubscriptionsAsync(compassEvent, subscriptions));
        }
        public async Task SendRegisteredApplicationToKafka()
        {
            // Arrange
            var appName = "Rouge One";

            A.CallTo(() => _dataStore.GetRegisteredApplicationAsync(appName))
            .Returns(Task.FromResult((RegisteredApplication)null));

            // Act
            await _sut.RegisterNewApplicationAsync(appName);

            // Assert
            A.CallTo(() => _kafkaProducerService.Produce(A <CompassEvent> .That.Matches(
                                                             compassEvent => compassEvent.EventName == "ApplicationRegistered"
                                                             ))).MustHaveHappened(Repeated.Exactly.Once);
        }