Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletions tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliE2ETestHelpers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand All @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion tests/Aspire.Cli.EndToEnd.Tests/JsReactTemplateTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down
2 changes: 1 addition & 1 deletion tests/Aspire.Cli.EndToEnd.Tests/PolyglotPythonTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down