226 references to Snapshot
Aspire.Hosting (40)
ApplicationModel\ResourceNotificationService.cs (16)
130re => re.Snapshot.State?.Text is { Length: > 0 } stateText && targetStates.Contains(stateText, StringComparers.ResourceState), 134var finalState = resourceEvent.Snapshot.State!.Text!; 150re => re.ResourceId == resourceId && re.Snapshot.HealthStatus == HealthStatus.Healthy, 159re => re.ResourceId == resourceId && re.Snapshot.ResourceReadyEvent is not null, 164await resourceEvent.Snapshot.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false); 227re => ShouldYield(waitBehavior, re.Snapshot), 231if (resourceEvent.Snapshot.HealthStatus != HealthStatus.Healthy) 241re => re.ResourceId == resourceEvent.ResourceId && re.Snapshot.ResourceReadyEvent is not null, 246await resourceEvent.Snapshot.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false); 288re => re.ResourceId == resourceId && IsKnownTerminalState(re.Snapshot), 291var snapshot = resourceEvent.Snapshot; 347re => re.ResourceId == resourceId && IsContinuableState(waitBehavior, re.Snapshot), 350var snapshot = resourceEvent.Snapshot; 591if (versionsSeen.TryGetValue(item.ResourceId, out var maxVersionSeen) && item.Snapshot.Version <= maxVersionSeen) 884if (TryGetCurrentState(resourceName, out var evt) && evt.Snapshot != null) 886var snapshot = evt.Snapshot;
Ats\NotificationExports.cs (4)
141State = resourceEvent.Snapshot.State?.Text, 142StateStyle = resourceEvent.Snapshot.State?.Style, 143HealthStatus = resourceEvent.Snapshot.HealthStatus?.ToString(), 144ExitCode = resourceEvent.Snapshot.ExitCode
Backchannel\AppHostRpcTarget.cs (4)
124var healthStatus = CustomResourceSnapshot.ComputeHealthStatus(resourceEvent.Snapshot.HealthReports, resourceEvent.Snapshot.State?.Text); 129Type = resourceEvent.Snapshot.ResourceType, 130State = resourceEvent.Snapshot.State?.Text ?? "Unknown",
Backchannel\AuxiliaryBackchannelRpcTarget.cs (1)
417var snapshot = resourceEvent.Snapshot;
Dashboard\DashboardServiceData.cs (1)
72var 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
DistributedApplication.cs (1)
615results.Add(new() { Resource = resource, Snapshot = resourceEvent?.Snapshot });
Exec\ExecResourceManager.cs (2)
133if ((exitCode = resourceEvent?.Snapshot?.ExitCode) is not null) 144if (resourceEvent?.Snapshot.State == KnownResourceStates.FailedToStart)
Health\ResourceHealthCheckService.cs (7)
42if (resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running) 73else if (KnownResourceStates.TerminalStates.Contains(resourceEvent.Snapshot.State?.Text)) 179if (ContainsAnyHealthReportChange(report, currentEvent.Snapshot.HealthReports)) 381if (currentEvent.Snapshot.Version <= previousEvent.Snapshot.Version) 385if (currentEvent.Snapshot.State?.Text == previousEvent.Snapshot.State?.Text)
Orchestrator\ApplicationOrchestrator.cs (2)
108e => e.Snapshot.State?.Text != KnownResourceStates.Waiting, 497previousState = previousResourceEvent.Snapshot.State?.Text;
Aspire.Hosting.Azure.Tests (1)
AzureBicepProvisionerTests.cs (1)
73var parentProperty = resourceEvent.Snapshot.Properties.FirstOrDefault(x => x.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
Aspire.Hosting.Containers.Tests (2)
DockerSocketBindMountTests.cs (2)
42e => KnownResourceStates.TerminalStates.Contains(e.Snapshot.State?.Text), 45Assert.Equal(KnownResourceStates.Exited, state.Snapshot.State);
Aspire.Hosting.DotnetTool.Tests (2)
DotnetToolFunctionalTests.cs.cs (2)
29Assert.Equal(resourceState.Snapshot.ExitCode, 0); 51Assert.NotEqual(resourceState.Snapshot.ExitCode, 0);
Aspire.Hosting.MySql.Tests (2)
MySqlFunctionalTests.cs (2)
605return evt.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null; 608return resourceEvent.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.PostgreSQL.Tests (2)
PostgresFunctionalTests.cs (2)
582return evt.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null; 585return resourceEvent.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.Qdrant.Tests (1)
QdrantFunctionalTests.cs (1)
282await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token);
Aspire.Hosting.Tests (172)
Codespaces\CodespacesUrlRewriterTests.cs (3)
82var match = re.Snapshot.Urls.Length > 0 && re.Snapshot.Urls[0].Url.Contains("app.github.dev"); 88resourceEvent.Snapshot.Urls,
DistributedApplicationTests.cs (46)
144var resourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 148await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 152await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Finished, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 156await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 160await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 190var notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 191var dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 194Assert.Contains("TestProject.ServiceA.csproj", notStartedResourceEvent.Snapshot.Properties.Single(p => p.Name == "project.path").Value?.ToString()); 195Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.Snapshot.Properties.Single(p => p.Name == "project.path").Value?.ToString()); 197Assert.Collection(notStartedResourceEvent.Snapshot.Urls, u => 203Assert.Collection(dependentResourceEvent.Snapshot.Urls, u => 212var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 213Assert.Collection(runningResourceEvent.Snapshot.Urls, u => 220var dependentResourceRunningEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 221Assert.Collection(dependentResourceRunningEvent.Snapshot.Urls, u => 229await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Finished, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 233await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 284await rns.WaitForResourceAsync(normalResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout); 287await rns.WaitForResourceAsync(explicitStartResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout); 327var notStartedResourceEvent = await rns.WaitForResourceAsync(explicitStartResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 336await rns.WaitForResourceAsync(explicitStartResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout); 399var notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 400var dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 402Assert.Collection(notStartedResourceEvent.Snapshot.Urls, u => 407Assert.Collection(dependentResourceEvent.Snapshot.Urls, u => 415Assert.Equal(RedisImageSource, notStartedResourceEvent.Snapshot.Properties.Single(p => p.Name == "container.image").Value?.ToString()); 416Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.Snapshot.Properties.Single(p => p.Name == "project.path").Value?.ToString()); 420var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 421Assert.Collection(runningResourceEvent.Snapshot.Urls, u => 427var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 428Assert.Collection(dependentRunningResourceEvent.Snapshot.Urls, u => 436await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Exited, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 440await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 482notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 483dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 485Assert.Collection(notStartedResourceEvent.Snapshot.Urls, u => 490Assert.Collection(dependentResourceEvent.Snapshot.Urls, u => 498Assert.Equal(RedisImageSource, notStartedResourceEvent.Snapshot.Properties.Single(p => p.Name == "container.image").Value?.ToString()); 499Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.Snapshot.Properties.Single(p => p.Name == "project.path").Value?.ToString()); 505var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 506Assert.Collection(runningResourceEvent.Snapshot.Urls, u => 512var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 513Assert.Collection(dependentRunningResourceEvent.Snapshot.Urls, u => 521await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Exited, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 528await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running, token).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 961var dependentRunningResourceEvent = await rns.WaitForResourceAsync(container.Resource.Name, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
ExternalServiceTests.cs (6)
322e => e.Snapshot.State?.Text == KnownResourceStates.FailedToStart 326Assert.Equal(KnownResourceStates.FailedToStart, resourceEvent.Snapshot.State?.Text); 349e => e.Snapshot.State?.Text == KnownResourceStates.FailedToStart 353Assert.Equal(KnownResourceStates.FailedToStart, resourceEvent.Snapshot.State?.Text); 376e => e.Snapshot.State?.Text == KnownResourceStates.Running 380Assert.Equal(KnownResourceStates.Running, resourceEvent.Snapshot.State?.Text);
Health\ResourceHealthCheckServiceTests.cs (24)
37var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 38Assert.Null(startingEvent.Snapshot.HealthStatus); 46Assert.Equal(HealthStatus.Healthy, healthyEvent.Snapshot.HealthStatus); 77var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 78Assert.Null(startingEvent.Snapshot.HealthStatus); 85var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(); 87Assert.Equal(HealthStatus.Unhealthy, runningEvent.Snapshot.HealthStatus); 120var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 121Assert.Null(startingEvent.Snapshot.HealthStatus); 129e => e.Snapshot.State?.Text == KnownResourceStates.Running && e.Snapshot.HealthReports.Single().Status == HealthStatus.Unhealthy).DefaultTimeout(); 131Assert.Equal(HealthStatus.Unhealthy, runningEvent.Snapshot.HealthStatus); 132Assert.Equal("Error calling HealthCheckService.", runningEvent.Snapshot.HealthReports.Single().Description); 586var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 587Assert.Null(startingEvent.Snapshot.HealthStatus); 595var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(); 596Assert.Equal(HealthStatus.Unhealthy, runningEvent.Snapshot.HealthStatus); 603Assert.Equal(HealthStatus.Healthy, healthyEvent.Snapshot.HealthStatus); 632var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 633Assert.Null(startingEvent.Snapshot.HealthStatus); 640var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(); 642Assert.Equal(HealthStatus.Unhealthy, runningEvent.Snapshot.HealthStatus); 648var unhealthyEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.HealthStatus == HealthStatus.Unhealthy).DefaultTimeout(); 649Assert.Equal(HealthStatus.Unhealthy, unhealthyEvent.Snapshot.HealthStatus);
Orchestrator\ApplicationOrchestratorTests.cs (19)
57childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 105childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 206childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 210nestedChildParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 214child2ParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 275childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 323projectBParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 436var connectionStringProp = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ConnectionString); 630var parentState = resourceNotificationService.TryGetCurrentState("parent-container-dcp", out var parentEvent) ? parentEvent.Snapshot.State?.Text : null; 631var childContainerState = resourceNotificationService.TryGetCurrentState(childContainer.Resource.Name, out var childContainerEvent) ? childContainerEvent.Snapshot.State?.Text : null; 632var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.Snapshot.State?.Text : null; 677var parentState = resourceNotificationService.TryGetCurrentState("parent-container-dcp", out var parentEvent) ? parentEvent.Snapshot.State?.Text : null; 678var childProjectState = resourceNotificationService.TryGetCurrentState(childProject.Resource.Name, out var childProjectEvent) ? childProjectEvent.Snapshot.State?.Text : null; 679var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.Snapshot.State?.Text : null; 726childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 730child2ParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 783childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 787child2ParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 837childProjectParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
Orchestrator\ParameterProcessorTests.cs (8)
88updates.Add((resourceEvent.Resource, resourceEvent.Snapshot)); 260Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 261Assert.Equal("value1", updates.Current.Snapshot.Properties.FirstOrDefault(p => p.Name == KnownProperties.Parameter.Value)?.Value); 264Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 265Assert.Equal("value2", updates.Current.Snapshot.Properties.FirstOrDefault(p => p.Name == KnownProperties.Parameter.Value)?.Value); 268Assert.Equal(KnownResourceStates.Running, updates.Current.Snapshot.State?.Text); 269Assert.Equal("secretValue", updates.Current.Snapshot.Properties.FirstOrDefault(p => p.Name == KnownProperties.Parameter.Value)?.Value); 270Assert.True(updates.Current.Snapshot.Properties.FirstOrDefault(p => p.Name == KnownProperties.Parameter.Value)?.IsSensitive ?? false);
ResourceNotificationTests.cs (28)
84Assert.Equal(expectedResourceType, resourceEvent.Snapshot.ResourceType); 125Assert.Equal("CustomResource", c.Snapshot.ResourceType); 126Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "A").Value); 127Assert.Null(c.Snapshot.HealthStatus); 133Assert.Equal("CustomResource", c.Snapshot.ResourceType); 134Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "B").Value); 135Assert.Null(c.Snapshot.HealthStatus); 180Assert.Equal("CustomResource", c.Snapshot.ResourceType); 181Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "A").Value); 187Assert.Equal("CustomResource", c.Snapshot.ResourceType); 188Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "B").Value); 194Assert.Equal("CustomResource", c.Snapshot.ResourceType); 195Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "C").Value); 528Assert.Equal("ExistingIcon", firstEvent.Snapshot.IconName); 529Assert.Equal(IconVariant.Filled, firstEvent.Snapshot.IconVariant); 533Assert.Equal("ExistingIcon", secondEvent.Snapshot.IconName); 534Assert.Equal(IconVariant.Filled, secondEvent.Snapshot.IconVariant); 535Assert.Equal("Running", secondEvent.Snapshot.State?.Text); 570Assert.Equal("LastIcon", value.Snapshot.IconName); 571Assert.Equal(IconVariant.Regular, value.Snapshot.IconVariant); 572Assert.Equal("Starting", value.Snapshot.State?.Text); 606Assert.Equal("AnnotationIcon", value.Snapshot.IconName); 607Assert.Equal(IconVariant.Regular, value.Snapshot.IconVariant); 608Assert.Equal("Starting", value.Snapshot.State?.Text); 647Assert.Equal(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy, resourceEvent.Snapshot.HealthStatus); 648Assert.NotNull(resourceEvent.Snapshot.ResourceReadyEvent); 649Assert.True(resourceEvent.Snapshot.ResourceReadyEvent.EventTask.IsCompletedSuccessfully); 715Assert.Equal(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy, resourceEvent.Snapshot.HealthStatus);
WithHttpCommandTests.cs (12)
427e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 429Assert.Equal(ResourceCommandState.Disabled, startingEvent.Snapshot.Commands.First(c => c.Name == "mycommand").State); 440e => e.Snapshot.State?.Text == KnownResourceStates.Running && 441e.Snapshot.Commands.First(c => c.Name == "mycommand").State == ResourceCommandState.Enabled).DefaultTimeout(); 443Assert.Equal(ResourceCommandState.Enabled, runningEvent.Snapshot.Commands.First(c => c.Name == "mycommand").State); 483e => e.Snapshot.State?.Text == KnownResourceStates.Running && 484e.Snapshot.Commands.First(c => c.Name == "mycommand").State == ResourceCommandState.Hidden).DefaultTimeout(); 486Assert.Equal(ResourceCommandState.Hidden, runningEvent.Snapshot.Commands.First(c => c.Name == "mycommand").State); 498e => e.Snapshot.Commands.First(c => c.Name == "mycommand").State == ResourceCommandState.Enabled).DefaultTimeout(); 501Assert.Equal(ResourceCommandState.Enabled, enabledEvent.Snapshot.Commands.First(c => c.Name == "mycommand").State); 539e => e.Snapshot.State?.Text == KnownResourceStates.Running && 540e.Snapshot.Commands.FirstOrDefault(c => c.Name == commandName)?.State == ResourceCommandState.Enabled).DefaultTimeout();
WithUrlsTests.cs (26)
387e => e.Snapshot.Urls.Length > 0, 392Assert.Single(resourceEvent.Snapshot.Urls, s => s.Name == httpEndpoint.EndpointName && s.IsInactive && s.Url == "https://example.com"); 414e => e.Snapshot.Urls.Length > 0, 419Assert.Collection(resourceEvent.Snapshot.Urls, 447e => e.Snapshot.State == KnownResourceStates.Running, 452Assert.Equal(2, resourceEvent.Snapshot.Urls.Length); 453Assert.Collection(resourceEvent.Snapshot.Urls, 481if (notification.Resource == servicea.Resource && notification.Snapshot.Urls.Length > 0) 483urlSnapshots.Add(notification.Snapshot.Urls.ToArray()); 484testOutputHelper.WriteLine($"Captured snapshot #{urlSnapshots.Count}: State={notification.Snapshot.State}, URLs: {FormatUrls(notification.Snapshot.Urls)}"); 487if (notification.Snapshot.State == KnownResourceStates.Running && 488notification.Snapshot.Urls.All(u => !u.IsInactive)) 599if (notification.Resource == custom.Resource && notification.Snapshot.Urls.Length > 0) 601urlSnapshots.Add(notification.Snapshot.Urls.ToArray()); 602testOutputHelper.WriteLine($"Captured snapshot #{urlSnapshots.Count}: State={notification.Snapshot.State}, URLs: {FormatUrls(notification.Snapshot.Urls)}"); 605if (notification.Snapshot.State == KnownResourceStates.Running && 606notification.Snapshot.Urls.All(u => !u.IsInactive)) 677e => e.Snapshot.State == KnownResourceStates.Running && e.Snapshot.Urls.Length > 1, 682Assert.Collection(resourceEvent.Snapshot.Urls, 979e => e.Snapshot.State == KnownResourceStates.Running 980&& e.Snapshot.Urls.Length == resourceB.Resource.GetEndpoints().ToArray().Length + 1 981&& e.Snapshot.Urls.All(u => !u.IsInactive), 987var crossResourceUrl = resourceEvent.Snapshot.Urls.FirstOrDefault(u => u.DisplayProperties.DisplayName == "API Docs");
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);