public WhenDispatchingMessage(ITestOutputHelper outputHelper) { _outputHelper = outputHelper; _loggerFactory = TestLoggerFactory.Create(lb => lb.AddXUnit(outputHelper)); _messageMonitor = new TrackingLoggingMonitor(_loggerFactory.CreateLogger <TrackingLoggingMonitor>()); _middlewareMap = new MiddlewareMap(); }
public MessageDispatcher( IMessageSerializationRegister serializationRegister, IMessageMonitor messagingMonitor, MiddlewareMap middlewareMap, ILoggerFactory loggerFactory) { _serializationRegister = serializationRegister; _messagingMonitor = messagingMonitor; _middlewareMap = middlewareMap; _logger = loggerFactory.CreateLogger("JustSaying"); }
public InterrogationResult Interrogate() { var publisherDescriptions = _publishersByType.ToDictionary(x => x.Key.Name, x => x.Value.Interrogate()); return(new InterrogationResult(new { Config.Region, Middleware = MiddlewareMap.Interrogate(), PublishedMessageTypes = publisherDescriptions, SubscriptionGroups = SubscriptionGroups?.Interrogate() })); }
protected override async Task WhenAsync() { MiddlewareMap.Add <SimpleMessage>(_queue.QueueName, Middleware); var cts = new CancellationTokenSource(); var completion = SystemUnderTest.RunAsync(cts.Token); await Patiently.AssertThatAsync(OutputHelper, () => Handler.ReceivedMessages.Any()); cts.Cancel(); await Assert.ThrowsAnyAsync <OperationCanceledException>(() => completion); }
public InterrogationResult Interrogate() { var publisherDescriptions = _publishersByType.Select(publisher => publisher.Key.Name).ToArray(); return(new InterrogationResult(new { Config.Region, Middleware = MiddlewareMap.Interrogate(), PublishedMessageTypes = publisherDescriptions, SubscriptionGroups = SubscriptionGroups?.Interrogate() })); }
private void GivenInternal() { Queues = new List <ISqsQueue>(); Handler = new InspectableHandler <SimpleMessage>(); var testResolver = new FakeServiceResolver(sc => sc .AddLogging(l => l.AddXUnit(OutputHelper))); Middleware = new HandlerMiddlewareBuilder(testResolver, testResolver).UseHandler(ctx => Handler).Build(); Monitor = new TrackingLoggingMonitor(LoggerFactory.CreateLogger <TrackingLoggingMonitor>()); SerializationRegister = new FakeSerializationRegister(); MiddlewareMap = new MiddlewareMap(); Given(); }
private void GivenInternal() { Queues = new List <ISqsQueue>(); Handler = new InspectableHandler <SimpleMessage>(); Monitor = new TrackingLoggingMonitor(LoggerFactory.CreateLogger <TrackingLoggingMonitor>()); SerializationRegister = new FakeSerializationRegister(); MiddlewareMap = new MiddlewareMap(); CompletionMiddleware = new AwaitableMiddleware(OutputHelper); var testResolver = new InMemoryServiceResolver(OutputHelper, Monitor, sc => sc.AddSingleton <IHandlerAsync <SimpleMessage> >(Handler)); Middleware = new HandlerMiddlewareBuilder(testResolver, testResolver) .Use(CompletionMiddleware) .UseDefaults <SimpleMessage>(typeof(InspectableHandler <SimpleMessage>)) .Build(); Given(); }
public JustSayingBus( IMessagingConfig config, IMessageSerializationRegister serializationRegister, ILoggerFactory loggerFactory) { _loggerFactory = loggerFactory; _startupTasks = new List <Func <Task> >(); _log = _loggerFactory.CreateLogger("JustSaying"); Config = config; Monitor = new NullOpMessageMonitor(); MessageContextAccessor = new MessageContextAccessor(); SerializationRegister = serializationRegister; MiddlewareMap = new MiddlewareMap(); _publishersByType = new Dictionary <Type, IMessagePublisher>(); _subscriptionGroupSettings = new ConcurrentDictionary <string, SubscriptionGroupConfigBuilder>(StringComparer.Ordinal); _defaultSubscriptionGroupSettings = new SubscriptionGroupSettingsBuilder(); }
public JustSayingBus( IMessagingConfig config, IMessageSerializationRegister serializationRegister, ILoggerFactory loggerFactory, IMessageMonitor monitor) { _loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); _monitor = monitor ?? throw new ArgumentNullException(nameof(monitor)); _startupTasks = new List <Func <CancellationToken, Task> >(); _log = _loggerFactory.CreateLogger("JustSaying"); Config = config; SerializationRegister = serializationRegister; MiddlewareMap = new MiddlewareMap(); _publishersByType = new Dictionary <Type, IMessagePublisher>(); _subscriptionGroupSettings = new ConcurrentDictionary <string, SubscriptionGroupConfigBuilder>(StringComparer.Ordinal); _defaultSubscriptionGroupSettings = new SubscriptionGroupSettingsBuilder(); }
public void AddMessageMiddleware <T>(string queueName, HandleMessageMiddleware middleware) where T : Message { SerializationRegister.AddSerializer <T>(); MiddlewareMap.Add <T>(queueName, middleware); }