コード例 #1
0
        public void ProcessingCompleted_Raised_On_Successful_Processing()
        {
            var mockHandler = _sut.AddFakeHandler(_fixture.Create <HandlerConfiguration>(), true);

            var tcs = new TaskCompletionSource <ProcessingCompletedEventArgs>();

            _sut.ProcessingCompleted += (s, e) => {
                tcs.SetResult(e);
            };

            _jobQueueFactory.MockMessageQueueFactory.MockQueues[mockHandler.Configuration.QueueId]
            .Raise(m => m.ReceivedMessage += null, new ReceivedMessageEventArgs(_fixture.Create <IMessage>()));

            tcs.Task.Wait();

            Assert.IsNotNull(tcs.Task.Result);
        }
コード例 #2
0
        public void ProcessingTimedOut_Raised_On_Hung_Job()
        {
            var config = new ListenerConfiguration {
                JobTimeout = 2000
            };

            var sut = new JobQueueListener(_jobQueueFactory, config);

            var mockHandler = sut.AddFakeHandler(_fixture.Create <HandlerConfiguration>(), true, true);

            var tcs = new TaskCompletionSource <ProcessingFailedEventArgs>();

            sut.ProcessingTimedOut += (s, e) => {
                tcs.SetResult(e);
            };

            _jobQueueFactory.MockMessageQueueFactory.MockQueues[mockHandler.Configuration.QueueId]
            .Raise(m => m.ReceivedMessage += null, new ReceivedMessageEventArgs(_fixture.Create <IMessage>()));

            tcs.Task.Wait();

            Assert.IsNotNull(tcs.Task.Result);
        }