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