public SystemTraceMiddlewareTests()
        {
            _loggerProvider = new TestLoggerProvider();
            var loggerFactory = new LoggerFactory();

            loggerFactory.AddProvider(_loggerProvider);

            RequestDelegate requestDelegate = async(HttpContext context) =>
            {
                await Task.Delay(25);
            };

            var logger = loggerFactory.CreateLogger <SystemTraceMiddleware>();

            _middleware = new SystemTraceMiddleware(requestDelegate, logger);
        }
        public SystemTraceMiddlewareTests()
        {
            _loggerProvider = new TestLoggerProvider();
            var loggerFactory = new LoggerFactory();

            loggerFactory.AddProvider(_loggerProvider);

            RequestDelegate requestDelegate = async(HttpContext context) =>
            {
                await Task.Delay(25);
            };

            var mockEnvironment = new Mock <IEnvironment>(MockBehavior.Strict);

            mockEnvironment.Setup(p => p.GetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteHostName)).Returns(TestHostName);

            var logger = loggerFactory.CreateLogger <SystemTraceMiddleware>();

            _hostNameProvider = new HostNameProvider(mockEnvironment.Object, loggerFactory.CreateLogger <HostNameProvider>());
            _middleware       = new SystemTraceMiddleware(requestDelegate, logger, _hostNameProvider);
        }