588 references to Snapshot
Aspire.Hosting (66)
ApplicationModel\CommandsConfigurationExtensions.cs (3)
225
preRebuildStates[name] = evt.
Snapshot
.State?.Text;
281
KnownResourceStates.TerminalStates.Contains(evt.
Snapshot
.State?.Text))
283
exitCode = evt.
Snapshot
.ExitCode;
ApplicationModel\ResourceNotificationService.cs (19)
133
re => re.
Snapshot
.State?.Text is { Length: > 0 } stateText && targetStates.Contains(stateText, StringComparers.ResourceState),
137
var finalState = resourceEvent.
Snapshot
.State!.Text!;
157
re => re.ResourceId == resourceId && re.
Snapshot
.HealthStatus == HealthStatus.Healthy,
167
re => re.ResourceId == resourceId && re.
Snapshot
.ResourceReadyEvent is not null,
173
await resourceEvent.
Snapshot
.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false);
258
re => ShouldYieldHealthyWait(waitBehavior, re.
Snapshot
),
263
if (resourceEvent.
Snapshot
.HealthStatus != HealthStatus.Healthy)
273
re => re.ResourceId == resourceEvent.ResourceId && re.
Snapshot
.ResourceReadyEvent is not null,
279
await resourceEvent.
Snapshot
.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false);
329
re => re.ResourceId == resourceId && IsKnownTerminalState(re.
Snapshot
),
333
var snapshot = resourceEvent.
Snapshot
;
393
re => re.ResourceId == resourceId && IsContinuableState(waitBehavior, re.
Snapshot
),
397
var snapshot = resourceEvent.
Snapshot
;
796
if (versionsSeen.TryGetValue(item.ResourceId, out var maxVersionSeen) && item.
Snapshot
.Version <= maxVersionSeen)
1290
if (TryGetCurrentState(resourceName, out var evt) && evt.
Snapshot
!= null)
1292
var snapshot = evt.
Snapshot
;
1332
error.Append(CultureInfo.InvariantCulture, $" - {dependencyName}: State = {dependencyEvent.
Snapshot
.State?.Text ?? "(null)"}");
1333
error.Append(CultureInfo.InvariantCulture, $", Health = {dependencyEvent.
Snapshot
.HealthStatus?.ToString() ?? "(null)"}");
1334
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)
145
var healthStatus = CustomResourceSnapshot.ComputeHealthStatus(resourceEvent.
Snapshot
.HealthReports, resourceEvent.
Snapshot
.State?.Text);
150
Type = resourceEvent.
Snapshot
.ResourceType,
151
State = resourceEvent.
Snapshot
.State?.Text ?? "Unknown",
Backchannel\AuxiliaryBackchannelRpcTarget.cs (18)
681
re => ResourceNotificationService.ShouldYieldHealthyWait(WaitBehavior.StopOnResourceUnavailable, re.
Snapshot
),
685
if (resourceEvent.
Snapshot
.HealthStatus != HealthStatus.Healthy)
693
re => re.
Snapshot
.ResourceReadyEvent is not null,
697
await resourceEvent.
Snapshot
.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false);
702
State = resourceEvent.
Snapshot
.State?.Text,
703
HealthStatus = resourceEvent.
Snapshot
.HealthStatus?.ToString()
712
re => re.
Snapshot
.State?.Text == KnownResourceStates.Running ||
713
KnownResourceStates.TerminalStates.Contains(re.
Snapshot
.State?.Text, StringComparers.ResourceState) ||
714
string.Equals(re.
Snapshot
.State?.Style, KnownResourceStateStyles.Error, StringComparisons.ResourceState) ||
715
re.
Snapshot
.ExitCode is not null,
719
var state = resourceEvent.
Snapshot
.State?.Text;
726
HealthStatus = resourceEvent.
Snapshot
.HealthStatus?.ToString(),
736
re => KnownResourceStates.TerminalStates.Contains(re.
Snapshot
.State?.Text) || re.
Snapshot
.ExitCode is not null,
743
State = resourceEvent.
Snapshot
.State?.Text,
744
HealthStatus = resourceEvent.
Snapshot
.HealthStatus?.ToString()
1052
var snapshot = resourceEvent.
Snapshot
;
1742
return notificationService.TryGetCurrentState(resourceName, out var resourceEvent) && resourceEvent.
Snapshot
.IsHidden;
Dashboard\DashboardServiceData.cs (1)
100
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)
820
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))
393
if (currentEvent.
Snapshot
.Version <= previousEvent.
Snapshot
.Version)
397
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 (2)
162
if (e.
Snapshot
.State?.Text == KnownResourceStates.Waiting)
586
previousState = previousResourceEvent.
Snapshot
.State?.Text;
Aspire.Hosting.Azure (5)
AzureProvisioningController.cs (5)
2161
environmentEvent.
Snapshot
.State?.Text != KnownResourceStates.Running)
3143
return resourceEvent.
Snapshot
.Properties
3387
return resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running;
3835
string.Equals(currentEvent.
Snapshot
.State?.Text, state, StringComparison.Ordinal);
3841
currentEvent.
Snapshot
.State is { Text: { } stateText } currentState &&
Aspire.Hosting.Azure.Tests (139)
AzureBicepProvisionerTests.cs (29)
80
var parentProperty = resourceEvent.
Snapshot
.Properties.FirstOrDefault(x => x.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
751
AssertHighlightedContextProperty(resourceEvent.
Snapshot
.Properties, "azure.subscription.id", "12345678-1234-1234-1234-123456789012", AzureProvisioningStrings.ContextPropertySubscriptionIdDisplayName);
752
AssertHighlightedContextProperty(resourceEvent.
Snapshot
.Properties, "azure.resource.group", "test-rg", AzureProvisioningStrings.ContextPropertyResourceGroupDisplayName);
753
AssertHighlightedContextProperty(resourceEvent.
Snapshot
.Properties, "azure.tenant.id", "87654321-4321-4321-4321-210987654321", AzureProvisioningStrings.ContextPropertyTenantIdDisplayName);
754
AssertHighlightedContextProperty(resourceEvent.
Snapshot
.Properties, "azure.tenant.domain", "testdomain.onmicrosoft.com", AzureProvisioningStrings.ContextPropertyTenantDomainDisplayName);
755
AssertHighlightedContextProperty(resourceEvent.
Snapshot
.Properties, "azure.location", "westus3", AzureProvisioningStrings.ContextPropertyLocationDisplayName);
756
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());
785
Assert.Equal("87654321-4321-4321-4321-210987654321", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.tenant.id").Value?.ToString());
786
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());
823
Assert.Equal("87654321-4321-4321-4321-210987654321", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.tenant.id").Value?.ToString());
824
Assert.Equal(expectedDeploymentId, resourceEvent.
Snapshot
.Properties.Single(p => p.Name == CustomResourceKnownProperties.Source).Value?.ToString());
825
Assert.Equal(BicepProvisioner.GetDeploymentUrl(new ResourceIdentifier(expectedDeploymentId)), resourceEvent.
Snapshot
.Urls.Single(u => u.Name == "deployment").Url);
937
Assert.Equal("12345678-1234-1234-1234-123456789012", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.subscription.id").Value?.ToString());
938
Assert.Equal("test-rg", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.resource.group").Value?.ToString());
939
Assert.Equal("87654321-4321-4321-4321-210987654321", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.tenant.id").Value?.ToString());
940
Assert.Equal("microsoft.onmicrosoft.com", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.tenant.domain").Value?.ToString());
941
Assert.Equal("westus2", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.location").Value?.ToString());
942
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());
988
Assert.Equal("scoped-rg", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.resource.group").Value?.ToString());
1179
Assert.Equal("Azure deployment failed", resourceEvent.
Snapshot
.State?.Text);
1181
resourceEvent.
Snapshot
.Properties,
1225
resourceEvent.
Snapshot
.Properties.Where(static property =>
1294
Assert.Equal("Azure deployment failed", resourceEvent.
Snapshot
.State?.Text);
1295
Assert.DoesNotContain(resourceEvent.
Snapshot
.Properties, p => p.Name.StartsWith("azure.deployment.operations.", StringComparison.Ordinal));
1296
Assert.Equal(AzureProvisioningFailureDetails.LocationNotAvailableForResourceTypeErrorCode, resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.code").Value);
1297
Assert.Equal("australiacentral", resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.current.location").Value);
1298
var supportedLocations = Assert.IsType<string[]>(resourceEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.supported.locations").Value);
1762
Assert.Equal("Azure deployment canceled", resourceEvent.
Snapshot
.State?.Text);
1801
var property = Assert.Single(resourceEvent.
Snapshot
.Properties, p => p.Name == "azure.resource.group");
AzureEnvironmentResourceExtensionsTests.cs (110)
381
Assert.Equal(KnownResourceStates.NotStarted, environmentEvent.
Snapshot
.State?.Text);
382
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Enabled, command.State));
385
Assert.Equal(KnownResourceStates.NotStarted, storageEvent.
Snapshot
.State?.Text);
386
Assert.Empty(storageEvent.
Snapshot
.Urls);
387
Assert.DoesNotContain(storageEvent.
Snapshot
.Properties, p => p.Name == "azure.subscription.id");
388
Assert.DoesNotContain(storageEvent.
Snapshot
.Properties, p => p.Name == CustomResourceKnownProperties.Source);
389
Assert.Contains(storageEvent.
Snapshot
.Properties, p => p.Name == "custom.property");
497
Assert.Equal("Running", storageEvent.
Snapshot
.State?.Text);
570
Assert.Equal(KnownResourceStates.Running, storageEvent.
Snapshot
.State?.Text);
709
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.ChangeResourceLocationCommandName, ResourceCommandState.Hidden);
710
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.GetAzureResourceCommandName, ResourceCommandState.Enabled);
711
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Hidden);
712
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.DeleteAzureResourceCommandName, ResourceCommandState.Enabled);
713
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.ForgetStateCommandName, ResourceCommandState.Enabled);
714
AssertCommandState(keyVaultEvent.
Snapshot
, AzureProvisioningController.ReprovisionResourceCommandName, ResourceCommandState.Enabled);
744
AssertCommandState(postgresEvent.
Snapshot
, AzureProvisioningController.ChangeResourceLocationCommandName, ResourceCommandState.Enabled);
1386
Assert.Equal("Canceled", storageEvent.
Snapshot
.State?.Text);
1422
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.ChangeResourceLocationCommandName, ResourceCommandState.Disabled);
1423
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.GetAzureResourceCommandName, ResourceCommandState.Enabled);
1424
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Enabled);
1425
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.DeleteAzureResourceCommandName, ResourceCommandState.Disabled);
1426
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.ForgetStateCommandName, ResourceCommandState.Disabled);
1427
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.ReprovisionResourceCommandName, ResourceCommandState.Disabled);
1499
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Enabled);
1669
var cancelCommand = Assert.Single(storageEvent.
Snapshot
.Commands, c => c.Name == AzureProvisioningController.CancelCommandName);
1724
Assert.Equal(KnownResourceStates.Running, storageEvent.
Snapshot
.State?.Text);
1827
Assert.Equal(KnownResourceStates.NotStarted, storageEvent.
Snapshot
.State?.Text);
1830
Assert.Equal(KnownResourceStates.Running, storage2Event.
Snapshot
.State?.Text);
1909
Assert.Equal(KnownResourceStates.NotStarted, keyVaultEvent.
Snapshot
.State?.Text);
1972
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State));
1975
Assert.Equal("Deleting", storageEvent.
Snapshot
.State?.Text);
1976
AssertAffectedResourceCommandsDuringOperation(storageEvent.
Snapshot
);
1979
AssertUnaffectedResourceCommandsDuringOperation(storage2Event.
Snapshot
);
2063
Assert.Equal("Canceled", storageEvent.
Snapshot
.State?.Text);
2136
Assert.Equal(KnownResourceStates.NotStarted, storageEvent.
Snapshot
.State?.Text);
2137
Assert.DoesNotContain(storageEvent.
Snapshot
.Properties, p => p.Name == CustomResourceKnownProperties.Source);
2138
Assert.Contains(storageEvent.
Snapshot
.Properties, p => p.Name == "custom.property");
2141
Assert.Equal(KnownResourceStates.Running, storage2Event.
Snapshot
.State?.Text);
2142
Assert.Contains(storage2Event.
Snapshot
.Properties, p => p.Name == CustomResourceKnownProperties.Source);
2198
Assert.Equal("Running", storageEvent.
Snapshot
.State?.Text);
2201
Assert.Equal(KnownResourceStates.Running, storage2Event.
Snapshot
.State?.Text);
2247
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State));
2250
AssertAffectedResourceCommandsDuringOperation(storageEvent.
Snapshot
);
2253
AssertUnaffectedResourceCommandsDuringOperation(storage2Event.
Snapshot
);
2261
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Enabled, command.State));
2264
AssertUnaffectedResourceCommandsDuringOperation(storageEvent.
Snapshot
);
2307
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State));
2310
AssertAffectedResourceCommandsDuringOperation(storageEvent.
Snapshot
);
2319
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Enabled, command.State));
2322
AssertUnaffectedResourceCommandsDuringOperation(storageEvent.
Snapshot
);
2461
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Enabled);
2478
Assert.Equal("Canceling", storageEvent.
Snapshot
.State?.Text);
2479
AssertCommandState(storageEvent.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Disabled);
2481
Assert.Equal("Canceling", blobsEvent.
Snapshot
.State?.Text);
2490
Assert.Equal("Canceled", storageEvent.
Snapshot
.State?.Text);
2491
Assert.DoesNotContain(storageEvent.
Snapshot
.Properties, p => p.Name == AzureResourceProperties.OperationName);
2540
AssertCommandState(runningStorage2Event.
Snapshot
, AzureProvisioningController.CancelCommandName, ResourceCommandState.Hidden);
2557
storageEvent.
Snapshot
.State?.Text is "Canceling" or "Canceled",
2558
$"Expected storage to be canceling or canceled, but it was '{storageEvent.
Snapshot
.State?.Text}'.");
2560
Assert.Equal("Running", storage2Event.
Snapshot
.State?.Text);
2565
Assert.Equal("Running", storage2Event.
Snapshot
.State?.Text);
2727
Assert.All(environmentEvent.
Snapshot
.Commands, command => Assert.Equal(ResourceCommandState.Disabled, command.State));
2730
var storageSnapshot = storageEvent.
Snapshot
;
2739
AssertUnaffectedResourceCommandsDuringOperation(storage2Event.
Snapshot
);
2740
Assert.DoesNotContain(storage2Event.
Snapshot
.Properties, property => property.Name == AzureResourceProperties.OperationName);
3040
Assert.Equal(KnownResourceStates.Running, storageEvent.
Snapshot
.State?.Text);
3485
Assert.Equal(KnownResourceStates.Running, environmentEvent.
Snapshot
.State?.Text);
3486
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.subscription.id", "12345678-1234-1234-1234-123456789012", AzureProvisioningStrings.ContextPropertySubscriptionIdDisplayName);
3487
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.resource.group", "cli-rg-é", AzureProvisioningStrings.ContextPropertyResourceGroupDisplayName);
3488
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.location", "westus3", AzureProvisioningStrings.ContextPropertyLocationDisplayName);
3489
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.tenant.id", "87654321-4321-4321-4321-210987654321", AzureProvisioningStrings.ContextPropertyTenantIdDisplayName);
3538
Assert.DoesNotContain(environmentEvent.
Snapshot
.Properties, p => p.Name == "azure.tenant.id");
3936
Assert.Equal("Running", keyVaultEvent.
Snapshot
.State?.Text);
4040
Assert.Equal("Failed to Provision", keyVaultEvent.
Snapshot
.State?.Text);
4041
Assert.Equal(AzureProvisioningFailureDetails.KeyVaultDeletedStateTombstoneNotFoundReason, keyVaultEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.code").Value?.ToString());
4042
var snapshotRecommendedActions = Assert.IsType<string[]>(keyVaultEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.recommendedActions").Value);
4247
Assert.Equal("Failed to Provision", storageEvent.
Snapshot
.State?.Text);
4249
storageEvent.
Snapshot
.Properties.Where(property => AzureProvisioningFailureDetails.IsFailureProperty(property.Name)),
4255
Assert.Equal("Microsoft.ManagedIdentity", storageEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.provider").Value?.ToString());
4256
Assert.Equal("Microsoft.ManagedIdentity/userAssignedIdentities", storageEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.resource.type").Value?.ToString());
4257
Assert.Equal("LocationNotAvailableForResourceType", storageEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.code").Value?.ToString());
4258
Assert.Equal(400, storageEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.http.status").Value);
4259
var snapshotRecommendedActions = Assert.IsType<string[]>(storageEvent.
Snapshot
.Properties.Single(p => p.Name == "azure.provisioning.error.recommendedActions").Value);
4333
Assert.Equal(AzureProvisioningController.DriftedState, environmentEvent.
Snapshot
.State?.Text);
4334
Assert.Equal(KnownResourceStateStyles.Error, environmentEvent.
Snapshot
.State?.Style);
4335
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.subscription.id", "12345678-1234-1234-1234-123456789012", AzureProvisioningStrings.ContextPropertySubscriptionIdDisplayName);
4336
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.resource.group", "test-rg", AzureProvisioningStrings.ContextPropertyResourceGroupDisplayName);
4337
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.location", "westus2", AzureProvisioningStrings.ContextPropertyLocationDisplayName);
4338
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.tenant.id", "87654321-4321-4321-4321-210987654321", AzureProvisioningStrings.ContextPropertyTenantIdDisplayName);
4339
AssertHighlightedContextProperty(environmentEvent.
Snapshot
.Properties, "azure.tenant.domain", "testdomain.onmicrosoft.com", AzureProvisioningStrings.ContextPropertyTenantDomainDisplayName);
4342
Assert.Equal(AzureProvisioningController.MissingInAzureState, resourceEvent.
Snapshot
.State?.Text);
4343
Assert.Equal(KnownResourceStateStyles.Error, resourceEvent.
Snapshot
.State?.Style);
4386
Assert.Equal(KnownResourceStates.Running, environmentEvent.
Snapshot
.State?.Text);
4389
Assert.Equal(KnownResourceStates.Running, resourceEvent.
Snapshot
.State?.Text);
4445
Assert.Equal(AzureProvisioningController.DriftedState, environmentEvent.
Snapshot
.State?.Text);
4448
Assert.Equal(KnownResourceStates.Running, storageEvent.
Snapshot
.State?.Text);
4451
Assert.Equal(AzureProvisioningController.MissingInAzureState, storage2Event.
Snapshot
.State?.Text);
4452
Assert.Equal(KnownResourceStateStyles.Error, storage2Event.
Snapshot
.State?.Style);
4488
Assert.Equal(KnownResourceStates.Running, environmentEvent.
Snapshot
.State?.Text);
4491
Assert.Equal(KnownResourceStates.Running, resourceEvent.
Snapshot
.State?.Text);
4685
Assert.Equal("Failed to Delete", environmentEvent.
Snapshot
.State?.Text);
4752
Assert.Equal("Failed to Provision", storageEvent.
Snapshot
.State?.Text);
4755
Assert.Equal("Failed to Provision", storageRolesEvent.
Snapshot
.State?.Text);
4823
Assert.Equal(AzureProvisioningController.CancelingState, storageEvent.
Snapshot
.State?.Text);
4829
Assert.Equal(AzureProvisioningStrings.ResourceStateCanceled, storageEvent.
Snapshot
.State?.Text);
4830
Assert.Equal(KnownResourceStateStyles.Info, storageEvent.
Snapshot
.State?.Style);
4853
Assert.Equal("Failed to Provision", environmentEvent.
Snapshot
.State?.Text);
4855
var failedResourcesProperty = Assert.Single(environmentEvent.
Snapshot
.Properties, property => property.Name == "azure.provisioning.error.failed.resources");
5159
resourceEvent.
Snapshot
.State?.Text == expectedState)
5175
? finalEvent.
Snapshot
.State?.Text
Aspire.Hosting.Blazor (6)
BlazorGatewayExtensions.cs (3)
432
var gatewayState = resourceEvent.
Snapshot
.State;
445
StartTimeStamp = resourceEvent.
Snapshot
.StartTimeStamp,
446
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)
711
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserPropertyName, "chrome") &&
712
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.UserDataModePropertyName, nameof(BrowserUserDataMode.Isolated)) &&
713
DoesNotHaveProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ProfilePropertyName)).DefaultTimeout();
965
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
966
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserPropertyName, "msedge") &&
967
!resourceEvent.
Snapshot
.Properties.Any(property => property.Name == BrowserLogsBuilderExtensions.ProfilePropertyName)).DefaultTimeout();
969
var session = Assert.Single(GetBrowserSessions(runningEvent.
Snapshot
));
1014
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1015
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-1")).DefaultTimeout();
1035
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1036
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserPropertyName, tempBrowserPath) &&
1037
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, tempBrowserPath) &&
1038
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserHostOwnershipPropertyName, nameof(BrowserHostOwnership.Owned)) &&
1039
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, "InvalidOperationException: Launch failed.") &&
1040
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1041
resourceEvent.
Snapshot
.HealthReports.Any(report =>
1046
GetBrowserSessions(failedEvent.
Snapshot
),
1099
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1100
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-1")).DefaultTimeout();
1112
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1113
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserPropertyName, "missing-browser") &&
1114
!resourceEvent.
Snapshot
.Properties.Any(property => property.Name == BrowserLogsBuilderExtensions.BrowserExecutablePropertyName) &&
1115
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserHostOwnershipPropertyName, nameof(BrowserHostOwnership.Owned)) &&
1116
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, "InvalidOperationException: Launch failed.") &&
1117
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1118
resourceEvent.
Snapshot
.HealthReports.Any(report =>
1123
GetBrowserSessions(failedEvent.
Snapshot
),
1174
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart &&
1175
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 0) &&
1176
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "None") &&
1177
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, errorText) &&
1178
resourceEvent.
Snapshot
.HealthReports.Any(report =>
1183
Assert.Single(failedEvent.
Snapshot
.HealthReports);
1184
Assert.Empty(GetBrowserSessions(failedEvent.
Snapshot
));
1227
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart &&
1228
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, "InvalidOperationException: Launch failed.")).DefaultTimeout();
1236
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1237
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1238
DoesNotHaveProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName) &&
1239
!resourceEvent.
Snapshot
.HealthReports.Any(report => report.Name == BrowserLogsBuilderExtensions.LastErrorPropertyName)).DefaultTimeout();
1242
GetBrowserSessions(runningEvent.
Snapshot
),
1287
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1288
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserHostOwnershipPropertyName, nameof(BrowserHostOwnership.Adopted)) &&
1289
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0001 (adopted browser)")).DefaultTimeout();
1291
var session = Assert.Single(GetBrowserSessions(runningEvent.
Snapshot
));
1347
resourceEvent => resourceEvent.
Snapshot
.Commands.Any(command =>
1351
Assert.Equal(ResourceCommandState.Disabled, initialEvent.
Snapshot
.Commands.Single(command => command.Name == BrowserLogsBuilderExtensions.OpenTrackedBrowserCommandName).State);
1363
resourceEvent => resourceEvent.
Snapshot
.Commands.Any(command =>
1367
Assert.Equal(ResourceCommandState.Enabled, enabledEvent.
Snapshot
.Commands.Single(command => command.Name == BrowserLogsBuilderExtensions.OpenTrackedBrowserCommandName).State);
1411
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1412
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1413
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0001 (PID 1001)") &&
1414
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.TotalSessionsLaunchedPropertyName, 1) &&
1415
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastSessionPropertyName, "session-0001") &&
1416
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-1") &&
1417
resourceEvent.
Snapshot
.HealthReports.Any(report => report.Name == "session-0001" && report.Status == HealthStatus.Healthy)).DefaultTimeout();
1419
Assert.Single(firstRunningEvent.
Snapshot
.HealthReports);
1421
GetBrowserSessions(firstRunningEvent.
Snapshot
),
1447
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1448
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 2) &&
1449
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0001 (PID 1001), session-0002 (PID 1002)") &&
1450
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.TotalSessionsLaunchedPropertyName, 2) &&
1451
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastSessionPropertyName, "session-0002") &&
1452
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.BrowserExecutablePropertyName, "/fake/browser-2") &&
1453
resourceEvent.
Snapshot
.HealthReports.Any(report => report.Name == "session-0001" && report.Status == HealthStatus.Healthy) &&
1454
resourceEvent.
Snapshot
.HealthReports.Any(report => report.Name == "session-0002" && report.Status == HealthStatus.Healthy)).DefaultTimeout();
1456
Assert.Equal(2, secondRunningEvent.
Snapshot
.HealthReports.Length);
1458
GetBrowserSessions(secondRunningEvent.
Snapshot
),
1479
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1480
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1481
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "session-0002 (PID 1002)") &&
1482
resourceEvent.
Snapshot
.HealthReports.Length == 1 &&
1483
resourceEvent.
Snapshot
.HealthReports[0].Name == "session-0002").DefaultTimeout();
1485
Assert.Equal("session-0002", firstCompletedEvent.
Snapshot
.HealthReports[0].Name);
1487
GetBrowserSessions(firstCompletedEvent.
Snapshot
),
1495
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Finished &&
1496
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 0) &&
1497
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionsPropertyName, "None") &&
1498
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.TotalSessionsLaunchedPropertyName, 2) &&
1499
resourceEvent.
Snapshot
.HealthReports.IsEmpty).DefaultTimeout();
1501
Assert.Equal(KnownResourceStates.Finished, allCompletedEvent.
Snapshot
.State?.Text);
1502
Assert.Empty(GetBrowserSessions(allCompletedEvent.
Snapshot
));
1548
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running &&
1549
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 1) &&
1550
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, errorText) &&
1551
resourceEvent.
Snapshot
.HealthReports.Any(report =>
1554
resourceEvent.
Snapshot
.HealthReports.Any(report =>
1564
resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Exited &&
1565
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.ActiveSessionCountPropertyName, 0) &&
1566
HasProperty(resourceEvent.
Snapshot
, BrowserLogsBuilderExtensions.LastErrorPropertyName, errorText) &&
1567
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.Tests (6)
DevTunnelResourceBuilderExtensionsTests.cs (6)
630
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running &&
631
e.
Snapshot
.Urls.Any(u => u.Url == tunnelUrl && !u.IsInactive) &&
632
e.
Snapshot
.Urls.Any(u => u.Url == inspectUrl && !u.IsInactive),
637
Assert.Contains(resourceEvent.
Snapshot
.Urls, u => u.Url == tunnelUrl && !u.IsInactive);
638
Assert.Contains(resourceEvent.
Snapshot
.Urls, u => u.Url == inspectUrl && !u.IsInactive);
667
resourceEvent.
Snapshot
.Properties.Where(p => p.Name is
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)
320
r => r.
Snapshot
.State?.Text == KnownResourceStates.Finished ||
321
r.
Snapshot
.State?.Text == KnownResourceStates.Exited ||
322
r.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart,
351
var snapshot = resourceEvent.
Snapshot
;
Aspire.Hosting.Maui (2)
Lifecycle\MauiBuildQueueEventSubscriber.cs (2)
294
var text = e.
Snapshot
.State?.Text;
402
e => string.Equals(e.
Snapshot
.State?.Text, KnownResourceStates.FailedToStart, StringComparison.Ordinal),
Aspire.Hosting.Maui.Tests (3)
MauiBuildQueueTests.cs (3)
129
if (evt.Resource.Name == env.MacCatalyst.Name && evt.
Snapshot
.State?.Text == "Queued")
163
if (evt.Resource.Name == env.Android.Name && evt.
Snapshot
.State?.Text == "Building")
791
if (evt.Resource.Name == resource.Name && evt.
Snapshot
.State?.Text == state)
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.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.Testing.Tests (2)
DashboardUrlTests.cs (2)
107
resourceEvent => resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running,
135
resourceEvent => resourceEvent.
Snapshot
.State?.Text == updatedState,
Aspire.Hosting.Tests (245)
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)
209
var resourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
213
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
217
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Finished, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
221
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
225
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
255
var notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
256
var dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
259
Assert.Contains("TestProject.ServiceA.csproj", notStartedResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
260
Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
262
Assert.Collection(notStartedResourceEvent.
Snapshot
.Urls, u =>
268
Assert.Collection(dependentResourceEvent.
Snapshot
.Urls, u =>
277
var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
278
Assert.Collection(runningResourceEvent.
Snapshot
.Urls, u =>
285
var dependentResourceRunningEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
286
Assert.Collection(dependentResourceRunningEvent.
Snapshot
.Urls, u =>
294
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Finished, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
298
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
349
await rns.WaitForResourceAsync(normalResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout);
352
await rns.WaitForResourceAsync(explicitStartResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout);
392
var notStartedResourceEvent = await rns.WaitForResourceAsync(explicitStartResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
401
await rns.WaitForResourceAsync(explicitStartResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout);
546
e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted,
551
e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
555
Assert.Collection(notStartedResourceEvent.
Snapshot
.Urls, u =>
560
Assert.Collection(dependentResourceEvent.
Snapshot
.Urls, u =>
568
Assert.Equal(RedisImageSource, notStartedResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "container.image").Value?.ToString());
569
Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
573
var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
574
Assert.Collection(runningResourceEvent.
Snapshot
.Urls, u =>
580
var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
581
Assert.Collection(dependentRunningResourceEvent.
Snapshot
.Urls, u =>
589
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Exited, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
593
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
635
notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
636
dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
638
Assert.Collection(notStartedResourceEvent.
Snapshot
.Urls, u =>
643
Assert.Collection(dependentResourceEvent.
Snapshot
.Urls, u =>
651
Assert.Equal(RedisImageSource, notStartedResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "container.image").Value?.ToString());
652
Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
658
var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
659
Assert.Collection(runningResourceEvent.
Snapshot
.Urls, u =>
665
var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
666
Assert.Collection(dependentRunningResourceEvent.
Snapshot
.Urls, u =>
674
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Exited, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
681
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
1106
var dependentRunningResourceEvent = await rns.WaitForResourceAsync(container.Resource.Name, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
2111
var state = e.
Snapshot
.State?.Text;
2120
var state = e.
Snapshot
.State?.Text;
2156
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running &&
2161
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running &&
2378
return resourceEvent.
Snapshot
.Properties.FirstOrDefault(p => p.Name == propertyName)?.Value;
ExternalServiceTests.cs (6)
342
e => e.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart
346
Assert.Equal(KnownResourceStates.FailedToStart, resourceEvent.
Snapshot
.State?.Text);
369
e => e.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart
373
Assert.Equal(KnownResourceStates.FailedToStart, resourceEvent.
Snapshot
.State?.Text);
396
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running
400
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 (37)
57
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
105
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
206
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
210
nestedChildParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
214
child2ParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
275
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
323
projectBParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
473
currentState.
Snapshot
.Properties,
519
Assert.Equal(KnownResourceStates.FailedToStart, snapshotEvent.
Snapshot
.State?.Text);
520
Assert.Equal(KnownResourceStateStyles.Error, snapshotEvent.
Snapshot
.State?.Style);
547
Assert.Equal(KnownResourceStates.FailedToStart, snapshotEvent.
Snapshot
.State?.Text);
548
Assert.Null(snapshotEvent.
Snapshot
.State?.Style);
571
Assert.Equal(KnownResourceStates.Starting, snapshotEvent.
Snapshot
.State?.Text);
603
Assert.Equal(KnownResourceStates.Waiting, waitingEvent.
Snapshot
.State?.Text);
644
Assert.NotEqual(KnownResourceStates.Running, dependencyEvent.
Snapshot
.State?.Text);
692
e => e.ResourceId == "waiter-abc123" && e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
750
e => e.ResourceId == "waiter-abc123" && e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
754
Assert.Equal(KnownResourceStates.NotStarted, siblingEvent.
Snapshot
.State?.Text);
801
e => e.ResourceId == "waiter-abc123" && e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
855
e => e.ResourceId == "waiter-abc123" && e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
863
e => e.ResourceId == "waiter-def456" && e.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
917
Assert.NotEqual(KnownResourceStates.Running, blockerEvent.
Snapshot
.State?.Text);
966
|| waiterEvent.
Snapshot
.State?.Text != KnownResourceStates.Waiting)
983
Assert.NotEqual(KnownResourceStates.Running, blockerEvent.
Snapshot
.State?.Text);
1050
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
1053
var waitingFor = waitingEvent.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.WaitingFor)?.Value;
1317
var parentState = resourceNotificationService.TryGetCurrentState("parent-container-dcp", out var parentEvent) ? parentEvent.
Snapshot
.State?.Text : null;
1318
var childContainerState = resourceNotificationService.TryGetCurrentState(childContainer.Resource.Name, out var childContainerEvent) ? childContainerEvent.
Snapshot
.State?.Text : null;
1319
var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.
Snapshot
.State?.Text : null;
1364
var parentState = resourceNotificationService.TryGetCurrentState("parent-container-dcp", out var parentEvent) ? parentEvent.
Snapshot
.State?.Text : null;
1365
var childProjectState = resourceNotificationService.TryGetCurrentState(childProject.Resource.Name, out var childProjectEvent) ? childProjectEvent.
Snapshot
.State?.Text : null;
1366
var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.
Snapshot
.State?.Text : null;
1413
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
1417
child2ParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
1470
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
1474
child2ParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
1524
childProjectParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
Orchestrator\ParameterProcessorTests.cs (7)
91
updates.Add((resourceEvent.Resource, resourceEvent.
Snapshot
));
263
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
264
AssertParameterValueProperty(updates.Current.
Snapshot
, "value1", isSensitive: false);
267
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
268
AssertParameterValueProperty(updates.Current.
Snapshot
, "value2", isSensitive: false);
271
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
272
AssertParameterValueProperty(updates.Current.
Snapshot
, "secretValue", isSensitive: true);
ResourceCommandServiceTests.cs (1)
1650
await resourceNotificationService.WaitForResourceAsync(project.Resource.Name, e => KnownResourceStates.BuildableStates.Contains(e.
Snapshot
.State?.Text), cts.Token).DefaultTimeout(TimeSpan.FromMinutes(2));
ResourceNotificationTests.cs (74)
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);
373
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
377
Assert.Equal(KnownResourceStates.Waiting, waitingEvent.
Snapshot
.State?.Text);
386
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
400
Assert.DoesNotContain(completedWaitingEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
421
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
425
Assert.Equal(KnownResourceStates.Waiting, waitingEvent.
Snapshot
.State?.Text);
439
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
458
Assert.DoesNotContain(completedWaitingEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
477
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
481
Assert.Equal(KnownResourceStates.Waiting, waitingEvent.
Snapshot
.State?.Text);
491
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
506
Assert.DoesNotContain(completedWaitingEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
531
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
534
Assert.Equal(KnownResourceStates.Waiting, waitingEvent.
Snapshot
.State?.Text);
577
Assert.Equal(state, resourceEvent.
Snapshot
.State?.Text);
611
re => re.ResourceId == "resource-abc123" && re.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
615
Assert.Equal(KnownResourceStates.NotStarted, notStartedEvent.
Snapshot
.State?.Text);
625
Assert.Equal(KnownResourceStates.NotStarted, notStartedEvent.
Snapshot
.State?.Text);
655
Assert.Equal(KnownResourceStates.NotStarted, notStartedEvent.
Snapshot
.State?.Text);
682
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
721
re => re.ResourceId == "resource-abc123" && re.
Snapshot
.State?.Text == KnownResourceStates.Waiting,
753
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
766
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
780
Assert.DoesNotContain(completedWaitingEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
796
Assert.Contains(waitingEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
804
Assert.DoesNotContain(runningEvent.
Snapshot
.Properties, p => p.Name == KnownProperties.Resource.WaitingFor);
857
re => re.
Snapshot
.State?.Text == KnownResourceStates.Waiting &&
1077
Assert.Equal("ExistingIcon", firstEvent.
Snapshot
.IconName);
1078
Assert.Equal(IconVariant.Filled, firstEvent.
Snapshot
.IconVariant);
1082
Assert.Equal("ExistingIcon", secondEvent.
Snapshot
.IconName);
1083
Assert.Equal(IconVariant.Filled, secondEvent.
Snapshot
.IconVariant);
1084
Assert.Equal("Running", secondEvent.
Snapshot
.State?.Text);
1119
Assert.Equal("LastIcon", value.
Snapshot
.IconName);
1120
Assert.Equal(IconVariant.Regular, value.
Snapshot
.IconVariant);
1121
Assert.Equal("Starting", value.
Snapshot
.State?.Text);
1155
Assert.Equal("AnnotationIcon", value.
Snapshot
.IconName);
1156
Assert.Equal(IconVariant.Regular, value.
Snapshot
.IconVariant);
1157
Assert.Equal("Starting", value.
Snapshot
.State?.Text);
1299
Assert.Equal(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy, resourceEvent.
Snapshot
.HealthStatus);
1300
Assert.NotNull(resourceEvent.
Snapshot
.ResourceReadyEvent);
1301
Assert.True(resourceEvent.
Snapshot
.ResourceReadyEvent.EventTask.IsCompletedSuccessfully);
1367
Assert.Equal(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy, resourceEvent.
Snapshot
.HealthStatus);
1416
return resourceEvent!.
Snapshot
.IsHidden;
1465
Assert.Equal(initial.
Snapshot
.Version, unchanged.
Snapshot
.Version);
1470
Assert.True(changed.
Snapshot
.Version > initial.
Snapshot
.Version, "A real change should publish a new version.");
1471
Assert.Equal("SomeOtherState", changed.
Snapshot
.State?.Text);
1530
Assert.Equal(initial.
Snapshot
.Version, unchanged.
Snapshot
.Version);
1543
Assert.True(changed.
Snapshot
.Version > initial.
Snapshot
.Version, "A changed value inside a List<T> property should publish a new version.");
1562
Assert.Equal(initial.
Snapshot
.Version, unchanged.
Snapshot
.Version);
1583
changed.
Snapshot
.Version > initial.
Snapshot
.Version,
1615
changed.
Snapshot
.Version > initial.
Snapshot
.Version,
1621
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 (28)
389
e => e.
Snapshot
.Urls.Length == 1).DefaultTimeout();
393
Assert.Single(resourceEvent.
Snapshot
.Urls, s => s.Name == httpEndpoint.EndpointName && s.IsInactive && s.Url == "https://example.com");
414
e => e.
Snapshot
.Urls.Length == 3).DefaultTimeout();
418
Assert.Collection(resourceEvent.
Snapshot
.Urls,
447
e => e.
Snapshot
.State == KnownResourceStates.Running
448
&& e.
Snapshot
.Urls.Length == 2
449
&& e.
Snapshot
.Urls.All(url => !url.IsInactive)).DefaultTimeout();
453
Assert.Equal(2, resourceEvent.
Snapshot
.Urls.Length);
454
Assert.Collection(resourceEvent.
Snapshot
.Urls,
480
if (notification.Resource == servicea.Resource && notification.
Snapshot
.Urls.Length > 0)
482
urlSnapshots.Add(notification.
Snapshot
.Urls.ToArray());
483
testOutputHelper.WriteLine($"Captured snapshot #{urlSnapshots.Count}: State={notification.
Snapshot
.State}, URLs: {FormatUrls(notification.
Snapshot
.Urls)}");
486
if (notification.
Snapshot
.State == KnownResourceStates.Running &&
487
notification.
Snapshot
.Urls.All(u => !u.IsInactive))
596
if (notification.Resource == custom.Resource && notification.
Snapshot
.Urls.Length > 0)
598
urlSnapshots.Add(notification.
Snapshot
.Urls.ToArray());
599
testOutputHelper.WriteLine($"Captured snapshot #{urlSnapshots.Count}: State={notification.
Snapshot
.State}, URLs: {FormatUrls(notification.
Snapshot
.Urls)}");
602
if (notification.
Snapshot
.State == KnownResourceStates.Running &&
603
notification.
Snapshot
.Urls.All(u => !u.IsInactive))
673
e => e.
Snapshot
.State == KnownResourceStates.Running && e.
Snapshot
.Urls.Length == 4).DefaultTimeout();
677
Assert.Collection(resourceEvent.
Snapshot
.Urls,
974
e => e.
Snapshot
.State == KnownResourceStates.Running
975
&& e.
Snapshot
.Urls.Length == resourceB.Resource.GetEndpoints().ToArray().Length + 1
976
&& e.
Snapshot
.Urls.All(u => !u.IsInactive),
982
var crossResourceUrl = resourceEvent.
Snapshot
.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "API Docs");
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.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);