177 references to Snapshot
Aspire.Hosting (29)
ApplicationModel\ResourceNotificationService.cs (11)
132
&& resourceEvent.
Snapshot
.State?.Text is { Length: > 0 } stateText
152
await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && re.
Snapshot
.HealthStatus == HealthStatus.Healthy, cancellationToken).ConfigureAwait(false);
157
resourceEvent = await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && re.
Snapshot
.ResourceReadyEvent is not null, cancellationToken: cancellationToken).ConfigureAwait(false);
160
await resourceEvent.
Snapshot
.ResourceReadyEvent!.EventTask.WaitAsync(cancellationToken).ConfigureAwait(false);
221
var resourceEvent = await WaitForResourceCoreAsync(resourceName, re => ShouldYield(waitBehavior, re.
Snapshot
), cancellationToken: cancellationToken).ConfigureAwait(false);
223
if (resourceEvent.
Snapshot
.HealthStatus != HealthStatus.Healthy)
267
var resourceEvent = await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && IsKnownTerminalState(re.
Snapshot
), cancellationToken: cancellationToken).ConfigureAwait(false);
268
var snapshot = resourceEvent.
Snapshot
;
322
var resourceEvent = await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && IsContinuableState(waitBehavior, re.
Snapshot
), cancellationToken: cancellationToken).ConfigureAwait(false);
323
var snapshot = resourceEvent.
Snapshot
;
552
if (versionsSeen.TryGetValue(item.ResourceId, out var maxVersionSeen) && item.
Snapshot
.Version <= maxVersionSeen)
Backchannel\AppHostRpcTarget.cs (4)
93
var healthStatus = CustomResourceSnapshot.ComputeHealthStatus(resourceEvent.
Snapshot
.HealthReports, resourceEvent.
Snapshot
.State?.Text);
98
Type = resourceEvent.
Snapshot
.ResourceType,
99
State = resourceEvent.
Snapshot
.State?.Text ?? "Unknown",
Dashboard\DashboardServiceData.cs (1)
72
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
Exec\ExecResourceManager.cs (2)
133
if ((exitCode = resourceEvent?.
Snapshot
?.ExitCode) is not null)
144
if (resourceEvent?.
Snapshot
.State == KnownResourceStates.FailedToStart)
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)
92
e => e.
Snapshot
.State?.Text != KnownResourceStates.Waiting,
ResourceBuilderExtensions.cs (1)
1902
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)
42
e => KnownResourceStates.TerminalStates.Contains(e.
Snapshot
.State?.Text),
45
Assert.Equal(KnownResourceStates.Exited, state.
Snapshot
.State);
Aspire.Hosting.MySql.Tests (2)
MySqlFunctionalTests.cs (2)
601
return evt.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null;
604
return resourceEvent.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.PostgreSQL.Tests (2)
PostgresFunctionalTests.cs (2)
580
return evt.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value != null;
583
return resourceEvent.
Snapshot
.Properties.FirstOrDefault(x => x.Name == "container.id")?.Value?.ToString();
Aspire.Hosting.Qdrant.Tests (1)
QdrantFunctionalTests.cs (1)
279
await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, (re => re.
Snapshot
.HealthStatus == HealthStatus.Healthy), cts.Token);
Aspire.Hosting.Tests (138)
Codespaces\CodespacesUrlRewriterTests.cs (3)
82
var match = re.
Snapshot
.Urls.Length > 0 && re.
Snapshot
.Urls[0].Url.Contains("app.github.dev");
88
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);
ExternalServiceTests.cs (6)
299
e => e.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart
303
Assert.Equal(KnownResourceStates.FailedToStart, resourceEvent.
Snapshot
.State?.Text);
326
e => e.
Snapshot
.State?.Text == KnownResourceStates.FailedToStart
330
Assert.Equal(KnownResourceStates.FailedToStart, resourceEvent.
Snapshot
.State?.Text);
353
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running
357
Assert.Equal(KnownResourceStates.Running, resourceEvent.
Snapshot
.State?.Text);
Health\ResourceHealthCheckServiceTests.cs (24)
37
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
38
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
46
Assert.Equal(HealthStatus.Healthy, healthyEvent.
Snapshot
.HealthStatus);
77
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
78
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
85
var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout();
87
Assert.Equal(HealthStatus.Unhealthy, runningEvent.
Snapshot
.HealthStatus);
120
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
121
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
129
e => e.
Snapshot
.State?.Text == KnownResourceStates.Running && e.
Snapshot
.HealthReports.Single().Status == HealthStatus.Unhealthy).DefaultTimeout();
131
Assert.Equal(HealthStatus.Unhealthy, runningEvent.
Snapshot
.HealthStatus);
132
Assert.Equal("Error calling HealthCheckService.", runningEvent.
Snapshot
.HealthReports.Single().Description);
586
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
587
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
595
var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout();
596
Assert.Equal(HealthStatus.Unhealthy, runningEvent.
Snapshot
.HealthStatus);
603
Assert.Equal(HealthStatus.Healthy, healthyEvent.
Snapshot
.HealthStatus);
632
var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Starting).DefaultTimeout();
633
Assert.Null(startingEvent.
Snapshot
.HealthStatus);
640
var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.State?.Text == KnownResourceStates.Running).DefaultTimeout();
642
Assert.Equal(HealthStatus.Unhealthy, runningEvent.
Snapshot
.HealthStatus);
648
var unhealthyEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.
Snapshot
.HealthStatus == HealthStatus.Unhealthy).DefaultTimeout();
649
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();
193
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
197
nestedChildParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
201
child2ParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
261
childParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
308
projectBParentResourceId = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ParentName)?.Value?.ToString();
419
var connectionStringProp = item.
Snapshot
.Properties.SingleOrDefault(p => p.Name == KnownProperties.Resource.ConnectionString);
Orchestrator\ParameterProcessorTests.cs (8)
82
updates.Add((resourceEvent.Resource, resourceEvent.
Snapshot
));
250
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
251
Assert.Equal("value1", updates.Current.
Snapshot
.Properties.FirstOrDefault(p => p.Name == KnownProperties.Parameter.Value)?.Value);
254
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
255
Assert.Equal("value2", updates.Current.
Snapshot
.Properties.FirstOrDefault(p => p.Name == KnownProperties.Parameter.Value)?.Value);
258
Assert.Equal(KnownResourceStates.Running, updates.Current.
Snapshot
.State?.Text);
259
Assert.Equal("secretValue", updates.Current.
Snapshot
.Properties.FirstOrDefault(p => p.Name == KnownProperties.Parameter.Value)?.Value);
260
Assert.True(updates.Current.
Snapshot
.Properties.FirstOrDefault(p => p.Name == KnownProperties.Parameter.Value)?.IsSensitive ?? false);
ResourceNotificationTests.cs (20)
81
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
82
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "A").Value);
83
Assert.Null(c.
Snapshot
.HealthStatus);
89
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
90
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "B").Value);
91
Assert.Null(c.
Snapshot
.HealthStatus);
136
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
137
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "A").Value);
143
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
144
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "B").Value);
150
Assert.Equal("CustomResource", c.
Snapshot
.ResourceType);
151
Assert.Equal("value", c.
Snapshot
.Properties.Single(p => p.Name == "C").Value);
483
Assert.Equal("ExistingIcon", firstEvent.
Snapshot
.IconName);
484
Assert.Equal(IconVariant.Filled, firstEvent.
Snapshot
.IconVariant);
488
Assert.Equal("ExistingIcon", secondEvent.
Snapshot
.IconName);
489
Assert.Equal(IconVariant.Filled, secondEvent.
Snapshot
.IconVariant);
490
Assert.Equal("Running", secondEvent.
Snapshot
.State?.Text);
524
Assert.Equal("AnnotationIcon", value.
Snapshot
.IconName);
525
Assert.Equal(IconVariant.Regular, value.
Snapshot
.IconVariant);
526
Assert.Equal("Starting", value.
Snapshot
.State?.Text);
WithHttpCommandTests.cs (2)
386
var commandSnapshot = resourceEvent.
Snapshot
.Commands.First(c => c.Name == "mycommand");
456
var commandSnapshot = resourceEvent.
Snapshot
.Commands.First(c => c.Name == "mycommand");
WithUrlsTests.cs (26)
333
if (notification.
Snapshot
.Urls.Length > 0 && initialUrlSnapshot == default)
335
initialUrlSnapshot = notification.
Snapshot
.Urls;
369
if (notification.
Snapshot
.Urls.Length > 0 && initialUrlSnapshot == default)
371
initialUrlSnapshot = notification.
Snapshot
.Urls;
413
if (!projectRunning && notification.
Snapshot
.State == KnownResourceStates.Running)
416
Assert.Equal(2, notification.
Snapshot
.Urls.Length);
417
Assert.Collection(notification.
Snapshot
.Urls,
502
if (notification.Resource == servicea.Resource && notification.
Snapshot
.Urls.Length > 0)
506
var urls = notification.
Snapshot
.Urls;
514
else if (!projectEndpointsAllocated && notification.
Snapshot
.Urls.Length == 2)
516
var urls = notification.
Snapshot
.Urls;
526
else if (!projectRunning && notification.
Snapshot
.State == KnownResourceStates.Running &&
528
notification.
Snapshot
.Urls[^1].IsInactive == false &&
529
notification.
Snapshot
.Urls[^2].IsInactive == false)
531
var urls = notification.
Snapshot
.Urls;
542
else if (notification.Resource == custom.Resource && notification.
Snapshot
.Urls.Length > 0)
546
var urls = notification.
Snapshot
.Urls;
554
else if (!customEndpointsAllocated && notification.
Snapshot
.Urls.Length == 2)
556
var urls = notification.
Snapshot
.Urls;
566
else if (!customRunning && notification.
Snapshot
.State == KnownResourceStates.Running &&
568
notification.
Snapshot
.Urls[^1].IsInactive == false &&
569
notification.
Snapshot
.Urls[^2].IsInactive == false)
571
var urls = notification.
Snapshot
.Urls;
623
if (string.Equals(notification.
Snapshot
.State?.Text, KnownResourceStates.Running))
625
if (notification.
Snapshot
.Urls.Length > 1 && urlSnapshot == default)
627
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)));