diff --git a/.github/skills/cli-e2e-testing/SKILL.md b/.github/skills/cli-e2e-testing/SKILL.md index 02050f28783..8234bee8e3f 100644 --- a/.github/skills/cli-e2e-testing/SKILL.md +++ b/.github/skills/cli-e2e-testing/SKILL.md @@ -57,14 +57,8 @@ public sealed class SmokeTests : IAsyncDisposable var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(MyCliTest)); - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); @@ -275,7 +269,6 @@ Use `CliE2ETestHelpers` for CI environment variables: var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); // GITHUB_PR_NUMBER (0 when local) var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); // GITHUB_PR_HEAD_SHA ("local0000" when local) var isCI = CliE2ETestHelpers.IsRunningInCI; // true when both env vars set -var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath("test-name"); // Appropriate path for CI vs local ``` ## DON'T: Use Hard-coded Delays diff --git a/tests/Aspire.Cli.EndToEnd.Tests/AgentCommandTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/AgentCommandTests.cs index f3081afc8ac..633d3948da5 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/AgentCommandTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/AgentCommandTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -31,16 +30,7 @@ public async Task AgentCommands_AllHelpOutputs_AreCorrect() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath( - nameof(AgentCommands_AllHelpOutputs_AreCorrect)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); @@ -136,16 +126,7 @@ public async Task AgentInitCommand_MigratesDeprecatedConfig() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath( - nameof(AgentInitCommand_MigratesDeprecatedConfig)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); @@ -255,16 +236,7 @@ public async Task DoctorCommand_DetectsDeprecatedAgentConfig() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath( - nameof(DoctorCommand_DetectsDeprecatedAgentConfig)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/BannerTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/BannerTests.cs index 8a2f19ed57d..5bbd4a2048e 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/BannerTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/BannerTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -23,15 +22,8 @@ public async Task Banner_DisplayedOnFirstRun() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(Banner_DisplayedOnFirstRun)); - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); @@ -94,14 +86,8 @@ public async Task Banner_DisplayedWithExplicitFlag() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(Banner_DisplayedWithExplicitFlag)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); @@ -160,14 +146,8 @@ public async Task Banner_NotDisplayedWithNoLogoFlag() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(Banner_NotDisplayedWithNoLogoFlag)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/DockerDeploymentTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/DockerDeploymentTests.cs index a61ac5e0133..ea6cf828cab 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/DockerDeploymentTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/DockerDeploymentTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -26,15 +25,7 @@ public async Task CreateAndDeployToDockerCompose() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(CreateAndDeployToDockerCompose)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); @@ -203,15 +194,7 @@ public async Task CreateAndDeployToDockerComposeInteractive() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(CreateAndDeployToDockerComposeInteractive)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/DoctorCommandTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/DoctorCommandTests.cs index a9c51496d59..98bfa6bd535 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/DoctorCommandTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/DoctorCommandTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -23,16 +22,7 @@ public async Task DoctorCommand_WithoutSslCertDir_ShowsPartiallyTrusted() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath( - nameof(DoctorCommand_WithoutSslCertDir_ShowsPartiallyTrusted)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); @@ -87,16 +77,7 @@ public async Task DoctorCommand_WithSslCertDir_ShowsTrusted() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath( - nameof(DoctorCommand_WithSslCertDir_ShowsTrusted)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/EmptyAppHostTemplateTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/EmptyAppHostTemplateTests.cs index 384165d596e..de7aaf05c8c 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/EmptyAppHostTemplateTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/EmptyAppHostTemplateTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -23,15 +22,7 @@ public async Task CreateEmptyAppHostProject() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(CreateEmptyAppHostProject)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliE2ETestHelpers.cs b/tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliE2ETestHelpers.cs index 072a525208d..f0c4c7b8f61 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliE2ETestHelpers.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliE2ETestHelpers.cs @@ -2,7 +2,9 @@ // The .NET Foundation licenses this file to you under the MIT license. #pragma warning disable IDE0005 // Incorrectly flagged as unused due to types spread across namespaces +using System.Runtime.CompilerServices; using Aspire.Cli.Tests.Utils; +using Hex1b; using Hex1b.Automation; #pragma warning restore IDE0005 using Xunit; @@ -87,6 +89,27 @@ internal static string GetTestResultsRecordingPath(string testName) return Path.Combine(recordingsDir, $"{testName}.cast"); } + /// + /// Creates a headless Hex1b terminal configured for E2E testing with asciinema recording. + /// Uses default dimensions of 160x48 unless overridden. + /// + /// The test name used for the recording file path. Defaults to the calling method name. + /// The terminal width in columns. Defaults to 160. + /// The terminal height in rows. Defaults to 48. + /// A configured instance. Caller is responsible for disposal. + internal static Hex1bTerminal CreateTestTerminal(int width = 160, int height = 48, [CallerMemberName] string testName = "") + { + var recordingPath = GetTestResultsRecordingPath(testName); + + var builder = Hex1bTerminal.CreateBuilder() + .WithHeadless() + .WithDimensions(width, height) + .WithAsciinemaRecording(recordingPath) + .WithPtyProcess("/bin/bash", ["--norc"]); + + return builder.Build(); + } + internal static Hex1bTerminalInputSequenceBuilder PrepareEnvironment( this Hex1bTerminalInputSequenceBuilder builder, TemporaryWorkspace workspace, SequenceCounter counter) { diff --git a/tests/Aspire.Cli.EndToEnd.Tests/JsReactTemplateTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/JsReactTemplateTests.cs index 978af50c2c4..f0c5eef3a52 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/JsReactTemplateTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/JsReactTemplateTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -23,15 +22,7 @@ public async Task CreateAndRunJsReactProject() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(CreateAndRunJsReactProject)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/KubernetesPublishTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/KubernetesPublishTests.cs index 42b57f0ecb4..e39899f2b5d 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/KubernetesPublishTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/KubernetesPublishTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -34,20 +33,13 @@ public async Task CreateAndPublishToKubernetes() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(CreateAndPublishToKubernetes)); var clusterName = GenerateUniqueClusterName(); output.WriteLine($"Using KinD version: {KindVersion}"); output.WriteLine($"Using Helm version: {HelmVersion}"); output.WriteLine($"Using cluster name: {clusterName}"); - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/LogsCommandTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/LogsCommandTests.cs index 30ffe3adabd..680fe95fd2b 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/LogsCommandTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/LogsCommandTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -23,15 +22,7 @@ public async Task LogsCommandShowsResourceLogs() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(LogsCommandShowsResourceLogs)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/PsCommandTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/PsCommandTests.cs index 78a98c7d392..4d7e422e26f 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/PsCommandTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/PsCommandTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -23,15 +22,7 @@ public async Task PsCommandListsRunningAppHost() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(PsCommandListsRunningAppHost)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/PythonReactTemplateTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/PythonReactTemplateTests.cs index 684bab355f8..683afa46241 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/PythonReactTemplateTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/PythonReactTemplateTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -23,15 +22,7 @@ public async Task CreateAndRunPythonReactProject() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(CreateAndRunPythonReactProject)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/ResourcesCommandTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/ResourcesCommandTests.cs index 41edab5154e..1a257d051d6 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/ResourcesCommandTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/ResourcesCommandTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -23,15 +22,7 @@ public async Task ResourcesCommandShowsRunningResources() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(ResourcesCommandShowsRunningResources)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/SmokeTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/SmokeTests.cs index e85f579a1c4..7903092841d 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/SmokeTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/SmokeTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -23,15 +22,7 @@ public async Task CreateAndRunAspireStarterProject() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(CreateAndRunAspireStarterProject)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/StartStopTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/StartStopTests.cs index 371eab030c2..4c0702aec6e 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/StartStopTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/StartStopTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -23,15 +22,7 @@ public async Task CreateStartAndStopAspireProject() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(CreateStartAndStopAspireProject)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken); diff --git a/tests/Aspire.Cli.EndToEnd.Tests/TypeScriptPolyglotTests.cs b/tests/Aspire.Cli.EndToEnd.Tests/TypeScriptPolyglotTests.cs index 1a94f2b127d..57902e250c6 100644 --- a/tests/Aspire.Cli.EndToEnd.Tests/TypeScriptPolyglotTests.cs +++ b/tests/Aspire.Cli.EndToEnd.Tests/TypeScriptPolyglotTests.cs @@ -3,7 +3,6 @@ using Aspire.Cli.EndToEnd.Tests.Helpers; using Aspire.Cli.Tests.Utils; -using Hex1b; using Hex1b.Automation; using Xunit; @@ -23,15 +22,7 @@ public async Task CreateTypeScriptAppHostWithViteApp() var prNumber = CliE2ETestHelpers.GetRequiredPrNumber(); var commitSha = CliE2ETestHelpers.GetRequiredCommitSha(); var isCI = CliE2ETestHelpers.IsRunningInCI; - var recordingPath = CliE2ETestHelpers.GetTestResultsRecordingPath(nameof(CreateTypeScriptAppHostWithViteApp)); - - var builder = Hex1bTerminal.CreateBuilder() - .WithHeadless() - .WithDimensions(160, 48) - .WithAsciinemaRecording(recordingPath) - .WithPtyProcess("/bin/bash", ["--norc"]); - - using var terminal = builder.Build(); + using var terminal = CliE2ETestHelpers.CreateTestTerminal(); var pendingRun = terminal.RunAsync(TestContext.Current.CancellationToken);