public void ExceptionLoggerGet_IfUnset_ReturnsExceptionLoggerFromConfiguration()
        {
            // Arrange
            using (HttpConfiguration configuration = CreateConfiguration())
            {
                IExceptionLogger expectedExceptionLogger = CreateDummyExceptionLogger();
                configuration.Services.Add(typeof(IExceptionLogger), expectedExceptionLogger);

                using (HttpControllerDispatcher product = CreateProductUnderTest(configuration))
                {
                    // Act
                    IExceptionLogger exceptionLogger = product.ExceptionLogger;

                    // Assert
                    CompositeExceptionLogger       compositeLogger = Assert.IsType <CompositeExceptionLogger>(exceptionLogger);
                    IEnumerable <IExceptionLogger> loggers         = compositeLogger.Loggers;
                    Assert.NotNull(loggers);
                    IExceptionLogger logger = Assert.Single(loggers);
                    Assert.Same(expectedExceptionLogger, logger);
                }
            }
        }
Example #2
0
        public void ExceptionLoggerGet_IfUnset_ReturnsExceptionLoggerFromConfiguration()
        {
            // Arrange
            using (HttpConfiguration configuration = CreateConfiguration())
            {
                IExceptionLogger expectedExceptionLogger = CreateDummyExceptionLogger();
                configuration.Services.Add(typeof(IExceptionLogger), expectedExceptionLogger);

                using (HttpMessageHandler dispatcher = CreateDummyMessageHandler())
                    using (HttpServer product = new HttpServer(configuration, dispatcher))
                    {
                        // Act
                        IExceptionLogger exceptionLogger = product.ExceptionLogger;

                        // Assert
                        Assert.IsType <CompositeExceptionLogger>(exceptionLogger);
                        CompositeExceptionLogger       compositeLogger = (CompositeExceptionLogger)exceptionLogger;
                        IEnumerable <IExceptionLogger> loggers         = compositeLogger.Loggers;
                        Assert.NotNull(loggers);
                        Assert.Equal(1, loggers.Count());
                        Assert.Same(expectedExceptionLogger, loggers.Single());
                    }
            }
        }