diff --git a/tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliE2ETestHelpers.cs b/tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliE2ETestHelpers.cs index b45a2abe90e..c68b623ac1a 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliE2ETestHelpers.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliE2ETestHelpers.cs @@ -139,15 +139,23 @@ internal static Hex1bTerminalInputSequenceBuilder InstallAspireCliFromPullReques internal static Hex1bTerminalInputSequenceBuilder SourceAspireCliEnvironment( this Hex1bTerminalInputSequenceBuilder builder, - SequenceCounter counter + SequenceCounter counter, + bool enablePolyglotSupport = false ) { if (OperatingSystem.IsWindows()) { // On Windows, the PowerShell installer already updates the current session's PATH // But we still need to set ASPIRE_PLAYGROUND for interactive mode and .NET CLI vars + var envVars = "$env:ASPIRE_PLAYGROUND='true'; $env:DOTNET_CLI_TELEMETRY_OPTOUT='true'; $env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE='true'; $env:DOTNET_GENERATE_ASPNET_CERTIFICATE='false'"; + + if (enablePolyglotSupport) + { + envVars += "; $env:features__polyglotSupportEnabled='true'"; + } + return builder - .Type("$env:ASPIRE_PLAYGROUND='true'; $env:DOTNET_CLI_TELEMETRY_OPTOUT='true'; $env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE='true'; $env:DOTNET_GENERATE_ASPNET_CERTIFICATE='false'") + .Type(envVars) .Enter() .WaitForSuccessPrompt(counter); } @@ -156,8 +164,16 @@ SequenceCounter counter // We need to add it to PATH and set environment variables: // - ASPIRE_PLAYGROUND=true enables interactive mode // - .NET CLI vars suppress telemetry and first-time experience which can cause hangs + // - features__polyglotSupportEnabled=true enables polyglot support (Python, Go, Java, Rust) + var exportVars = "export PATH=~/.aspire/bin:$PATH ASPIRE_PLAYGROUND=true DOTNET_CLI_TELEMETRY_OPTOUT=true DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true DOTNET_GENERATE_ASPNET_CERTIFICATE=false"; + + if (enablePolyglotSupport) + { + exportVars += " features__polyglotSupportEnabled=true"; + } + return builder - .Type("export PATH=~/.aspire/bin:$PATH ASPIRE_PLAYGROUND=true DOTNET_CLI_TELEMETRY_OPTOUT=true DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true DOTNET_GENERATE_ASPNET_CERTIFICATE=false") + .Type(exportVars) .Enter() .WaitForSuccessPrompt(counter); } diff --git a/tests/Aspire.Cli.EndToEnd.Tests/JsReactTemplateTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/JsReactTemplateTests.cs index 27d6f03fe4b..a84bf34b139 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/JsReactTemplateTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/JsReactTemplateTests.cs @@ -71,7 +71,7 @@ public async Task CreateAndRunJsReactProject() if (isCI) { sequenceBuilder.InstallAspireCliFromPullRequest(prNumber, counter); - sequenceBuilder.SourceAspireCliEnvironment(counter); + sequenceBuilder.SourceAspireCliEnvironment(counter, enablePolyglotSupport: true); sequenceBuilder.VerifyAspireCliVersion(commitSha, counter); } diff --git a/tests/Aspire.Cli.EndToEnd.Tests/PolyglotPythonTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/PolyglotPythonTests.cs index cf6300c5c99..3237e45bea6 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/PolyglotPythonTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/PolyglotPythonTests.cs @@ -54,7 +54,7 @@ public async Task CreatePythonAppHostWithRedisAndRun() if (isCI) { sequenceBuilder.InstallAspireCliFromPullRequest(prNumber, counter); - sequenceBuilder.SourceAspireCliEnvironment(counter); + sequenceBuilder.SourceAspireCliEnvironment(counter, enablePolyglotSupport: true); sequenceBuilder.VerifyAspireCliVersion(commitSha, counter); } diff --git a/tests/Aspire.Cli.EndToEnd.Tests/PythonReactTemplateTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/PythonReactTemplateTests.cs index 31160cd0d83..b30fbe45318 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/PythonReactTemplateTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/PythonReactTemplateTests.cs @@ -71,7 +71,7 @@ public async Task CreateAndRunPythonReactProject() if (isCI) { sequenceBuilder.InstallAspireCliFromPullRequest(prNumber, counter); - sequenceBuilder.SourceAspireCliEnvironment(counter); + sequenceBuilder.SourceAspireCliEnvironment(counter, enablePolyglotSupport: true); sequenceBuilder.VerifyAspireCliVersion(commitSha, counter); }