private Task <VostokApplicationRunResult> CreateAndRunAsync( [NotNull] SimpleApplicationSettings settings, [CanBeNull] Action <IVostokHostingEnvironmentBuilder> additionalEnvSetup = null, [CanBeNull] Action <VostokHostSettings> additionalHostSetup = null) { observer = new TestObserver <VostokApplicationState>(); settings.CrashError = crashError; application = new SimpleApplication(settings); void EnvironmentSetup(IVostokHostingEnvironmentBuilder builder) { builder.SetupApplicationIdentity( (applicationIdentitySetup, setupContext) => applicationIdentitySetup.SetProject("Infrastructure") .SetSubproject("vostok") .SetEnvironment("dev") .SetApplication("simple-application") .SetInstance("1")) .SetupLog(logSetup => logSetup.SetupConsoleLog(consoleLogSetup => consoleLogSetup.UseSynchronous())); additionalEnvSetup?.Invoke(builder); } var hostSettings = new TestHostSettings(application, EnvironmentSetup) { ShutdownTimeout = shutdownTimeout }; additionalHostSetup?.Invoke(hostSettings); host = new VostokHost(hostSettings); host.OnApplicationStateChanged.Subscribe(observer); return(host.RunAsync()); }
public SimpleApplication(SimpleApplicationSettings settings) { this.settings = settings; }