Implemented interface member:

property
Name
Aspire.Hosting.ApplicationModel.IResource.Name
4 overrides of Name
Aspire.Hosting.Azure.EventHubs (1)
Aspire.Hosting.Azure.PostgreSQL (1)
Aspire.Hosting.Azure.Redis (1)
Aspire.Hosting.Azure.Storage (1)
1 write to Name
Aspire.Hosting (1)
987 references to Name
Aspire.Hosting (55)
Aspire.Hosting.Azure (42)
Provisioning\Provisioners\BicepProvisioner.cs (13)
35var section = configuration.GetSection($"Azure:Deployments:{resource.Name}");
47logger.LogDebug("Checksum mismatch for resource {ResourceName}. Expected: {ExpectedChecksum}, Actual: {ActualChecksum}", resource.Name, currentCheckSum, configCheckSum);
51logger.LogDebug("Configuring resource {ResourceName} from existing deployment state.", resource.Name);
161logger.LogDebug("Setting parameters and scope for resource {ResourceName}", resource.Name);
180resourceLogger.LogInformation("Deploying {Name} to {ResourceGroup}", resource.Name, resourceGroup.Name);
181logger.LogDebug("Starting deployment of resource {ResourceName} to resource group {ResourceGroupName}", resource.Name, resourceGroup.Name);
187var deploymentName = executionContext.IsPublishMode ? $"{resource.Name}-{DateTimeOffset.Now.ToUnixTimeSeconds()}" : resource.Name;
198var url = GetDeploymentUrl(context, resourceGroup, resource.Name);
215resourceLogger.LogInformation("Deployment of {Name} to {ResourceGroup} took {Elapsed}", resource.Name, resourceGroup.Name, sw.Elapsed);
216logger.LogDebug("Deployment of resource {ResourceName} to resource group {ResourceGroupName} completed in {Elapsed}", resource.Name, resourceGroup.Name, sw.Elapsed);
231throw new InvalidOperationException($"Deployment of {resource.Name} to {resourceGroup.Name} failed with {deployment.Data.Properties.ProvisioningState}");
238var sectionName = $"Azure:Deployments:{resource.Name}";
Aspire.Hosting.Azure.AIFoundry (5)
Aspire.Hosting.Azure.AppConfiguration (3)
Aspire.Hosting.Azure.AppContainers (6)
Aspire.Hosting.Azure.AppService (10)
Aspire.Hosting.Azure.CognitiveServices (3)
Aspire.Hosting.Azure.ContainerRegistry (1)
Aspire.Hosting.Azure.CosmosDB (17)
Aspire.Hosting.Azure.EventHubs (8)
Aspire.Hosting.Azure.Functions (2)
Aspire.Hosting.Azure.KeyVault (3)
Aspire.Hosting.Azure.Kusto (14)
AzureKustoBuilderExtensions.cs (11)
70Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } }
123throw new DistributedApplicationException($"ConnectionStringAvailableEvent published for resource '{db.Name}', but the connection string was null.");
128var healthCheckKey = $"{kustoDatabase.Name}_check";
234throw new DistributedApplicationException($"ConnectionStringAvailableEvent published for resource '{resource.Name}', but the connection string was null.");
239var healthCheckKey = $"{resource.Name}_check";
250throw new DistributedApplicationException($"Connection string for Kusto resource '{server.Name}' is not set.");
365throw new DistributedApplicationException($"Connection string for Kusto resource '{resourceBuilder.Resource.Name}' is not set.");
368var result = launcher.TryLaunchKustoExplorer(title: "", resourceBuilder.Resource.Name, connectionString, requestText: "");
380throw new DistributedApplicationException($"Connection string for Kusto resource '{resourceBuilder.Resource.Name}' is not set.");
383var result = launcher.TryLaunchKustoWebExplorer(title: "", resourceBuilder.Resource.Name, connectionString, requestText: "");
394message: $"Could not automatically open Kusto Web Explorer for resource '{resourceBuilder.Resource.Name}'. Click [{connectionString}]({connectionString}) to manually open the Web Explorer.",
Aspire.Hosting.Azure.Kusto.Tests (8)
Aspire.Hosting.Azure.PostgreSQL (11)
Aspire.Hosting.Azure.Redis (13)
Aspire.Hosting.Azure.ServiceBus (14)
Aspire.Hosting.Azure.SignalR (2)
Aspire.Hosting.Azure.Sql (5)
Aspire.Hosting.Azure.Storage (18)
Aspire.Hosting.Azure.Tests (165)
AzureContainerAppsTests.cs (12)
329var identityName = $"{proj.Name}-identity";
330var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == identityName);
406var identityName = $"{proj.Name}-identity";
407var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == identityName);
999var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity");
1000var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-storage");
1043var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity");
1044var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-cosmos");
1084var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity");
1085var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-redis");
2099Assert.Contains("acr", defaultAcr.Name);
2121Assert.Equal("customregistry", acrResources[0].Name);
AzureCosmosDBEmulatorFunctionalTests.cs (17)
47await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token);
49await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
53await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token);
55await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
93await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token);
97hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await cosmos.Resource.ConnectionStringExpression.GetValueAsync(default);
98hb.AddAzureCosmosClient(db.Resource.Name);
99hb.AddCosmosDbContext<EFCoreCosmosDbContext>(db.Resource.Name, databaseName);
174await rns.WaitForResourceHealthyAsync(cosmos1.Resource.Name, cts.Token);
182[$"ConnectionStrings:{cosmos1.Resource.Name}"] = await cosmos1.Resource.ConnectionStringExpression.GetValueAsync(default)
185hb.AddAzureCosmosClient(cosmos1.Resource.Name);
222await rns.WaitForResourceHealthyAsync(cosmos2.Resource.Name, cts.Token);
231[$"ConnectionStrings:{cosmos2.Resource.Name}"] = await cosmos2.Resource.ConnectionStringExpression.GetValueAsync(default)
234hb.AddAzureCosmosClient(cosmos2.Resource.Name);
292await rns.WaitForResourceHealthyAsync(cosmos.Resource.Name, cts.Token);
296hb.Configuration[$"ConnectionStrings:{cosmos.Resource.Name}"] = await cosmos.Resource.ConnectionStringExpression.GetValueAsync(default);
297hb.AddAzureCosmosClient(cosmos.Resource.Name);
AzureEventHubsExtensionsTests.cs (7)
46await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token);
47await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
51await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token);
53await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
76await app.ResourceNotifications.WaitForResourceHealthyAsync(eventHubns.Resource.Name, cts.Token);
128await app.ResourceNotifications.WaitForResourceHealthyAsync(eventHubns.Resource.Name, cts.Token);
292var ehRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "eh-roles");
AzureFunctionsTests.cs (16)
143Assert.NotEqual(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, storageResources.Name);
144Assert.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, storageResources.Name);
162r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName));
164Assert.Equal("my-own-storage", storageResource.Name);
188r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName));
201Assert.NotEqual(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, resource.Name);
202Assert.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, resource.Name);
289var storage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcstorage634f8");
322var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-funcstorage634f8");
350var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage");
379var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage");
410var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage");
411var projRolesStorage2 = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp2-roles-funcstorage634f8");
704.Where(r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName))
730r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName));
732Assert.Equal("my-custom-storage", storageResource.Name);
AzureServiceBusExtensionsTests.cs (10)
95await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token);
97await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
101await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token);
103await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
136await rns.WaitForResourceAsync(serviceBus.Resource.Name, KnownResourceStates.Running, cts.Token);
137await rns.WaitForResourceHealthyAsync(serviceBus.Resource.Name, cts.Token);
722Assert.Equal("sb", serviceBus.Resource.Name);
741var sbRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "sb-roles");
814await app.ResourceNotifications.WaitForResourceAsync(serviceBus.Resource.Name, KnownResourceStates.Running, cts.Token);
815await app.ResourceNotifications.WaitForResourceHealthyAsync(serviceBus.Resource.Name, cts.Token);
AzureStorageEmulatorFunctionalTests.cs (17)
49await rns.WaitForResourceAsync(storage.Resource.Name, KnownResourceStates.Running, cts.Token);
51await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
55await rns.WaitForResourceHealthyAsync(blobs.Resource.Name, cts.Token);
56await rns.WaitForResourceHealthyAsync(queues.Resource.Name, cts.Token);
57await rns.WaitForResourceHealthyAsync(tables.Resource.Name, cts.Token);
59await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
94await rns.WaitForResourceAsync(storage.Resource.Name, KnownResourceStates.Running, cts.Token);
96await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
100await rns.WaitForResourceHealthyAsync(blobContainer.Resource.Name, cts.Token);
102await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
137await rns.WaitForResourceAsync(storage.Resource.Name, KnownResourceStates.Running, cts.Token);
139await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
143await rns.WaitForResourceHealthyAsync(testQueue.Resource.Name, cts.Token);
145await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
191await rns.WaitForResourceHealthyAsync(storage.Resource.Name, cts.Token);
224await rns.WaitForResourceHealthyAsync(blobContainer.Resource.Name, cancellationToken: cts.Token);
264await rns.WaitForResourceHealthyAsync(queue.Resource.Name, cancellationToken: cts.Token);
AzureWebPubSubExtensionsTests.cs (14)
35Assert.Equal(hubName, hub.Resource.Name);
63Assert.Equal("wps1", wps.Resource.Name);
108Assert.Equal("wps1", wps.Resource.Name);
138Assert.Equal("wps1", wps.Resource.Name);
164Assert.Equal("wps1", wps.Resource.Name);
218Assert.Equal("wps1", wps.Resource.Name);
234Assert.Equal("hub1", hub1.Resource.Name);
235Assert.Equal("resource2", hub2.Resource.Name);
236Assert.Equal("hub3", hub3.Resource.Name);
237Assert.Equal("hub4", hub4.Resource.Name);
262Assert.Equal("resource1", hub1.Resource.Name);
292Assert.Equal("wps1", wps.Resource.Name);
295var wpsRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "wps1-roles");
348Assert.Equal("wps1", wps.Resource.Name);
ExistingAzureResourceExtensionsTests.cs (10)
38Assert.Equal("name", existingNameParameter.Name);
40Assert.Equal("resourceGroup", existingResourceGroupParameter.Name);
59Assert.Equal("name1", existingNameParameter.Name);
61Assert.Equal("resourceGroup1", existingResourceGroupParameter.Name);
77Assert.Equal("name", existingNameParameter.Name);
79Assert.Equal("resourceGroup", existingResourceGroupParameter.Name);
98Assert.Equal("name1", existingNameParameter.Name);
100Assert.Equal("resourceGroup1", existingResourceGroupParameter.Name);
136Assert.Equal("name", existingNameParameter.Name);
138Assert.Equal("resourceGroup", existingResourceGroupParameter.Name);
Aspire.Hosting.Azure.WebPubSub (2)
Aspire.Hosting.DevTunnels (4)
Aspire.Hosting.Docker (22)
DockerComposeEnvironmentResource.cs (15)
65Name = $"publish-{Name}",
66Description = $"Publishes the Docker Compose environment configuration for {Name}.",
105Name = $"prepare-{Name}",
106Description = $"Prepares the Docker Compose environment {Name} for deployment.",
115Name = $"docker-compose-up-{Name}",
118DependsOnSteps = [$"prepare-{Name}"]
125Name = $"docker-compose-down-{Name}",
173.RequiredBy($"docker-compose-up-{Name}")
228var deployTask = await context.ReportingStep.CreateTaskAsync($"Running docker compose up for **{Name}**", context.CancellationToken).ConfigureAwait(false);
268await deployTask.CompleteAsync($"Service **{Name}** is now running with Docker Compose locally", CompletionState.Completed, context.CancellationToken).ConfigureAwait(false);
290var deployTask = await context.ReportingStep.CreateTaskAsync($"Running docker compose down for **{Name}**", context.CancellationToken).ConfigureAwait(false);
322await deployTask.CompleteAsync($"Docker Compose shutdown complete for **{Name}**", CompletionState.Completed, context.CancellationToken).ConfigureAwait(false);
385var environmentName = hostEnvironment?.EnvironmentName ?? environment.Name;
417return $"aspire-{environment.Name.ToLowerInvariant()}-{appHostSha[..8].ToLowerInvariant()}";
421return $"aspire-{environment.Name.ToLowerInvariant()}";
Aspire.Hosting.Docker.Tests (1)
Aspire.Hosting.Garnet (1)
Aspire.Hosting.Garnet.Tests (10)
Aspire.Hosting.GitHub.Models (1)
Aspire.Hosting.GitHub.Models.Tests (10)
Aspire.Hosting.JavaScript (2)
Aspire.Hosting.JavaScript.Tests (18)
Aspire.Hosting.Kafka (2)
Aspire.Hosting.Kafka.Tests (8)
Aspire.Hosting.Keycloak.Tests (1)
Aspire.Hosting.Kubernetes (3)
Aspire.Hosting.Maui (10)
Aspire.Hosting.Maui.Tests (9)
Aspire.Hosting.Milvus (2)
Aspire.Hosting.Milvus.Tests (10)
Aspire.Hosting.MongoDB (4)
Aspire.Hosting.MongoDB.Tests (16)
Aspire.Hosting.MySql (6)
Aspire.Hosting.MySql.Tests (34)
MySqlFunctionalTests.cs (29)
49await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token);
51await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
55await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token);
57await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
91[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default)
94hb.AddMySqlDataSource(db.Resource.Name);
168[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default)
171hb.AddMySqlDataSource(db1.Resource.Name);
238[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(cts.Token)
241hb.AddMySqlDataSource(db2.Resource.Name);
341[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(cts.Token)
344hb.AddMySqlDataSource(db.Resource.Name);
427[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(cts.Token)
430hb.AddMySqlDataSource(db.Resource.Name);
498[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(cts.Token)
501hb.AddMySqlDbContext<TestDbContext>(db.Resource.Name);
656hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default);
658hb.AddMySqlDataSource(newDb.Resource.Name);
664await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token);
732hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default);
734hb.AddMySqlDataSource(newDb.Resource.Name);
740await app.ResourceNotifications.WaitForResourceHealthyAsync(mysql.Resource.Name, cts.Token);
792hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default);
793hb.AddKeyedMySqlDataSource(db.Resource.Name);
802await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token);
804var conn = host.Services.GetRequiredKeyedService<MySqlConnection>(db.Resource.Name);
835hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default);
836hb.AddMySqlDataSource(newDb.Resource.Name);
841await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token);
Aspire.Hosting.Nats (1)
Aspire.Hosting.Nats.Tests (16)
NatsFunctionalTests.cs (14)
35await app.WaitForTextAsync("Listening for client connections", nats.Resource.Name);
40hb.Configuration[$"ConnectionStrings:{nats.Resource.Name}"] = await nats.Resource.ConnectionStringExpression.GetValueAsync(default);
81await app.WaitForTextAsync("Listening for client connections", nats.Resource.Name);
87hb.Configuration[$"ConnectionStrings:{nats.Resource.Name}"] = connectionString;
124await app.WaitForTextAsync("Listening for client connections", nats.Resource.Name);
134hb.Configuration[$"ConnectionStrings:{nats.Resource.Name}"] = modifiedConnectionString;
187await app.WaitForTextAsync("Listening for client connections", nats1.Resource.Name);
193hb.Configuration[$"ConnectionStrings:{nats1.Resource.Name}"] = await nats1.Resource.ConnectionStringExpression.GetValueAsync(default);
236await app.WaitForTextAsync("Listening for client connections", nats2.Resource.Name);
242hb.Configuration[$"ConnectionStrings:{nats2.Resource.Name}"] = await nats2.Resource.ConnectionStringExpression.GetValueAsync(default);
347await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token);
349await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
353await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token);
355await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.OpenAI (1)
Aspire.Hosting.OpenAI.Tests (13)
OpenAIFunctionalTests.cs (8)
43await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token);
45await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
49await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token);
51await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
90await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token);
92await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
96await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token);
98await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.Oracle (1)
Aspire.Hosting.Oracle.Tests (14)
Aspire.Hosting.PostgreSQL (7)
Aspire.Hosting.PostgreSQL.Tests (39)
PostgresFunctionalTests.cs (36)
52await app.ResourceNotifications.WaitForResourceAsync(postgres.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
55await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
61await app.ResourceNotifications.WaitForResourceHealthyAsync(postgres.Resource.Name).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
64await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
86await app.WaitForTextAsync("Listening at", resourceName: adminBuilder.Resource.Name);
88var client = app.CreateHttpClient(adminBuilder.Resource.Name, "http");
119[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default)
122hb.AddNpgsqlDataSource(db.Resource.Name);
128await app.ResourceNotifications.WaitForResourceHealthyAsync(postgres.Resource.Name, cts.Token);
165var client = app.CreateHttpClient(pgWebBuilder.Resource.Name, "http");
167await app.ResourceNotifications.WaitForResourceHealthyAsync(pgWebBuilder.Resource.Name).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
233await app.ResourceNotifications.WaitForResourceHealthyAsync(db1.Resource.Name, cts.Token);
242[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default)
245hb.AddNpgsqlDataSource(db1.Resource.Name);
296await app.ResourceNotifications.WaitForResourceHealthyAsync(db2.Resource.Name, cts.Token);
305[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default)
308hb.AddNpgsqlDataSource(db2.Resource.Name);
400[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default)
403hb.AddNpgsqlDataSource(db.Resource.Name);
409await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token);
486[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default)
489hb.AddNpgsqlDataSource(db.Resource.Name);
495await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token);
614hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default);
616hb.AddNpgsqlDataSource(newDb.Resource.Name);
622await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token);
656hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default);
658hb.AddNpgsqlDataSource(newDb.Resource.Name);
664await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token);
726hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default);
728hb.AddNpgsqlDataSource(newDb.Resource.Name);
734await app.ResourceNotifications.WaitForResourceHealthyAsync(postgres.Resource.Name, cts.Token);
786hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default);
787hb.AddKeyedNpgsqlDataSource(db.Resource.Name);
796await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token);
798var conn = host.Services.GetRequiredKeyedService<NpgsqlConnection>(db.Resource.Name);
Aspire.Hosting.Python (6)
Aspire.Hosting.Python.Tests (19)
AddPythonAppTests.cs (18)
161Assert.Equal("pythonProject", pythonProjectResource.Name);
200Assert.Equal("pythonProject", pythonProjectResource.Name);
243Assert.Equal("pythonProject", pythonProjectResource.Name);
727Assert.Equal("pythonProject-installer", installerResource.Name);
817Assert.Equal("pythonProject-installer", uvEnvironmentResource.Name);
836Assert.Equal("pythonProject-installer", installerResource.Name);
861Assert.Equal("pythonProject-installer", installerResource.Name);
892Assert.Equal("pythonProject-installer", installerResource.Name);
916Assert.Equal("python-script", resource.Name);
935Assert.Equal("flask-app", resource.Name);
954Assert.Equal("pytest", resource.Name);
977Assert.Equal("pythonProject", pythonProjectResource.Name);
1875Assert.Equal("pythonProject-installer", installerResource.Name);
1910Assert.Equal("pythonProject-installer", installerResource.Name);
2014Assert.Equal("pythonProject-venv-creator", venvCreatorResource.Name);
2042Assert.Equal("pythonProject-venv-creator", venvCreatorResource.Name);
2336Assert.Equal("pythonProject-installer", installerResource.Name);
2369Assert.Equal("pythonProject-installer", installerResource.Name);
Aspire.Hosting.Qdrant (1)
Aspire.Hosting.Qdrant.Tests (11)
Aspire.Hosting.RabbitMQ (3)
Aspire.Hosting.RabbitMQ.Tests (11)
Aspire.Hosting.Redis (6)
Aspire.Hosting.Redis.Tests (46)
AddRedisTests.cs (11)
38Assert.Equal("myRedis", containerResource.Name);
66Assert.Equal("myRedis", containerResource.Name);
314Assert.Equal($"{redis1.Resource.Name}.dev.internal", item.Value);
324Assert.Equal(redis1.Resource.Name, item.Value);
336Assert.Equal($"{redis2.Resource.Name}.dev.internal", item.Value);
346Assert.Equal(redis2.Resource.Name, item.Value);
358Assert.Equal($"{redis3.Resource.Name}.dev.internal", item.Value);
368Assert.Equal(redis3.Resource.Name, item.Value);
509Assert.Equal($"myredis1:{redis.Resource.Name}:6379:0:{redis.Resource.PasswordParameter?.Value}", config["REDIS_HOSTS"]);
531Assert.Equal($"myredis1:{redis.Resource.Name}:6379:0:{password}", config["REDIS_HOSTS"]);
556Assert.Equal($"myredis1:{redis1.Resource.Name}:6379:0:{redis1.Resource.PasswordParameter?.Value},myredis2:myredis2:6379:0:{redis2.Resource.PasswordParameter?.Value}", config["REDIS_HOSTS"]);
RedisFunctionalTests.cs (35)
51await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token);
53await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
57await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token);
59await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
80await app.WaitForTextAsync("Redis Connection", resourceName: commanderBuilder.Resource.Name);
82var client = app.CreateHttpClient(commanderBuilder.Resource.Name, "http");
91var path = $"/apiv2/server/R:{redis.Resource.Name}:{endpoint.TargetPort}:0/info";
113[$"ConnectionStrings:{redis.Resource.Name}"] = await redis.Resource.GetConnectionStringAsync()
116hb.AddRedisClient(redis.Resource.Name);
152await rns.WaitForResourceAsync(redisInsightBuilder.Resource.Name, KnownResourceStates.Running).WaitAsync(cts.Token);
154var client = app.CreateHttpClient(redisInsightBuilder.Resource.Name, "http");
170Assert.Equal(redis1.Resource.Name, db.Name);
171Assert.Equal($"{redis1.Resource.Name}.dev.internal", db.Host);
176Assert.Equal(redis2.Resource.Name, db.Name);
177Assert.Equal($"{redis2.Resource.Name}.dev.internal", db.Host);
182Assert.Equal(redis3.Resource.Name, db.Name);
183Assert.Equal($"{redis3.Resource.Name}.dev.internal", db.Host);
220[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true"
223hb.AddRedisClient(redis1.Resource.Name);
257[$"ConnectionStrings:{redis2.Resource.Name}"] = await redis2.Resource.GetConnectionStringAsync()
260hb.AddRedisClient(redis2.Resource.Name);
305[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true"
308hb.AddRedisClient(redis1.Resource.Name);
340[$"ConnectionStrings:{redis2.Resource.Name}"] = await redis2.Resource.GetConnectionStringAsync()
343hb.AddRedisClient(redis2.Resource.Name);
390[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true"
393hb.AddRedisClient(redis1.Resource.Name);
421[$"ConnectionStrings:{redis2.Resource.Name}"] = await redis2.Resource.GetConnectionStringAsync()
424hb.AddRedisClient(redis2.Resource.Name);
489await rns.WaitForResourceAsync(redisInsightBuilder1.Resource.Name, KnownResourceStates.Running).WaitAsync(cts.Token);
493var httpClient = app.CreateHttpClient(redisInsightBuilder1.Resource.Name, "http");
524await rns.WaitForResourceAsync(redisInsightBuilder2.Resource.Name, KnownResourceStates.Running).WaitAsync(cts.Token);
528var httpClient = app.CreateHttpClient(redisInsightBuilder2.Resource.Name, "http");
627await app.ResourceNotifications.WaitForResourceHealthyAsync(redis.Resource.Name, cts.Token);
628await app.ResourceNotifications.WaitForResourceHealthyAsync(redisCommander.Name, cts.Token);
Aspire.Hosting.Seq.Tests (10)
Aspire.Hosting.SqlServer (4)
Aspire.Hosting.SqlServer.Tests (27)
SqlServerFunctionalTests.cs (26)
43await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token);
45await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
49await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token);
51await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
81hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default);
83hb.AddSqlServerDbContext<TestDbContext>(newDb.Resource.Name);
84hb.AddSqlServerClient(newDb.Resource.Name);
181await app1.ResourceNotifications.WaitForResourceHealthyAsync(db1.Resource.Name, cts.Token);
190[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default),
193hb1.AddSqlServerClient(db1.Resource.Name);
267await app2.ResourceNotifications.WaitForResourceHealthyAsync(db2.Resource.Name, cts.Token);
276[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default),
279hb2.AddSqlServerClient(db2.Resource.Name);
373hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default);
375hb.AddSqlServerClient(newDb.Resource.Name);
381await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token);
427hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default);
429hb.AddSqlServerClient(newDb.Resource.Name);
435await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token);
500hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default);
502hb.AddSqlServerClient(newDb.Resource.Name);
508await app.ResourceNotifications.WaitForResourceHealthyAsync(sqlserver.Resource.Name, cts.Token);
561hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default);
562hb.AddKeyedSqlServerClient(db.Resource.Name);
571await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token);
573var conn = host.Services.GetRequiredKeyedService<SqlConnection>(db.Resource.Name);
Aspire.Hosting.Testing.Tests (2)
Aspire.Hosting.Tests (137)
WaitForTests.cs (37)
33await app.ResourceNotifications.WaitForResourceAsync(throwingResource.Resource.Name, KnownResourceStates.FailedToStart, abortCts.Token);
34await app.ResourceNotifications.WaitForResourceAsync(dependingContainerResource.Resource.Name, KnownResourceStates.FailedToStart, abortCts.Token);
35await app.ResourceNotifications.WaitForResourceAsync(dependingExecutableResource.Resource.Name, KnownResourceStates.FailedToStart, abortCts.Token);
108await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
139await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
176await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
217await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
224await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, waitingStateCts.Token);
245dependency.Resource.Name,
269dependency.Resource.Name,
299await app.ResourceNotifications.WaitForResourceHealthyAsync(dependency.Resource.Name)
328await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
335await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, waitingStateCts.Token);
362await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
369await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
377await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token);
409await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
416await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
424await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token);
454await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
469await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, runningStateCts.Token);
501await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, "Waiting", waitingStateCts.Token);
516await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, runningStateCts.Token);
556await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, "Waiting", waitingStateCts.Token);
572await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, runningStateCts.Token);
610await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
624await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, runningStateCts.Token);
661await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
669await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
677await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token);
714await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
722await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
730await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token);
763await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
771await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token);
875await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token);
885await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, runningStateCts.Token);
Aspire.Hosting.Valkey (1)
Aspire.Hosting.Valkey.Tests (12)
Aspire.Hosting.Yarp (1)
Aspire.Hosting.Yarp.Tests (2)
Aspire.Playground.Tests (3)
CustomResources.AppHost (2)
ExternalServices.AppHost (2)
KafkaBasic.AppHost (2)
Pipelines.Library (3)
Stress.AppHost (2)
TestProject.AppHost (1)