743 references to Snapshot
Aspire.Hosting (67)
ApplicationModel\CommandsConfigurationExtensions.cs (5)
218
preRebuildStates[name] = evt.
Snapshot
.State?.Text;
286
if (terminalEvent.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart)
297
exitCode = terminalEvent.
Snapshot
.ExitCode;
435
var state = resourceEvent.
Snapshot
.State?.Text;
438
(KnownResourceStates.TerminalStates.Contains(state) && resourceEvent.
Snapshot
.ExitCode is not null));
ApplicationModel\ResourceNotificationService.cs (19)
128
re => re.
Snapshot
.State?.Text is { Length: > 0 } stateText && targetStates.Contains(stateText, StringComparers.ResourceState),
138
var finalState = resourceEvent.
Snapshot
.State!.Text!;
162
re => re.ResourceId == resourceId && re.
Snapshot
.HealthStatus == HealthStatus.Healthy,
172
re => re.ResourceId == resourceId && re.
Snapshot
.ResourceReadyEvent is not null,
178
await resourceEvent.
Snapshot
.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false);
261
re => ShouldYieldHealthyWait(waitBehavior, re.
Snapshot
),
275
if (resourceEvent.
Snapshot
.HealthStatus != HealthStatus.Healthy)
284
re => re.ResourceId == resourceEvent.ResourceId && re.
Snapshot
.ResourceReadyEvent is not null,
297
var eventTask = resourceEvent.
Snapshot
.ResourceReadyEvent!.EventTask;
358
re => re.ResourceId == resourceId && IsKnownTerminalState(re.
Snapshot
),
362
var snapshot = resourceEvent.
Snapshot
;
422
re => re.ResourceId == resourceId && IsContinuableState(waitBehavior, re.
Snapshot
),
426
var snapshot = resourceEvent.
Snapshot
;
854
if (versionsSeen.TryGetValue(item.ResourceId, out var maxVersionSeen) && item.
Snapshot
.Version <= maxVersionSeen)
1348
if (TryGetCurrentState(resourceName, out var evt) && evt.
Snapshot
!= null)
1350
var snapshot = evt.
Snapshot
;
1390
error.Append(CultureInfo.InvariantCulture, $" - {dependencyName}: State = {dependencyEvent.
Snapshot
.State?.Text ?? "(null)"}");
1391
error.Append(CultureInfo.InvariantCulture, $", Health = {dependencyEvent.
Snapshot
.HealthStatus?.ToString() ?? "(null)"}");
1392
if (dependencyEvent.
Snapshot
.ExitCode is { } exitCode)
Ats\NotificationExports.cs (4)
155
State = resourceEvent.
Snapshot
.State?.Text,
156
StateStyle = resourceEvent.
Snapshot
.State?.Style,
157
HealthStatus = resourceEvent.
Snapshot
.HealthStatus?.ToString(),
158
ExitCode = resourceEvent.
Snapshot
.ExitCode
Backchannel\AppHostRpcTarget.cs (4)
147
var healthStatus = CustomResourceSnapshot.ComputeHealthStatus(resourceEvent.
Snapshot
.HealthReports, resourceEvent.
Snapshot
.State?.Text);
152
Type = resourceEvent.
Snapshot
.ResourceType,
153
State = resourceEvent.
Snapshot
.State?.Text ?? "Unknown",
Backchannel\AuxiliaryBackchannelRpcTarget.cs (18)
703
re => ResourceNotificationService.ShouldYieldHealthyWait(WaitBehavior.StopOnResourceUnavailable, re.
Snapshot
),
707
if (resourceEvent.
Snapshot
.HealthStatus != HealthStatus.Healthy)
715
re => re.
Snapshot
.ResourceReadyEvent is not null,
719
await resourceEvent.
Snapshot
.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false);
724
State = resourceEvent.
Snapshot
.State?.Text,
725
HealthStatus = resourceEvent.
Snapshot
.HealthStatus?.ToString()
734
re => re.
Snapshot
.State?.Text == KnownResourceStates.Running ||
735
KnownResourceStates.TerminalStates.Contains(re.
Snapshot
.State?.Text, StringComparers.ResourceState) ||
736
string.Equals(re.
Snapshot
.State?.Style, KnownResourceStateStyles.Error, StringComparisons.ResourceState) ||
737
re.
Snapshot
.ExitCode is not null,
741
var state = resourceEvent.
Snapshot
.State?.Text;
748
HealthStatus = resourceEvent.
Snapshot
.HealthStatus?.ToString(),
758
re => KnownResourceStates.TerminalStates.Contains(re.
Snapshot
.State?.Text) || re.
Snapshot
.ExitCode is not null,
765
State = resourceEvent.
Snapshot
.State?.Text,
766
HealthStatus = resourceEvent.
Snapshot
.HealthStatus?.ToString()
1074
var snapshot = resourceEvent.
Snapshot
;
1765
return notificationService.TryGetCurrentState(resourceName, out var resourceEvent) && resourceEvent.
Snapshot
.IsHidden;
Dashboard\DashboardServiceData.cs (1)
101
var snapshot = CreateResourceSnapshot(@event.Resource, @event.ResourceId, timestamp, @event.
Snapshot
);
Devcontainers\Codespaces\CodespacesResourceUrlRewriterService.cs (2)
32
foreach (var originalUrlSnapshot in resourceEvent.
Snapshot
.Urls)
57
var transformedUrls = from originalUrl in resourceEvent.
Snapshot
.Urls
Diagnostics\ProfilingTelemetry.cs (1)
1098
var snapshot = resourceEvent.
Snapshot
;
DistributedApplication.cs (1)
848
results.Add(new() { Resource = resource, Snapshot = resourceEvent?.
Snapshot
});
Health\ResourceHealthCheckService.cs (8)
42
if (resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running)
73
else if (KnownResourceStates.TerminalStates.Contains(resourceEvent.
Snapshot
.State?.Text))
85
&& KnownResourceStates.TerminalStates.Contains(evt.
Snapshot
.State?.Text));
191
if (ContainsAnyHealthReportChange(report, currentEvent.
Snapshot
.HealthReports))
401
if (currentEvent.
Snapshot
.Version <= previousEvent.
Snapshot
.Version)
405
if (currentEvent.
Snapshot
.State?.Text == previousEvent.
Snapshot
.State?.Text)
Lifecycle\TerminalHostFailureDiagnosticService.cs (3)
66
var state = evt.
Snapshot
.State?.Text;
75
&& evt.
Snapshot
.ExitCode is 0)
85
await SurfaceFailureAsync(host, evt.
Snapshot
, stoppingToken).ConfigureAwait(false);
Orchestrator\ApplicationOrchestrator.cs (1)
162
if (e.
Snapshot
.State?.Text == KnownResourceStates.Waiting)
Aspire.Hosting.Azure (5)
AzureProvisioningController.cs (5)
2257
environmentEvent.
Snapshot
.State?.Text != KnownResourceStates.Running)
3269
return resourceEvent.
Snapshot
.Properties
3513
return resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running;
3966
string.Equals(currentEvent.
Snapshot
.State?.Text, state, StringComparison.Ordinal);
3972
currentEvent.
Snapshot
.State is { Text: { } stateText } currentState &&
Aspire.Hosting.Azure.EntraId.Tests (19)
EntraIdInitializationTests.cs (19)
257
Assert.Equal("Missing subscription configuration", resourceEvent.
Snapshot
.State?.Text);
281
update => update.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart, cts.Token);
291
update => update.
Snapshot
.Properties.Any(property => property.Name == "entra.client.id" && Equals(property.Value, ClientId)),
294
Assert.Equal(KnownResourceStates.Running, ready.
Snapshot
.State?.Text);
295
Assert.Equal(new[] { "OpenID Config", "Azure Portal" }, ready.
Snapshot
.Urls.Select(url => url.Name));
296
Assert.Equal(TenantId, ready.
Snapshot
.Properties.Single(property => property.Name == "entra.tenant.id").Value);
326
update => update.
Snapshot
.Properties.Any(property => property.Name == "entra.client.id"), cts.Token);
337
update => update.
Snapshot
.State?.Text == KnownResourceStates.Running &&
338
update.
Snapshot
.Properties.Any(property => property.Name == "entra.client.id" && Equals(property.Value, updatedClient)),
341
Assert.Equal(new[] { "docs", "OpenID Config", "Azure Portal" }, ready.
Snapshot
.Urls.Select(url => url.Name));
343
ready.
Snapshot
.Properties.Select(property => property.Name));
344
Assert.Equal(updatedTenant, ready.
Snapshot
.Properties.Single(property => property.Name == "entra.tenant.id").Value);
346
ready.
Snapshot
.Urls.Single(url => url.Name == "OpenID Config").Url);
349
ready.
Snapshot
.Urls.Single(url => url.Name == "Azure Portal").Url);
383
update => update.
Snapshot
.Properties.Any(property => property.Name == "entra.client.id"), cts.Token);
504
update => update.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart ||
505
update.
Snapshot
.Properties.Any(property => property.Name == "entra.client.id"),
507
return update.
Snapshot
;
518
return resourceEvent.
Snapshot
;
Aspire.Hosting.Azure.Tests (141)
AzureBicepProvisionerTests.cs (29)
110
var parentProperty = resourceEvent.
Snapshot
.Properties.FirstOrDefault(x => x.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
849
AssertHighlightedContextProperty(resourceEvent.
Snapshot
.Properties, "azure.subscription.id", "12345678-1234-1234-1234-123456789012", AzureProvisioningStrings.ContextPropertySubscriptionIdDisplayName);
850
AssertHighlightedContextProperty(resourceEvent.
Snapshot
.Properties, "azure.resource.group", "test-rg", AzureProvisioningStrings.ContextPropertyResourceGroupDisplayName);
851
AssertHighlightedContextProperty(resourceEvent.
Snapshot
.Properties, "azure.tenant.id", "87654321-4321-4321-4321-210987654321", AzureProvisioningStrings.ContextPropertyTenantIdDisplayName);
852
AssertHighlightedContextProperty(resourceEvent.
Snapshot
.Properties, "azure.tenant.domain", "testdomain.onmicrosoft.com", AzureProvisioningStrings.ContextPropertyTenantDomainDisplayName);
853
AssertHighlightedContextProperty(resourceEvent.
Snapshot
.Properties, "azure.location", "westus3", AzureProvisioningStrings.ContextPropertyLocationDisplayName);
854
Assert.Equal("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == CustomResourceKnownProperties.Source).Value?.ToString());
883
Assert.Equal("87654321-4321-4321-4321-210987654321", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.tenant.id").Value?.ToString());
884
Assert.Equal("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage2", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == CustomResourceKnownProperties.Source).Value?.ToString());
921
Assert.Equal("87654321-4321-4321-4321-210987654321", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.tenant.id").Value?.ToString());
922
Assert.Equal(expectedDeploymentId, resourceEvent.
Snapshot
.Properties.Single(p => p.Name == CustomResourceKnownProperties.Source).Value?.ToString());
923
Assert.Equal(BicepProvisioner.GetDeploymentUrl(new ResourceIdentifier(expectedDeploymentId)), resourceEvent.
Snapshot
.Urls.Single(u => u.Name == "deployment").Url);
1035
Assert.Equal("12345678-1234-1234-1234-123456789012", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.subscription.id").Value?.ToString());
1036
Assert.Equal("test-rg", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.resource.group").Value?.ToString());
1037
Assert.Equal("87654321-4321-4321-4321-210987654321", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.tenant.id").Value?.ToString());
1038
Assert.Equal("microsoft.onmicrosoft.com", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.tenant.domain").Value?.ToString());
1039
Assert.Equal("westus2", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.location").Value?.ToString());
1040
Assert.Equal("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage2", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == CustomResourceKnownProperties.Source).Value?.ToString());
1086
Assert.Equal("scoped-rg", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.resource.group").Value?.ToString());
1277
Assert.Equal("Azure deployment failed", resourceEvent.
Snapshot
.State?.Text);
1279
resourceEvent.
Snapshot
.Properties,
1323
resourceEvent.
Snapshot
.Properties.Where(static property =>
1392
Assert.Equal("Azure deployment failed", resourceEvent.
Snapshot
.State?.Text);
1393
Assert.DoesNotContain(resourceEvent.
Snapshot
.Properties, p => p.Name.StartsWith("azure.deployment.operations.", StringComparison.Ordinal));
1394
Assert.Equal(AzureProvisioningFailureDetails.LocationNotAvailableForResourceTypeErrorCode, resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.code").Value);
1395
Assert.Equal("australiacentral", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.current.location").Value);
1396
var supportedLocations = Assert.IsType<string[]>(resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.supported.locations").Value);
1860
Assert.Equal("Azure deployment canceled", resourceEvent.
Snapshot
.State?.Text);
1899
var property = Assert.Single(resourceEvent.
Snapshot
.Properties, p => p.Name == "azure.resource.group");
AzureEnvironmentResourceExtensionsTests.cs (112)
121
Assert.Equal(KnownResourceStates.Running, directorySnapshot.
Snapshot
.State?.Text);
122
Assert.Single(directorySnapshot.
Snapshot
.Urls);
677
Assert.Equal(KnownResourceStates.NotStarted, environmentEvent.
Snapshot
.State?.Text);
678
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Enabled, command.State));
681
Assert.Equal(KnownResourceStates.NotStarted, storageEvent.
Snapshot
.State?.Text);
682
Assert.Empty(storageEvent.
Snapshot
.Urls);
683
Assert.DoesNotContain(storageEvent.
Snapshot
.Properties, p => p.Name == "azure.subscription.id");
684
Assert.DoesNotContain(storageEvent.
Snapshot
.Properties, p => p.Name == CustomResourceKnownProperties.Source);
685
Assert.Contains(storageEvent.
Snapshot
.Properties, p => p.Name == "custom.property");
793
Assert.Equal("Running", storageEvent.
Snapshot
.State?.Text);
866
Assert.Equal(KnownResourceStates.Running, storageEvent.
Snapshot
.State?.Text);
1027
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.ChangeResourceLocationCommandName, ResourceCommandState.Hidden);
1028
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.GetAzureResourceCommandName, ResourceCommandState.Enabled);
1029
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Hidden);
1030
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.DeleteAzureResourceCommandName, ResourceCommandState.Enabled);
1031
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.ForgetStateCommandName, ResourceCommandState.Enabled);
1032
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.ReprovisionResourceCommandName, ResourceCommandState.Enabled);
1062
AssertCommandState(postgresEvent.
Snapshot
, AzureProvisioningController.ChangeResourceLocationCommandName, ResourceCommandState.Enabled);
1704
Assert.Equal("Canceled", storageEvent.
Snapshot
.State?.Text);
1740
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.ChangeResourceLocationCommandName, ResourceCommandState.Disabled);
1741
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.GetAzureResourceCommandName, ResourceCommandState.Enabled);
1742
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Enabled);
1743
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.DeleteAzureResourceCommandName, ResourceCommandState.Disabled);
1744
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.ForgetStateCommandName, ResourceCommandState.Disabled);
1745
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.ReprovisionResourceCommandName, ResourceCommandState.Disabled);
1817
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Enabled);
1987
var cancelCommand = Assert.Single(storageEvent.
Snapshot
.Commands, c => c.Name == AzureProvisioningController.CancelCommandName);
2042
Assert.Equal(KnownResourceStates.Running, storageEvent.
Snapshot
.State?.Text);
2145
Assert.Equal(KnownResourceStates.NotStarted, storageEvent.
Snapshot
.State?.Text);
2148
Assert.Equal(KnownResourceStates.Running, storage2Event.
Snapshot
.State?.Text);
2227
Assert.Equal(KnownResourceStates.NotStarted, keyVaultEvent.
Snapshot
.State?.Text);
2290
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State));
2293
Assert.Equal("Deleting", storageEvent.
Snapshot
.State?.Text);
2294
AssertAffectedResourceCommandsDuringOperation(storageEvent.
Snapshot
);
2297
AssertUnaffectedResourceCommandsDuringOperation(storage2Event.
Snapshot
);
2381
Assert.Equal("Canceled", storageEvent.
Snapshot
.State?.Text);
2454
Assert.Equal(KnownResourceStates.NotStarted, storageEvent.
Snapshot
.State?.Text);
2455
Assert.DoesNotContain(storageEvent.
Snapshot
.Properties, p => p.Name == CustomResourceKnownProperties.Source);
2456
Assert.Contains(storageEvent.
Snapshot
.Properties, p => p.Name == "custom.property");
2459
Assert.Equal(KnownResourceStates.Running, storage2Event.
Snapshot
.State?.Text);
2460
Assert.Contains(storage2Event.
Snapshot
.Properties, p => p.Name == CustomResourceKnownProperties.Source);
2516
Assert.Equal("Running", storageEvent.
Snapshot
.State?.Text);
2519
Assert.Equal(KnownResourceStates.Running, storage2Event.
Snapshot
.State?.Text);
2565
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State));
2568
AssertAffectedResourceCommandsDuringOperation(storageEvent.
Snapshot
);
2571
AssertUnaffectedResourceCommandsDuringOperation(storage2Event.
Snapshot
);
2579
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Enabled, command.State));
2582
AssertUnaffectedResourceCommandsDuringOperation(storageEvent.
Snapshot
);
2625
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State));
2628
AssertAffectedResourceCommandsDuringOperation(storageEvent.
Snapshot
);
2637
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Enabled, command.State));
2640
AssertUnaffectedResourceCommandsDuringOperation(storageEvent.
Snapshot
);
2779
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Enabled);
2796
Assert.Equal("Canceling", storageEvent.
Snapshot
.State?.Text);
2797
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Disabled);
2799
Assert.Equal("Canceling", blobsEvent.
Snapshot
.State?.Text);
2808
Assert.Equal("Canceled", storageEvent.
Snapshot
.State?.Text);
2809
Assert.DoesNotContain(storageEvent.
Snapshot
.Properties, p => p.Name == AzureResourceProperties.OperationName);
2858
AssertCommandState(runningStorage2Event.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Hidden);
2875
storageEvent.
Snapshot
.State?.Text is "Canceling" or "Canceled",
2876
$"Expected storage to be canceling or canceled, but it was '{storageEvent.
Snapshot
.State?.Text}'.");
2878
Assert.Equal("Running", storage2Event.
Snapshot
.State?.Text);
2883
Assert.Equal("Running", storage2Event.
Snapshot
.State?.Text);
3045
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State));
3048
var storageSnapshot = storageEvent.
Snapshot
;
3057
AssertUnaffectedResourceCommandsDuringOperation(storage2Event.
Snapshot
);
3058
Assert.DoesNotContain(storage2Event.
Snapshot
.Properties, property => property.Name == AzureResourceProperties.OperationName);
3358
Assert.Equal(KnownResourceStates.Running, storageEvent.
Snapshot
.State?.Text);
3803
Assert.Equal(KnownResourceStates.Running, environmentEvent.
Snapshot
.State?.Text);
3804
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.subscription.id", "12345678-1234-1234-1234-123456789012", AzureProvisioningStrings.ContextPropertySubscriptionIdDisplayName);
3805
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.resource.group", "cli-rg-é", AzureProvisioningStrings.ContextPropertyResourceGroupDisplayName);
3806
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.location", "westus3", AzureProvisioningStrings.ContextPropertyLocationDisplayName);
3807
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.tenant.id", "87654321-4321-4321-4321-210987654321", AzureProvisioningStrings.ContextPropertyTenantIdDisplayName);
3856
Assert.DoesNotContain(environmentEvent.
Snapshot
.Properties, p => p.Name == "azure.tenant.id");
4254
Assert.Equal("Running", keyVaultEvent.
Snapshot
.State?.Text);
4358
Assert.Equal("Failed to Provision", keyVaultEvent.
Snapshot
.State?.Text);
4359
Assert.Equal(AzureProvisioningFailureDetails.KeyVaultDeletedStateTombstoneNotFoundReason, keyVaultEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.code").Value?.ToString());
4360
var snapshotRecommendedActions = Assert.IsType<string[]>(keyVaultEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.recommendedActions").Value);
4565
Assert.Equal("Failed to Provision", storageEvent.
Snapshot
.State?.Text);
4567
storageEvent.
Snapshot
.Properties.Where(property => AzureProvisioningFailureDetails.IsFailureProperty(property.Name)),
4573
Assert.Equal("Microsoft.ManagedIdentity", storageEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.provider").Value?.ToString());
4574
Assert.Equal("Microsoft.ManagedIdentity/userAssignedIdentities", storageEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.resource.type").Value?.ToString());
4575
Assert.Equal("LocationNotAvailableForResourceType", storageEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.code").Value?.ToString());
4576
Assert.Equal(400, storageEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.http.status").Value);
4577
var snapshotRecommendedActions = Assert.IsType<string[]>(storageEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.recommendedActions").Value);
4651
Assert.Equal(AzureProvisioningController.DriftedState, environmentEvent.
Snapshot
.State?.Text);
4652
Assert.Equal(KnownResourceStateStyles.Error, environmentEvent.
Snapshot
.State?.Style);
4653
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.subscription.id", "12345678-1234-1234-1234-123456789012", AzureProvisioningStrings.ContextPropertySubscriptionIdDisplayName);
4654
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.resource.group", "test-rg", AzureProvisioningStrings.ContextPropertyResourceGroupDisplayName);
4655
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.location", "westus2", AzureProvisioningStrings.ContextPropertyLocationDisplayName);
4656
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.tenant.id", "87654321-4321-4321-4321-210987654321", AzureProvisioningStrings.ContextPropertyTenantIdDisplayName);
4657
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.tenant.domain", "testdomain.onmicrosoft.com", AzureProvisioningStrings.ContextPropertyTenantDomainDisplayName);
4660
Assert.Equal(AzureProvisioningController.MissingInAzureState, resourceEvent.
Snapshot
.State?.Text);
4661
Assert.Equal(KnownResourceStateStyles.Error, resourceEvent.
Snapshot
.State?.Style);
4704
Assert.Equal(KnownResourceStates.Running, environmentEvent.
Snapshot
.State?.Text);
4707
Assert.Equal(KnownResourceStates.Running, resourceEvent.
Snapshot
.State?.Text);
4763
Assert.Equal(AzureProvisioningController.DriftedState, environmentEvent.
Snapshot
.State?.Text);
4766
Assert.Equal(KnownResourceStates.Running, storageEvent.
Snapshot
.State?.Text);
4769
Assert.Equal(AzureProvisioningController.MissingInAzureState, storage2Event.
Snapshot
.State?.Text);
4770
Assert.Equal(KnownResourceStateStyles.Error, storage2Event.
Snapshot
.State?.Style);
4806
Assert.Equal(KnownResourceStates.Running, environmentEvent.
Snapshot
.State?.Text);
4809
Assert.Equal(KnownResourceStates.Running, resourceEvent.
Snapshot
.State?.Text);
5003
Assert.Equal("Failed to Delete", environmentEvent.
Snapshot
.State?.Text);
5070
Assert.Equal("Failed to Provision", storageEvent.
Snapshot
.State?.Text);
5073
Assert.Equal("Failed to Provision", storageRolesEvent.
Snapshot
.State?.Text);
5141
Assert.Equal(AzureProvisioningController.CancelingState, storageEvent.
Snapshot
.State?.Text);
5147
Assert.Equal(AzureProvisioningStrings.ResourceStateCanceled, storageEvent.
Snapshot
.State?.Text);
5148
Assert.Equal(KnownResourceStateStyles.Info, storageEvent.
Snapshot
.State?.Style);
5171
Assert.Equal("Failed to Provision", environmentEvent.
Snapshot
.State?.Text);
5173
var failedResourcesProperty = Assert.Single(environmentEvent.
Snapshot
.Properties, property => property.Name == "azure.provisioning.error.failed.resources");
5489
resourceEvent.
Snapshot
.State?.Text == expectedState)
5505
? finalEvent.
Snapshot
.State?.Text
Aspire.Hosting.Blazor (6)
BlazorGatewayExtensions.cs (3)
520
var gatewayState = resourceEvent.
Snapshot
.State;
533
StartTimeStamp = resourceEvent.
Snapshot
.StartTimeStamp,
534
StopTimeStamp = resourceEvent.
Snapshot
.StopTimeStamp,
BrowserDebuggerHelper.cs (3)
172
? currentState.
Snapshot
.Version
302
if (evt.Resource != debuggerResource || evt.
Snapshot
.Version <= minimumSnapshotVersion)
307
var state = evt.
Snapshot
.State?.Text;
Aspire.Hosting.Blazor.Tests (1)
BrowserDebuggerHelperTests.cs (1)
147
return currentState.
Snapshot
.Version;
Aspire.Hosting.Browsers (1)
BrowserLogsBuilderExtensions.cs (1)
188
var parentState = resourceEvent.
Snapshot
.State?.Text;
Aspire.Hosting.Browsers.Tests (92)
BrowserLogsBuilderExtensionsTests.cs (91)
710
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserPropertyName, "chrome") &&
711
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.UserDataModePropertyName, nameof(BrowserUserDataMode.Isolated)) &&
712
DoesNotHaveProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ProfilePropertyName)).DefaultTimeout();
964
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
965
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserPropertyName, "msedge") &&
966
!resourceEvent.
Snapshot
.Properties.Any(property => property.Name == BrowserLogsBuilderExtensions.ProfilePropertyName)).DefaultTimeout();
968
var session = Assert.Single(GetBrowserSessions(runningEvent.
Snapshot
));
1013
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1014
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-1")).DefaultTimeout();
1034
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1035
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserPropertyName, tempBrowserPath) &&
1036
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, tempBrowserPath) &&
1037
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserHostOwnershipPropertyName, nameof(BrowserHostOwnership.Owned)) &&
1038
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, "InvalidOperationException: Launch failed.") &&
1039
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1040
resourceEvent.
Snapshot
.HealthReports.Any(report =>
1045
GetBrowserSessions(failedEvent.
Snapshot
),
1098
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1099
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-1")).DefaultTimeout();
1111
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1112
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserPropertyName, "missing-browser") &&
1113
!resourceEvent.
Snapshot
.Properties.Any(property => property.Name == BrowserLogsBuilderExtensions.BrowserExecutablePropertyName) &&
1114
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserHostOwnershipPropertyName, nameof(BrowserHostOwnership.Owned)) &&
1115
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, "InvalidOperationException: Launch failed.") &&
1116
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1117
resourceEvent.
Snapshot
.HealthReports.Any(report =>
1122
GetBrowserSessions(failedEvent.
Snapshot
),
1173
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart &&
1174
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 0) &&
1175
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "None") &&
1176
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, errorText) &&
1177
resourceEvent.
Snapshot
.HealthReports.Any(report =>
1182
Assert.Single(failedEvent.
Snapshot
.HealthReports);
1183
Assert.Empty(GetBrowserSessions(failedEvent.
Snapshot
));
1226
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart &&
1227
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, "InvalidOperationException: Launch failed.")).DefaultTimeout();
1235
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1236
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1237
DoesNotHaveProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName) &&
1238
!resourceEvent.
Snapshot
.HealthReports.Any(report => report.Name == BrowserLogsBuilderExtensions.LastErrorPropertyName)).DefaultTimeout();
1241
GetBrowserSessions(runningEvent.
Snapshot
),
1286
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1287
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserHostOwnershipPropertyName, nameof(BrowserHostOwnership.Adopted)) &&
1288
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0001 (adopted browser)")).DefaultTimeout();
1290
var session = Assert.Single(GetBrowserSessions(runningEvent.
Snapshot
));
1346
resourceEvent => resourceEvent.
Snapshot
.Commands.Any(command =>
1350
Assert.Equal(ResourceCommandState.Disabled, initialEvent.
Snapshot
.Commands.Single(command => command.Name == BrowserLogsBuilderExtensions.OpenTrackedBrowserCommandName).State);
1362
resourceEvent => resourceEvent.
Snapshot
.Commands.Any(command =>
1366
Assert.Equal(ResourceCommandState.Enabled, enabledEvent.
Snapshot
.Commands.Single(command => command.Name == BrowserLogsBuilderExtensions.OpenTrackedBrowserCommandName).State);
1410
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1411
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1412
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0001 (PID 1001)") &&
1413
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.TotalSessionsLaunchedPropertyName, 1) &&
1414
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastSessionPropertyName, "session-0001") &&
1415
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-1") &&
1416
resourceEvent.
Snapshot
.HealthReports.Any(report => report.Name == "session-0001" && report.Status == HealthStatus.Healthy)).DefaultTimeout();
1418
Assert.Single(firstRunningEvent.
Snapshot
.HealthReports);
1420
GetBrowserSessions(firstRunningEvent.
Snapshot
),
1446
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1447
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 2) &&
1448
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0001 (PID 1001), session-0002 (PID 1002)") &&
1449
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.TotalSessionsLaunchedPropertyName, 2) &&
1450
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastSessionPropertyName, "session-0002") &&
1451
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-2") &&
1452
resourceEvent.
Snapshot
.HealthReports.Any(report => report.Name == "session-0001" && report.Status == HealthStatus.Healthy) &&
1453
resourceEvent.
Snapshot
.HealthReports.Any(report => report.Name == "session-0002" && report.Status == HealthStatus.Healthy)).DefaultTimeout();
1455
Assert.Equal(2, secondRunningEvent.
Snapshot
.HealthReports.Length);
1457
GetBrowserSessions(secondRunningEvent.
Snapshot
),
1478
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1479
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1480
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0002 (PID 1002)") &&
1481
resourceEvent.
Snapshot
.HealthReports.Length == 1 &&
1482
resourceEvent.
Snapshot
.HealthReports[0].Name == "session-0002").DefaultTimeout();
1484
Assert.Equal("session-0002", firstCompletedEvent.
Snapshot
.HealthReports[0].Name);
1486
GetBrowserSessions(firstCompletedEvent.
Snapshot
),
1494
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Finished &&
1495
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 0) &&
1496
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "None") &&
1497
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.TotalSessionsLaunchedPropertyName, 2) &&
1498
resourceEvent.
Snapshot
.HealthReports.IsEmpty).DefaultTimeout();
1500
Assert.Equal(KnownResourceStates.Finished, allCompletedEvent.
Snapshot
.State?.Text);
1501
Assert.Empty(GetBrowserSessions(allCompletedEvent.
Snapshot
));
1547
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1548
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1549
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, errorText) &&
1550
resourceEvent.
Snapshot
.HealthReports.Any(report =>
1553
resourceEvent.
Snapshot
.HealthReports.Any(report =>
1563
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Exited &&
1564
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 0) &&
1565
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, errorText) &&
1566
resourceEvent.
Snapshot
.HealthReports.Any(report =>
src\Aspire.Hosting.Browsers\BrowserLogsBuilderExtensions.cs (1)
188
var parentState = resourceEvent.
Snapshot
.State?.Text;
Aspire.Hosting.Containers.Tests (2)
DockerSocketBindMountTests.cs (2)
43
e => KnownResourceStates.TerminalStates.Contains(e.
Snapshot
.State?.Text),
46
Assert.Equal(KnownResourceStates.Exited, state.
Snapshot
.State);
Aspire.Hosting.DevTunnels (7)
DevTunnelMonitor.cs (3)
437
&& KnownResourceStates.TerminalStates.Contains(update.
Snapshot
.State?.Text))
480
&& current.
Snapshot
.StartTimeStamp is { } startedAt
702
|| !KnownResourceStates.TerminalStates.Contains(current.
Snapshot
.State?.Text));
DevTunnelResourceBuilderExtensions.cs (4)
741
&& previous.
Snapshot
.State?.Text == KnownResourceStates.Running
742
&& previous.
Snapshot
.HealthStatus == HealthStatus.Healthy;
803
? current.
Snapshot
.Properties.FirstOrDefault(p => p.Name == "Anonymous access")?.Value as string
824
&& KnownResourceStates.TerminalStates.Contains(current.
Snapshot
.State?.Text))
Aspire.Hosting.DevTunnels.Tests (17)
DevTunnelResourceBuilderExtensionsTests.cs (14)
325
e => e.
Snapshot
.Properties.Any(p => p.Name == "Anonymous access")).DefaultTimeout();
389
e => e.
Snapshot
.Properties.Any(p => p.Name == "Anonymous access")).DefaultTimeout();
821
e => e.
Snapshot
.Urls.Any(u => u.Url == inspectUrl)
822
&& e.
Snapshot
.Urls.Any(u => u.Url == "https://example.com/diagnostics")
823
&& e.
Snapshot
.Urls.All(u => u.IsInactive == expectedInactive), cts.Token);
824
Assert.Equal(restartBeforeUrlCallbackCompletes ? KnownResourceStates.Running : KnownResourceStates.Finished, completed.
Snapshot
.State?.Text);
825
Assert.True(completed.
Snapshot
.Urls.Length >= 3);
832
Assert.NotNull(completed.
Snapshot
.StopTimeStamp);
844
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running &&
845
e.
Snapshot
.Urls.Any(u => u.Url == tunnelUrl && !u.IsInactive) &&
846
e.
Snapshot
.Urls.Any(u => u.Url == inspectUrl && !u.IsInactive),
852
Assert.Contains(resourceEvent.
Snapshot
.Urls, u => u.Url == tunnelUrl && !u.IsInactive);
853
Assert.Contains(resourceEvent.
Snapshot
.Urls, u => u.Url == inspectUrl && !u.IsInactive);
892
resourceEvent.
Snapshot
.Properties.Where(p => p.Name is
TestDevTunnelMonitor.cs (3)
88
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running && e.
Snapshot
.HealthStatus == Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy).DefaultTimeout();
94
return current.
Snapshot
;
Aspire.Hosting.Dotnet (12)
DotnetProjectBuildCoordinator.cs (12)
189
resourceEvent => IsSettledBuildSnapshot(resourceEvent.
Snapshot
),
192
if (buildEvent.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart ||
193
buildEvent.
Snapshot
.ExitCode is not 0)
195
var exitCode = buildEvent.
Snapshot
.ExitCode?.ToString(CultureInfo.InvariantCulture) ?? "unavailable";
305
rebuildEvent.
Snapshot
.State?.Text is { } state &&
927
? resourceEvent.
Snapshot
1007
? resourceEvent.
Snapshot
1229
!ReferenceEquals(resourceEvent.
Snapshot
, initialSnapshot) &&
1230
IsSettledBuildSnapshot(resourceEvent.
Snapshot
),
1261
!ReferenceEquals(resourceEvent.
Snapshot
, initialSnapshot) &&
1262
(resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart ||
1263
KnownResourceStates.TerminalStates.Contains(resourceEvent.
Snapshot
.State?.Text)),
Aspire.Hosting.Dotnet.Tests (27)
DotnetProjectBuildCoordinatorTests.cs (27)
589
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Finished &&
590
resourceEvent.
Snapshot
.ExitCode is not null,
595
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Finished &&
596
resourceEvent.
Snapshot
.ExitCode is not null,
598
Assert.All(completionEvents, resourceEvent => Assert.Equal(0, resourceEvent.
Snapshot
.ExitCode));
2824
resourceEvent => resourceEvent.ResourceId == name && resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Finished,
2828
var properties = completedResource.
Snapshot
.Properties;
2829
Assert.Equal("Project", completedResource.
Snapshot
.ResourceType);
2880
resourceEvent => resourceEvent.ResourceId == name && resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart,
2927
resourceEvent => DotnetProjectBuildCoordinator.IsSettledBuildSnapshot(resourceEvent.
Snapshot
),
2933
Assert.Equal(0, secondBuildEvent.
Snapshot
.ExitCode);
2976
resourceEvent => DotnetProjectBuildCoordinator.IsSettledBuildSnapshot(resourceEvent.
Snapshot
),
2980
resourceEvent => DotnetProjectBuildCoordinator.IsSettledBuildSnapshot(resourceEvent.
Snapshot
),
2987
Assert.Equal(KnownResourceStates.Finished, firstBuildEvent.
Snapshot
.State?.Text);
2988
Assert.NotEqual(0, Assert.IsType<int>(firstBuildEvent.
Snapshot
.ExitCode));
2989
Assert.Equal(KnownResourceStates.FailedToStart, secondBuildEvent.
Snapshot
.State?.Text);
3268
Assert.Equal(KnownResourceStates.NotStarted, projectEvent.
Snapshot
.State?.Text);
3686
KnownResourceStates.TerminalStates.Contains(resourceEvent.
Snapshot
.State?.Text) &&
3687
resourceEvent.
Snapshot
.ExitCode is not null,
3694
Assert.NotEqual(0, buildEvent.
Snapshot
.ExitCode);
3741
resourceEvent => resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Starting,
3762
resourceEvent => resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Starting,
3783
resourceEvent => DotnetProjectBuildCoordinator.IsSettledBuildSnapshot(resourceEvent.
Snapshot
),
3785
Assert.Equal(KnownResourceStates.Finished, buildEvent.
Snapshot
.State?.Text);
3786
Assert.NotEqual(0, Assert.IsType<int>(buildEvent.
Snapshot
.ExitCode));
3793
resourceEvent => resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart,
3795
Assert.Equal(KnownResourceStates.FailedToStart, workerEvent.
Snapshot
.State?.Text);
Aspire.Hosting.DotnetTool.Tests (2)
DotnetToolFunctionalTests.cs.cs (2)
29
Assert.Equal(resourceState.
Snapshot
.ExitCode, 0);
51
Assert.NotEqual(resourceState.
Snapshot
.ExitCode, 0);
Aspire.Hosting.EntityFrameworkCore (4)
EFCoreOperationExecutor.cs (4)
335
r => r.
Snapshot
.State?.Text == KnownResourceStates.Finished ||
336
r.
Snapshot
.State?.Text == KnownResourceStates.Exited ||
337
r.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart,
366
var snapshot = resourceEvent.
Snapshot
;
Aspire.Hosting.EntityFrameworkCore.Tests (1)
EFBuildReadinessTests.cs (1)
51
Assert.Equal(KnownResourceStates.Finished, state.
Snapshot
.State?.Text);
Aspire.Hosting.Maui (6)
Lifecycle\MauiBuildQueueEventSubscriber.cs (3)
334
e => ShouldReleaseBuildLockForLaunchState(e.
Snapshot
.State?.Text, stateAtCallTime, releaseOnRunning),
405
e => ShouldReleaseBuildLockForLaunchState(e.
Snapshot
.State?.Text, stateAtCallTime, releaseOnRunning: false),
560
e => string.Equals(e.
Snapshot
.State?.Text, KnownResourceStates.FailedToStart, StringComparisons.ResourceState),
MauiOtlpExtensions.cs (3)
430
IsUnavailableState(resourceEvent.
Snapshot
.State?.Text),
447
if (IsUnavailableState(resourceEvent.
Snapshot
.State?.Text) ||
470
var endpointUrl = resourceEvent.
Snapshot
.EnvironmentVariables
Aspire.Hosting.Maui.Tests (3)
MauiBuildQueueTests.cs (3)
131
if (evt.Resource.Name == env.MacCatalyst.Name && evt.
Snapshot
.State?.Text == "Queued")
165
if (evt.Resource.Name == env.Android.Name && evt.
Snapshot
.State?.Text == "Building")
1165
if (evt.Resource.Name == resource.Name && evt.
Snapshot
.State?.Text == state)
Aspire.Hosting.MongoDB (3)
MongoDBSingleMemberReplicaSet.cs (1)
47
var isRunning = update.
Snapshot
.State?.Text == KnownResourceStates.Running;
src\Shared\ContainerReplCommand.cs (2)
29
resourceEvent.
Snapshot
.State?.Text != KnownResourceStates.Running)
35
var containerId = GetContainerId(resourceEvent.
Snapshot
);
Aspire.Hosting.MongoDB.Tests (4)
ReplicaSet\AddMongoDBReplicaSetTests.cs (1)
369
return resourceEvent.
Snapshot
.State?.Text;
SingleMemberReplicaSetFunctionalTests.cs (3)
161
update => update.
Snapshot
.HealthReports.Any(r => r.Name == "mongo_check" && r.Status == HealthStatus.Healthy), ready.Token);
167
update => update.
Snapshot
.State?.Text == KnownResourceStates.Exited, ready.Token);
168
Assert.Equal(0, completed.
Snapshot
.ExitCode);
Aspire.Hosting.MySql (2)
src\Shared\ContainerReplCommand.cs (2)
29
resourceEvent.
Snapshot
.State?.Text != KnownResourceStates.Running)
35
var containerId = GetContainerId(resourceEvent.
Snapshot
);
Aspire.Hosting.MySql.Tests (2)
MySqlFunctionalTests.cs (2)
613
return evt.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null;
616
return resourceEvent.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.PostgreSQL (2)
src\Shared\ContainerReplCommand.cs (2)
29
resourceEvent.
Snapshot
.State?.Text != KnownResourceStates.Running)
35
var containerId = GetContainerId(resourceEvent.
Snapshot
);
Aspire.Hosting.PostgreSQL.Tests (2)
PostgresFunctionalTests.cs (2)
590
return evt.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null;
593
return resourceEvent.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.Qdrant.Tests (1)
QdrantFunctionalTests.cs (1)
284
await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, (re => re.
Snapshot
.HealthStatus == HealthStatus.Healthy), cts.Token);
Aspire.Hosting.Redis (2)
src\Shared\ContainerReplCommand.cs (2)
29
resourceEvent.
Snapshot
.State?.Text != KnownResourceStates.Running)
35
var containerId = GetContainerId(resourceEvent.
Snapshot
);
Aspire.Hosting.Redis.Tests (11)
RedisFunctionalTests.cs (11)
122
e => e.
Snapshot
.State == KnownResourceStates.Running,
124
var commanderEndpointUri = new Uri(commanderEvent.
Snapshot
.Urls.First(u => u.Name == "http").Url);
130
e => e.
Snapshot
.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "Manage (Commander)") is { IsInactive: false },
133
var managementUrl = redisEvent.
Snapshot
.Urls.First(u => u.DisplayProperties.DisplayName == "Manage (Commander)");
168
e => e.
Snapshot
.State == KnownResourceStates.Running,
171
var managementUrl = redisEvent.
Snapshot
.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "Manage (Commander)");
180
e => e.
Snapshot
.State == KnownResourceStates.Running,
182
Assert.True(commanderEvent.
Snapshot
.IsHidden);
186
e => e.
Snapshot
.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "Manage (Commander)") is { IsInactive: false },
191
managementUrl = redisEvent.
Snapshot
.Urls.First(u => u.DisplayProperties.DisplayName == "Manage (Commander)");
199
e => e.
Snapshot
.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "Manage (Commander)") is { IsInactive: true },
Aspire.Hosting.SqlServer (2)
src\Shared\ContainerReplCommand.cs (2)
29
resourceEvent.
Snapshot
.State?.Text != KnownResourceStates.Running)
35
var containerId = GetContainerId(resourceEvent.
Snapshot
);
Aspire.Hosting.Testing.Tests (2)
DashboardUrlTests.cs (2)
107
resourceEvent => resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running,
136
resourceEvent => resourceEvent.
Snapshot
.State?.Text == updatedState,
Aspire.Hosting.Tests (288)
Codespaces\CodespacesUrlRewriterTests.cs (3)
83
var match = re.
Snapshot
.Urls.Length > 0 && re.
Snapshot
.Urls[0].Url.Contains("app.github.dev");
89
resourceEvent.
Snapshot
.Urls,
DistributedApplicationTests.cs (51)
263
var resourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
267
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
271
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Finished, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
275
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
279
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
309
var notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
310
var dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
313
Assert.Contains("TestProject.ServiceA.csproj", notStartedResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
314
Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
316
Assert.Collection(notStartedResourceEvent.
Snapshot
.Urls, u =>
322
Assert.Collection(dependentResourceEvent.
Snapshot
.Urls, u =>
331
var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
332
Assert.Collection(runningResourceEvent.
Snapshot
.Urls, u =>
339
var dependentResourceRunningEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
340
Assert.Collection(dependentResourceRunningEvent.
Snapshot
.Urls, u =>
352
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Finished, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
356
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
407
await rns.WaitForResourceAsync(normalResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, startupToken).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
410
await rns.WaitForResourceAsync(explicitStartResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted, startupToken).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
451
var notStartedResourceEvent = await rns.WaitForResourceAsync(explicitStartResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
460
await rns.WaitForResourceAsync(explicitStartResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout);
605
e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted,
610
e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
614
Assert.Collection(notStartedResourceEvent.
Snapshot
.Urls, u =>
619
Assert.Collection(dependentResourceEvent.
Snapshot
.Urls, u =>
627
Assert.Equal(RedisImageSource, notStartedResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "container.image").Value?.ToString());
628
Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
632
var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
633
Assert.Collection(runningResourceEvent.
Snapshot
.Urls, u =>
639
var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
640
Assert.Collection(dependentRunningResourceEvent.
Snapshot
.Urls, u =>
648
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Exited, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
652
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
694
notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
695
dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
697
Assert.Collection(notStartedResourceEvent.
Snapshot
.Urls, u =>
702
Assert.Collection(dependentResourceEvent.
Snapshot
.Urls, u =>
710
Assert.Equal(RedisImageSource, notStartedResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "container.image").Value?.ToString());
711
Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
717
var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
718
Assert.Collection(runningResourceEvent.
Snapshot
.Urls, u =>
724
var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
725
Assert.Collection(dependentRunningResourceEvent.
Snapshot
.Urls, u =>
733
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Exited, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
740
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
1165
var dependentRunningResourceEvent = await rns.WaitForResourceAsync(container.Resource.Name, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
2181
var state = e.
Snapshot
.State?.Text;
2190
var state = e.
Snapshot
.State?.Text;
2226
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running &&
2231
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running &&
2448
return resourceEvent.
Snapshot
.Properties.FirstOrDefault(p => p.Name == propertyName)?.Value;
ExternalServiceTests.cs (6)
343
e => e.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart
347
Assert.Equal(KnownResourceStates.FailedToStart, resourceEvent.
Snapshot
.State?.Text);
370
e => e.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart
374
Assert.Equal(KnownResourceStates.FailedToStart, resourceEvent.
Snapshot
.State?.Text);
397
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running
401
Assert.Equal(KnownResourceStates.Running, resourceEvent.
Snapshot
.State?.Text);
Health\ResourceHealthCheckServiceTests.cs (24)
38
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
39
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
47
Assert.Equal(HealthStatus.Healthy, healthyEvent.
Snapshot
.HealthStatus);
78
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
79
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
86
var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout();
88
Assert.Equal(HealthStatus.Unhealthy, runningEvent.
Snapshot
.HealthStatus);
121
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
122
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
130
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running && e.
Snapshot
.HealthReports.Single().Status == HealthStatus.Unhealthy).DefaultTimeout();
132
Assert.Equal(HealthStatus.Unhealthy, runningEvent.
Snapshot
.HealthStatus);
133
Assert.Equal("Error calling HealthCheckService.", runningEvent.
Snapshot
.HealthReports.Single().Description);
587
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
588
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
596
var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout();
597
Assert.Equal(HealthStatus.Unhealthy, runningEvent.
Snapshot
.HealthStatus);
604
Assert.Equal(HealthStatus.Healthy, healthyEvent.
Snapshot
.HealthStatus);
633
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
634
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
641
var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout();
643
Assert.Equal(HealthStatus.Unhealthy, runningEvent.
Snapshot
.HealthStatus);
649
var unhealthyEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.HealthStatus == HealthStatus.Unhealthy).DefaultTimeout();
650
Assert.Equal(HealthStatus.Unhealthy, unhealthyEvent.
Snapshot
.HealthStatus);
Lifecycle\TerminalHostFailureDiagnosticServiceTests.cs (2)
252
if (evt.Resource == host && !evt.
Snapshot
.IsHidden)
265
return evt.
Snapshot
;
Orchestrator\ApplicationOrchestratorTests.cs (39)
40
Assert.Equal(KnownResourceStates.Finished, @event.ResourceEvent.
Snapshot
.State?.Text);
41
Assert.Equal(0, @event.ResourceEvent.
Snapshot
.ExitCode);
103
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
151
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
252
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
256
nestedChildParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
260
child2ParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
321
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
369
projectBParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
519
currentState.
Snapshot
.Properties,
565
Assert.Equal(KnownResourceStates.FailedToStart, snapshotEvent.
Snapshot
.State?.Text);
566
Assert.Equal(KnownResourceStateStyles.Error, snapshotEvent.
Snapshot
.State?.Style);
593
Assert.Equal(KnownResourceStates.FailedToStart, snapshotEvent.
Snapshot
.State?.Text);
594
Assert.Null(snapshotEvent.
Snapshot
.State?.Style);
617
Assert.Equal(KnownResourceStates.Starting, snapshotEvent.
Snapshot
.State?.Text);
649
Assert.Equal(KnownResourceStates.Waiting, waitingEvent.
Snapshot
.State?.Text);
690
Assert.NotEqual(KnownResourceStates.Running, dependencyEvent.
Snapshot
.State?.Text);
738
e => e.ResourceId == "waiter-abc123" && e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
796
e => e.ResourceId == "waiter-abc123" && e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
800
Assert.Equal(KnownResourceStates.NotStarted, siblingEvent.
Snapshot
.State?.Text);
847
e => e.ResourceId == "waiter-abc123" && e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
901
e => e.ResourceId == "waiter-abc123" && e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
909
e => e.ResourceId == "waiter-def456" && e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
963
Assert.NotEqual(KnownResourceStates.Running, blockerEvent.
Snapshot
.State?.Text);
1012
|| waiterEvent.
Snapshot
.State?.Text != KnownResourceStates.Waiting)
1029
Assert.NotEqual(KnownResourceStates.Running, blockerEvent.
Snapshot
.State?.Text);
1096
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
1099
var waitingFor = waitingEvent.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.WaitingFor)?.Value;
1365
var parentState = resourceNotificationService.TryGetCurrentState("parent-container-dcp", out var parentEvent) ? parentEvent.
Snapshot
.State?.Text : null;
1366
var childContainerState = resourceNotificationService.TryGetCurrentState(childContainer.Resource.Name, out var childContainerEvent) ? childContainerEvent.
Snapshot
.State?.Text : null;
1367
var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.
Snapshot
.State?.Text : null;
1413
var parentState = resourceNotificationService.TryGetCurrentState("parent-container-dcp", out var parentEvent) ? parentEvent.
Snapshot
.State?.Text : null;
1414
var childProjectState = resourceNotificationService.TryGetCurrentState(childProject.Resource.Name, out var childProjectEvent) ? childProjectEvent.
Snapshot
.State?.Text : null;
1415
var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.
Snapshot
.State?.Text : null;
1462
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
1466
child2ParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
1519
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
1523
child2ParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
1573
childProjectParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
Orchestrator\ParameterProcessorTests.cs (31)
90
updates.Add((resourceEvent.Resource, resourceEvent.
Snapshot
));
144
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
145
Assert.DoesNotContain(updates.Current.
Snapshot
.Properties, property => property.Name == KnownProperties.Parameter.Value);
340
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
341
AssertParameterValueProperty(updates.Current.
Snapshot
, "value1", isSensitive: false);
344
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
345
AssertParameterValueProperty(updates.Current.
Snapshot
, "value2", isSensitive: false);
348
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
349
AssertParameterValueProperty(updates.Current.
Snapshot
, "secretValue", isSensitive: true);
2076
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
2077
AssertParameterValueProperty(updates.Current.
Snapshot
, "programmaticValue", isSensitive: false);
2115
Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.
Snapshot
.State?.Text);
2265
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
2266
AssertParameterValueProperty(updates.Current.
Snapshot
, "resourceValue", isSensitive: false);
2283
Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.
Snapshot
.State?.Text);
2295
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
2296
AssertParameterValueProperty(updates.Current.
Snapshot
, "resourceValue", isSensitive: false);
2316
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
2317
Assert.DoesNotContain(updates.Current.
Snapshot
.Properties, property => property.Name == KnownProperties.Parameter.Value);
2333
Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.
Snapshot
.State?.Text);
2345
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
2346
Assert.DoesNotContain(updates.Current.
Snapshot
.Properties, property => property.Name == KnownProperties.Parameter.Value);
2364
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
2371
Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.
Snapshot
.State?.Text);
2416
Assert.Equal(clearValue ? KnownResourceStates.ValueMissing : KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
2429
AssertParameterValueProperty(updates.Current.
Snapshot
, "latestValue", isSensitive: false);
2451
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
2458
Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.
Snapshot
.State?.Text);
2485
Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.
Snapshot
.State?.Text);
2492
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
2493
var valueProperty = Assert.Single(updates.Current.
Snapshot
.Properties, property => property.Name == KnownProperties.Parameter.Value);
ResourceCommandServiceTests.cs (6)
1764
await resourceNotificationService.WaitForResourceAsync(project.Resource.Name, e => KnownResourceStates.BuildableStates.Contains(e.
Snapshot
.State?.Text), cts.Token).DefaultTimeout(TimeSpan.FromMinutes(2));
1818
await resourceNotificationService.WaitForResourceAsync(project.Resource.Name, e => e.ResourceId == replicaName && e.
Snapshot
.State?.Text == KnownResourceStates.Finished, finishedCts.Token).DefaultTimeout(TimeSpan.FromMinutes(2));
1829
await resourceNotificationService.WaitForResourceAsync(project.Resource.Name, e => e.ResourceId == replicaNames[1] && e.
Snapshot
.State?.Text == KnownResourceStates.Running, restartCts.Token).DefaultTimeout(TimeSpan.FromMinutes(2));
1833
Assert.Equal(KnownResourceStates.Running, activeReplica.
Snapshot
.State?.Text);
1840
Assert.Equal(KnownResourceStates.Finished, inactiveReplica.
Snapshot
.State?.Text);
1844
await resourceNotificationService.WaitForResourceAsync(project.Resource.Name, e => e.ResourceId == replicaNames[1] && e.
Snapshot
.State?.Text == KnownResourceStates.Running, runningCts.Token).DefaultTimeout(TimeSpan.FromMinutes(2));
ResourceNotificationTests.cs (82)
92
Assert.Equal(expectedResourceType, resourceEvent.
Snapshot
.ResourceType);
133
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
134
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "A").Value);
135
Assert.Null(c.
Snapshot
.HealthStatus);
141
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
142
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "B").Value);
143
Assert.Null(c.
Snapshot
.HealthStatus);
160
Assert.Equal(HealthStatus.Unhealthy, resourceEvent.
Snapshot
.HealthStatus);
162
resourceEvent.
Snapshot
.HealthReports,
213
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
214
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "A").Value);
220
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
221
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "B").Value);
227
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
228
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "C").Value);
419
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
423
Assert.Equal(KnownResourceStates.Waiting, waitingEvent.
Snapshot
.State?.Text);
432
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
446
Assert.DoesNotContain(completedWaitingEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
523
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
527
Assert.Equal(KnownResourceStates.Waiting, waitingEvent.
Snapshot
.State?.Text);
541
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
560
Assert.DoesNotContain(completedWaitingEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
579
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
583
Assert.Equal(KnownResourceStates.Waiting, waitingEvent.
Snapshot
.State?.Text);
593
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
608
Assert.DoesNotContain(completedWaitingEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
633
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
636
Assert.Equal(KnownResourceStates.Waiting, waitingEvent.
Snapshot
.State?.Text);
679
Assert.Equal(state, resourceEvent.
Snapshot
.State?.Text);
713
re => re.ResourceId == "resource-abc123" && re.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
717
Assert.Equal(KnownResourceStates.NotStarted, notStartedEvent.
Snapshot
.State?.Text);
727
Assert.Equal(KnownResourceStates.NotStarted, notStartedEvent.
Snapshot
.State?.Text);
757
Assert.Equal(KnownResourceStates.NotStarted, notStartedEvent.
Snapshot
.State?.Text);
784
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
823
re => re.ResourceId == "resource-abc123" && re.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
855
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
868
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
882
Assert.DoesNotContain(completedWaitingEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
898
Assert.Contains(waitingEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
906
Assert.DoesNotContain(runningEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
959
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
1179
Assert.Equal("ExistingIcon", firstEvent.
Snapshot
.IconName);
1180
Assert.Equal(IconVariant.Filled, firstEvent.
Snapshot
.IconVariant);
1184
Assert.Equal("ExistingIcon", secondEvent.
Snapshot
.IconName);
1185
Assert.Equal(IconVariant.Filled, secondEvent.
Snapshot
.IconVariant);
1186
Assert.Equal("Running", secondEvent.
Snapshot
.State?.Text);
1221
Assert.Equal("LastIcon", value.
Snapshot
.IconName);
1222
Assert.Equal(IconVariant.Regular, value.
Snapshot
.IconVariant);
1223
Assert.Equal("Starting", value.
Snapshot
.State?.Text);
1257
Assert.Equal("AnnotationIcon", value.
Snapshot
.IconName);
1258
Assert.Equal(IconVariant.Regular, value.
Snapshot
.IconVariant);
1259
Assert.Equal("Starting", value.
Snapshot
.State?.Text);
1401
Assert.Equal(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy, resourceEvent.
Snapshot
.HealthStatus);
1402
Assert.NotNull(resourceEvent.
Snapshot
.ResourceReadyEvent);
1403
Assert.True(resourceEvent.
Snapshot
.ResourceReadyEvent.EventTask.IsCompletedSuccessfully);
1469
Assert.Equal(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy, resourceEvent.
Snapshot
.HealthStatus);
1494
Assert.Equal(HealthStatus.Healthy, resourceEvent.
Snapshot
.HealthStatus);
1495
Assert.True(resourceEvent.
Snapshot
.ResourceReadyEvent?.EventTask.IsCompletedSuccessfully);
1516
return resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running;
1526
Assert.Equal(KnownResourceStates.Running, (await waitTask.DefaultTimeout()).
Snapshot
.State?.Text);
1559
return resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running;
1563
Assert.Equal(KnownResourceStates.Running, (await waitTask).
Snapshot
.State?.Text);
1647
Assert.True((await waitTask.DefaultTimeout()).
Snapshot
.ResourceReadyEvent?.EventTask.IsCompletedSuccessfully);
1666
Assert.True((await waitTask.DefaultTimeout()).
Snapshot
.ResourceReadyEvent?.EventTask.IsCompletedSuccessfully);
1763
return resourceEvent!.
Snapshot
.IsHidden;
1812
Assert.Equal(initial.
Snapshot
.Version, unchanged.
Snapshot
.Version);
1817
Assert.True(changed.
Snapshot
.Version > initial.
Snapshot
.Version, "A real change should publish a new version.");
1818
Assert.Equal("SomeOtherState", changed.
Snapshot
.State?.Text);
1877
Assert.Equal(initial.
Snapshot
.Version, unchanged.
Snapshot
.Version);
1890
Assert.True(changed.
Snapshot
.Version > initial.
Snapshot
.Version, "A changed value inside a List<T> property should publish a new version.");
1909
Assert.Equal(initial.
Snapshot
.Version, unchanged.
Snapshot
.Version);
1930
changed.
Snapshot
.Version > initial.
Snapshot
.Version,
1962
changed.
Snapshot
.Version > initial.
Snapshot
.Version,
1968
var property = resourceEvent.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.WaitingFor);
WithHttpCommandTests.cs (12)
957
e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
959
Assert.Equal(ResourceCommandState.Disabled, startingEvent.
Snapshot
.Commands.First(c => c.Name == "mycommand").State);
970
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running &&
971
e.
Snapshot
.Commands.First(c => c.Name == "mycommand").State == ResourceCommandState.Enabled).DefaultTimeout();
973
Assert.Equal(ResourceCommandState.Enabled, runningEvent.
Snapshot
.Commands.First(c => c.Name == "mycommand").State);
1013
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1014
e.
Snapshot
.Commands.First(c => c.Name == "mycommand").State == ResourceCommandState.Hidden).DefaultTimeout();
1016
Assert.Equal(ResourceCommandState.Hidden, runningEvent.
Snapshot
.Commands.First(c => c.Name == "mycommand").State);
1028
e => e.
Snapshot
.Commands.First(c => c.Name == "mycommand").State == ResourceCommandState.Enabled).DefaultTimeout();
1031
Assert.Equal(ResourceCommandState.Enabled, enabledEvent.
Snapshot
.Commands.First(c => c.Name == "mycommand").State);
1069
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1070
e.
Snapshot
.Commands.FirstOrDefault(c => c.Name == commandName)?.State == ResourceCommandState.Enabled).DefaultTimeout();
WithUrlsTests.cs (32)
120
if (notification.Resource == custom.Resource && notification.
Snapshot
.Urls.Length > 0)
122
urlSnapshots.Add(notification.
Snapshot
.Urls.ToArray());
123
TestOutputHelper.WriteLine($"Captured snapshot #{urlSnapshots.Count}: State={notification.
Snapshot
.State}, URLs: {FormatUrls(notification.
Snapshot
.Urls)}");
126
if (notification.
Snapshot
.State == KnownResourceStates.Running &&
127
notification.
Snapshot
.Urls.All(u => !u.IsInactive))
618
e => e.
Snapshot
.Urls.Length == 1).DefaultTimeout();
622
Assert.Single(resourceEvent.
Snapshot
.Urls, s => s.Name == httpEndpoint.EndpointName && s.IsInactive && s.Url == "https://example.com");
643
e => e.
Snapshot
.Urls.Length == 3).DefaultTimeout();
647
Assert.Collection(resourceEvent.
Snapshot
.Urls,
676
e => e.
Snapshot
.State == KnownResourceStates.Running
677
&& e.
Snapshot
.Urls.Length == 2
678
&& e.
Snapshot
.Urls.All(url => !url.IsInactive)).DefaultTimeout();
682
Assert.Equal(2, resourceEvent.
Snapshot
.Urls.Length);
683
Assert.Collection(resourceEvent.
Snapshot
.Urls,
709
if (notification.Resource == servicea.Resource && notification.
Snapshot
.Urls.Length > 0)
711
urlSnapshots.Add(notification.
Snapshot
.Urls.ToArray());
712
TestOutputHelper.WriteLine($"Captured snapshot #{urlSnapshots.Count}: State={notification.
Snapshot
.State}, URLs: {FormatUrls(notification.
Snapshot
.Urls)}");
715
if (notification.
Snapshot
.State == KnownResourceStates.Running &&
716
notification.
Snapshot
.Urls.All(u => !u.IsInactive))
786
e => e.
Snapshot
.State == KnownResourceStates.Running && e.
Snapshot
.Urls.Length == 4).DefaultTimeout();
790
Assert.Collection(resourceEvent.
Snapshot
.Urls,
1119
e => e.
Snapshot
.State == KnownResourceStates.Running
1120
&& e.
Snapshot
.Urls.Length == resourceB.Resource.GetEndpoints().ToArray().Length + 1
1121
&& e.
Snapshot
.Urls.All(u => !u.IsInactive),
1133
var crossResourceUrl = resourceEvent.
Snapshot
.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "API Docs");
1171
e => e.
Snapshot
.State == KnownResourceStates.Running,
1174
var crossResourceUrl = resourceEvent.
Snapshot
.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "API Docs");
1186
e => e.
Snapshot
.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "API Docs") is { IsInactive: false },
1195
e => e.
Snapshot
.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "API Docs") is { IsInactive: true },
Aspire.Hosting.TestUtilities (3)
Utils\PersistentContainerTestHelpers.cs (3)
133
(!includeUrls || evt.
Snapshot
.Urls.Length > 0);
143
? string.Join(Environment.NewLine, resourceEvent.
Snapshot
.Urls
158
resourceEvent.
Snapshot
.Properties.FirstOrDefault(x => x.Name == propertyName)?.Value;
Aspire.Hosting.Valkey (2)
src\Shared\ContainerReplCommand.cs (2)
29
resourceEvent.
Snapshot
.State?.Text != KnownResourceStates.Running)
35
var containerId = GetContainerId(resourceEvent.
Snapshot
);
Aspire.Playground.Tests (2)
Infrastructure\DistributedApplicationExtensions.cs (2)
107
return Task.WhenAll(applicationModel.Resources.Select(r => app.ResourceNotifications.WaitForResourceAsync(r.Name, r => targetStates?.Contains(r.
Snapshot
.State?.Text, StringComparer.OrdinalIgnoreCase) is true || r.
Snapshot
.IsHidden, cancellationToken)));
Testing.Tests (2)
WaitFailures.cs (2)
156
await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, x => x.
Snapshot
.HealthReports.All(x => x.Status.HasValue), cts.Token);
176
await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, x => x.
Snapshot
.HealthStatus == HealthStatus.Healthy, cts.Token);