/// <summary> /// Creates a new instance of <see cref="QueueListener" />. /// </summary> /// <param name="inboundQueue">Used to receive messages</param> /// <param name="outboundRouter">Routes messages through different queues</param> /// <param name="scopeFactory"></param> public QueueListener(IMessageQueue inboundQueue, IMessageRouter outboundRouter, IHandlerScopeFactory scopeFactory) { _outboundRouter = outboundRouter; _scopeFactory = scopeFactory ?? throw new ArgumentNullException(nameof(scopeFactory)); _queue = inboundQueue ?? throw new ArgumentNullException(nameof(inboundQueue)); }
public QueueListenerTests(TestDbFixture fixture) { fixture.ClearQueue("QLInbound"); _inboundQueue = fixture.OpenQueue("QLInbound"); _scopeFactory = Substitute.For <IHandlerScopeFactory>(); _queueListener = new QueueListener(_inboundQueue, fixture.OpenQueue("QLOutbound"), _scopeFactory); _handlerScope = Substitute.For <IHandlerScope>(); _scopeFactory.CreateScope().Returns(_handlerScope); _messageInvoker = Substitute.For <IMessageInvoker>(); _handlerScope.ResolveDependency <IMessageInvoker>().Returns(new[] { _messageInvoker }); this._fixture = fixture; }