160 references to DiscoveryState
Aspire.Tray.Tests (160)
CliAppHostClientTests.cs (21)
51
Assert.Equal(
DiscoveryState
.Connecting, stream.Current.Discovery);
53
Assert.Equal(
DiscoveryState
.Live, stream.Current.Discovery);
69
Assert.Equal(
DiscoveryState
.Live, stream.Current.Discovery);
72
Assert.Equal(
DiscoveryState
.Disconnected, stream.Current.Discovery);
90
Assert.Equal(
DiscoveryState
.Incompatible, stream.Current.Discovery);
110
Assert.Equal(
DiscoveryState
.Live, stream.Current.Discovery);
126
Assert.Equal(
DiscoveryState
.Disconnected, stream.Current.Discovery);
141
Assert.Equal(
DiscoveryState
.LimitExceeded, stream.Current.Discovery);
163
Assert.Equal(
DiscoveryState
.Disconnected, stream.Current.Discovery);
165
Assert.Equal(
DiscoveryState
.Connecting, stream.Current.Discovery);
168
Assert.Equal(
DiscoveryState
.Live, stream.Current.Discovery);
186
Assert.Equal(
DiscoveryState
.Disconnected, stream.Current.Discovery);
220
Assert.Equal(
DiscoveryState
.Connecting, stream.Current.Discovery);
225
Assert.Equal(
DiscoveryState
.Live, stream.Current.Discovery);
227
Assert.Equal(
DiscoveryState
.Disconnected, stream.Current.Discovery);
233
Assert.Equal(
DiscoveryState
.Connecting, stream.Current.Discovery);
255
Assert.Equal(
DiscoveryState
.Disconnected, stream.Current.Discovery);
260
Assert.Equal(
DiscoveryState
.Live, stream.Current.Discovery);
265
Assert.Equal(
DiscoveryState
.Live, stream.Current.Discovery);
267
Assert.Equal(
DiscoveryState
.Disconnected, stream.Current.Discovery);
273
Assert.Equal(
DiscoveryState
.Connecting, stream.Current.Discovery);
CliProtocolTests.cs (2)
15
Assert.Equal(
DiscoveryState
.Live, snapshot.Discovery);
103
Assert.Equal(
DiscoveryState
.Live, snapshot.Discovery);
Helpers\TrayPanelSamples.cs (6)
34
public static TrayViewState Typical() => new(
DiscoveryState
.Live,
51
public static TrayViewState Empty() => new(
DiscoveryState
.Live, [], "No AppHosts running")
61
public static TrayViewState Connecting() => new(
DiscoveryState
.Connecting, [], "Connecting to Aspire...");
63
public static TrayViewState Errors() => new(
DiscoveryState
.Live,
76
public static TrayViewState Disconnected() => new(
DiscoveryState
.Disconnected,
83
public static TrayViewState Many(int count = 14) => new(
DiscoveryState
.Live,
src\Aspire.Tray\Common\CliAppHostClient.cs (5)
45
var latest = new AppHostSnapshot([],
DiscoveryState
.Connecting);
50
yield return latest with { Discovery =
DiscoveryState
.Connecting };
86
yield return latest with { Discovery =
DiscoveryState
.LimitExceeded };
91
yield return latest with { Discovery =
DiscoveryState
.Incompatible };
94
yield return latest with { Discovery =
DiscoveryState
.Disconnected };
src\Aspire.Tray\Common\CliProtocol.cs (1)
64
.ThenBy(host => host.AppHostPid).ToArray(),
DiscoveryState
.Live);
src\Aspire.Tray\Common\IAppHostClient.cs (2)
41
internal sealed record AppHostSnapshot(IReadOnlyList<AppHostInfo> AppHosts,
DiscoveryState
Discovery);
85
DiscoveryState
Discovery,
src\Aspire.Tray\Common\TrayController.cs (14)
21
private AppHostSnapshot _snapshot = new([],
DiscoveryState
.Connecting);
22
private TrayViewState _state = new(
DiscoveryState
.Connecting, [], "Connecting to Aspire...");
236
if (_snapshot.Discovery !=
DiscoveryState
.Live)
265
if (_snapshot.Discovery !=
DiscoveryState
.Live)
285
if (!_shutdown.IsCancellationRequested && State.Discovery is not (
DiscoveryState
.Incompatible or
DiscoveryState
.LimitExceeded))
308
snapshot = _snapshot with { Discovery =
DiscoveryState
.Disconnected };
321
if (snapshot.Discovery ==
DiscoveryState
.Live)
492
if (_snapshot.Discovery !=
DiscoveryState
.Live)
569
var live = _snapshot.Discovery ==
DiscoveryState
.Live;
613
DiscoveryState
.Disconnected => "Discovery is unavailable. Reconnecting\u2026",
614
DiscoveryState
.Incompatible => "This tray does not match the installed Aspire CLI. Use the matching Aspire build.",
615
DiscoveryState
.LimitExceeded => "Discovery limit exceeded: too many AppHosts or too much metadata.",
620
?? (_snapshot.Discovery ==
DiscoveryState
.Connecting ? "Connecting to Aspire..." : null)
src\Aspire.Tray\Common\TrayIconStatus.cs (3)
24
DiscoveryState
.Connecting => TrayIconStatus.Connecting,
25
DiscoveryState
.Live when !state.HasActiveAppHosts => TrayIconStatus.Idle,
26
DiscoveryState
.Live => NeedsAttention(state) ? TrayIconStatus.Attention : TrayIconStatus.Running,
src\Aspire.Tray\Common\TrayPanel.cs (9)
746
var live = state.Discovery ==
DiscoveryState
.Live;
1106
private void AddEmptyState(List<PanelCommand> commands,
DiscoveryState
discovery, double top, TrayPanelPalette palette)
1110
DiscoveryState
.Live => ("No AppHosts running", "Run “aspire run” in a project, or pin one to keep it here."),
1111
DiscoveryState
.Connecting => ("Looking for AppHosts…", "Connecting to the Aspire CLI."),
1115
if (discovery ==
DiscoveryState
.Connecting)
1588
case
DiscoveryState
.Connecting:
1590
case
DiscoveryState
.Disconnected:
1592
case
DiscoveryState
.Incompatible:
1594
case
DiscoveryState
.LimitExceeded:
TrayControllerPinPruningTests.cs (15)
36
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
58
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
60
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Disconnected));
65
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
87
await client.PublishAndWaitAsync(controller, new([host],
DiscoveryState
.Live));
96
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Disconnected));
98
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
116
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
143
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
166
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
176
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
179
await client.PublishAndWaitAsync(controller, new([host],
DiscoveryState
.Live));
181
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
205
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
270
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
TrayControllerPreferencesTests.cs (5)
100
await client.PublishAndWaitAsync(controller, new(hosts,
DiscoveryState
.Live));
101
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
126
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
143
await client.PublishAndWaitAsync(controller, new([host],
DiscoveryState
.Live));
146
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
TrayControllerSavedStateTests.cs (42)
26
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
70
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
76
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Disconnected));
84
await client.PublishAndWaitAsync(controller, new([running],
DiscoveryState
.Live));
105
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
117
await client.PublishAndWaitAsync(controller, new([Host(42) with { AppHostPath = path }],
DiscoveryState
.Live));
132
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
137
await client.PublishAndWaitAsync(controller, new([Host(42) with { AppHostPath = path }],
DiscoveryState
.Live));
138
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
161
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
199
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
215
await client.PublishAndWaitAsync(controller, new([first],
DiscoveryState
.Live));
232
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
248
await client.PublishAndWaitAsync(controller, new([replacement],
DiscoveryState
.Live));
256
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
272
await client.PublishAndWaitAsync(controller, new([first, second],
DiscoveryState
.Live));
278
await client.PublishAndWaitAsync(controller, new([second],
DiscoveryState
.Live));
280
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
297
await client.PublishAndWaitAsync(controller, new([host],
DiscoveryState
.Live));
304
await client.PublishAndWaitAsync(controller, new([host],
DiscoveryState
.Live));
305
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Disconnected));
306
await client.PublishAndWaitAsync(controller, new([host],
DiscoveryState
.Live));
309
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
316
await client.PublishAndWaitAsync(controller, new([replacement],
DiscoveryState
.Live));
318
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
336
await client.PublishAndWaitAsync(controller, new([host],
DiscoveryState
.Live));
347
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
362
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
374
await client.PublishAndWaitAsync(controller, new([running],
DiscoveryState
.Live));
394
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
415
await client.PublishAndWaitAsync(controller, new([running],
DiscoveryState
.Live));
433
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
455
await client.PublishAndWaitAsync(controller, new([host],
DiscoveryState
.Live));
457
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Disconnected));
478
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
508
await client.PublishAndWaitAsync(controller, new([host],
DiscoveryState
.Live));
525
await client.PublishAndWaitAsync(controller, new([host],
DiscoveryState
.Live));
541
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
544
await client.PublishAndWaitAsync(controller, new([replacement],
DiscoveryState
.Live));
545
await client.PublishAndWaitAsync(controller, new([replacement],
DiscoveryState
.Disconnected));
547
await client.PublishAndWaitAsync(controller, new([replacement],
DiscoveryState
.Incompatible));
560
await client.PublishAndWaitAsync(controller, new([],
DiscoveryState
.Live));
TrayControllerTests.cs (19)
17
Assert.Equal(
DiscoveryState
.Connecting, controller.State.Discovery);
22
client.Publish(new([],
DiscoveryState
.Live));
23
await WaitForStateAsync(controller, state => state.Discovery ==
DiscoveryState
.Live);
26
client.Publish(new([],
DiscoveryState
.Disconnected));
27
await WaitForStateAsync(controller, state => state.Discovery ==
DiscoveryState
.Disconnected);
33
[InlineData((int)
DiscoveryState
.Incompatible, "This tray does not match the installed Aspire CLI. Use the matching Aspire build.")]
34
[InlineData((int)
DiscoveryState
.LimitExceeded, "Discovery limit exceeded: too many AppHosts or too much metadata.")]
42
client.Publish(new([], (
DiscoveryState
)discovery));
43
await WaitForStateAsync(controller, state => state.Discovery == (
DiscoveryState
)discovery);
56
client.Publish(new([first, second],
DiscoveryState
.Live));
81
client.Publish(new([],
DiscoveryState
.Live));
94
client.Publish(new([first, second],
DiscoveryState
.Live));
99
client.Publish(new([second, updated],
DiscoveryState
.Live));
105
client.Publish(new([replacement, second],
DiscoveryState
.Live));
123
client.Publish(new([known, unknown],
DiscoveryState
.Live));
133
client.Publish(new([known, unknown],
DiscoveryState
.Disconnected));
134
await WaitForStateAsync(controller, state => state.Discovery ==
DiscoveryState
.Disconnected);
153
client.Publish(new([first, second],
DiscoveryState
.Live));
182
client.Publish(new([first, second],
DiscoveryState
.Live));
TrayIconStatusTests.cs (11)
21
var state = new TrayViewState(
DiscoveryState
.Live,
33
var state = new TrayViewState(
DiscoveryState
.Live, [TrayPanelSamples.Running("/src/A/A.AppHost.csproj", 1, (AppHostHealth)health)], "");
42
var failedStop = new TrayViewState(
DiscoveryState
.Live, [running with { Error = "Stop timed out." }], "");
43
var notice = new TrayViewState(
DiscoveryState
.Live, [running], "") { Notice = "Unable to save AppHost history." };
44
var noticeWhileIdle = new TrayViewState(
DiscoveryState
.Live, [], "") { Notice = "Unable to save AppHost history." };
54
var state = new TrayViewState(
DiscoveryState
.Live, [TrayPanelSamples.Offline("/src/A/A.cs", starting: true)], "");
60
[InlineData((int)
DiscoveryState
.Connecting, (int)TrayIconStatus.Connecting)]
61
[InlineData((int)
DiscoveryState
.Disconnected, (int)TrayIconStatus.Unavailable)]
62
[InlineData((int)
DiscoveryState
.Incompatible, (int)TrayIconStatus.Unavailable)]
63
[InlineData((int)
DiscoveryState
.LimitExceeded, (int)TrayIconStatus.Unavailable)]
66
var state = new TrayViewState((
DiscoveryState
)discovery, [TrayPanelSamples.Running("/src/A/A.AppHost.csproj", 1)], "");
TrayPanelTests.cs (5)
796
[InlineData((int)
DiscoveryState
.Connecting, "Connecting…")]
797
[InlineData((int)
DiscoveryState
.Disconnected, "Reconnecting…")]
798
[InlineData((int)
DiscoveryState
.Incompatible, "Incompatible CLI")]
799
[InlineData((int)
DiscoveryState
.LimitExceeded, "Discovery limit exceeded")]
802
var (text, _) = TrayPanel.GetHeaderStatus(new((
DiscoveryState
)discovery, [], ""), TrayPanelPalette.Light);