150 references to Snapshot
Aspire.Hosting (27)
ApplicationModel\ResourceNotificationService.cs (11)
132
&& resourceEvent.
Snapshot
.State?.Text is { Length: > 0 } stateText
162
var resourceEvent = await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && IsContinuableState(waitBehavior, re.
Snapshot
), cancellationToken: cancellationToken).ConfigureAwait(false);
163
var snapshot = resourceEvent.
Snapshot
;
197
await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && re.
Snapshot
.HealthStatus == HealthStatus.Healthy, cancellationToken).ConfigureAwait(false);
202
resourceEvent = await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && re.
Snapshot
.ResourceReadyEvent is not null, cancellationToken: cancellationToken).ConfigureAwait(false);
205
await resourceEvent.
Snapshot
.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false);
278
var resourceEvent = await WaitForResourceCoreAsync(resourceName, re => ShouldYield(waitBehavior, re.
Snapshot
), cancellationToken: cancellationToken).ConfigureAwait(false);
280
if (resourceEvent.
Snapshot
.HealthStatus != HealthStatus.Healthy)
324
var resourceEvent = await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && IsKnownTerminalState(re.
Snapshot
), cancellationToken: cancellationToken).ConfigureAwait(false);
325
var snapshot = resourceEvent.
Snapshot
;
493
if (versionsSeen.TryGetValue(item.ResourceId, out var maxVersionSeen) && item.
Snapshot
.Version <= maxVersionSeen)
Backchannel\AppHostRpcTarget.cs (4)
66
var healthStatus = CustomResourceSnapshot.ComputeHealthStatus(resourceEvent.
Snapshot
.HealthReports, resourceEvent.
Snapshot
.State?.Text);
71
Type = resourceEvent.
Snapshot
.ResourceType,
72
State = resourceEvent.
Snapshot
.State?.Text ?? "Unknown",
Dashboard\DashboardServiceData.cs (1)
70
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
Health\ResourceHealthCheckService.cs (7)
42
if (resourceEvent.
Snapshot
.State?.Text == KnownResourceStates.Running)
73
else if (KnownResourceStates.TerminalStates.Contains(resourceEvent.
Snapshot
.State?.Text))
177
if (ContainsAnyHealthReportChange(report, currentEvent.
Snapshot
.HealthReports))
375
if (currentEvent.
Snapshot
.Version <= previousEvent.
Snapshot
.Version)
379
if (currentEvent.
Snapshot
.State?.Text == previousEvent.
Snapshot
.State?.Text)
Orchestrator\ApplicationOrchestrator.cs (1)
90
e => e.
Snapshot
.State?.Text != KnownResourceStates.Waiting,
ResourceBuilderExtensions.cs (1)
1710
var resourceState = resourceEvent.
Snapshot
.State?.Text;
Aspire.Hosting.Azure.Tests (1)
AzureBicepProvisionerTests.cs (1)
68
var parentProperty = resourceEvent.
Snapshot
.Properties.FirstOrDefault(x => x.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
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.MySql.Tests (2)
MySqlFunctionalTests.cs (2)
600
return evt.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null;
603
return resourceEvent.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.PostgreSQL.Tests (2)
PostgresFunctionalTests.cs (2)
581
return evt.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null;
584
return resourceEvent.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.Qdrant.Tests (1)
QdrantFunctionalTests.cs (1)
280
await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, (re => re.
Snapshot
.HealthStatus == HealthStatus.Healthy), cts.Token);
Aspire.Hosting.Tests (113)
Codespaces\CodespacesUrlRewriterTests.cs (3)
84
var match = re.
Snapshot
.Urls.Length > 0 && re.
Snapshot
.Urls[0].Url.Contains("app.github.dev");
90
resourceEvent.
Snapshot
.Urls,
DistributedApplicationTests.cs (41)
133
var resourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
137
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
141
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Finished).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
145
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
149
await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
177
var notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
178
var dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
181
Assert.Contains("TestProject.ServiceA.csproj", notStartedResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
182
Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
184
Assert.Collection(notStartedResourceEvent.
Snapshot
.Urls, u =>
190
Assert.Collection(dependentResourceEvent.
Snapshot
.Urls, u =>
199
var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
200
Assert.Collection(runningResourceEvent.
Snapshot
.Urls, u =>
207
var dependentResourceRunningEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
208
Assert.Collection(dependentResourceRunningEvent.
Snapshot
.Urls, u =>
216
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Finished).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
220
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
252
var notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
253
var dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
255
Assert.Collection(notStartedResourceEvent.
Snapshot
.Urls, u =>
260
Assert.Collection(dependentResourceEvent.
Snapshot
.Urls, u =>
268
Assert.Equal(RedisImageSource, notStartedResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "container.image").Value?.ToString());
269
Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
273
var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
274
Assert.Collection(runningResourceEvent.
Snapshot
.Urls, u =>
280
var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
281
Assert.Collection(dependentRunningResourceEvent.
Snapshot
.Urls, u =>
289
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Exited).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
293
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
333
notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.NotStarted).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
334
dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
336
Assert.Collection(notStartedResourceEvent.
Snapshot
.Urls, u =>
341
Assert.Collection(dependentResourceEvent.
Snapshot
.Urls, u =>
349
Assert.Equal(RedisImageSource, notStartedResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "container.image").Value?.ToString());
350
Assert.Contains("TestProject.ServiceB.csproj", dependentResourceEvent.
Snapshot
.Properties.Single(p => p.Name == "project.path").Value?.ToString());
356
var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
357
Assert.Collection(runningResourceEvent.
Snapshot
.Urls, u =>
363
var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
364
Assert.Collection(dependentRunningResourceEvent.
Snapshot
.Urls, u =>
372
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Exited).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
379
await rns.WaitForResourceAsync(notStartedResourceName, e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
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);
591
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
592
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
600
var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout();
601
Assert.Equal(HealthStatus.Unhealthy, runningEvent.
Snapshot
.HealthStatus);
608
Assert.Equal(HealthStatus.Healthy, healthyEvent.
Snapshot
.HealthStatus);
637
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
638
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
645
var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout();
647
Assert.Equal(HealthStatus.Unhealthy, runningEvent.
Snapshot
.HealthStatus);
653
var unhealthyEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.HealthStatus == HealthStatus.Unhealthy).DefaultTimeout();
654
Assert.Equal(HealthStatus.Unhealthy, unhealthyEvent.
Snapshot
.HealthStatus);
Orchestrator\ApplicationOrchestratorTests.cs (8)
47
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
94
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
186
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
190
nestedChildParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
194
child2ParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
254
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
301
projectBParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
412
var connectionStringProp = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ConnectionString);
ResourceNotificationTests.cs (12)
82
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
83
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "A").Value);
84
Assert.Null(c.
Snapshot
.HealthStatus);
90
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
91
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "B").Value);
92
Assert.Null(c.
Snapshot
.HealthStatus);
137
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
138
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "A").Value);
144
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
145
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "B").Value);
151
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
152
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "C").Value);
WithHttpCommandTests.cs (2)
387
var commandSnapshot = resourceEvent.
Snapshot
.Commands.First(c => c.Name == "mycommand");
457
var commandSnapshot = resourceEvent.
Snapshot
.Commands.First(c => c.Name == "mycommand");
WithUrlsTests.cs (23)
341
if (notification.
Snapshot
.Urls.Length > 0 && initialUrlSnapshot == default)
343
initialUrlSnapshot = notification.
Snapshot
.Urls;
377
if (notification.
Snapshot
.Urls.Length > 0 && initialUrlSnapshot == default)
379
initialUrlSnapshot = notification.
Snapshot
.Urls;
465
if (notification.Resource == servicea.Resource && notification.
Snapshot
.Urls.Length > 0)
469
var urls = notification.
Snapshot
.Urls;
477
else if (!projectEndpointsAllocated && notification.
Snapshot
.Urls.Length == 2)
479
var urls = notification.
Snapshot
.Urls;
489
else if (!projectRunning && notification.
Snapshot
.State == KnownResourceStates.Running &&
491
notification.
Snapshot
.Urls[^1].IsInactive == false &&
492
notification.
Snapshot
.Urls[^2].IsInactive == false)
494
var urls = notification.
Snapshot
.Urls;
505
else if (notification.Resource == custom.Resource && notification.
Snapshot
.Urls.Length > 0)
509
var urls = notification.
Snapshot
.Urls;
517
else if (!customEndpointsAllocated && notification.
Snapshot
.Urls.Length == 2)
519
var urls = notification.
Snapshot
.Urls;
529
else if (!customRunning && notification.
Snapshot
.State == KnownResourceStates.Running &&
531
notification.
Snapshot
.Urls[^1].IsInactive == false &&
532
notification.
Snapshot
.Urls[^2].IsInactive == false)
534
var urls = notification.
Snapshot
.Urls;
586
if (string.Equals(notification.
Snapshot
.State?.Text, KnownResourceStates.Running))
588
if (notification.
Snapshot
.Urls.Length > 1 && urlSnapshot == default)
590
urlSnapshot = notification.
Snapshot
.Urls;
Aspire.Playground.Tests (2)
Infrastructure\DistributedApplicationExtensions.cs (2)
106
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)));