public async Task InitializeAsync()
            {
                InitializeFiles();

                LoggerProvider = new TestLoggerProvider();

                var optionsFactory = new TestOptionsFactory <ScriptApplicationHostOptions>(ApplicationOptions);
                var optionsMonitor = new OptionsMonitor <ScriptApplicationHostOptions>(optionsFactory, Array.Empty <IOptionsChangeTokenSource <ScriptApplicationHostOptions> >(), optionsFactory);

                TestServer = new TestServer(AspNetCore.WebHost.CreateDefaultBuilder()
                                            .ConfigureLogging(b =>
                {
                    b.AddProvider(LoggerProvider);
                })
                                            .UseStartup <Startup>()
                                            .ConfigureServices(services =>
                {
                    services.Replace(new ServiceDescriptor(typeof(IOptions <ScriptApplicationHostOptions>), new OptionsWrapper <ScriptApplicationHostOptions>(ApplicationOptions)));
                    services.Replace(new ServiceDescriptor(typeof(ISecretManager), new TestSecretManager()));
                    services.Replace(new ServiceDescriptor(typeof(IOptionsMonitor <ScriptApplicationHostOptions>), optionsMonitor));
                    services.AddSingleton <IConfigureBuilder <ILoggingBuilder> >(new DelegatedConfigureBuilder <ILoggingBuilder>(b => b.AddProvider(LoggerProvider)));
                    services.AddSingleton <IConfigureBuilder <IWebJobsBuilder> >(new DelegatedConfigureBuilder <IWebJobsBuilder>(b =>
                    {
                        b.AddAzureStorage();
                        b.Services.Configure <ScriptJobHostOptions>(o => o.Functions = new[] { "TimerTrigger", "Invalid" });
                    }));
                }));

                var scriptConfig = TestServer.Host.Services.GetService <IOptions <ScriptJobHostOptions> >().Value;

                HttpClient             = TestServer.CreateClient();
                HttpClient.BaseAddress = new Uri("https://localhost/");

                Host = TestServer.Host;

                await ScriptHostManager.DelayUntilHostReady();
            }