7 instantiations of AspireTerminal
Aspire.Hosting (2)
ApplicationModel\Hex1bAspireTerminal.cs (1)
57Handle = new(this);
ApplicationModel\ResourceAspireTerminal.cs (1)
62Handle = new(this);
Aspire.Hosting.Tests (5)
Dashboard\DashboardServiceTests.cs (2)
1745var terminal = new AspireTerminal(new TestTerminalBackend("blocking") 1822var terminal = new AspireTerminal(new TestTerminalBackend("failing")
Terminals\AspireTerminalTests.cs (2)
28await using var terminal = new AspireTerminal(backend); 56await using var terminal = new AspireTerminal(backend);
Terminals\InteractionServiceTerminalTests.cs (1)
94await using var unregisteredTerminal = new AspireTerminal(backend);
170 references to AspireTerminal
Aspire.Hosting (23)
ApplicationModel\AspireTerminalKey.cs (2)
12/// Represents one terminal keypress, optionally combined with modifiers, for <see cref="AspireTerminal.SendKeyAsync"/>. 22/// Digit and punctuation keys follow the US keyboard layout. Use <see cref="AspireTerminal.SendTextAsync"/>
ApplicationModel\Hex1bAspireTerminal.cs (2)
14/// The Hex1b-backed implementation of <see cref="AspireTerminal"/>. 61public AspireTerminal Handle { get; }
ApplicationModel\ITerminalBackend.cs (1)
9/// The internal operations behind an <see cref="AspireTerminal"/> handle.
ApplicationModel\ResourceAspireTerminal.cs (2)
14/// The resource-backed implementation of <see cref="AspireTerminal"/>. 66public AspireTerminal Handle { get; }
ApplicationModel\ResourceTerminalCatalog.cs (2)
13/// <see cref="AspireTerminal"/> handles for them. 106public bool TryGetTerminal(string terminalId, out AspireTerminal? terminal)
ApplicationModel\TerminalAutomation.cs (1)
13/// The shared implementation of <see cref="AspireTerminal"/>'s automation members.
ApplicationModel\TerminalChange.cs (1)
33/// <see cref="AspireTerminal.Show"/> was called. Dashboards should reveal the dock and switch to
ApplicationModel\TerminalOwner.cs (1)
31/// Disposing the <see cref="AspireTerminal"/> releases Aspire's handle on the terminal without stopping
ApplicationModel\TerminalPlacement.cs (1)
38/// Terminals driven purely through the automation members of <see cref="AspireTerminal"/> never need a
ApplicationModel\TerminalService.cs (5)
113public AspireTerminal CreateTerminal(TerminalLaunchOptions options) 166internal AspireTerminal CreateTerminal(string title, TerminalPlacement placement, Hex1bTerminalBuilder builder, int columns, int rows) 225/// <param name="terminalId">The <see cref="AspireTerminal.Id"/> of the terminal to find.</param> 232public bool TryGetTerminal(string terminalId, [NotNullWhen(true)] out AspireTerminal? terminal) 242if (ResourceTerminals?.TryGetTerminal(terminalId, out var resourceTerminal) == true)
Dashboard\DashboardService.cs (2)
743if (terminalService.TryGetTerminal(request.TerminalId, out var terminal)) 764internal async Task CloseTerminalAsync(Aspire.Hosting.ApplicationModel.AspireTerminal terminal, CancellationToken cancellationToken)
IInteractionService.cs (1)
188Task<InteractionResult<bool>> PromptTerminalAsync(string message, AspireTerminal terminal, TerminalInteractionOptions? options = null, CancellationToken cancellationToken = default);
InteractionService.cs (2)
304public async Task<InteractionResult<bool>> PromptTerminalAsync(string message, AspireTerminal terminal, TerminalInteractionOptions? options = null, CancellationToken cancellationToken = default) 321!terminalService.TryGetTerminal(terminal.Id, out var registeredTerminal) ||
Aspire.Hosting.Azure.Tests (3)
tests\Shared\TestInteractionService.cs (3)
24public AspireTerminal? Terminal { get; init; } 92public Task<InteractionResult<bool>> PromptTerminalAsync(string message, AspireTerminal terminal, TerminalInteractionOptions? options = null, CancellationToken cancellationToken = default) 101InteractionType type, string? title, string message, InteractionOptions? options, AspireTerminal? terminal,
Aspire.Hosting.Browsers.Tests (3)
tests\Shared\TestInteractionService.cs (3)
24public AspireTerminal? Terminal { get; init; } 92public Task<InteractionResult<bool>> PromptTerminalAsync(string message, AspireTerminal terminal, TerminalInteractionOptions? options = null, CancellationToken cancellationToken = default) 101InteractionType type, string? title, string message, InteractionOptions? options, AspireTerminal? terminal,
Aspire.Hosting.DevTunnels.Tests (3)
tests\Shared\TestInteractionService.cs (3)
24public AspireTerminal? Terminal { get; init; } 92public Task<InteractionResult<bool>> PromptTerminalAsync(string message, AspireTerminal terminal, TerminalInteractionOptions? options = null, CancellationToken cancellationToken = default) 101InteractionType type, string? title, string message, InteractionOptions? options, AspireTerminal? terminal,
Aspire.Hosting.MongoDB (1)
src\Shared\ContainerReplCommand.cs (1)
51var terminal = terminals.CreateTerminal(execOptions);
Aspire.Hosting.MongoDB.Tests (1)
tests\Shared\ContainerReplCommandTestBase.cs (1)
169await using var terminal = await TerminalCommandTestHelpers.ExecuteTerminalCommandAsync(app, resource, "repl", cancellation.Token);
Aspire.Hosting.MySql (1)
src\Shared\ContainerReplCommand.cs (1)
51var terminal = terminals.CreateTerminal(execOptions);
Aspire.Hosting.MySql.Tests (1)
tests\Shared\ContainerReplCommandTestBase.cs (1)
169await using var terminal = await TerminalCommandTestHelpers.ExecuteTerminalCommandAsync(app, resource, "repl", cancellation.Token);
Aspire.Hosting.PostgreSQL (1)
src\Shared\ContainerReplCommand.cs (1)
51var terminal = terminals.CreateTerminal(execOptions);
Aspire.Hosting.PostgreSQL.Tests (1)
tests\Shared\ContainerReplCommandTestBase.cs (1)
169await using var terminal = await TerminalCommandTestHelpers.ExecuteTerminalCommandAsync(app, resource, "repl", cancellation.Token);
Aspire.Hosting.Redis (1)
src\Shared\ContainerReplCommand.cs (1)
51var terminal = terminals.CreateTerminal(execOptions);
Aspire.Hosting.Redis.Tests (1)
tests\Shared\ContainerReplCommandTestBase.cs (1)
169await using var terminal = await TerminalCommandTestHelpers.ExecuteTerminalCommandAsync(app, resource, "repl", cancellation.Token);
Aspire.Hosting.RemoteHost.Tests (3)
tests\Shared\TestInteractionService.cs (3)
24public AspireTerminal? Terminal { get; init; } 92public Task<InteractionResult<bool>> PromptTerminalAsync(string message, AspireTerminal terminal, TerminalInteractionOptions? options = null, CancellationToken cancellationToken = default) 101InteractionType type, string? title, string message, InteractionOptions? options, AspireTerminal? terminal,
Aspire.Hosting.SqlServer (1)
src\Shared\ContainerReplCommand.cs (1)
51var terminal = terminals.CreateTerminal(execOptions);
Aspire.Hosting.SqlServer.Tests (1)
tests\Shared\ContainerReplCommandTestBase.cs (1)
169await using var terminal = await TerminalCommandTestHelpers.ExecuteTerminalCommandAsync(app, resource, "repl", cancellation.Token);
Aspire.Hosting.Tests (111)
Backchannel\GetTerminalInfoAsyncTests.cs (1)
300var terminal = terminalService.CreateTerminal(new TerminalLaunchOptions
Dashboard\DashboardServiceTests.cs (13)
597await using var terminal = terminals.CreateTerminal(new TerminalLaunchOptions 635Assert.True(terminals.TryGetTerminal(terminal.Id, out var registered)); 651await using var terminal = terminals.CreateTerminal(new TerminalLaunchOptions 1449var added = terminalService.CreateTerminal(new TerminalLaunchOptions 1508await using var terminal = terminalService.CreateTerminal("Ended", TerminalPlacement.Dock, 1581Assert.True(terminalService.TryGetTerminal(ResourceTerminalCatalog.BuildId(resource.Name, 0), out var terminal)); 1589Assert.True(terminalService.TryGetTerminal(terminal.Id, out var registered)); 1606await using var terminal = terminalService.CreateTerminal("Caller-owned", placement, 1618Assert.True(terminalService.TryGetTerminal(terminal.Id, out var registered)); 1637await using var terminal = terminalService.CreateTerminal("Close", TerminalPlacement.Dock, 1664await using var terminal = terminalService.CreateTerminal("Closing", TerminalPlacement.Dock, 1745var terminal = new AspireTerminal(new TestTerminalBackend("blocking") 1822var terminal = new AspireTerminal(new TestTerminalBackend("failing")
Terminals\AspireTerminalTests.cs (9)
28await using var terminal = new AspireTerminal(backend); 56await using var terminal = new AspireTerminal(backend); 82Assert.True(typeof(AspireTerminal).IsPublic); 83Assert.True(typeof(AspireTerminal).IsSealed); 84Assert.Empty(typeof(AspireTerminal).GetConstructors()); 85var constructor = Assert.Single(typeof(AspireTerminal).GetConstructors(BindingFlags.Instance | BindingFlags.NonPublic)); 88Assert.Equal([typeof(IAsyncDisposable)], typeof(AspireTerminal).GetInterfaces()); 95await using var terminal = service.CreateTerminal(new TerminalLaunchOptions 105Assert.True(service.TryGetTerminal(terminal.Id, out var found));
Terminals\Hex1bAspireTerminalTests.cs (17)
42await using var terminal = service.CreateTerminal("Cancellation", TerminalPlacement.None, 116await using var terminal = service.CreateTerminal("Failed input", TerminalPlacement.None, 136await using var terminal = service.CreateTerminal("Initial grid", TerminalPlacement.None, 176await using var terminal = service.CreateTerminal(options); 197await using var terminal = service.CreateTerminal(new TerminalLaunchOptions 278await using var terminal = service.CreateTerminal(options); 295await using var terminal = service.CreateTerminal(new TerminalLaunchOptions 340await using var terminal = service.CreateTerminal("Reflow", placement, 362await using var terminal = service.CreateTerminal("Alternate", TerminalPlacement.Dock, 392await using var terminal = service.CreateTerminal("Ended", TerminalPlacement.Dock, 404Assert.True(service.TryGetTerminal(terminal.Id, out var registered)); 443await using var terminal = service.CreateTerminal("Shared", TerminalPlacement.Dialog, 456Assert.True(service.TryGetTerminal(terminal.Id, out var registered)); 492await using var terminal = service.CreateTerminal("Handshake", TerminalPlacement.Dialog, 544await using var terminal = service.CreateTerminal("Concurrent handshakes", TerminalPlacement.Dock, 588await using var terminal = service.CreateTerminal("Pending handshake", TerminalPlacement.Dock, 605private static void AssertReportedDimensions(AspireTerminal terminal, string marker, int columns, int rows)
Terminals\Hex1bPtySocketTests.cs (3)
74await using var terminal = service.CreateTerminal(new TerminalLaunchOptions 203await using var dock = service.CreateTerminal(new TerminalLaunchOptions 210await using var prompt = service.CreateTerminal(new TerminalLaunchOptions
Terminals\InteractionServiceTerminalTests.cs (21)
26await using var terminal = CreateTerminal(terminals); 38await using var terminal = CreateTerminal(terminals); 52await using var terminal = CreateTerminal(terminals, placement); 66await using var terminal = CreateTerminal(otherService); 78await using var terminal = CreateTerminal(terminals); 92await using var registeredTerminal = CreateTerminal(terminals); 94await using var unregisteredTerminal = new AspireTerminal(backend); 108await using var terminal = CreateTerminal(terminals); 134await using var terminal = CreateTerminal(terminals); 159await using var terminal = CreateTerminal(terminals); 187await using var terminal = CreateTerminal(terminals); 204await using var terminal = CreateTerminal(terminals); 227await using var terminal = CreateTerminal(terminals); 280await using var terminal = CreateTerminal(terminals); 345await using var terminal = CreateTerminal(terminals); 364await using var terminal = terminals.CreateTerminal("Reusable", TerminalPlacement.Dialog, 398await using var terminal = terminals.CreateTerminal("Ending", TerminalPlacement.Dialog, 419private static AspireTerminal CreateTerminal(TerminalService service, TerminalPlacement placement = TerminalPlacement.Dialog) 422private static async Task AssertTerminalRejectedAsync(InteractionService service, AspireTerminal terminal) 438private static void AssertRegistered(TerminalService service, AspireTerminal terminal) 440Assert.True(service.TryGetTerminal(terminal.Id, out var registered));
Terminals\ResourceAspireTerminalTests.cs (7)
37await using var terminal = new ResourceAspireTerminal("resource:test:0", "test", host.SocketPath, NullLogger.Instance).Handle; 57await using var terminal = new ResourceAspireTerminal("resource:test:0", "test", host.SocketPath, NullLogger.Instance).Handle; 71await using var terminal = new ResourceAspireTerminal("resource:test:0", "test", missingSocket, NullLogger.Instance).Handle; 81var terminal = new ResourceAspireTerminal("resource:test:0", "test", Path.Combine(_socketDirectory, "unused.sock"), NullLogger.Instance).Handle; 94await using var terminal = new ResourceAspireTerminal("resource:test:0", "test", socketPath, NullLogger.Instance).Handle; 111await using var terminal = new ResourceAspireTerminal("resource:test:0", "test", socketPath, NullLogger.Instance).Handle; 131await using var terminal = new ResourceAspireTerminal("resource:test:0", "test", socketPath, NullLogger.Instance).Handle;
Terminals\ResourceTerminalCatalogTests.cs (14)
43var terminal = service.CreateTerminal(new TerminalLaunchOptions 120Assert.False(catalog.TryGetTerminal("not-a-resource-terminal", out var terminal)); 132Assert.False(catalog.TryGetTerminal(ResourceTerminalCatalog.BuildId("myapp", 7), out var terminal)); 147Assert.True(catalog.TryGetTerminal(id, out var first)); 148Assert.True(catalog.TryGetTerminal(id, out var second)); 161Assert.True(catalog.TryGetTerminal(id, out var first)); 164Assert.True(catalog.TryGetTerminal(id, out var replacement)); 168Assert.True(catalog.TryGetTerminal(id, out var repeated)); 179Assert.True(catalog.TryGetTerminal(id, out var first)); 184Assert.True(catalog.TryGetTerminal(id, out var handle)); 200Assert.True(catalog.TryGetTerminal(id, out var first)); 207Assert.True(catalog.TryGetTerminal(id, out var replacement)); 234Assert.True(catalog.TryGetTerminal(ResourceTerminalCatalog.BuildId("myapp", 0), out var terminal)); 250Assert.False(catalog.TryGetTerminal(ResourceTerminalCatalog.BuildId("myapp", 0), out var terminal));
Terminals\TerminalKeyInputTests.cs (1)
40await using var terminal = host is not null
Terminals\TerminalServiceTests.cs (21)
30[InlineData(typeof(AspireTerminal))] 183await using var terminal = CreateTerminal(service, placement, useBuilder, "Shell"); 188Assert.True(service.TryGetTerminal(terminal.Id, out var registered)); 210var terminal = CreateInteractionTerminal(service, "Shell"); 219Assert.True(service.TryGetTerminal(terminal.Id, out var found)); 228var first = CreateInteractionTerminal(service, "First"); 229var second = CreateInteractionTerminal(service, "Second"); 276await using var first = service.CreateTerminal(options); 290await using var second = service.CreateTerminal(options); 319Assert.False(service.TryGetTerminal("does-not-exist", out var terminal)); 327var terminal = CreateInteractionTerminal(service, "Shell"); 343var terminal = CreateInteractionTerminal(service, "Shell"); 652var terminal = CreateInteractionTerminal(service, "Shell"); 667foreach (var terminal in terminals) 710var terminal = service.CreateTerminal("Failure", TerminalPlacement.Dock, 737var terminal = service.CreateTerminal("Retiring", TerminalPlacement.Dock, 798var terminal = service.CreateTerminal("Host shutdown", TerminalPlacement.None, 978var dialog = CreateInteractionTerminal(service, "Dialog"); 979var hidden = service.CreateTerminal(new TerminalLaunchOptions 1030private static AspireTerminal CreateTerminal(TerminalService service, TerminalPlacement placement, bool useBuilder, string title) 1040private static AspireTerminal CreateInteractionTerminal(TerminalService service, string title)
tests\Shared\TestInteractionService.cs (3)
24public AspireTerminal? Terminal { get; init; } 92public Task<InteractionResult<bool>> PromptTerminalAsync(string message, AspireTerminal terminal, TerminalInteractionOptions? options = null, CancellationToken cancellationToken = default) 101InteractionType type, string? title, string message, InteractionOptions? options, AspireTerminal? terminal,
WithTerminalTests.cs (1)
33[InlineData(typeof(AspireTerminal))]
Aspire.Hosting.TestUtilities (2)
Utils\TerminalCommandTestHelpers.cs (2)
13public static async Task<AspireTerminal> ExecuteTerminalCommandAsync( 36Assert.True(terminals.TryGetTerminal(activation.Terminal.Id, out var terminal));
Aspire.Hosting.Valkey (1)
src\Shared\ContainerReplCommand.cs (1)
51var terminal = terminals.CreateTerminal(execOptions);
Aspire.Hosting.Valkey.Tests (1)
tests\Shared\ContainerReplCommandTestBase.cs (1)
169await using var terminal = await TerminalCommandTestHelpers.ExecuteTerminalCommandAsync(app, resource, "repl", cancellation.Token);
Terminals.AppHost (10)
TerminalInteractionCommands.cs (10)
53await using var terminal = terminalService.CreateTerminal(new TerminalLaunchOptions 132await using var terminal = terminalService.CreateTerminal(new TerminalLaunchOptions 175var terminal = terminalService.CreateTerminal(new TerminalLaunchOptions 220var terminal = terminalService.CreateTerminal(new TerminalLaunchOptions 252var terminal = terminalService.CreateTerminal(new TerminalLaunchOptions 273/// <see cref="AspireTerminal"/>'s automation members lets AppHost code answer those prompts itself while the 323await using var terminal = terminalService.CreateTerminal(BuildNumberGuessLaunchOptions(limit)); 411if (!terminalService.TryGetTerminal(terminalId, out var terminal)) 447private static async Task<(int Number, int Attempts)> PlayNumberGuessAsync(AspireTerminal terminal, int limit, CancellationToken cancellationToken) 491private static async Task<NumberGuessReply> ReadReplyAsync(AspireTerminal terminal, int attempt, int guess, CancellationToken cancellationToken)