private void SendRegisteredApplicationToKafka(RegisteredApplication registeredApplication) { _kafkaProducerService.Produce(new CompassEvent { ApplicationToken = registeredApplication.ApplicationToken, DateCreated = DateTime.UtcNow, EventName = "ApplicationRegistered", Payload = new { registeredApplication.ApplicationName } }); }
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); }