126 references to Snapshot
Aspire.Hosting (27)
ApplicationModel\ResourceNotificationService.cs (11)
131&& resourceEvent.Snapshot.State?.Text is { Length: > 0 } stateText 161var resourceEvent = await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && IsContinuableState(waitBehavior, re.Snapshot), cancellationToken: cancellationToken).ConfigureAwait(false); 162var snapshot = resourceEvent.Snapshot; 196await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && re.Snapshot.HealthStatus == HealthStatus.Healthy, cancellationToken).ConfigureAwait(false); 201resourceEvent = await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && re.Snapshot.ResourceReadyEvent is not null, cancellationToken: cancellationToken).ConfigureAwait(false); 204await resourceEvent.Snapshot.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false); 277var resourceEvent = await WaitForResourceCoreAsync(resourceName, re => ShouldYield(waitBehavior, re.Snapshot), cancellationToken: cancellationToken).ConfigureAwait(false); 279if (resourceEvent.Snapshot.HealthStatus != HealthStatus.Healthy) 323var resourceEvent = await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && IsKnownTerminalState(re.Snapshot), cancellationToken: cancellationToken).ConfigureAwait(false); 324var snapshot = resourceEvent.Snapshot; 472if (versionsSeen.TryGetValue((item.Resource, item.ResourceId), out var maxVersionSeen) && item.Snapshot.Version <= maxVersionSeen)
Backchannel\AppHostRpcTarget.cs (4)
79var healthStatus = CustomResourceSnapshot.ComputeHealthStatus(resourceEvent.Snapshot.HealthReports, resourceEvent.Snapshot.State?.Text); 84Type = resourceEvent.Snapshot.ResourceType, 85State = resourceEvent.Snapshot.State?.Text ?? "Unknown",
Dashboard\DashboardServiceData.cs (1)
64var 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
Health\ResourceHealthCheckService.cs (7)
42if (resourceEvent.Snapshot.State?.Text == KnownResourceStates.Running) 73else if (KnownResourceStates.TerminalStates.Contains(resourceEvent.Snapshot.State?.Text)) 177if (ContainsAnyHealthReportChange(report, currentEvent.Snapshot.HealthReports)) 375if (currentEvent.Snapshot.Version <= previousEvent.Snapshot.Version) 379if (currentEvent.Snapshot.State?.Text == previousEvent.Snapshot.State?.Text)
Orchestrator\ApplicationOrchestrator.cs (1)
76e => e.Snapshot.State?.Text != KnownResourceStates.Waiting,
ResourceBuilderExtensions.cs (1)
1681var resourceState = resourceEvent.Snapshot.State?.Text;
Aspire.Hosting.Azure.Tests (1)
AzureBicepProvisionerTests.cs (1)
286var parentProperty = resourceEvent.Snapshot.Properties.FirstOrDefault(x => x.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
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.MySql.Tests (2)
MySqlFunctionalTests.cs (2)
600return evt.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null; 603return resourceEvent.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.PostgreSQL.Tests (2)
PostgresFunctionalTests.cs (2)
581return evt.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null; 584return resourceEvent.Snapshot.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.Qdrant.Tests (1)
QdrantFunctionalTests.cs (1)
278await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token);
Aspire.Hosting.Tests (89)
Codespaces\CodespacesUrlRewriterTests.cs (3)
84var match = re.Snapshot.Urls.Length > 0 && re.Snapshot.Urls[0].Url.Contains("app.github.dev"); 90resourceEvent.Snapshot.Urls,
DistributedApplicationTests.cs (29)
133var resourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 137await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 141await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Finished).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 145await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 149await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 177var notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 178var dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 181Assert.Contains("TestProject.ServiceA.csproj", notStartedResourceEvent.Snapshot.Properties.Single(p => p.Name == "project.path").Value?.ToString()); 182Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.Snapshot.Properties.Single(p => p.Name == "project.path").Value?.ToString()); 184Assert.Collection(notStartedResourceEvent.Snapshot.Urls, u => 190Assert.Collection(dependentResourceEvent.Snapshot.Urls, u => 199var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 200Assert.Collection(runningResourceEvent.Snapshot.Urls, u => 207var dependentResourceRunningEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 208Assert.Collection(dependentResourceRunningEvent.Snapshot.Urls, u => 216await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Finished).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 220await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 252var notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 253var dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 255Assert.Collection(notStartedResourceEvent.Snapshot.Urls, u => 260Assert.Collection(dependentResourceEvent.Snapshot.Urls, u => 268Assert.Equal(RedisImageSource, notStartedResourceEvent.Snapshot.Properties.Single(p => p.Name == "container.image").Value?.ToString()); 269Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.Snapshot.Properties.Single(p => p.Name == "project.path").Value?.ToString()); 273var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 274Assert.Collection(runningResourceEvent.Snapshot.Urls, u => 280var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 281Assert.Collection(dependentRunningResourceEvent.Snapshot.Urls, u => 289await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Exited).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 293await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
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); 591var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 592Assert.Null(startingEvent.Snapshot.HealthStatus); 600var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(); 601Assert.Equal(HealthStatus.Unhealthy, runningEvent.Snapshot.HealthStatus); 608Assert.Equal(HealthStatus.Healthy, healthyEvent.Snapshot.HealthStatus); 637var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 638Assert.Null(startingEvent.Snapshot.HealthStatus); 645var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(); 647Assert.Equal(HealthStatus.Unhealthy, runningEvent.Snapshot.HealthStatus); 653var unhealthyEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.HealthStatus == HealthStatus.Unhealthy).DefaultTimeout(); 654Assert.Equal(HealthStatus.Unhealthy, unhealthyEvent.Snapshot.HealthStatus);
Orchestrator\ApplicationOrchestratorTests.cs (7)
47childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 94childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 186childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 190nestedChildParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 194child2ParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 254childParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString(); 301projectBParentResourceId = item.Snapshot.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
ResourceNotificationTests.cs (12)
82Assert.Equal("CustomResource", c.Snapshot.ResourceType); 83Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "A").Value); 84Assert.Null(c.Snapshot.HealthStatus); 90Assert.Equal("CustomResource", c.Snapshot.ResourceType); 91Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "B").Value); 92Assert.Null(c.Snapshot.HealthStatus); 137Assert.Equal("CustomResource", c.Snapshot.ResourceType); 138Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "A").Value); 144Assert.Equal("CustomResource", c.Snapshot.ResourceType); 145Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "B").Value); 151Assert.Equal("CustomResource", c.Snapshot.ResourceType); 152Assert.Equal("value", c.Snapshot.Properties.Single(p => p.Name == "C").Value);
WithHttpCommandTests.cs (2)
417var commandSnapshot = resourceEvent.Snapshot.Commands.First(c => c.Name == "mycommand"); 486var commandSnapshot = resourceEvent.Snapshot.Commands.First(c => c.Name == "mycommand");
WithUrlsTests.cs (12)
340if (notification.Snapshot.Urls.Length > 0 && initialUrlSnapshot == default) 342initialUrlSnapshot = notification.Snapshot.Urls; 376if (notification.Snapshot.Urls.Length > 0 && initialUrlSnapshot == default) 378initialUrlSnapshot = notification.Snapshot.Urls; 416if (notification.Snapshot.Urls.Length > 0 && initialUrlSnapshot == default) 418initialUrlSnapshot = notification.Snapshot.Urls; 422if (string.Equals(notification.Snapshot.State?.Text, KnownResourceStates.Running)) 424if (notification.Snapshot.Urls.Length > 0 && urlSnapshotAfterRunning == default) 426urlSnapshotAfterRunning = notification.Snapshot.Urls; 467if (string.Equals(notification.Snapshot.State?.Text, KnownResourceStates.Running)) 469if (notification.Snapshot.Urls.Length > 1 && urlSnapshot == default) 471urlSnapshot = notification.Snapshot.Urls;
Aspire.Playground.Tests (2)
Infrastructure\DistributedApplicationExtensions.cs (2)
106return 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)));