| File: Commands\AppHostStartupTimeoutTests.cs | Web Access |
| Project: src\tests\Aspire.Cli.Tests\Aspire.Cli.Tests.csproj (Aspire.Cli.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Aspire.Cli.Commands; using Aspire.Hosting; using Microsoft.Extensions.Configuration; namespace Aspire.Cli.Tests.Commands; public class AppHostStartupTimeoutTests { [Fact] public void BackchannelConnectionTimeoutUsesLongerConfiguredAppHostStartupTimeout() { var configuration = new ConfigurationBuilder() .AddInMemoryCollection(new Dictionary<string, string?> { [CliConfigNames.AppHostStartupTimeout] = "86400" }) .Build(); var timeout = AppHostStartupTimeout.GetBackchannelConnectionTimeout(configuration); Assert.Equal(TimeSpan.FromSeconds(86400), timeout); } [Fact] public void BackchannelConnectionTimeoutUsesDefaultAppHostStartupTimeout() { var configuration = new ConfigurationBuilder().Build(); var timeout = AppHostStartupTimeout.GetBackchannelConnectionTimeout(configuration); Assert.Equal(TimeSpan.FromSeconds(120), timeout); } [Fact] public void ExplicitBackchannelConnectionTimeoutOverridesAppHostStartupTimeout() { var configuration = new ConfigurationBuilder() .AddInMemoryCollection(new Dictionary<string, string?> { [CliConfigNames.AppHostStartupTimeout] = "180", [KnownConfigNames.CliBackchannelConnectTimeoutSeconds] = "5" }) .Build(); var timeout = AppHostStartupTimeout.GetBackchannelConnectionTimeout(configuration); Assert.Equal(TimeSpan.FromSeconds(5), timeout); } [Theory] [InlineData("Infinity")] [InlineData("1e30")] public void InvalidExplicitBackchannelConnectionTimeoutUsesAppHostStartupTimeout(string configuredValue) { var configuration = new ConfigurationBuilder() .AddInMemoryCollection(new Dictionary<string, string?> { [CliConfigNames.AppHostStartupTimeout] = "180", [KnownConfigNames.CliBackchannelConnectTimeoutSeconds] = configuredValue }) .Build(); var timeout = AppHostStartupTimeout.GetBackchannelConnectionTimeout(configuration); Assert.Equal(TimeSpan.FromSeconds(180), timeout); } }