Пример #1
0
        public void ListenToNewInputs_logs_exception_before_throwing_on_exception()
        {
            // Arrange
            var anyException = new Exception("An error occurred when listening to new inputs!");

            var eventBus = new Mock <IRabbitMQEventBus>();

            eventBus
            .Setup(s => s.Subscribe <NewInputIntegrationEvent, NewInputIntegrationEventHandler>())
            .Throws(anyException);

            var logger = new Mock <ILogger <BinaryDiff.Worker.App.Worker> >();

            var worker = new BinaryDiff.Worker.App.Worker(logger.Object, eventBus.Object);

            // Act
            Assert.Throws <Exception>(() => worker.ListenToNewInputs(TimeSpan.FromSeconds(.5)));

            // Assert
            logger.Verify(l =>
                          l.Log(
                              LogLevel.Error,
                              0,
                              It.Is <FormattedLogValues>(v => v.ToString() == anyException.Message),
                              It.Is <Exception>(e => e == anyException),
                              It.IsAny <Func <object, Exception, string> >())
                          );
        }
Пример #2
0
        public void ListenToNewInputs_unsubscribe_from_event_when_closing()
        {
            // Arrange
            var logger   = new Mock <ILogger <BinaryDiff.Worker.App.Worker> >();
            var eventBus = new Mock <IRabbitMQEventBus>();
            var worker   = new BinaryDiff.Worker.App.Worker(logger.Object, eventBus.Object);

            // Act
            worker.ListenToNewInputs(TimeSpan.FromSeconds(.5));

            // Assert
            eventBus.Verify(eb =>
                            eb.Unsubscribe <NewInputIntegrationEvent, NewInputIntegrationEventHandler>(),
                            Times.Once
                            );
        }