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)
1134 references to Name
Aspire.Hosting (67)
Orchestrator\ParameterProcessor.cs (14)
138referencedParameters.TryAdd(parameter.Name, parameter);
170.LogWarning("Parameter resource {ResourceName} could not be initialized. Waiting for user input.", parameterResource.Name);
178.LogError(ex, "Failed to initialize parameter resource {ResourceName}.", parameterResource.Name);
338? string.Format(CultureInfo.CurrentCulture, InteractionStrings.DeleteParameterMessageWithUserSecrets, parameterResource.Name)
339: string.Format(CultureInfo.CurrentCulture, InteractionStrings.DeleteParameterMessage, parameterResource.Name);
381logger.LogInformation("Parameter value deleted from deployment state for {ParameterName}.", parameterResource.Name);
384.LogInformation("Parameter resource {ResourceName} value has been deleted from user secrets.", parameterResource.Name);
388logger.LogInformation("Parameter value cleared for {ParameterName} (not deleted from user secrets).", parameterResource.Name);
391.LogInformation("Parameter resource {ResourceName} value has been cleared.", parameterResource.Name);
413logger.LogWarning(ex, "Failed to delete parameter {ParameterName} from deployment state.", parameterResource.Name);
432.LogInformation("Parameter resource {ResourceName} has been resolved via user interaction.", parameterResource.Name);
442logger.LogInformation("Parameter value saved to deployment state for {ParameterName}.", parameterResource.Name);
446logger.LogWarning(ex, "Failed to save parameter {ParameterName} to deployment state.", parameterResource.Name);
582logger.LogWarning(ex, "Failed to save parameter {ParameterName} to deployment state.", parameter.Name);
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.AppConfiguration (3)
Aspire.Hosting.Azure.AppContainers (8)
Aspire.Hosting.Azure.AppService (11)
Aspire.Hosting.Azure.CognitiveServices (3)
Aspire.Hosting.Azure.ContainerRegistry (1)
Aspire.Hosting.Azure.CosmosDB (18)
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 } }
124throw new DistributedApplicationException($"ConnectionStringAvailableEvent published for resource '{db.Name}', but the connection string was null.");
129var healthCheckKey = $"{kustoDatabase.Name}_check";
238throw new DistributedApplicationException($"ConnectionStringAvailableEvent published for resource '{resource.Name}', but the connection string was null.");
243var healthCheckKey = $"{resource.Name}_check";
254throw new DistributedApplicationException($"Connection string for Kusto resource '{server.Name}' is not set.");
369throw new DistributedApplicationException($"Connection string for Kusto resource '{resourceBuilder.Resource.Name}' is not set.");
372var result = launcher.TryLaunchKustoExplorer(title: "", resourceBuilder.Resource.Name, connectionString, requestText: "");
384throw new DistributedApplicationException($"Connection string for Kusto resource '{resourceBuilder.Resource.Name}' is not set.");
387var result = launcher.TryLaunchKustoWebExplorer(title: "", resourceBuilder.Resource.Name, connectionString, requestText: "");
398message: $"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.Network (19)
Aspire.Hosting.Azure.PostgreSQL (11)
Aspire.Hosting.Azure.Redis (13)
Aspire.Hosting.Azure.ServiceBus (14)
Aspire.Hosting.Azure.SignalR (2)
Aspire.Hosting.Azure.Sql (12)
Aspire.Hosting.Azure.Storage (21)
Aspire.Hosting.Azure.Tests (182)
AzureContainerAppsTests.cs (12)
330var identityName = $"{proj.Name}-identity";
331var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == identityName);
407var identityName = $"{proj.Name}-identity";
408var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == identityName);
1000var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity");
1001var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-storage");
1044var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity");
1045var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-cosmos");
1085var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity");
1086var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-redis");
2227Assert.Contains("acr", defaultAcr.Name);
2249Assert.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)
153Assert.NotEqual(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, storageResources.Name);
154Assert.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, storageResources.Name);
172r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName));
174Assert.Equal("my-own-storage", storageResource.Name);
198r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName));
211Assert.NotEqual(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, resource.Name);
212Assert.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, resource.Name);
323var storage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcstorage634f8");
356var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-funcstorage634f8");
384var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage");
413var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage");
444var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage");
445var projRolesStorage2 = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp2-roles-funcstorage634f8");
737.Where(r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName))
763r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName));
765Assert.Equal("my-custom-storage", storageResource.Name);
AzureServiceBusExtensionsTests.cs (10)
96await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token);
98await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token);
102await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token);
104await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
137await rns.WaitForResourceAsync(serviceBus.Resource.Name, KnownResourceStates.Running, cts.Token);
138await 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);
223await rns.WaitForResourceHealthyAsync(blobContainer.Resource.Name, cancellationToken: cts.Token);
263await 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.CodeGeneration.Go.Tests (1)
Aspire.Hosting.CodeGeneration.Java.Tests (1)
Aspire.Hosting.CodeGeneration.Python.Tests (1)
Aspire.Hosting.CodeGeneration.Rust.Tests (1)
Aspire.Hosting.CodeGeneration.TypeScript.Tests (1)
Aspire.Hosting.DevTunnels (4)
Aspire.Hosting.Docker (22)
DockerComposeEnvironmentResource.cs (15)
67Name = $"publish-{Name}",
68Description = $"Publishes the Docker Compose environment configuration for {Name}.",
107Name = $"prepare-{Name}",
108Description = $"Prepares the Docker Compose environment {Name} for deployment.",
117Name = $"docker-compose-up-{Name}",
120DependsOnSteps = [$"prepare-{Name}"]
127Name = $"docker-compose-down-{Name}",
175.RequiredBy($"docker-compose-up-{Name}")
228new MarkdownString($"Running docker compose up for **{Name}**"),
270new MarkdownString($"Service **{Name}** is now running with Docker Compose locally"),
295new MarkdownString($"Running docker compose down for **{Name}**"),
329new MarkdownString($"Docker Compose shutdown complete for **{Name}**"),
394var environmentName = hostEnvironment?.EnvironmentName ?? environment.Name;
426return $"aspire-{environment.Name.ToLowerInvariant()}-{appHostSha[..8].ToLowerInvariant()}";
430return $"aspire-{environment.Name.ToLowerInvariant()}";
Aspire.Hosting.Docker.Tests (1)
Aspire.Hosting.DotnetTool.Tests (7)
Aspire.Hosting.Foundry (38)
Aspire.Hosting.Foundry.Tests (6)
Aspire.Hosting.Garnet (1)
Aspire.Hosting.Garnet.Tests (10)
Aspire.Hosting.GitHub.Models (1)
Aspire.Hosting.GitHub.Models.Tests (10)
Aspire.Hosting.JavaScript (4)
Aspire.Hosting.JavaScript.Tests (19)
Aspire.Hosting.Kafka (2)
Aspire.Hosting.Kafka.Tests (8)
Aspire.Hosting.Keycloak.Tests (1)
Aspire.Hosting.Kubernetes (5)
Aspire.Hosting.Maui (8)
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 (9)
Aspire.Hosting.PostgreSQL.Tests (40)
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);
738Assert.Equal("pythonProject-installer", installerResource.Name);
828Assert.Equal("pythonProject-installer", uvEnvironmentResource.Name);
847Assert.Equal("pythonProject-installer", installerResource.Name);
872Assert.Equal("pythonProject-installer", installerResource.Name);
903Assert.Equal("pythonProject-installer", installerResource.Name);
927Assert.Equal("python-script", resource.Name);
946Assert.Equal("flask-app", resource.Name);
965Assert.Equal("pytest", resource.Name);
988Assert.Equal("pythonProject", pythonProjectResource.Name);
1886Assert.Equal("pythonProject-installer", installerResource.Name);
1921Assert.Equal("pythonProject-installer", installerResource.Name);
2025Assert.Equal("pythonProject-venv-creator", venvCreatorResource.Name);
2053Assert.Equal("pythonProject-venv-creator", venvCreatorResource.Name);
2347Assert.Equal("pythonProject-installer", installerResource.Name);
2380Assert.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)
40Assert.Equal("myRedis", containerResource.Name);
68Assert.Equal("myRedis", containerResource.Name);
301Assert.Equal($"{redis1.Resource.Name}.dev.internal", item.Value);
311Assert.Equal(redis1.Resource.Name, item.Value);
323Assert.Equal($"{redis2.Resource.Name}.dev.internal", item.Value);
333Assert.Equal(redis2.Resource.Name, item.Value);
345Assert.Equal($"{redis3.Resource.Name}.dev.internal", item.Value);
355Assert.Equal(redis3.Resource.Name, item.Value);
497Assert.Equal($"myredis1:{redis.Resource.Name}:6379:0:{redis.Resource.PasswordParameter?.Value}", config["REDIS_HOSTS"]);
519Assert.Equal($"myredis1:{redis.Resource.Name}:6379:0:{password}", config["REDIS_HOSTS"]);
544Assert.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.RemoteHost.Tests (1)
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 (149)
Dcp\DcpExecutorTests.cs (5)
2282.Where(c => c.AppModelResourceName == container.Resource.Name)
2299await AssertEndpoint(container.Resource, "proxied", KnownNetworkIdentifiers.DefaultAspireContainerNetwork, $"{container.Resource.Name}.dev.internal", 11234);
2300await AssertEndpoint(container.Resource, "notProxied", KnownNetworkIdentifiers.DefaultAspireContainerNetwork, $"{container.Resource.Name}.dev.internal", 18765);
2305await AssertEndpoint(containerWithAlias.Resource, "proxied", KnownNetworkIdentifiers.DefaultAspireContainerNetwork, $"{containerWithAlias.Resource.Name}.dev.internal", 21234);
2306await AssertEndpoint(containerWithAlias.Resource, "notProxied", KnownNetworkIdentifiers.DefaultAspireContainerNetwork, $"{containerWithAlias.Resource.Name}.dev.internal", 28765);
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 (3)
Aspire.Playground.Tests (3)
CustomResources.AppHost (2)
ExternalServices.AppHost (2)
KafkaBasic.AppHost (2)
Pipelines.Library (3)
Stress.AppHost (2)
Testing.Tests (14)
WaitFailures.cs (14)
34await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, cancellationToken: cts.Token);
49await app.ResourceNotifications.WaitForResourceAsync(pwsh.Resource.Name, cancellationToken: cts.Token);
68await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, cancellationToken: cts.Token);
72await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.TerminalStates, cancellationToken: cts.Token);
87await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, "StateThatIsNeverUsed", cts.Token);
102await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, ["States", "That", "Are", "Never", "Used"], cts.Token);
117await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, x => false, cts.Token);
136await app.ResourceNotifications.WaitForResourceHealthyAsync(nginx.Resource.Name, cts.Token);
156await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, x => x.Snapshot.HealthReports.All(x => x.Status.HasValue), cts.Token);
159await app.ResourceNotifications.WaitForResourceHealthyAsync(nginx.Resource.Name, cts.Token);
176await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, x => x.Snapshot.HealthStatus == HealthStatus.Healthy, cts.Token);
180await app.ResourceNotifications.WaitForResourceHealthyAsync(nginx.Resource.Name, cts.Token);
228await app.ResourceNotifications.WaitForResourceAsync(dependency.Resource.Name, cancellationToken: cts.Token);
252await app.ResourceNotifications.WaitForResourceAsync(dependency.Resource.Name, cancellationToken: cts.Token);
TestProject.AppHost (1)