716 references to Snapshot
Aspire.Hosting (67)
ApplicationModel\CommandsConfigurationExtensions.cs (5)
218preRebuildStates[name] = evt.Snapshot.State?.Text; 277if (terminalEvent.Snapshot.State?.Text == KnownResourceStates.FailedToStart) 288exitCode = terminalEvent.Snapshot.ExitCode; 390var state = resourceEvent.Snapshot.State?.Text; 393(KnownResourceStates.TerminalStates.Contains(state) && resourceEvent.Snapshot.ExitCode is not null));
ApplicationModel\ResourceNotificationService.cs (19)
128re => re.Snapshot.State?.Text is { Length: > 0 } stateText && targetStates.Contains(stateText, StringComparers.ResourceState), 138var finalState = resourceEvent.Snapshot.State!.Text!; 162re => re.ResourceId == resourceId && re.Snapshot.HealthStatus == HealthStatus.Healthy, 172re => re.ResourceId == resourceId && re.Snapshot.ResourceReadyEvent is not null, 178await resourceEvent.Snapshot.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false); 261re => ShouldYieldHealthyWait(waitBehavior, re.Snapshot), 275if (resourceEvent.Snapshot.HealthStatus != HealthStatus.Healthy) 284re => re.ResourceId == resourceEvent.ResourceId && re.Snapshot.ResourceReadyEvent is not null, 297var eventTask = resourceEvent.Snapshot.ResourceReadyEvent!.EventTask; 358re => re.ResourceId == resourceId && IsKnownTerminalState(re.Snapshot), 362var snapshot = resourceEvent.Snapshot; 422re => re.ResourceId == resourceId && IsContinuableState(waitBehavior, re.Snapshot), 426var snapshot = resourceEvent.Snapshot; 833if (versionsSeen.TryGetValue(item.ResourceId, out var maxVersionSeen) && item.Snapshot.Version <= maxVersionSeen) 1327if (TryGetCurrentState(resourceName, out var evt) && evt.Snapshot != null) 1329var snapshot = evt.Snapshot; 1369error.Append(CultureInfo.InvariantCulture, $" - {dependencyName}: State = {dependencyEvent.Snapshot.State?.Text ?? "(null)"}"); 1370error.Append(CultureInfo.InvariantCulture, $", Health = {dependencyEvent.Snapshot.HealthStatus?.ToString() ?? "(null)"}"); 1371if (dependencyEvent.Snapshot.ExitCode is { } exitCode)
Ats\NotificationExports.cs (4)
155State = resourceEvent.Snapshot.State?.Text, 156StateStyle = resourceEvent.Snapshot.State?.Style, 157HealthStatus = resourceEvent.Snapshot.HealthStatus?.ToString(), 158ExitCode = resourceEvent.Snapshot.ExitCode
Backchannel\AppHostRpcTarget.cs (4)
145var healthStatus = CustomResourceSnapshot.ComputeHealthStatus(resourceEvent.Snapshot.HealthReports, resourceEvent.Snapshot.State?.Text); 150Type = resourceEvent.Snapshot.ResourceType, 151State = resourceEvent.Snapshot.State?.Text ?? "Unknown",
Backchannel\AuxiliaryBackchannelRpcTarget.cs (18)
703re => ResourceNotificationService.ShouldYieldHealthyWait(WaitBehavior.StopOnResourceUnavailable, re.Snapshot), 707if (resourceEvent.Snapshot.HealthStatus != HealthStatus.Healthy) 715re => re.Snapshot.ResourceReadyEvent is not null, 719await resourceEvent.Snapshot.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false); 724State = resourceEvent.Snapshot.State?.Text, 725HealthStatus = resourceEvent.Snapshot.HealthStatus?.ToString() 734re => re.Snapshot.State?.Text == KnownResourceStates.Running || 735KnownResourceStates.TerminalStates.Contains(re.Snapshot.State?.Text, StringComparers.ResourceState) || 736string.Equals(re.Snapshot.State?.Style, KnownResourceStateStyles.Error, StringComparisons.ResourceState) || 737re.Snapshot.ExitCode is not null, 741var state = resourceEvent.Snapshot.State?.Text; 748HealthStatus = resourceEvent.Snapshot.HealthStatus?.ToString(), 758re => KnownResourceStates.TerminalStates.Contains(re.Snapshot.State?.Text) || re.Snapshot.ExitCode is not null, 765State = resourceEvent.Snapshot.State?.Text, 766HealthStatus = resourceEvent.Snapshot.HealthStatus?.ToString() 1074var snapshot = resourceEvent.Snapshot; 1764return notificationService.TryGetCurrentState(resourceName, out var resourceEvent) && resourceEvent.Snapshot.IsHidden;
Dashboard\DashboardServiceData.cs (1)
100var snapshot = CreateResourceSnapshot(@event.Resource, @event.ResourceId, timestamp, @event.Snapshot);
Devcontainers\Codespaces\CodespacesResourceUrlRewriterService.cs (2)
32foreach (var originalUrlSnapshot in resourceEvent.Snapshot.Urls) 57var transformedUrls = from originalUrl in resourceEvent.Snapshot.Urls
Diagnostics\ProfilingTelemetry.cs (1)
1098var snapshot = resourceEvent.Snapshot;
DistributedApplication.cs (1)
832results.Add(new() { Resource = resource, Snapshot = resourceEvent?.Snapshot });
Health\ResourceHealthCheckService.cs (8)
42if (resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running) 73else if (KnownResourceStates.TerminalStates.Contains(resourceEvent.Snapshot.State?.Text)) 85&& KnownResourceStates.TerminalStates.Contains(evt.Snapshot.State?.Text)); 191if (ContainsAnyHealthReportChange(report, currentEvent.Snapshot.HealthReports)) 393if (currentEvent.Snapshot.Version <= previousEvent.Snapshot.Version) 397if (currentEvent.Snapshot.State?.Text == previousEvent.Snapshot.State?.Text)
Lifecycle\TerminalHostFailureDiagnosticService.cs (3)
66var state = evt.Snapshot.State?.Text; 75&& evt.Snapshot.ExitCode is 0) 85await SurfaceFailureAsync(host, evt.Snapshot, stoppingToken).ConfigureAwait(false);
Orchestrator\ApplicationOrchestrator.cs (1)
162if (e.Snapshot.State?.Text == KnownResourceStates.Waiting)
Aspire.Hosting.Azure (5)
AzureProvisioningController.cs (5)
2158environmentEvent.Snapshot.State?.Text != KnownResourceStates.Running) 3140return resourceEvent.Snapshot.Properties 3384return resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running; 3832string.Equals(currentEvent.Snapshot.State?.Text, state, StringComparison.Ordinal); 3838currentEvent.Snapshot.State is { Text: { } stateText } currentState &&
Aspire.Hosting.Azure.EntraId.Tests (1)
EntraIdInitializationTests.cs (1)
326return resourceEvent.Snapshot;
Aspire.Hosting.Azure.Tests (139)
AzureBicepProvisionerTests.cs (29)
77var parentProperty = resourceEvent.Snapshot.Properties.FirstOrDefault(x => x.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 748AssertHighlightedContextProperty(resourceEvent.Snapshot.Properties, "azure.subscription.id", "12345678-1234-1234-1234-123456789012", AzureProvisioningStrings.ContextPropertySubscriptionIdDisplayName); 749AssertHighlightedContextProperty(resourceEvent.Snapshot.Properties, "azure.resource.group", "test-rg", AzureProvisioningStrings.ContextPropertyResourceGroupDisplayName); 750AssertHighlightedContextProperty(resourceEvent.Snapshot.Properties, "azure.tenant.id", "87654321-4321-4321-4321-210987654321", AzureProvisioningStrings.ContextPropertyTenantIdDisplayName); 751AssertHighlightedContextProperty(resourceEvent.Snapshot.Properties, "azure.tenant.domain", "testdomain.onmicrosoft.com", AzureProvisioningStrings.ContextPropertyTenantDomainDisplayName); 752AssertHighlightedContextProperty(resourceEvent.Snapshot.Properties, "azure.location", "westus3", AzureProvisioningStrings.ContextPropertyLocationDisplayName); 753Assert.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()); 782Assert.Equal("87654321-4321-4321-4321-210987654321", resourceEvent.Snapshot.Properties.Single(p => p.Name == "azure.tenant.id").Value?.ToString()); 783Assert.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()); 820Assert.Equal("87654321-4321-4321-4321-210987654321", resourceEvent.Snapshot.Properties.Single(p => p.Name == "azure.tenant.id").Value?.ToString()); 821Assert.Equal(expectedDeploymentId, resourceEvent.Snapshot.Properties.Single(p => p.Name == CustomResourceKnownProperties.Source).Value?.ToString()); 822Assert.Equal(BicepProvisioner.GetDeploymentUrl(new ResourceIdentifier(expectedDeploymentId)), resourceEvent.Snapshot.Urls.Single(u => u.Name == "deployment").Url); 934Assert.Equal("12345678-1234-1234-1234-123456789012", resourceEvent.Snapshot.Properties.Single(p => p.Name == "azure.subscription.id").Value?.ToString()); 935Assert.Equal("test-rg", resourceEvent.Snapshot.Properties.Single(p => p.Name == "azure.resource.group").Value?.ToString()); 936Assert.Equal("87654321-4321-4321-4321-210987654321", resourceEvent.Snapshot.Properties.Single(p => p.Name == "azure.tenant.id").Value?.ToString()); 937Assert.Equal("microsoft.onmicrosoft.com", resourceEvent.Snapshot.Properties.Single(p => p.Name == "azure.tenant.domain").Value?.ToString()); 938Assert.Equal("westus2", resourceEvent.Snapshot.Properties.Single(p => p.Name == "azure.location").Value?.ToString()); 939Assert.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()); 985Assert.Equal("scoped-rg", resourceEvent.Snapshot.Properties.Single(p => p.Name == "azure.resource.group").Value?.ToString()); 1176Assert.Equal("Azure deployment failed", resourceEvent.Snapshot.State?.Text); 1178resourceEvent.Snapshot.Properties, 1222resourceEvent.Snapshot.Properties.Where(static property => 1291Assert.Equal("Azure deployment failed", resourceEvent.Snapshot.State?.Text); 1292Assert.DoesNotContain(resourceEvent.Snapshot.Properties, p => p.Name.StartsWith("azure.deployment.operations.", StringComparison.Ordinal)); 1293Assert.Equal(AzureProvisioningFailureDetails.LocationNotAvailableForResourceTypeErrorCode, resourceEvent.Snapshot.Properties.Single(p => p.Name == "azure.provisioning.error.code").Value); 1294Assert.Equal("australiacentral", resourceEvent.Snapshot.Properties.Single(p => p.Name == "azure.provisioning.error.current.location").Value); 1295var supportedLocations = Assert.IsType<string[]>(resourceEvent.Snapshot.Properties.Single(p => p.Name == "azure.provisioning.error.supported.locations").Value); 1759Assert.Equal("Azure deployment canceled", resourceEvent.Snapshot.State?.Text); 1798var property = Assert.Single(resourceEvent.Snapshot.Properties, p => p.Name == "azure.resource.group");
AzureEnvironmentResourceExtensionsTests.cs (110)
378Assert.Equal(KnownResourceStates.NotStarted, environmentEvent.Snapshot.State?.Text); 379Assert.All(environmentEvent.Snapshot.Commands, command => Assert.Equal(ResourceCommandState.Enabled, command.State)); 382Assert.Equal(KnownResourceStates.NotStarted, storageEvent.Snapshot.State?.Text); 383Assert.Empty(storageEvent.Snapshot.Urls); 384Assert.DoesNotContain(storageEvent.Snapshot.Properties, p => p.Name == "azure.subscription.id"); 385Assert.DoesNotContain(storageEvent.Snapshot.Properties, p => p.Name == CustomResourceKnownProperties.Source); 386Assert.Contains(storageEvent.Snapshot.Properties, p => p.Name == "custom.property"); 494Assert.Equal("Running", storageEvent.Snapshot.State?.Text); 567Assert.Equal(KnownResourceStates.Running, storageEvent.Snapshot.State?.Text); 706AssertCommandState(keyVaultEvent.Snapshot, AzureProvisioningController.ChangeResourceLocationCommandName, ResourceCommandState.Hidden); 707AssertCommandState(keyVaultEvent.Snapshot, AzureProvisioningController.GetAzureResourceCommandName, ResourceCommandState.Enabled); 708AssertCommandState(keyVaultEvent.Snapshot, AzureProvisioningController.CancelCommandName, ResourceCommandState.Hidden); 709AssertCommandState(keyVaultEvent.Snapshot, AzureProvisioningController.DeleteAzureResourceCommandName, ResourceCommandState.Enabled); 710AssertCommandState(keyVaultEvent.Snapshot, AzureProvisioningController.ForgetStateCommandName, ResourceCommandState.Enabled); 711AssertCommandState(keyVaultEvent.Snapshot, AzureProvisioningController.ReprovisionResourceCommandName, ResourceCommandState.Enabled); 741AssertCommandState(postgresEvent.Snapshot, AzureProvisioningController.ChangeResourceLocationCommandName, ResourceCommandState.Enabled); 1383Assert.Equal("Canceled", storageEvent.Snapshot.State?.Text); 1419AssertCommandState(storageEvent.Snapshot, AzureProvisioningController.ChangeResourceLocationCommandName, ResourceCommandState.Disabled); 1420AssertCommandState(storageEvent.Snapshot, AzureProvisioningController.GetAzureResourceCommandName, ResourceCommandState.Enabled); 1421AssertCommandState(storageEvent.Snapshot, AzureProvisioningController.CancelCommandName, ResourceCommandState.Enabled); 1422AssertCommandState(storageEvent.Snapshot, AzureProvisioningController.DeleteAzureResourceCommandName, ResourceCommandState.Disabled); 1423AssertCommandState(storageEvent.Snapshot, AzureProvisioningController.ForgetStateCommandName, ResourceCommandState.Disabled); 1424AssertCommandState(storageEvent.Snapshot, AzureProvisioningController.ReprovisionResourceCommandName, ResourceCommandState.Disabled); 1496AssertCommandState(storageEvent.Snapshot, AzureProvisioningController.CancelCommandName, ResourceCommandState.Enabled); 1666var cancelCommand = Assert.Single(storageEvent.Snapshot.Commands, c => c.Name == AzureProvisioningController.CancelCommandName); 1721Assert.Equal(KnownResourceStates.Running, storageEvent.Snapshot.State?.Text); 1824Assert.Equal(KnownResourceStates.NotStarted, storageEvent.Snapshot.State?.Text); 1827Assert.Equal(KnownResourceStates.Running, storage2Event.Snapshot.State?.Text); 1906Assert.Equal(KnownResourceStates.NotStarted, keyVaultEvent.Snapshot.State?.Text); 1969Assert.All(environmentEvent.Snapshot.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State)); 1972Assert.Equal("Deleting", storageEvent.Snapshot.State?.Text); 1973AssertAffectedResourceCommandsDuringOperation(storageEvent.Snapshot); 1976AssertUnaffectedResourceCommandsDuringOperation(storage2Event.Snapshot); 2060Assert.Equal("Canceled", storageEvent.Snapshot.State?.Text); 2133Assert.Equal(KnownResourceStates.NotStarted, storageEvent.Snapshot.State?.Text); 2134Assert.DoesNotContain(storageEvent.Snapshot.Properties, p => p.Name == CustomResourceKnownProperties.Source); 2135Assert.Contains(storageEvent.Snapshot.Properties, p => p.Name == "custom.property"); 2138Assert.Equal(KnownResourceStates.Running, storage2Event.Snapshot.State?.Text); 2139Assert.Contains(storage2Event.Snapshot.Properties, p => p.Name == CustomResourceKnownProperties.Source); 2195Assert.Equal("Running", storageEvent.Snapshot.State?.Text); 2198Assert.Equal(KnownResourceStates.Running, storage2Event.Snapshot.State?.Text); 2244Assert.All(environmentEvent.Snapshot.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State)); 2247AssertAffectedResourceCommandsDuringOperation(storageEvent.Snapshot); 2250AssertUnaffectedResourceCommandsDuringOperation(storage2Event.Snapshot); 2258Assert.All(environmentEvent.Snapshot.Commands, command => Assert.Equal(ResourceCommandState.Enabled, command.State)); 2261AssertUnaffectedResourceCommandsDuringOperation(storageEvent.Snapshot); 2304Assert.All(environmentEvent.Snapshot.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State)); 2307AssertAffectedResourceCommandsDuringOperation(storageEvent.Snapshot); 2316Assert.All(environmentEvent.Snapshot.Commands, command => Assert.Equal(ResourceCommandState.Enabled, command.State)); 2319AssertUnaffectedResourceCommandsDuringOperation(storageEvent.Snapshot); 2458AssertCommandState(storageEvent.Snapshot, AzureProvisioningController.CancelCommandName, ResourceCommandState.Enabled); 2475Assert.Equal("Canceling", storageEvent.Snapshot.State?.Text); 2476AssertCommandState(storageEvent.Snapshot, AzureProvisioningController.CancelCommandName, ResourceCommandState.Disabled); 2478Assert.Equal("Canceling", blobsEvent.Snapshot.State?.Text); 2487Assert.Equal("Canceled", storageEvent.Snapshot.State?.Text); 2488Assert.DoesNotContain(storageEvent.Snapshot.Properties, p => p.Name == AzureResourceProperties.OperationName); 2537AssertCommandState(runningStorage2Event.Snapshot, AzureProvisioningController.CancelCommandName, ResourceCommandState.Hidden); 2554storageEvent.Snapshot.State?.Text is "Canceling" or "Canceled", 2555$"Expected storage to be canceling or canceled, but it was '{storageEvent.Snapshot.State?.Text}'."); 2557Assert.Equal("Running", storage2Event.Snapshot.State?.Text); 2562Assert.Equal("Running", storage2Event.Snapshot.State?.Text); 2724Assert.All(environmentEvent.Snapshot.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State)); 2727var storageSnapshot = storageEvent.Snapshot; 2736AssertUnaffectedResourceCommandsDuringOperation(storage2Event.Snapshot); 2737Assert.DoesNotContain(storage2Event.Snapshot.Properties, property => property.Name == AzureResourceProperties.OperationName); 3037Assert.Equal(KnownResourceStates.Running, storageEvent.Snapshot.State?.Text); 3482Assert.Equal(KnownResourceStates.Running, environmentEvent.Snapshot.State?.Text); 3483AssertHighlightedContextProperty(environmentEvent.Snapshot.Properties, "azure.subscription.id", "12345678-1234-1234-1234-123456789012", AzureProvisioningStrings.ContextPropertySubscriptionIdDisplayName); 3484AssertHighlightedContextProperty(environmentEvent.Snapshot.Properties, "azure.resource.group", "cli-rg-é", AzureProvisioningStrings.ContextPropertyResourceGroupDisplayName); 3485AssertHighlightedContextProperty(environmentEvent.Snapshot.Properties, "azure.location", "westus3", AzureProvisioningStrings.ContextPropertyLocationDisplayName); 3486AssertHighlightedContextProperty(environmentEvent.Snapshot.Properties, "azure.tenant.id", "87654321-4321-4321-4321-210987654321", AzureProvisioningStrings.ContextPropertyTenantIdDisplayName); 3535Assert.DoesNotContain(environmentEvent.Snapshot.Properties, p => p.Name == "azure.tenant.id"); 3933Assert.Equal("Running", keyVaultEvent.Snapshot.State?.Text); 4037Assert.Equal("Failed to Provision", keyVaultEvent.Snapshot.State?.Text); 4038Assert.Equal(AzureProvisioningFailureDetails.KeyVaultDeletedStateTombstoneNotFoundReason, keyVaultEvent.Snapshot.Properties.Single(p => p.Name == "azure.provisioning.error.code").Value?.ToString()); 4039var snapshotRecommendedActions = Assert.IsType<string[]>(keyVaultEvent.Snapshot.Properties.Single(p => p.Name == "azure.provisioning.error.recommendedActions").Value); 4244Assert.Equal("Failed to Provision", storageEvent.Snapshot.State?.Text); 4246storageEvent.Snapshot.Properties.Where(property => AzureProvisioningFailureDetails.IsFailureProperty(property.Name)), 4252Assert.Equal("Microsoft.ManagedIdentity", storageEvent.Snapshot.Properties.Single(p => p.Name == "azure.provisioning.error.provider").Value?.ToString()); 4253Assert.Equal("Microsoft.ManagedIdentity/userAssignedIdentities", storageEvent.Snapshot.Properties.Single(p => p.Name == "azure.provisioning.error.resource.type").Value?.ToString()); 4254Assert.Equal("LocationNotAvailableForResourceType", storageEvent.Snapshot.Properties.Single(p => p.Name == "azure.provisioning.error.code").Value?.ToString()); 4255Assert.Equal(400, storageEvent.Snapshot.Properties.Single(p => p.Name == "azure.provisioning.error.http.status").Value); 4256var snapshotRecommendedActions = Assert.IsType<string[]>(storageEvent.Snapshot.Properties.Single(p => p.Name == "azure.provisioning.error.recommendedActions").Value); 4330Assert.Equal(AzureProvisioningController.DriftedState, environmentEvent.Snapshot.State?.Text); 4331Assert.Equal(KnownResourceStateStyles.Error, environmentEvent.Snapshot.State?.Style); 4332AssertHighlightedContextProperty(environmentEvent.Snapshot.Properties, "azure.subscription.id", "12345678-1234-1234-1234-123456789012", AzureProvisioningStrings.ContextPropertySubscriptionIdDisplayName); 4333AssertHighlightedContextProperty(environmentEvent.Snapshot.Properties, "azure.resource.group", "test-rg", AzureProvisioningStrings.ContextPropertyResourceGroupDisplayName); 4334AssertHighlightedContextProperty(environmentEvent.Snapshot.Properties, "azure.location", "westus2", AzureProvisioningStrings.ContextPropertyLocationDisplayName); 4335AssertHighlightedContextProperty(environmentEvent.Snapshot.Properties, "azure.tenant.id", "87654321-4321-4321-4321-210987654321", AzureProvisioningStrings.ContextPropertyTenantIdDisplayName); 4336AssertHighlightedContextProperty(environmentEvent.Snapshot.Properties, "azure.tenant.domain", "testdomain.onmicrosoft.com", AzureProvisioningStrings.ContextPropertyTenantDomainDisplayName); 4339Assert.Equal(AzureProvisioningController.MissingInAzureState, resourceEvent.Snapshot.State?.Text); 4340Assert.Equal(KnownResourceStateStyles.Error, resourceEvent.Snapshot.State?.Style); 4383Assert.Equal(KnownResourceStates.Running, environmentEvent.Snapshot.State?.Text); 4386Assert.Equal(KnownResourceStates.Running, resourceEvent.Snapshot.State?.Text); 4442Assert.Equal(AzureProvisioningController.DriftedState, environmentEvent.Snapshot.State?.Text); 4445Assert.Equal(KnownResourceStates.Running, storageEvent.Snapshot.State?.Text); 4448Assert.Equal(AzureProvisioningController.MissingInAzureState, storage2Event.Snapshot.State?.Text); 4449Assert.Equal(KnownResourceStateStyles.Error, storage2Event.Snapshot.State?.Style); 4485Assert.Equal(KnownResourceStates.Running, environmentEvent.Snapshot.State?.Text); 4488Assert.Equal(KnownResourceStates.Running, resourceEvent.Snapshot.State?.Text); 4682Assert.Equal("Failed to Delete", environmentEvent.Snapshot.State?.Text); 4749Assert.Equal("Failed to Provision", storageEvent.Snapshot.State?.Text); 4752Assert.Equal("Failed to Provision", storageRolesEvent.Snapshot.State?.Text); 4820Assert.Equal(AzureProvisioningController.CancelingState, storageEvent.Snapshot.State?.Text); 4826Assert.Equal(AzureProvisioningStrings.ResourceStateCanceled, storageEvent.Snapshot.State?.Text); 4827Assert.Equal(KnownResourceStateStyles.Info, storageEvent.Snapshot.State?.Style); 4850Assert.Equal("Failed to Provision", environmentEvent.Snapshot.State?.Text); 4852var failedResourcesProperty = Assert.Single(environmentEvent.Snapshot.Properties, property => property.Name == "azure.provisioning.error.failed.resources"); 5168resourceEvent.Snapshot.State?.Text == expectedState) 5184? finalEvent.Snapshot.State?.Text
Aspire.Hosting.Blazor (6)
BlazorGatewayExtensions.cs (3)
520var gatewayState = resourceEvent.Snapshot.State; 533StartTimeStamp = resourceEvent.Snapshot.StartTimeStamp, 534StopTimeStamp = resourceEvent.Snapshot.StopTimeStamp,
BrowserDebuggerHelper.cs (3)
172? currentState.Snapshot.Version 302if (evt.Resource != debuggerResource || evt.Snapshot.Version <= minimumSnapshotVersion) 307var state = evt.Snapshot.State?.Text;
Aspire.Hosting.Blazor.Tests (1)
BrowserDebuggerHelperTests.cs (1)
147return currentState.Snapshot.Version;
Aspire.Hosting.Browsers (1)
BrowserLogsBuilderExtensions.cs (1)
188var parentState = resourceEvent.Snapshot.State?.Text;
Aspire.Hosting.Browsers.Tests (92)
BrowserLogsBuilderExtensionsTests.cs (91)
710HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserPropertyName, "chrome") && 711HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.UserDataModePropertyName, nameof(BrowserUserDataMode.Isolated)) && 712DoesNotHaveProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ProfilePropertyName)).DefaultTimeout(); 964resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running && 965HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserPropertyName, "msedge") && 966!resourceEvent.Snapshot.Properties.Any(property => property.Name == BrowserLogsBuilderExtensions.ProfilePropertyName)).DefaultTimeout(); 968var session = Assert.Single(GetBrowserSessions(runningEvent.Snapshot)); 1013resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running && 1014HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-1")).DefaultTimeout(); 1034resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running && 1035HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserPropertyName, tempBrowserPath) && 1036HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, tempBrowserPath) && 1037HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserHostOwnershipPropertyName, nameof(BrowserHostOwnership.Owned)) && 1038HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.LastErrorPropertyName, "InvalidOperationException: Launch failed.") && 1039HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) && 1040resourceEvent.Snapshot.HealthReports.Any(report => 1045GetBrowserSessions(failedEvent.Snapshot), 1098resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running && 1099HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-1")).DefaultTimeout(); 1111resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running && 1112HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserPropertyName, "missing-browser") && 1113!resourceEvent.Snapshot.Properties.Any(property => property.Name == BrowserLogsBuilderExtensions.BrowserExecutablePropertyName) && 1114HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserHostOwnershipPropertyName, nameof(BrowserHostOwnership.Owned)) && 1115HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.LastErrorPropertyName, "InvalidOperationException: Launch failed.") && 1116HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) && 1117resourceEvent.Snapshot.HealthReports.Any(report => 1122GetBrowserSessions(failedEvent.Snapshot), 1173resourceEvent.Snapshot.State?.Text == KnownResourceStates.FailedToStart && 1174HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 0) && 1175HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "None") && 1176HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.LastErrorPropertyName, errorText) && 1177resourceEvent.Snapshot.HealthReports.Any(report => 1182Assert.Single(failedEvent.Snapshot.HealthReports); 1183Assert.Empty(GetBrowserSessions(failedEvent.Snapshot)); 1226resourceEvent.Snapshot.State?.Text == KnownResourceStates.FailedToStart && 1227HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.LastErrorPropertyName, "InvalidOperationException: Launch failed.")).DefaultTimeout(); 1235resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running && 1236HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) && 1237DoesNotHaveProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.LastErrorPropertyName) && 1238!resourceEvent.Snapshot.HealthReports.Any(report => report.Name == BrowserLogsBuilderExtensions.LastErrorPropertyName)).DefaultTimeout(); 1241GetBrowserSessions(runningEvent.Snapshot), 1286resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running && 1287HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserHostOwnershipPropertyName, nameof(BrowserHostOwnership.Adopted)) && 1288HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0001 (adopted browser)")).DefaultTimeout(); 1290var session = Assert.Single(GetBrowserSessions(runningEvent.Snapshot)); 1346resourceEvent => resourceEvent.Snapshot.Commands.Any(command => 1350Assert.Equal(ResourceCommandState.Disabled, initialEvent.Snapshot.Commands.Single(command => command.Name == BrowserLogsBuilderExtensions.OpenTrackedBrowserCommandName).State); 1362resourceEvent => resourceEvent.Snapshot.Commands.Any(command => 1366Assert.Equal(ResourceCommandState.Enabled, enabledEvent.Snapshot.Commands.Single(command => command.Name == BrowserLogsBuilderExtensions.OpenTrackedBrowserCommandName).State); 1410resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running && 1411HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) && 1412HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0001 (PID 1001)") && 1413HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.TotalSessionsLaunchedPropertyName, 1) && 1414HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.LastSessionPropertyName, "session-0001") && 1415HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-1") && 1416resourceEvent.Snapshot.HealthReports.Any(report => report.Name == "session-0001" && report.Status == HealthStatus.Healthy)).DefaultTimeout(); 1418Assert.Single(firstRunningEvent.Snapshot.HealthReports); 1420GetBrowserSessions(firstRunningEvent.Snapshot), 1446resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running && 1447HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 2) && 1448HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0001 (PID 1001), session-0002 (PID 1002)") && 1449HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.TotalSessionsLaunchedPropertyName, 2) && 1450HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.LastSessionPropertyName, "session-0002") && 1451HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-2") && 1452resourceEvent.Snapshot.HealthReports.Any(report => report.Name == "session-0001" && report.Status == HealthStatus.Healthy) && 1453resourceEvent.Snapshot.HealthReports.Any(report => report.Name == "session-0002" && report.Status == HealthStatus.Healthy)).DefaultTimeout(); 1455Assert.Equal(2, secondRunningEvent.Snapshot.HealthReports.Length); 1457GetBrowserSessions(secondRunningEvent.Snapshot), 1478resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running && 1479HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) && 1480HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0002 (PID 1002)") && 1481resourceEvent.Snapshot.HealthReports.Length == 1 && 1482resourceEvent.Snapshot.HealthReports[0].Name == "session-0002").DefaultTimeout(); 1484Assert.Equal("session-0002", firstCompletedEvent.Snapshot.HealthReports[0].Name); 1486GetBrowserSessions(firstCompletedEvent.Snapshot), 1494resourceEvent.Snapshot.State?.Text == KnownResourceStates.Finished && 1495HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 0) && 1496HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "None") && 1497HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.TotalSessionsLaunchedPropertyName, 2) && 1498resourceEvent.Snapshot.HealthReports.IsEmpty).DefaultTimeout(); 1500Assert.Equal(KnownResourceStates.Finished, allCompletedEvent.Snapshot.State?.Text); 1501Assert.Empty(GetBrowserSessions(allCompletedEvent.Snapshot)); 1547resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running && 1548HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) && 1549HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.LastErrorPropertyName, errorText) && 1550resourceEvent.Snapshot.HealthReports.Any(report => 1553resourceEvent.Snapshot.HealthReports.Any(report => 1563resourceEvent.Snapshot.State?.Text == KnownResourceStates.Exited && 1564HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 0) && 1565HasProperty(resourceEvent.Snapshot, BrowserLogsBuilderExtensions.LastErrorPropertyName, errorText) && 1566resourceEvent.Snapshot.HealthReports.Any(report =>
src\Aspire.Hosting.Browsers\BrowserLogsBuilderExtensions.cs (1)
188var parentState = resourceEvent.Snapshot.State?.Text;
Aspire.Hosting.Containers.Tests (2)
DockerSocketBindMountTests.cs (2)
43e => KnownResourceStates.TerminalStates.Contains(e.Snapshot.State?.Text), 46Assert.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)
308e => e.Snapshot.Properties.Any(p => p.Name == "Anonymous access")).DefaultTimeout(); 370e => e.Snapshot.Properties.Any(p => p.Name == "Anonymous access")).DefaultTimeout(); 780e => e.Snapshot.Urls.Any(u => u.Url == inspectUrl) 781&& e.Snapshot.Urls.Any(u => u.Url == "https://example.com/diagnostics") 782&& e.Snapshot.Urls.All(u => u.IsInactive == expectedInactive), cts.Token); 783Assert.Equal(restartBeforeUrlCallbackCompletes ? KnownResourceStates.Running : KnownResourceStates.Finished, completed.Snapshot.State?.Text); 784Assert.True(completed.Snapshot.Urls.Length >= 3); 791Assert.NotNull(completed.Snapshot.StopTimeStamp); 803e => e.Snapshot.State?.Text == KnownResourceStates.Running && 804e.Snapshot.Urls.Any(u => u.Url == tunnelUrl && !u.IsInactive) && 805e.Snapshot.Urls.Any(u => u.Url == inspectUrl && !u.IsInactive), 811Assert.Contains(resourceEvent.Snapshot.Urls, u => u.Url == tunnelUrl && !u.IsInactive); 812Assert.Contains(resourceEvent.Snapshot.Urls, u => u.Url == inspectUrl && !u.IsInactive); 849resourceEvent.Snapshot.Properties.Where(p => p.Name is
TestDevTunnelMonitor.cs (3)
88e => e.Snapshot.State?.Text == KnownResourceStates.Running && e.Snapshot.HealthStatus == Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy).DefaultTimeout(); 94return current.Snapshot;
Aspire.Hosting.Dotnet (12)
DotnetProjectBuildCoordinator.cs (12)
189resourceEvent => IsSettledBuildSnapshot(resourceEvent.Snapshot), 192if (buildEvent.Snapshot.State?.Text == KnownResourceStates.FailedToStart || 193buildEvent.Snapshot.ExitCode is not 0) 195var exitCode = buildEvent.Snapshot.ExitCode?.ToString(CultureInfo.InvariantCulture) ?? "unavailable"; 305rebuildEvent.Snapshot.State?.Text is { } state && 927? resourceEvent.Snapshot 1007? resourceEvent.Snapshot 1229!ReferenceEquals(resourceEvent.Snapshot, initialSnapshot) && 1230IsSettledBuildSnapshot(resourceEvent.Snapshot), 1261!ReferenceEquals(resourceEvent.Snapshot, initialSnapshot) && 1262(resourceEvent.Snapshot.State?.Text == KnownResourceStates.FailedToStart || 1263KnownResourceStates.TerminalStates.Contains(resourceEvent.Snapshot.State?.Text)),
Aspire.Hosting.Dotnet.Tests (25)
DotnetProjectBuildCoordinatorTests.cs (25)
589resourceEvent.Snapshot.State?.Text == KnownResourceStates.Finished && 590resourceEvent.Snapshot.ExitCode is not null, 595resourceEvent.Snapshot.State?.Text == KnownResourceStates.Finished && 596resourceEvent.Snapshot.ExitCode is not null, 598Assert.All(completionEvents, resourceEvent => Assert.Equal(0, resourceEvent.Snapshot.ExitCode)); 2801resourceEvent => resourceEvent.ResourceId == name && resourceEvent.Snapshot.State?.Text == KnownResourceStates.Finished, 2843resourceEvent => resourceEvent.ResourceId == name && resourceEvent.Snapshot.State?.Text == KnownResourceStates.FailedToStart, 2890resourceEvent => DotnetProjectBuildCoordinator.IsSettledBuildSnapshot(resourceEvent.Snapshot), 2896Assert.Equal(0, secondBuildEvent.Snapshot.ExitCode); 2939resourceEvent => DotnetProjectBuildCoordinator.IsSettledBuildSnapshot(resourceEvent.Snapshot), 2943resourceEvent => DotnetProjectBuildCoordinator.IsSettledBuildSnapshot(resourceEvent.Snapshot), 2950Assert.Equal(KnownResourceStates.Finished, firstBuildEvent.Snapshot.State?.Text); 2951Assert.NotEqual(0, Assert.IsType<int>(firstBuildEvent.Snapshot.ExitCode)); 2952Assert.Equal(KnownResourceStates.FailedToStart, secondBuildEvent.Snapshot.State?.Text); 3173Assert.Equal(KnownResourceStates.NotStarted, projectEvent.Snapshot.State?.Text); 3586KnownResourceStates.TerminalStates.Contains(resourceEvent.Snapshot.State?.Text) && 3587resourceEvent.Snapshot.ExitCode is not null, 3594Assert.NotEqual(0, buildEvent.Snapshot.ExitCode); 3641resourceEvent => resourceEvent.Snapshot.State?.Text == KnownResourceStates.Starting, 3662resourceEvent => resourceEvent.Snapshot.State?.Text == KnownResourceStates.Starting, 3683resourceEvent => DotnetProjectBuildCoordinator.IsSettledBuildSnapshot(resourceEvent.Snapshot), 3685Assert.Equal(KnownResourceStates.Finished, buildEvent.Snapshot.State?.Text); 3686Assert.NotEqual(0, Assert.IsType<int>(buildEvent.Snapshot.ExitCode)); 3693resourceEvent => resourceEvent.Snapshot.State?.Text == KnownResourceStates.FailedToStart, 3695Assert.Equal(KnownResourceStates.FailedToStart, workerEvent.Snapshot.State?.Text);
Aspire.Hosting.DotnetTool.Tests (2)
DotnetToolFunctionalTests.cs.cs (2)
29Assert.Equal(resourceState.Snapshot.ExitCode, 0); 51Assert.NotEqual(resourceState.Snapshot.ExitCode, 0);
Aspire.Hosting.EntityFrameworkCore (4)
EFCoreOperationExecutor.cs (4)
335r => r.Snapshot.State?.Text == KnownResourceStates.Finished || 336r.Snapshot.State?.Text == KnownResourceStates.Exited || 337r.Snapshot.State?.Text == KnownResourceStates.FailedToStart, 366var snapshot = resourceEvent.Snapshot;
Aspire.Hosting.EntityFrameworkCore.Tests (1)
EFBuildReadinessTests.cs (1)
49Assert.Equal(KnownResourceStates.Finished, state.Snapshot.State?.Text);
Aspire.Hosting.Maui (6)
Lifecycle\MauiBuildQueueEventSubscriber.cs (3)
334e => ShouldReleaseBuildLockForLaunchState(e.Snapshot.State?.Text, stateAtCallTime, releaseOnRunning), 405e => ShouldReleaseBuildLockForLaunchState(e.Snapshot.State?.Text, stateAtCallTime, releaseOnRunning: false), 560e => string.Equals(e.Snapshot.State?.Text, KnownResourceStates.FailedToStart, StringComparisons.ResourceState),
MauiOtlpExtensions.cs (3)
430IsUnavailableState(resourceEvent.Snapshot.State?.Text), 447if (IsUnavailableState(resourceEvent.Snapshot.State?.Text) || 470var endpointUrl = resourceEvent.Snapshot.EnvironmentVariables
Aspire.Hosting.Maui.Tests (3)
MauiBuildQueueTests.cs (3)
131if (evt.Resource.Name == env.MacCatalyst.Name && evt.Snapshot.State?.Text == "Queued") 165if (evt.Resource.Name == env.Android.Name && evt.Snapshot.State?.Text == "Building") 1165if (evt.Resource.Name == resource.Name && evt.Snapshot.State?.Text == state)
Aspire.Hosting.MongoDB (3)
MongoDBSingleMemberReplicaSet.cs (1)
47var isRunning = update.Snapshot.State?.Text == KnownResourceStates.Running;
src\Shared\ContainerReplCommand.cs (2)
29resourceEvent.Snapshot.State?.Text != KnownResourceStates.Running) 35var containerId = GetContainerId(resourceEvent.Snapshot);
Aspire.Hosting.MongoDB.Tests (4)
ReplicaSet\AddMongoDBReplicaSetTests.cs (1)
369return resourceEvent.Snapshot.State?.Text;
SingleMemberReplicaSetFunctionalTests.cs (3)
161update => update.Snapshot.HealthReports.Any(r => r.Name == "mongo_check" && r.Status == HealthStatus.Healthy), ready.Token); 167update => update.Snapshot.State?.Text == KnownResourceStates.Exited, ready.Token); 168Assert.Equal(0, completed.Snapshot.ExitCode);
Aspire.Hosting.MySql (2)
src\Shared\ContainerReplCommand.cs (2)
29resourceEvent.Snapshot.State?.Text != KnownResourceStates.Running) 35var containerId = GetContainerId(resourceEvent.Snapshot);
Aspire.Hosting.MySql.Tests (2)
MySqlFunctionalTests.cs (2)
613return evt.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null; 616return resourceEvent.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.PostgreSQL (2)
src\Shared\ContainerReplCommand.cs (2)
29resourceEvent.Snapshot.State?.Text != KnownResourceStates.Running) 35var containerId = GetContainerId(resourceEvent.Snapshot);
Aspire.Hosting.PostgreSQL.Tests (2)
PostgresFunctionalTests.cs (2)
590return evt.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null; 593return resourceEvent.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.Qdrant.Tests (1)
QdrantFunctionalTests.cs (1)
284await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token);
Aspire.Hosting.Redis (2)
src\Shared\ContainerReplCommand.cs (2)
29resourceEvent.Snapshot.State?.Text != KnownResourceStates.Running) 35var containerId = GetContainerId(resourceEvent.Snapshot);
Aspire.Hosting.Redis.Tests (11)
RedisFunctionalTests.cs (11)
122e => e.Snapshot.State == KnownResourceStates.Running, 124var commanderEndpointUri = new Uri(commanderEvent.Snapshot.Urls.First(u => u.Name == "http").Url); 130e => e.Snapshot.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "Manage (Commander)") is { IsInactive: false }, 133var managementUrl = redisEvent.Snapshot.Urls.First(u => u.DisplayProperties.DisplayName == "Manage (Commander)"); 168e => e.Snapshot.State == KnownResourceStates.Running, 171var managementUrl = redisEvent.Snapshot.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "Manage (Commander)"); 180e => e.Snapshot.State == KnownResourceStates.Running, 182Assert.True(commanderEvent.Snapshot.IsHidden); 186e => e.Snapshot.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "Manage (Commander)") is { IsInactive: false }, 191managementUrl = redisEvent.Snapshot.Urls.First(u => u.DisplayProperties.DisplayName == "Manage (Commander)"); 199e => e.Snapshot.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "Manage (Commander)") is { IsInactive: true },
Aspire.Hosting.SqlServer (2)
src\Shared\ContainerReplCommand.cs (2)
29resourceEvent.Snapshot.State?.Text != KnownResourceStates.Running) 35var containerId = GetContainerId(resourceEvent.Snapshot);
Aspire.Hosting.Testing.Tests (2)
DashboardUrlTests.cs (2)
107resourceEvent => resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running, 135resourceEvent => resourceEvent.Snapshot.State?.Text == updatedState,
Aspire.Hosting.Tests (283)
Codespaces\CodespacesUrlRewriterTests.cs (3)
83var match = re.Snapshot.Urls.Length > 0 && re.Snapshot.Urls[0].Url.Contains("app.github.dev"); 89resourceEvent.Snapshot.Urls,
DistributedApplicationTests.cs (51)
209var resourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 213await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 217await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Finished, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 221await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 225await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 255var notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 256var dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 259Assert.Contains("TestProject.ServiceA.csproj", notStartedResourceEvent.Snapshot.Properties.Single(p => p.Name == "project.path").Value?.ToString()); 260Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.Snapshot.Properties.Single(p => p.Name == "project.path").Value?.ToString()); 262Assert.Collection(notStartedResourceEvent.Snapshot.Urls, u => 268Assert.Collection(dependentResourceEvent.Snapshot.Urls, u => 277var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 278Assert.Collection(runningResourceEvent.Snapshot.Urls, u => 285var dependentResourceRunningEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 286Assert.Collection(dependentResourceRunningEvent.Snapshot.Urls, u => 298await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Finished, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 302await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 353await rns.WaitForResourceAsync(normalResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout); 356await rns.WaitForResourceAsync(explicitStartResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout); 396var notStartedResourceEvent = await rns.WaitForResourceAsync(explicitStartResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 405await rns.WaitForResourceAsync(explicitStartResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout); 550e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted, 555e => e.Snapshot.State?.Text == KnownResourceStates.Waiting, 559Assert.Collection(notStartedResourceEvent.Snapshot.Urls, u => 564Assert.Collection(dependentResourceEvent.Snapshot.Urls, u => 572Assert.Equal(RedisImageSource, notStartedResourceEvent.Snapshot.Properties.Single(p => p.Name == "container.image").Value?.ToString()); 573Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.Snapshot.Properties.Single(p => p.Name == "project.path").Value?.ToString()); 577var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 578Assert.Collection(runningResourceEvent.Snapshot.Urls, u => 584var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 585Assert.Collection(dependentRunningResourceEvent.Snapshot.Urls, u => 593await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Exited, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 597await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 639notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 640dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 642Assert.Collection(notStartedResourceEvent.Snapshot.Urls, u => 647Assert.Collection(dependentResourceEvent.Snapshot.Urls, u => 655Assert.Equal(RedisImageSource, notStartedResourceEvent.Snapshot.Properties.Single(p => p.Name == "container.image").Value?.ToString()); 656Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.Snapshot.Properties.Single(p => p.Name == "project.path").Value?.ToString()); 662var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 663Assert.Collection(runningResourceEvent.Snapshot.Urls, u => 669var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 670Assert.Collection(dependentRunningResourceEvent.Snapshot.Urls, u => 678await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Exited, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 685await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 1110var dependentRunningResourceEvent = await rns.WaitForResourceAsync(container.Resource.Name, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 2122var state = e.Snapshot.State?.Text; 2131var state = e.Snapshot.State?.Text; 2167e => e.Snapshot.State?.Text == KnownResourceStates.Running && 2172e => e.Snapshot.State?.Text == KnownResourceStates.Running && 2389return resourceEvent.Snapshot.Properties.FirstOrDefault(p => p.Name == propertyName)?.Value;
ExternalServiceTests.cs (6)
342e => e.Snapshot.State?.Text == KnownResourceStates.FailedToStart 346Assert.Equal(KnownResourceStates.FailedToStart, resourceEvent.Snapshot.State?.Text); 369e => e.Snapshot.State?.Text == KnownResourceStates.FailedToStart 373Assert.Equal(KnownResourceStates.FailedToStart, resourceEvent.Snapshot.State?.Text); 396e => e.Snapshot.State?.Text == KnownResourceStates.Running 400Assert.Equal(KnownResourceStates.Running, resourceEvent.Snapshot.State?.Text);
Health\ResourceHealthCheckServiceTests.cs (24)
38var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 39Assert.Null(startingEvent.Snapshot.HealthStatus); 47Assert.Equal(HealthStatus.Healthy, healthyEvent.Snapshot.HealthStatus); 78var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 79Assert.Null(startingEvent.Snapshot.HealthStatus); 86var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(); 88Assert.Equal(HealthStatus.Unhealthy, runningEvent.Snapshot.HealthStatus); 121var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 122Assert.Null(startingEvent.Snapshot.HealthStatus); 130e => e.Snapshot.State?.Text == KnownResourceStates.Running && e.Snapshot.HealthReports.Single().Status == HealthStatus.Unhealthy).DefaultTimeout(); 132Assert.Equal(HealthStatus.Unhealthy, runningEvent.Snapshot.HealthStatus); 133Assert.Equal("Error calling HealthCheckService.", runningEvent.Snapshot.HealthReports.Single().Description); 587var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 588Assert.Null(startingEvent.Snapshot.HealthStatus); 596var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(); 597Assert.Equal(HealthStatus.Unhealthy, runningEvent.Snapshot.HealthStatus); 604Assert.Equal(HealthStatus.Healthy, healthyEvent.Snapshot.HealthStatus); 633var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 634Assert.Null(startingEvent.Snapshot.HealthStatus); 641var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(); 643Assert.Equal(HealthStatus.Unhealthy, runningEvent.Snapshot.HealthStatus); 649var unhealthyEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.HealthStatus == HealthStatus.Unhealthy).DefaultTimeout(); 650Assert.Equal(HealthStatus.Unhealthy, unhealthyEvent.Snapshot.HealthStatus);
Lifecycle\TerminalHostFailureDiagnosticServiceTests.cs (2)
252if (evt.Resource == host && !evt.Snapshot.IsHidden) 265return evt.Snapshot;
Orchestrator\ApplicationOrchestratorTests.cs (39)
39Assert.Equal(KnownResourceStates.Finished, @event.ResourceEvent.Snapshot.State?.Text); 40Assert.Equal(0, @event.ResourceEvent.Snapshot.ExitCode); 102childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 150childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 251childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 255nestedChildParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 259child2ParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 320childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 368projectBParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 518currentState.Snapshot.Properties, 564Assert.Equal(KnownResourceStates.FailedToStart, snapshotEvent.Snapshot.State?.Text); 565Assert.Equal(KnownResourceStateStyles.Error, snapshotEvent.Snapshot.State?.Style); 592Assert.Equal(KnownResourceStates.FailedToStart, snapshotEvent.Snapshot.State?.Text); 593Assert.Null(snapshotEvent.Snapshot.State?.Style); 616Assert.Equal(KnownResourceStates.Starting, snapshotEvent.Snapshot.State?.Text); 648Assert.Equal(KnownResourceStates.Waiting, waitingEvent.Snapshot.State?.Text); 689Assert.NotEqual(KnownResourceStates.Running, dependencyEvent.Snapshot.State?.Text); 737e => e.ResourceId == "waiter-abc123" && e.Snapshot.State?.Text == KnownResourceStates.Waiting, 795e => e.ResourceId == "waiter-abc123" && e.Snapshot.State?.Text == KnownResourceStates.Waiting, 799Assert.Equal(KnownResourceStates.NotStarted, siblingEvent.Snapshot.State?.Text); 846e => e.ResourceId == "waiter-abc123" && e.Snapshot.State?.Text == KnownResourceStates.Waiting, 900e => e.ResourceId == "waiter-abc123" && e.Snapshot.State?.Text == KnownResourceStates.Waiting, 908e => e.ResourceId == "waiter-def456" && e.Snapshot.State?.Text == KnownResourceStates.Waiting, 962Assert.NotEqual(KnownResourceStates.Running, blockerEvent.Snapshot.State?.Text); 1011|| waiterEvent.Snapshot.State?.Text != KnownResourceStates.Waiting) 1028Assert.NotEqual(KnownResourceStates.Running, blockerEvent.Snapshot.State?.Text); 1095re => re.Snapshot.State?.Text == KnownResourceStates.Waiting, 1098var waitingFor = waitingEvent.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.WaitingFor)?.Value; 1363var parentState = resourceNotificationService.TryGetCurrentState("parent-container-dcp", out var parentEvent) ? parentEvent.Snapshot.State?.Text : null; 1364var childContainerState = resourceNotificationService.TryGetCurrentState(childContainer.Resource.Name, out var childContainerEvent) ? childContainerEvent.Snapshot.State?.Text : null; 1365var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.Snapshot.State?.Text : null; 1411var parentState = resourceNotificationService.TryGetCurrentState("parent-container-dcp", out var parentEvent) ? parentEvent.Snapshot.State?.Text : null; 1412var childProjectState = resourceNotificationService.TryGetCurrentState(childProject.Resource.Name, out var childProjectEvent) ? childProjectEvent.Snapshot.State?.Text : null; 1413var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.Snapshot.State?.Text : null; 1460childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 1464child2ParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 1517childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 1521child2ParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 1571childProjectParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
Orchestrator\ParameterProcessorTests.cs (31)
90updates.Add((resourceEvent.Resource, resourceEvent.Snapshot)); 144Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 145Assert.DoesNotContain(updates.Current.Snapshot.Properties, property => property.Name == KnownProperties.Parameter.Value); 340Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 341AssertParameterValueProperty(updates.Current.Snapshot, "value1", isSensitive: false); 344Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 345AssertParameterValueProperty(updates.Current.Snapshot, "value2", isSensitive: false); 348Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 349AssertParameterValueProperty(updates.Current.Snapshot, "secretValue", isSensitive: true); 1942Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 1943AssertParameterValueProperty(updates.Current.Snapshot, "programmaticValue", isSensitive: false); 1981Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.Snapshot.State?.Text); 2131Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 2132AssertParameterValueProperty(updates.Current.Snapshot, "resourceValue", isSensitive: false); 2149Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.Snapshot.State?.Text); 2161Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 2162AssertParameterValueProperty(updates.Current.Snapshot, "resourceValue", isSensitive: false); 2182Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 2183Assert.DoesNotContain(updates.Current.Snapshot.Properties, property => property.Name == KnownProperties.Parameter.Value); 2199Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.Snapshot.State?.Text); 2211Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 2212Assert.DoesNotContain(updates.Current.Snapshot.Properties, property => property.Name == KnownProperties.Parameter.Value); 2230Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 2237Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.Snapshot.State?.Text); 2282Assert.Equal(clearValue ? KnownResourceStates.ValueMissing : KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 2295AssertParameterValueProperty(updates.Current.Snapshot, "latestValue", isSensitive: false); 2317Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 2324Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.Snapshot.State?.Text); 2351Assert.Equal(KnownResourceStates.ValueMissing, updates.Current.Snapshot.State?.Text); 2358Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 2359var valueProperty = Assert.Single(updates.Current.Snapshot.Properties, property => property.Name == KnownProperties.Parameter.Value);
ResourceCommandServiceTests.cs (1)
1753await resourceNotificationService.WaitForResourceAsync(project.Resource.Name, e => KnownResourceStates.BuildableStates.Contains(e.Snapshot.State?.Text), cts.Token).DefaultTimeout(TimeSpan.FromMinutes(2));
ResourceNotificationTests.cs (82)
92Assert.Equal(expectedResourceType, resourceEvent.Snapshot.ResourceType); 133Assert.Equal("CustomResource", c.Snapshot.ResourceType); 134Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "A").Value); 135Assert.Null(c.Snapshot.HealthStatus); 141Assert.Equal("CustomResource", c.Snapshot.ResourceType); 142Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "B").Value); 143Assert.Null(c.Snapshot.HealthStatus); 160Assert.Equal(HealthStatus.Unhealthy, resourceEvent.Snapshot.HealthStatus); 162resourceEvent.Snapshot.HealthReports, 213Assert.Equal("CustomResource", c.Snapshot.ResourceType); 214Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "A").Value); 220Assert.Equal("CustomResource", c.Snapshot.ResourceType); 221Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "B").Value); 227Assert.Equal("CustomResource", c.Snapshot.ResourceType); 228Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "C").Value); 419re => re.Snapshot.State?.Text == KnownResourceStates.Waiting && 423Assert.Equal(KnownResourceStates.Waiting, waitingEvent.Snapshot.State?.Text); 432re => re.Snapshot.State?.Text == KnownResourceStates.Waiting && 446Assert.DoesNotContain(completedWaitingEvent.Snapshot.Properties, p => p.Name == KnownProperties.Resource.WaitingFor); 467re => re.Snapshot.State?.Text == KnownResourceStates.Waiting && 471Assert.Equal(KnownResourceStates.Waiting, waitingEvent.Snapshot.State?.Text); 485re => re.Snapshot.State?.Text == KnownResourceStates.Waiting && 504Assert.DoesNotContain(completedWaitingEvent.Snapshot.Properties, p => p.Name == KnownProperties.Resource.WaitingFor); 523re => re.Snapshot.State?.Text == KnownResourceStates.Waiting && 527Assert.Equal(KnownResourceStates.Waiting, waitingEvent.Snapshot.State?.Text); 537re => re.Snapshot.State?.Text == KnownResourceStates.Waiting && 552Assert.DoesNotContain(completedWaitingEvent.Snapshot.Properties, p => p.Name == KnownProperties.Resource.WaitingFor); 577re => re.Snapshot.State?.Text == KnownResourceStates.Waiting, 580Assert.Equal(KnownResourceStates.Waiting, waitingEvent.Snapshot.State?.Text); 623Assert.Equal(state, resourceEvent.Snapshot.State?.Text); 657re => re.ResourceId == "resource-abc123" && re.Snapshot.State?.Text == KnownResourceStates.Waiting, 661Assert.Equal(KnownResourceStates.NotStarted, notStartedEvent.Snapshot.State?.Text); 671Assert.Equal(KnownResourceStates.NotStarted, notStartedEvent.Snapshot.State?.Text); 701Assert.Equal(KnownResourceStates.NotStarted, notStartedEvent.Snapshot.State?.Text); 728re => re.Snapshot.State?.Text == KnownResourceStates.Waiting, 767re => re.ResourceId == "resource-abc123" && re.Snapshot.State?.Text == KnownResourceStates.Waiting, 799re => re.Snapshot.State?.Text == KnownResourceStates.Waiting && 812re => re.Snapshot.State?.Text == KnownResourceStates.Waiting && 826Assert.DoesNotContain(completedWaitingEvent.Snapshot.Properties, p => p.Name == KnownProperties.Resource.WaitingFor); 842Assert.Contains(waitingEvent.Snapshot.Properties, p => p.Name == KnownProperties.Resource.WaitingFor); 850Assert.DoesNotContain(runningEvent.Snapshot.Properties, p => p.Name == KnownProperties.Resource.WaitingFor); 903re => re.Snapshot.State?.Text == KnownResourceStates.Waiting && 1123Assert.Equal("ExistingIcon", firstEvent.Snapshot.IconName); 1124Assert.Equal(IconVariant.Filled, firstEvent.Snapshot.IconVariant); 1128Assert.Equal("ExistingIcon", secondEvent.Snapshot.IconName); 1129Assert.Equal(IconVariant.Filled, secondEvent.Snapshot.IconVariant); 1130Assert.Equal("Running", secondEvent.Snapshot.State?.Text); 1165Assert.Equal("LastIcon", value.Snapshot.IconName); 1166Assert.Equal(IconVariant.Regular, value.Snapshot.IconVariant); 1167Assert.Equal("Starting", value.Snapshot.State?.Text); 1201Assert.Equal("AnnotationIcon", value.Snapshot.IconName); 1202Assert.Equal(IconVariant.Regular, value.Snapshot.IconVariant); 1203Assert.Equal("Starting", value.Snapshot.State?.Text); 1345Assert.Equal(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy, resourceEvent.Snapshot.HealthStatus); 1346Assert.NotNull(resourceEvent.Snapshot.ResourceReadyEvent); 1347Assert.True(resourceEvent.Snapshot.ResourceReadyEvent.EventTask.IsCompletedSuccessfully); 1413Assert.Equal(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy, resourceEvent.Snapshot.HealthStatus); 1438Assert.Equal(HealthStatus.Healthy, resourceEvent.Snapshot.HealthStatus); 1439Assert.True(resourceEvent.Snapshot.ResourceReadyEvent?.EventTask.IsCompletedSuccessfully); 1460return resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running; 1470Assert.Equal(KnownResourceStates.Running, (await waitTask.DefaultTimeout()).Snapshot.State?.Text); 1503return resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running; 1507Assert.Equal(KnownResourceStates.Running, (await waitTask).Snapshot.State?.Text); 1591Assert.True((await waitTask.DefaultTimeout()).Snapshot.ResourceReadyEvent?.EventTask.IsCompletedSuccessfully); 1610Assert.True((await waitTask.DefaultTimeout()).Snapshot.ResourceReadyEvent?.EventTask.IsCompletedSuccessfully); 1707return resourceEvent!.Snapshot.IsHidden; 1756Assert.Equal(initial.Snapshot.Version, unchanged.Snapshot.Version); 1761Assert.True(changed.Snapshot.Version > initial.Snapshot.Version, "A real change should publish a new version."); 1762Assert.Equal("SomeOtherState", changed.Snapshot.State?.Text); 1821Assert.Equal(initial.Snapshot.Version, unchanged.Snapshot.Version); 1834Assert.True(changed.Snapshot.Version > initial.Snapshot.Version, "A changed value inside a List<T> property should publish a new version."); 1853Assert.Equal(initial.Snapshot.Version, unchanged.Snapshot.Version); 1874changed.Snapshot.Version > initial.Snapshot.Version, 1906changed.Snapshot.Version > initial.Snapshot.Version, 1912var property = resourceEvent.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.WaitingFor);
WithHttpCommandTests.cs (12)
957e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 959Assert.Equal(ResourceCommandState.Disabled, startingEvent.Snapshot.Commands.First(c => c.Name == "mycommand").State); 970e => e.Snapshot.State?.Text == KnownResourceStates.Running && 971e.Snapshot.Commands.First(c => c.Name == "mycommand").State == ResourceCommandState.Enabled).DefaultTimeout(); 973Assert.Equal(ResourceCommandState.Enabled, runningEvent.Snapshot.Commands.First(c => c.Name == "mycommand").State); 1013e => e.Snapshot.State?.Text == KnownResourceStates.Running && 1014e.Snapshot.Commands.First(c => c.Name == "mycommand").State == ResourceCommandState.Hidden).DefaultTimeout(); 1016Assert.Equal(ResourceCommandState.Hidden, runningEvent.Snapshot.Commands.First(c => c.Name == "mycommand").State); 1028e => e.Snapshot.Commands.First(c => c.Name == "mycommand").State == ResourceCommandState.Enabled).DefaultTimeout(); 1031Assert.Equal(ResourceCommandState.Enabled, enabledEvent.Snapshot.Commands.First(c => c.Name == "mycommand").State); 1069e => e.Snapshot.State?.Text == KnownResourceStates.Running && 1070e.Snapshot.Commands.FirstOrDefault(c => c.Name == commandName)?.State == ResourceCommandState.Enabled).DefaultTimeout();
WithUrlsTests.cs (32)
409e => e.Snapshot.Urls.Length == 1).DefaultTimeout(); 413Assert.Single(resourceEvent.Snapshot.Urls, s => s.Name == httpEndpoint.EndpointName && s.IsInactive && s.Url == "https://example.com"); 434e => e.Snapshot.Urls.Length == 3).DefaultTimeout(); 438Assert.Collection(resourceEvent.Snapshot.Urls, 467e => e.Snapshot.State == KnownResourceStates.Running 468&& e.Snapshot.Urls.Length == 2 469&& e.Snapshot.Urls.All(url => !url.IsInactive)).DefaultTimeout(); 473Assert.Equal(2, resourceEvent.Snapshot.Urls.Length); 474Assert.Collection(resourceEvent.Snapshot.Urls, 500if (notification.Resource == servicea.Resource && notification.Snapshot.Urls.Length > 0) 502urlSnapshots.Add(notification.Snapshot.Urls.ToArray()); 503testOutputHelper.WriteLine($"Captured snapshot #{urlSnapshots.Count}: State={notification.Snapshot.State}, URLs: {FormatUrls(notification.Snapshot.Urls)}"); 506if (notification.Snapshot.State == KnownResourceStates.Running && 507notification.Snapshot.Urls.All(u => !u.IsInactive)) 616if (notification.Resource == custom.Resource && notification.Snapshot.Urls.Length > 0) 618urlSnapshots.Add(notification.Snapshot.Urls.ToArray()); 619testOutputHelper.WriteLine($"Captured snapshot #{urlSnapshots.Count}: State={notification.Snapshot.State}, URLs: {FormatUrls(notification.Snapshot.Urls)}"); 622if (notification.Snapshot.State == KnownResourceStates.Running && 623notification.Snapshot.Urls.All(u => !u.IsInactive)) 693e => e.Snapshot.State == KnownResourceStates.Running && e.Snapshot.Urls.Length == 4).DefaultTimeout(); 697Assert.Collection(resourceEvent.Snapshot.Urls, 1082e => e.Snapshot.State == KnownResourceStates.Running 1083&& e.Snapshot.Urls.Length == resourceB.Resource.GetEndpoints().ToArray().Length + 1 1084&& e.Snapshot.Urls.All(u => !u.IsInactive), 1096var crossResourceUrl = resourceEvent.Snapshot.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "API Docs"); 1134e => e.Snapshot.State == KnownResourceStates.Running, 1137var crossResourceUrl = resourceEvent.Snapshot.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "API Docs"); 1149e => e.Snapshot.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "API Docs") is { IsInactive: false }, 1158e => 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 158resourceEvent.Snapshot.Properties.FirstOrDefault(x => x.Name == propertyName)?.Value;
Aspire.Hosting.Valkey (2)
src\Shared\ContainerReplCommand.cs (2)
29resourceEvent.Snapshot.State?.Text != KnownResourceStates.Running) 35var containerId = GetContainerId(resourceEvent.Snapshot);
Aspire.Playground.Tests (2)
Infrastructure\DistributedApplicationExtensions.cs (2)
107return 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)
156await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, x => x.Snapshot.HealthReports.All(x => x.Status.HasValue), cts.Token); 176await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, x => x.Snapshot.HealthStatus == HealthStatus.Healthy, cts.Token);