Implemented interface member:
property
Name
Aspire.Hosting.ApplicationModel.IResource.Name
4 overrides of Name
Aspire.Hosting.Azure.EventHubs (1)
AzureEventHubsEmulatorResource.cs (1)
24public override string Name => _innerResource.Name;
Aspire.Hosting.Azure.PostgreSQL (1)
AzurePostgresResource.cs (1)
31public override string Name => _innerResource.Name;
Aspire.Hosting.Azure.Redis (1)
AzureRedisResource.cs (1)
31public override string Name => _innerResource.Name;
Aspire.Hosting.Azure.Storage (1)
AzureStorageEmulatorResource.cs (1)
17public override string Name => _innerResource.Name;
1 write to Name
Aspire.Hosting (1)
ApplicationModel\Resource.cs (1)
32Name = name;
784 references to Name
Aspire.Hosting (42)
ApplicationModel\ParameterResource.cs (6)
63public string ValueExpression => $"{{{Name}.value}}"; 71get => _configurationKey ?? (IsConnectionString ? $"ConnectionStrings:{Name}" : $"Parameters:{Name}"); 118Name = Name, 120Label = Name, 123Placeholder = string.Format(CultureInfo.CurrentCulture, InteractionStrings.ParametersInputsParameterPlaceholder, Name)
ApplicationModel\Resource.cs (1)
37return $@"Type = {GetType().Name}, Name = ""{Name}"", Annotations = {Annotations.Count}";
ConnectionStringBuilderExtensions.cs (1)
107evt.Logger.LogError(ex, "Failed to resolve connection string for resource '{ResourceName}'", r.Name);
ConnectionStringParameterResource.cs (1)
19string IManifestExpressionProvider.ValueExpression => $"{{{Name}.connectionString}}";
ContainerResourceBuilderExtensions.cs (1)
424throw new InvalidOperationException($"The resource '{builder.Resource.Name}' does not have a container image specified. Use WithImage to specify the container image and tag.");
Dcp\DcpExecutor.cs (6)
936containerExec.Annotate(CustomResource.OtelServiceNameAnnotation, containerExecutable.Name); 938containerExec.Annotate(CustomResource.ResourceNameAnnotation, containerExecutable.Name); 961exe.Annotate(CustomResource.OtelServiceNameAnnotation, executable.Name); 963exe.Annotate(CustomResource.ResourceNameAnnotation, executable.Name); 993exeSpec.Annotate(CustomResource.OtelServiceNameAnnotation, project.Name); 995exeSpec.Annotate(CustomResource.ResourceNameAnnotation, project.Name);
Exec\ExecResourceManager.cs (3)
202string execResourceName = project.Name + "-exec"; 223_logger.LogDebug("Exec resource '{ResourceName}' will wait until project '{Project}' starts up.", execResourceName, project.Name); 246string execResourceName = container.Name + "-exec";
ExecutableResourceBuilderExtensions.cs (2)
136cb.WithImage(builder.Resource.Name); 152private sealed class ExecutableContainerResource(ExecutableResource er) : ContainerResource(er.Name)
ExternalServiceBuilderExtensions.cs (7)
119e.Logger.LogError(ex, "Failed to get value for URL parameter '{ParameterName}'", resource.UrlParameter?.Name); 131e.Logger.LogError("The value for URL parameter '{ParameterName}' is invalid: {Error}", resource.UrlParameter?.Name, message); 196throw new ArgumentException($"The URL for external service '{builder.Resource.Name}' is null.", nameof(builder)); 200throw new ArgumentException($"The URL '{builder.Resource.Uri}' for external service '{builder.Resource.Name}' cannot be used for HTTP health checks because it has a non-HTTP scheme.", nameof(builder)); 207var healthCheckKey = $"{builder.Resource.Name}_external{pathKey}_{statusCode}_check"; 282return HealthCheckResult.Unhealthy($"The URL '{urlValue}' from parameter '{_urlParameter.Name}' is invalid: {message}"); 288return HealthCheckResult.Unhealthy($"The URL '{uri}' from parameter '{_urlParameter.Name}' cannot be used for HTTP health checks because it has a non-HTTP scheme.");
Orchestrator\ParameterProcessor.cs (3)
90.LogWarning("Parameter resource {ResourceName} could not be initialized. Waiting for user input.", parameterResource.Name); 98.LogError(ex, "Failed to initialize parameter resource {ResourceName}.", parameterResource.Name); 200.LogInformation("Parameter resource {ResourceName} has been resolved via user interaction.", parameter.Name);
ProjectResourceBuilderExtensions.cs (2)
691cb.WithImage(builder.Resource.Name); 860private sealed class ProjectContainerResource(ProjectResource pr) : ContainerResource(pr.Name)
Publishing\ManifestPublishingContext.cs (1)
221Writer.WriteString("value", $"{{{parameter.Name}.inputs.value}}");
ResourceBuilderExtensions.cs (7)
188throw new DistributedApplicationException($"The URL parameter '{externalService.Resource.UrlParameter.Name}' for the external service '{externalService.Resource.Name}' is invalid: {message}"); 531var envVarName = $"services__{externalService.Resource.Name}__{uri.Scheme}__0"; 542envVarName = $"services__{externalService.Resource.Name}__default__0"; 546envVarName = $"services__{externalService.Resource.Name}__{uri.Scheme}__0"; 550throw new DistributedApplicationException($"The URL parameter '{externalService.Resource.UrlParameter.Name}' for the external service '{externalService.Resource.Name}' is invalid: {message}");
src\Shared\LaunchProfiles\LaunchProfileExtensions.cs (1)
28return projectMetadata.GetLaunchSettings(projectResource.Name);
Aspire.Hosting.Azure (27)
AzureBicepResource.cs (4)
100? Path.Combine(directory ?? Directory.CreateTempSubdirectory("aspire").FullName, $"{Name.ToLowerInvariant()}.module.bicep") 101: Path.Combine(TempDirectory, $"{Name.ToLowerInvariant()}.module.bicep"); 353public string ValueExpression => $"{{{Resource.Name}.secretOutputs.{Name}}}"; 411public string ValueExpression => $"{{{Resource.Name}.outputs.{Name}}}";
AzureProvisioningResource.cs (2)
77var infrastructure = new AzureResourceInfrastructure(this, Name); 92var moduleDestinationPath = Path.Combine(directory ?? generationPath, $"{Name}.module.bicep");
AzureProvisioningResourceExtensions.cs (1)
171parameterName ??= Infrastructure.NormalizeBicepIdentifier(parameterResource.Name);
AzurePublishingContext.cs (10)
155var moduleDirectory = outputDirectory.CreateSubdirectory(resource.Name); 157var modulePath = Path.Combine(moduleDirectory.FullName, $"{resource.Name}.bicep"); 161var identifier = Infrastructure.NormalizeBicepIdentifier(resource.Name); 163var module = new ModuleImport(identifier, $"{resource.Name}/{resource.Name}.bicep") 165Name = resource.Name 240$"Processing Azure resource {resource.Name}", 275$"Wrote bicep module for resource {resource.Name} to {module.Path}", 365var identifier = Infrastructure.NormalizeBicepIdentifier($"{output.Resource.Name}_{output.Name}"); 382var pid = Infrastructure.NormalizeBicepIdentifier(p.Name);
AzureResourcePreparer.cs (2)
300$"{resource.Name}-roles-{targetResource.Name}", 496$"{targetResource.Name}-roles",
AzureUserAssignedIdentityResource.cs (1)
52var identityName = Infrastructure.NormalizeBicepIdentifier(infrastructure.AspireResource.Name);
Provisioning\Provisioners\BicepProvisioner.cs (7)
25var section = configuration.GetSection($"Azure:Deployments:{resource.Name}"); 165resourceLogger.LogInformation("Deploying {Name} to {ResourceGroup}", resource.Name, resourceGroup.Name); 171var deploymentName = resource.Name; 191var url = GetDeploymentUrl(context, resourceGroup, resource.Name); 208resourceLogger.LogInformation("Deployment of {Name} to {ResourceGroup} took {Elapsed}", resource.Name, resourceGroup.Name, sw.Elapsed); 223throw new InvalidOperationException($"Deployment of {resource.Name} to {resourceGroup.Name} failed with {deployment.Data.Properties.ProvisioningState}"); 238.Prop(resource.Name);
Aspire.Hosting.Azure.AIFoundry (5)
AzureAIFoundryExtensions.cs (5)
150var healthCheckKey = $"{resource.Name}_check"; 334var healthCheckKey = $"{deployment.Name}_check"; 368CustomSubDomainName = ToLower(Take(Concat(infrastructure.AspireResource.Name, GetUniqueString(GetResourceGroup().Id)), 24)), 376Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 398var cdkDeployment = new CognitiveServicesAccountDeployment(Infrastructure.NormalizeBicepIdentifier(deployment.Name))
Aspire.Hosting.Azure.AppConfiguration (3)
AzureAppConfigurationEmulatorResource.cs (1)
12public class AzureAppConfigurationEmulatorResource(AzureAppConfigurationResource innerResource) : ContainerResource(innerResource.Name), IResource
AzureAppConfigurationExtensions.cs (2)
50Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 111return builder.WithBindMount(path ?? $".aace/{builder.Resource.Name}", "/app/.aace", isReadOnly: false);
Aspire.Hosting.Azure.AppContainers (4)
AzureContainerAppExtensions.cs (4)
85var identity = new UserAssignedIdentity(Infrastructure.NormalizeBicepIdentifier($"{appEnvResource.Name}_mi")) 101containerRegistry = new ContainerRegistryService(Infrastructure.NormalizeBicepIdentifier($"{appEnvResource.Name}_acr")) 124laWorkspace = new OperationalInsightsWorkspace(Infrastructure.NormalizeBicepIdentifier($"{appEnvResource.Name}_law")) 175storageVolume = new StorageAccount(Infrastructure.NormalizeBicepIdentifier($"{appEnvResource.Name}_storageVolume"))
Aspire.Hosting.Azure.AppService (1)
AzureAppServiceEnvironmentExtensions.cs (1)
46var prefix = infra.AspireResource.Name;
Aspire.Hosting.Azure.CognitiveServices (3)
AzureOpenAIDeploymentResource.cs (1)
50/// This defaults to <see cref="Resource.Name"/>, but allows for a different deployment name in Azure.
AzureOpenAIExtensions.cs (2)
55CustomSubDomainName = ToLower(Take(Concat(infrastructure.AspireResource.Name, GetUniqueString(GetResourceGroup().Id)), 24)), 60Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } }
Aspire.Hosting.Azure.ContainerRegistry (1)
AzureContainerRegistryExtensions.cs (1)
45Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } }
Aspire.Hosting.Azure.CosmosDB (15)
AzureCosmosDBContainerResource.cs (1)
112Parent.Parent.GetChildConnectionString(Name, Parent.DatabaseName, ContainerName);
AzureCosmosDBDatabaseResource.cs (1)
38Parent.GetChildConnectionString(Name, DatabaseName, null);
AzureCosmosDBEmulatorResource.cs (1)
13: ContainerResource(innerResource.Name), IResource
AzureCosmosDBExtensions.cs (12)
100throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{builder.Resource.Name}' resource but the connection string was null."); 127var healthCheckKey = $"{builder.Resource.Name}_check"; 393var kv = builder.ApplicationBuilder.AddAzureKeyVault($"{builder.Resource.Name}-kv") 424azureResource.ConnectionStringSecretOutput = keyVaultBuilder.Resource.GetSecret($"connectionstrings--{azureResource.Name}"); 469Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 474var cosmosSqlDatabase = new CosmosDBSqlDatabase(Infrastructure.NormalizeBicepIdentifier(database.Name)) 487var cosmosContainer = new CosmosDBSqlContainer(Infrastructure.NormalizeBicepIdentifier(container.Name)) 522Name = $"connectionstrings--{azureResource.Name}", 532var dbSecret = new KeyVaultSecret(Infrastructure.NormalizeBicepIdentifier(database.Name + "_connectionString")) 535Name = AzureCosmosDBResource.GetKeyValueSecretName(database.Name), 545var containerSecret = new KeyVaultSecret(Infrastructure.NormalizeBicepIdentifier(container.Name + "_connectionString")) 548Name = AzureCosmosDBResource.GetKeyValueSecretName(container.Name),
Aspire.Hosting.Azure.EventHubs (8)
AzureEventHubConsumerGroupResource.cs (2)
48var consumerGroup = new global::Azure.Provisioning.EventHubs.EventHubsConsumerGroup(Infrastructure.NormalizeBicepIdentifier(Name)); 61writer.WriteString(nameof(Name), ConsumerGroupName);
AzureEventHubResource.cs (2)
59var hub = new global::Azure.Provisioning.EventHubs.EventHub(Infrastructure.NormalizeBicepIdentifier(Name)); 79writer.WriteString(nameof(Name), hub.HubName);
AzureEventHubsEmulatorResource.cs (2)
13: ContainerResource(innerResource.Name), IResource 24public override string Name => _innerResource.Name;
AzureEventHubsExtensions.cs (2)
69Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 239.AddAzureStorage($"{builder.Resource.Name}-storage")
Aspire.Hosting.Azure.Functions (2)
AzureFunctionsProjectResourceExtensions.cs (1)
47.FirstOrDefault(r => r.Name == storageResourceName);
src\Shared\LaunchProfiles\LaunchProfileExtensions.cs (1)
28return projectMetadata.GetLaunchSettings(projectResource.Name);
Aspire.Hosting.Azure.KeyVault (3)
AzureKeyVaultResourceExtensions.cs (1)
87Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } }
AzureKeyVaultSecretReference.cs (2)
25string IManifestExpressionProvider.ValueExpression => $"{{{azureKeyVaultResource.Name}.secrets.{SecretName}}}"; 34throw new InvalidOperationException($"Secret '{secretName}' not found in Key Vault '{azureKeyVaultResource.Name}'.");
Aspire.Hosting.Azure.PostgreSQL (11)
AzurePostgresExtensions.cs (8)
220.ToDictionary(db => db.Name); 232azureResource.Name, 293var kv = builder.ApplicationBuilder.AddAzureKeyVault($"{builder.Resource.Name}-kv") 337ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter(builder.ApplicationBuilder, $"{builder.Resource.Name}-password"); 340azureResource.ConnectionStringSecretOutput = keyVaultBuilder.Resource.GetSecret($"connectionstrings--{builder.Resource.Name}"); 388Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 463Name = $"connectionstrings--{azureResource.Name}", 535builder.ApplicationBuilder, $"{builder.Resource.Name}-username", secret: false, generatedUserName);
AzurePostgresFlexibleServerDatabaseResource.cs (1)
27public ReferenceExpression ConnectionStringExpression => Parent.GetDatabaseConnectionString(Name, databaseName);
AzurePostgresResource.cs (2)
15: AzureProvisioningResource(innerResource.Name, configureInfrastructure), IResourceWithConnectionString 31public override string Name => _innerResource.Name;
Aspire.Hosting.Azure.Redis (7)
AzureRedisExtensions.cs (5)
165var redisContainer = builder.ApplicationBuilder.AddRedis(azureResource.Name); 199var kv = builder.ApplicationBuilder.AddAzureKeyVault($"{builder.Resource.Name}-kv") 231azureResource.ConnectionStringSecretOutput = keyVaultBuilder.Resource.GetSecret($"connectionstrings--{azureResource.Name}"); 262Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 282Name = $"connectionstrings--{redisResource.Name}",
AzureRedisResource.cs (2)
15: AzureProvisioningResource(innerResource.Name, configureInfrastructure), IResourceWithConnectionString 31public override string Name => _innerResource.Name;
Aspire.Hosting.Azure.ServiceBus (14)
AzureServiceBusEmulatorResource.cs (1)
12public class AzureServiceBusEmulatorResource(AzureServiceBusResource innerResource) : ContainerResource(innerResource.Name), IResource
AzureServiceBusExtensions.cs (5)
67Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 260if (builder.Resource.Topics.FirstOrDefault(x => x.Name == topicName) is { } existingResource) 356var passwordParameter = ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter(builder.ApplicationBuilder, $"{builder.Resource.Name}-sql-pwd", minLower: 1, minUpper: 1, minNumeric: 1); 370.AddContainer($"{builder.Resource.Name}-sqledge", 537writer.WriteString("Name", emulatorResource.Name);
AzureServiceBusQueueResource.cs (2)
108var queue = new global::Azure.Provisioning.ServiceBus.ServiceBusQueue(Infrastructure.NormalizeBicepIdentifier(Name)); 159writer.WriteString(nameof(Name), queue.QueueName);
AzureServiceBusRule.cs (1)
120writer.WriteString(nameof(AzureServiceBusQueueResource.Name), rule.Name);
AzureServiceBusSubscriptionResource.cs (2)
102var subscription = new global::Azure.Provisioning.ServiceBus.ServiceBusSubscription(Infrastructure.NormalizeBicepIdentifier(Name)); 150writer.WriteString(nameof(Name), subscription.SubscriptionName);
AzureServiceBusTopicResource.cs (3)
78var topic = new global::Azure.Provisioning.ServiceBus.ServiceBusTopic(Infrastructure.NormalizeBicepIdentifier(Name)); 108if (topic.Name != null) 110writer.WriteString(nameof(Name), topic.TopicName);
Aspire.Hosting.Azure.SignalR (2)
AzureSignalREmulatorResource.cs (1)
12public class AzureSignalREmulatorResource(AzureSignalRResource innerResource) : ContainerResource(innerResource.Name), IResource
AzureSignalRExtensions.cs (1)
86Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } },
Aspire.Hosting.Azure.Sql (5)
AzureSqlExtensions.cs (3)
180.ToDictionary(db => db.Name); 184var sqlContainer = builder.ApplicationBuilder.AddSqlServer(azureResource.Name); 306Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } }
AzureSqlServerResource.cs (2)
37: base(innerResource.Name, configureInfrastructure) 101_databases.TryAdd(db.Name, db);
Aspire.Hosting.Azure.Storage (18)
AzureBlobStorageContainerResource.cs (1)
42global::Azure.Provisioning.Storage.BlobContainer blobContainer = new(Infrastructure.NormalizeBicepIdentifier(Name))
AzureQueueStorageQueueResource.cs (1)
42global::Azure.Provisioning.Storage.StorageQueue queue = new(Infrastructure.NormalizeBicepIdentifier(Name))
AzureStorageEmulatorResource.cs (2)
12public class AzureStorageEmulatorResource(AzureStorageResource innerResource) : ContainerResource(innerResource.Name), IResource 17public override string Name => _innerResource.Name;
AzureStorageExtensions.cs (13)
72Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 181var blobConnectionString = await builder.Resource.GetBlobConnectionString().GetValueAsync(ct).ConfigureAwait(false) ?? throw new DistributedApplicationException($"{nameof(ConnectionStringAvailableEvent)} was published for the '{builder.Resource.Name}' resource but the connection string was null."); 184var queueConnectionString = await builder.Resource.GetQueueConnectionString().GetValueAsync(ct).ConfigureAwait(false) ?? throw new DistributedApplicationException($"{nameof(ConnectionStringAvailableEvent)} was published for the '{builder.Resource.Name}' resource but the connection string was null."); 209var healthCheckKey = $"{builder.Resource.Name}_check"; 341if (string.Equals(name, builder.Resource.Name + "-blobs", StringComparisons.ResourceName)) 378var name = builder.Resource.Name + "-blobs"; 402var healthCheckKey = $"{resource.Name}_check"; 443var healthCheckKey = $"{resource.Name}_check"; 480if (string.Equals(name, builder.Resource.Name + "-queues", StringComparisons.ResourceName)) 499var name = builder.Resource.Name + "-queues"; 523var healthCheckKey = $"{resource.Name}_check"; 604var healthCheckKey = $"{resource.Name}_check"; 635var healthCheckKey = $"{resource.Name}_check";
AzureTableStorageResource.cs (1)
51global::Azure.Provisioning.Storage.TableService service = new(Infrastructure.NormalizeBicepIdentifier(Name));
Aspire.Hosting.Azure.Tests (151)
AzureAIFoundryExtensionsTests.cs (4)
20Assert.Equal("myAIFoundry", resource.Name); 32Assert.Equal("deployment1", deployment.Name); 92await rns.WaitForResourceAsync(resource.Name, [KnownResourceStates.FailedToStart, KnownResourceStates.Running], cts.Token); 146var roles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "foundry-roles");
AzureAppConfigurationExtensionsTests.cs (1)
64var appConfigRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "appConfig-roles");
AzureApplicationInsightsExtensionsTests.cs (3)
23Assert.Equal("appInsights", appInsights.Resource.Name); 44Assert.Equal("appInsights", appInsights.Resource.Name); 73Assert.Equal("appInsights", appInsights.Resource.Name);
AzureContainerAppsTests.cs (10)
322var identityName = $"{proj.Name}-identity"; 323var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == identityName); 399var identityName = $"{proj.Name}-identity"; 400var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == identityName); 948var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity"); 949var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-storage"); 992var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity"); 993var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-cosmos"); 1033var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity"); 1034var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-redis");
AzureContainerRegistryTests.cs (1)
87var rolesResource = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-acr");
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); 96hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await cosmos.Resource.ConnectionStringExpression.GetValueAsync(default); 97hb.AddAzureCosmosClient(db.Resource.Name); 98hb.AddCosmosDbContext<EFCoreCosmosDbContext>(db.Resource.Name, databaseName); 173await rns.WaitForResourceHealthyAsync(cosmos1.Resource.Name, cts.Token); 181[$"ConnectionStrings:{cosmos1.Resource.Name}"] = await cosmos1.Resource.ConnectionStringExpression.GetValueAsync(default) 184hb.AddAzureCosmosClient(cosmos1.Resource.Name); 221await rns.WaitForResourceHealthyAsync(cosmos2.Resource.Name, cts.Token); 229[$"ConnectionStrings:{cosmos2.Resource.Name}"] = await cosmos2.Resource.ConnectionStringExpression.GetValueAsync(default) 232hb.AddAzureCosmosClient(cosmos2.Resource.Name); 290await rns.WaitForResourceHealthyAsync(cosmos.Resource.Name, cts.Token); 293hb.Configuration[$"ConnectionStrings:{cosmos.Resource.Name}"] = await cosmos.Resource.ConnectionStringExpression.GetValueAsync(default); 294hb.AddAzureCosmosClient(cosmos.Resource.Name);
AzureCosmosDBExtensionsTests.cs (6)
208var cosmosRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "cosmos-roles"); 337Assert.Equal(kvName, kv.Name); 367Assert.Equal("cosmos", cosmos.Resource.Name); 410Assert.Equal("cosmos", cosmos.Resource.Name); 471Assert.Equal("cosmos", cosmos.Resource.Name); 512Assert.Equal("cosmos", cosmos.Resource.Name);
AzureEnvironmentResourceExtensionsTests.cs (1)
72Assert.StartsWith("azure", 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 (13)
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); 288var storage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcstorage634f8"); 320var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-funcstorage634f8"); 347var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage"); 375var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage"); 405var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage"); 406var projRolesStorage2 = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp2-roles-funcstorage634f8");
AzureKeyVaultTests.cs (2)
37var kvRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "mykv-roles"); 211Assert.Equal("mySecret", secretResource.Resource.Name);
AzureLogAnalyticsWorkspaceExtensionsTests.cs (1)
17Assert.Equal("logAnalyticsWorkspace", logAnalyticsWorkspace.Resource.Name);
AzureOpenAIExtensionsTests.cs (1)
80var openaiRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "openai-roles");
AzurePostgresExtensionsTests.cs (1)
41var postgresRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "postgres-data-roles");
AzureRedisExtensionsTests.cs (1)
40var redisRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "redis-cache-roles");
AzureResourcePreparerTests.cs (3)
70var storageRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "storage-roles"); 114var storageRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "storage-roles"); 155Assert.DoesNotContain(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "dbsrv-roles");
AzureSearchExtensionsTests.cs (2)
35Assert.Equal("search", search.Resource.Name); 59var searchRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "search-roles");
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); 721Assert.Equal("sb", serviceBus.Resource.Name); 740var sbRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "sb-roles"); 813await app.ResourceNotifications.WaitForResourceAsync(serviceBus.Resource.Name, KnownResourceStates.Running, cts.Token); 814await app.ResourceNotifications.WaitForResourceHealthyAsync(serviceBus.Resource.Name, cts.Token);
AzureSignalREmulatorFunctionalTest.cs (4)
60await app.ResourceNotifications.WaitForResourceAsync(signalR.Resource.Name, KnownResourceStates.Running, cts.Token); 61await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 65await app.ResourceNotifications.WaitForResourceHealthyAsync(signalR.Resource.Name, cts.Token); 67await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
AzureSignalRExtensionsTests.cs (2)
25var signalrRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "signalr-roles"); 47var signalrRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "signalr-roles");
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); 190await rns.WaitForResourceHealthyAsync(storage.Resource.Name, cts.Token); 223await rns.WaitForResourceHealthyAsync(blobContainer.Resource.Name, cancellationToken: cts.Token); 262await rns.WaitForResourceHealthyAsync(queue.Resource.Name, cancellationToken: cts.Token);
AzureStorageExtensionsTests.cs (7)
459Assert.Equal("storage", storage.Resource.Name); 544Assert.Equal("storage", storage.Resource.Name); 632Assert.Equal("storage", storage.Resource.Name); 651var storageRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "storage-roles"); 763Assert.Equal("storage", storage.Resource.Name); 850Assert.Equal("storage-blobs", blobService.Resource.Name); 877Assert.Equal("storage-queues", queueService.Resource.Name);
AzureUserAssignedIdentityTests.cs (11)
90var identityRoleAssignments = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "myidentity-roles-myregistry"); 119Assert.Equal("myidentity", identityResource.Name); 165Assert.Equal("myidentity", identityResource.Name); 174r => r.Name == "myapp-roles-mystorage"); 220Assert.Equal("myidentity", identityResource.Name); 229r => r.Name == "myapp-roles-mystorage"); 293r => Assert.True(r is AzureProvisioningResource { Name: "myapp-roles-mystorage" }), 294r => Assert.True(r is AzureProvisioningResource { Name: "myapp2-roles-mystorage" })); 298Assert.Equal("myidentity", identityResource.Name); 310r => r.Name == "myapp-roles-mystorage"); 312r => r.Name == "myapp2-roles-mystorage");
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);
ExistingAzureResourceTests.cs (1)
80var messagingRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "messaging-roles");
RoleAssignmentTests.cs (1)
211var projRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == $"api-roles-{azureResourceName}");
Aspire.Hosting.Azure.WebPubSub (2)
AzureWebPubSubExtensions.cs (2)
72Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 90var hub = new WebPubSubHub(Infrastructure.NormalizeBicepIdentifier(hubResource.Name))
Aspire.Hosting.Docker (2)
DockerComposeServiceExtensions.cs (2)
94var env = parameter.Name.ToUpperInvariant().Replace("-", "_"); 100description: $"Parameter {parameter.Name}",
Aspire.Hosting.Docker.Tests (1)
DockerComposePublisherTests.cs (1)
302context.EnvironmentVariables[param.Name] = param;
Aspire.Hosting.Garnet (1)
GarnetBuilderExtensions.cs (1)
118throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{garnet.Name}' resource but the connection string was null.");
Aspire.Hosting.Garnet.Tests (10)
AddGarnetTests.cs (2)
25Assert.Equal("myGarnet", containerResource.Name); 53Assert.Equal("myGarnet", containerResource.Name);
GarnetFunctionalTests.cs (8)
40await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 42await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 46await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 48await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 74hb.Configuration[$"ConnectionStrings:{garnet.Resource.Name}"] = await garnet.Resource.ConnectionStringExpression.GetValueAsync(default); 76hb.AddRedisClient(garnet.Resource.Name); 153hb.Configuration[$"ConnectionStrings:{garnet1.Resource.Name}"] = $"{await garnet1.Resource.ConnectionStringExpression.GetValueAsync(default)}"; 204hb.Configuration[$"ConnectionStrings:{garnet2.Resource.Name}"] = $"{await garnet2.Resource.ConnectionStringExpression.GetValueAsync(default)}";
Aspire.Hosting.GitHub.Models (1)
GitHubModelsExtensions.cs (1)
129var healthCheckKey = $"{builder.Resource.Name}_check";
Aspire.Hosting.GitHub.Models.Tests (10)
GitHubModelsExtensionTests.cs (6)
20Assert.Equal("github", github.Resource.Name); 33Assert.Equal("mymodel-gh-apikey", github.Resource.Key.Name); 92Assert.Equal("github-gh-apikey", github.Resource.Key.Name); 119Assert.Equal("github-org", github.Resource.Organization.Name); 190Assert.Equal("test", resource.Name); 206Assert.Equal("test", resource.Name);
GitHubModelsFunctionalTests.cs (4)
41await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 43await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 47await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 49await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.Kafka (2)
KafkaBuilderExtensions.cs (2)
48throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{kafka.Name}' resource but the connection string was null."); 218? ReferenceExpression.Create($"PLAINTEXT://localhost:29092,PLAINTEXT_HOST://localhost:{primaryEndpoint.Port.ToString(CultureInfo.InvariantCulture)},PLAINTEXT_INTERNAL://{resource.Name}:{internalEndpoint.Property(EndpointProperty.TargetPort)}")
Aspire.Hosting.Kafka.Tests (8)
AddKafkaTests.cs (1)
25Assert.Equal("kafka", containerResource.Name);
KafkaFunctionalTests.cs (7)
41await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 43await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 47await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 49await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 72hb.Configuration[$"ConnectionStrings:{kafka.Resource.Name}"] = await kafka.Resource.ConnectionStringExpression.GetValueAsync(default); 166hb.Configuration[$"ConnectionStrings:{kafka1.Resource.Name}"] = await kafka1.Resource.ConnectionStringExpression.GetValueAsync(default); 215hb.Configuration[$"ConnectionStrings:{kafka2.Resource.Name}"] = await kafka2.Resource.ConnectionStringExpression.GetValueAsync(default);
Aspire.Hosting.Keycloak.Tests (1)
KeycloakResourceBuilderTests.cs (1)
26Assert.Equal(resourceName, containerResource.Name);
Aspire.Hosting.Kubernetes (1)
KubernetesServiceResourceExtensions.cs (1)
119var formattedName = parameter.Name.ToHelmValuesSectionName();
Aspire.Hosting.Milvus (2)
MilvusBuilderExtensions.cs (2)
135containerName ??= $"{builder.Resource.Name}-attu"; 218context.EnvironmentVariables.Add("MILVUS_URL", $"{resource.PrimaryEndpoint.Scheme}://{resource.Name}:{resource.PrimaryEndpoint.TargetPort}");
Aspire.Hosting.Milvus.Tests (10)
AddMilvusTests.cs (1)
187Assert.Equal("my-milvus", milvusResource.Name);
MilvusFunctionalTests.cs (9)
30await app.WaitForTextAsync("Milvus Proxy successfully initialized and ready to serve", milvus.Resource.Name); 34hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 36hb.AddMilvusClient(db.Resource.Name); 106await app.WaitForTextAsync("Milvus Proxy successfully initialized and ready to serve", milvus1.Resource.Name); 112hb.Configuration[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default); 114hb.AddMilvusClient(db1.Resource.Name); 153await app.WaitForTextAsync("Milvus Proxy successfully initialized and ready to serve", milvus2.Resource.Name); 159hb.Configuration[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default); 161hb.AddMilvusClient(db2.Resource.Name);
Aspire.Hosting.MongoDB (4)
MongoDBBuilderExtensions.cs (4)
68throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{mongoDBContainer.Name}' resource but the connection string was null."); 119throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{mongoDBDatabase.Name}' resource but the connection string was null."); 152containerName ??= $"{builder.Resource.Name}-mongoexpress"; 251context.EnvironmentVariables.Add("ME_CONFIG_MONGODB_SERVER", resource.Name);
Aspire.Hosting.MongoDB.Tests (16)
AddMongoDBTests.cs (2)
26Assert.Equal("mongodb", containerResource.Name); 54Assert.Equal("mongodb", containerResource.Name);
MongoDbFunctionalTests.cs (14)
52await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 54await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 58await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 60await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 85hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 87hb.AddMongoDBClient(db.Resource.Name); 149hb.Configuration[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default); 151hb.AddMongoDBClient(db1.Resource.Name); 193hb.Configuration[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default); 195hb.AddMongoDBClient(db2.Resource.Name); 305hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 307hb.AddMongoDBClient(db.Resource.Name); 396hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 398hb.AddMongoDBClient(db.Resource.Name);
Aspire.Hosting.MySql (6)
MySqlBuilderExtensions.cs (5)
49throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{resource.Name}' resource but the connection string was null."); 57throw new DistributedApplicationException($"ResourceReadyEvent was published for the '{resource.Name}' resource but the connection string was null."); 65throw new InvalidOperationException($"Could not open connection to '{resource.Name}'"); 268var configStoreFilename = aspireStore.GetFileNameWithContent($"{builder.Resource.Name}-config.user.inc.php", tempConfigFile); 395writer.WriteLine($"$cfg['Servers'][$i]['verbose'] = '{mySqlInstance.Name}';");
MySqlServerResource.cs (1)
55_databases.TryAdd(database.Name, database.DatabaseName);
Aspire.Hosting.MySql.Tests (34)
AddMySqlTests.cs (5)
46Assert.Equal("mysql", containerResource.Name); 228Assert.Single(builder.Resources.OfType<ContainerResource>(), resource => resource.Name == "phpmyadmin"); 250Assert.Equal($"{mysql.Resource.Name}:{mysql.Resource.PrimaryEndpoint.TargetPort}", config["PMA_HOST"]); 282string pattern1 = $@"\$cfg\['Servers'\]\[\$i\]\['host'\] = '{mysql1.Resource.Name}:{mysql1.Resource.PrimaryEndpoint.TargetPort}';"; 283string pattern2 = $@"\$cfg\['Servers'\]\[\$i\]\['host'\] = '{mysql2.Resource.Name}:{mysql2.Resource.PrimaryEndpoint.TargetPort}';";
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); 90[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 93hb.AddMySqlDataSource(db.Resource.Name); 166[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default) 169hb.AddMySqlDataSource(db1.Resource.Name); 235[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(cts.Token) 238hb.AddMySqlDataSource(db2.Resource.Name); 338[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(cts.Token) 341hb.AddMySqlDataSource(db.Resource.Name); 424[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(cts.Token) 427hb.AddMySqlDataSource(db.Resource.Name); 494[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(cts.Token) 497hb.AddMySqlDbContext<TestDbContext>(db.Resource.Name); 651hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 653hb.AddMySqlDataSource(newDb.Resource.Name); 659await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token); 726hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 728hb.AddMySqlDataSource(newDb.Resource.Name); 734await app.ResourceNotifications.WaitForResourceHealthyAsync(mysql.Resource.Name, cts.Token); 785hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 786hb.AddKeyedMySqlDataSource(db.Resource.Name); 795await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token); 797var conn = host.Services.GetRequiredKeyedService<MySqlConnection>(db.Resource.Name); 827hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 828hb.AddMySqlDataSource(newDb.Resource.Name); 833await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token);
Aspire.Hosting.Nats (1)
NatsBuilderExtensions.cs (1)
63?? throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{nats.Name}' resource but the connection string was null.");
Aspire.Hosting.Nats.Tests (16)
AddNatsTests.cs (2)
102Assert.Equal("nats", containerResource.Name); 144Assert.Equal("nats", containerResource.Name);
NatsFunctionalTests.cs (14)
35await app.WaitForTextAsync("Listening for client connections", nats.Resource.Name); 39hb.Configuration[$"ConnectionStrings:{nats.Resource.Name}"] = await nats.Resource.ConnectionStringExpression.GetValueAsync(default); 80await app.WaitForTextAsync("Listening for client connections", nats.Resource.Name); 85hb.Configuration[$"ConnectionStrings:{nats.Resource.Name}"] = connectionString; 122await app.WaitForTextAsync("Listening for client connections", nats.Resource.Name); 131hb.Configuration[$"ConnectionStrings:{nats.Resource.Name}"] = modifiedConnectionString; 184await app.WaitForTextAsync("Listening for client connections", nats1.Resource.Name); 189hb.Configuration[$"ConnectionStrings:{nats1.Resource.Name}"] = await nats1.Resource.ConnectionStringExpression.GetValueAsync(default); 232await app.WaitForTextAsync("Listening for client connections", nats2.Resource.Name); 237hb.Configuration[$"ConnectionStrings:{nats2.Resource.Name}"] = await nats2.Resource.ConnectionStringExpression.GetValueAsync(default); 342await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 344await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 348await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 350await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.NodeJs.Tests (3)
NodeAppFixture.cs (1)
110using var client = App.CreateHttpClient(NodeAppBuilder!.Resource.Name, endpointName: "http");
NodeFunctionalTests.cs (2)
26using var nodeClient = _nodeJsFixture.App.CreateHttpClient(_nodeJsFixture.NodeAppBuilder!.Resource.Name, "http"); 39using var npmClient = _nodeJsFixture.App.CreateHttpClient(_nodeJsFixture.NpmAppBuilder!.Resource.Name, "http");
Aspire.Hosting.OpenAI (1)
OpenAIExtensions.cs (1)
190var healthCheckKey = $"{builder.Resource.Name}_check";
Aspire.Hosting.OpenAI.Tests (13)
OpenAIExtensionTests.cs (5)
61Assert.Equal("chat", model.Resource.Name); 74Assert.Equal("openai-openai-apikey", parent.Resource.Key.Name); 149Assert.Equal("openai-openai-apikey", parent.Resource.Key.Name); 165Assert.Equal("test", resource.Name); 363Assert.Equal("chat", openai.Resource.Name);
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)
OracleDatabaseBuilderExtensions.cs (1)
49throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{oracleDatabaseServer.Name}' resource but the connection string was null.");
Aspire.Hosting.Oracle.Tests (14)
OracleFunctionalTests.cs (14)
50hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 52hb.AddOracleDatabaseDbContext<TestDbContext>(db.Resource.Name); 135hb.Configuration[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default); 137hb.AddOracleDatabaseDbContext<TestDbContext>(db1.Resource.Name); 195hb.Configuration[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default); 197hb.AddOracleDatabaseDbContext<TestDbContext>(db2.Resource.Name); 302hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 304hb.AddOracleDatabaseDbContext<TestDbContext>(db.Resource.Name); 399hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 401hb.AddOracleDatabaseDbContext<TestDbContext>(db.Resource.Name); 462await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 464await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 468await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 470await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.PostgreSQL (7)
PostgresBuilderExtensions.cs (7)
62throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{postgresServer.Name}' resource but the connection string was null."); 70throw new DistributedApplicationException($"ResourceReadyEvent was published for the '{postgresServer.Name}' resource but the connection string was null."); 80throw new InvalidOperationException($"Could not open connection to '{postgresServer.Name}'"); 147builder.Resource.AddDatabase(postgresDatabase.Name, postgresDatabase.DatabaseName); 506host = "{postgresDatabase.Parent.Name}" 516Name = $"{postgresDatabase.Name}.toml", 543writer.WriteString("Name", postgresInstance.Name);
Aspire.Hosting.PostgreSQL.Tests (39)
AddPostgresTests.cs (3)
489Assert.Equal(pg1.Resource.Name, servers.GetProperty("1").GetProperty("Name").GetString()); 501Assert.Equal(pg2.Resource.Name, servers.GetProperty("2").GetProperty("Name").GetString()); 634host = "{postgresDatabase.Parent.Name}"
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); 241[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default) 244hb.AddNpgsqlDataSource(db1.Resource.Name); 295await app.ResourceNotifications.WaitForResourceHealthyAsync(db2.Resource.Name, cts.Token); 303[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default) 306hb.AddNpgsqlDataSource(db2.Resource.Name); 398[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 401hb.AddNpgsqlDataSource(db.Resource.Name); 407await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token); 484[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 487hb.AddNpgsqlDataSource(db.Resource.Name); 493await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token); 611hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 613hb.AddNpgsqlDataSource(newDb.Resource.Name); 619await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token); 652hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 654hb.AddNpgsqlDataSource(newDb.Resource.Name); 660await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token); 721hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 723hb.AddNpgsqlDataSource(newDb.Resource.Name); 729await app.ResourceNotifications.WaitForResourceHealthyAsync(postgres.Resource.Name, cts.Token); 780hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 781hb.AddKeyedNpgsqlDataSource(db.Resource.Name); 790await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token); 792var conn = host.Services.GetRequiredKeyedService<NpgsqlConnection>(db.Resource.Name);
Aspire.Hosting.Python.Tests (2)
AddPythonAppTests.cs (2)
149Assert.Equal("pythonProject", pythonProjectResource.Name); 224Assert.Equal("pythonProject", pythonProjectResource.Name);
Aspire.Hosting.Qdrant (3)
QdrantBuilderExtensions.cs (3)
55?? throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{qdrant.Name}' resource but the connection string was null."); 145context.EnvironmentVariables[$"ConnectionStrings__{qdrantResource.Resource.Name}"] = qdrantResource.Resource.ConnectionStringExpression; 148context.EnvironmentVariables[$"ConnectionStrings__{qdrantResource.Resource.Name}_{QdrantServerResource.HttpEndpointName}"] = qdrantResource.Resource.HttpConnectionStringExpression;
Aspire.Hosting.Qdrant.Tests (11)
AddQdrantTests.cs (1)
286Assert.Equal("my-qdrant", qdrantResource.Name);
QdrantFunctionalTests.cs (10)
44[$"ConnectionStrings:{qdrant.Resource.Name}"] = await qdrant.Resource.ConnectionStringExpression.GetValueAsync(default) 47hb.AddQdrantClient(qdrant.Resource.Name); 129[$"ConnectionStrings:{qdrant1.Resource.Name}"] = await qdrant1.Resource.ConnectionStringExpression.GetValueAsync(default) 132hb.AddQdrantClient(qdrant1.Resource.Name); 174[$"ConnectionStrings:{qdrant2.Resource.Name}"] = await qdrant2.Resource.ConnectionStringExpression.GetValueAsync(default) 177hb.AddQdrantClient(qdrant2.Resource.Name); 273await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 275await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 279await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 281await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.RabbitMQ (3)
RabbitMQBuilderExtensions.cs (3)
51throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{rabbitMq.Name}' resource but the connection string was null."); 211throw new DistributedApplicationException($"Cannot configure the RabbitMQ resource '{builder.Resource.Name}' to enable the management plugin as it uses an unrecognized container image registry, name, or tag."); 265var nodeName = $"{builder.Resource.Name}@localhost";
Aspire.Hosting.RabbitMQ.Tests (11)
AddRabbitMQTests.cs (1)
53Assert.Equal("rabbit", containerResource.Name);
RabbitMQFunctionalTests.cs (10)
42await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 44await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 48await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 50await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 70hb.Configuration[$"ConnectionStrings:{rabbitMQ.Resource.Name}"] = await rabbitMQ.Resource.ConnectionStringExpression.GetValueAsync(default); 71hb.AddRabbitMQClient(rabbitMQ.Resource.Name); 133hb.Configuration[$"ConnectionStrings:{rabbitMQ1.Resource.Name}"] = await rabbitMQ1.Resource.ConnectionStringExpression.GetValueAsync(default); 135hb.AddRabbitMQClient(rabbitMQ1.Resource.Name); 190hb.Configuration[$"ConnectionStrings:{rabbitMQ2.Resource.Name}"] = await rabbitMQ2.Resource.ConnectionStringExpression.GetValueAsync(default); 192hb.AddRabbitMQClient(rabbitMQ2.Resource.Name);
Aspire.Hosting.Redis (5)
RedisBuilderExtensions.cs (5)
80throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{redis.Name}' resource but the connection string was null."); 177var hostString = $"{(hostsVariableBuilder.Length > 0 ? "," : string.Empty)}{redisInstance.Name}:{redisInstance.Name}:{redisInstance.PrimaryEndpoint.TargetPort}:0"; 241context.EnvironmentVariables.Add($"RI_REDIS_HOST{counter}", redisInstance.Name); 243context.EnvironmentVariables.Add($"RI_REDIS_ALIAS{counter}", redisInstance.Name);
Aspire.Hosting.Redis.Tests (46)
AddRedisTests.cs (11)
33Assert.Equal("myRedis", containerResource.Name); 61Assert.Equal("myRedis", containerResource.Name); 309Assert.Equal(redis1.Resource.Name, item.Value); 319Assert.Equal(redis1.Resource.Name, item.Value); 331Assert.Equal(redis2.Resource.Name, item.Value); 341Assert.Equal(redis2.Resource.Name, item.Value); 353Assert.Equal(redis3.Resource.Name, item.Value); 363Assert.Equal(redis3.Resource.Name, item.Value); 504Assert.Equal($"myredis1:{redis.Resource.Name}:6379:0:{redis.Resource.PasswordParameter?.Value}", config["REDIS_HOSTS"]); 526Assert.Equal($"myredis1:{redis.Resource.Name}:6379:0:{password}", config["REDIS_HOSTS"]); 551Assert.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"); 85var path = $"/apiv2/server/R:{redis.Resource.Name}:{endpoint.TargetPort}:0/info"; 106[$"ConnectionStrings:{redis.Resource.Name}"] = await redis.Resource.GetConnectionStringAsync() 109hb.AddRedisClient(redis.Resource.Name); 145await rns.WaitForResourceAsync(redisInsightBuilder.Resource.Name, KnownResourceStates.Running).WaitAsync(cts.Token); 147var client = app.CreateHttpClient(redisInsightBuilder.Resource.Name, "http"); 163Assert.Equal(redis1.Resource.Name, db.Name); 164Assert.Equal(redis1.Resource.Name, db.Host); 169Assert.Equal(redis2.Resource.Name, db.Name); 170Assert.Equal(redis2.Resource.Name, db.Host); 175Assert.Equal(redis3.Resource.Name, db.Name); 176Assert.Equal(redis3.Resource.Name, db.Host); 212[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true" 215hb.AddRedisClient(redis1.Resource.Name); 248[$"ConnectionStrings:{redis2.Resource.Name}"] = await redis2.Resource.GetConnectionStringAsync() 251hb.AddRedisClient(redis2.Resource.Name); 295[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true" 298hb.AddRedisClient(redis1.Resource.Name); 330[$"ConnectionStrings:{redis2.Resource.Name}"] = await redis2.Resource.GetConnectionStringAsync() 333hb.AddRedisClient(redis2.Resource.Name); 379[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true" 382hb.AddRedisClient(redis1.Resource.Name); 409[$"ConnectionStrings:{redis2.Resource.Name}"] = await redis2.Resource.GetConnectionStringAsync() 412hb.AddRedisClient(redis2.Resource.Name); 477await rns.WaitForResourceAsync(redisInsightBuilder1.Resource.Name, KnownResourceStates.Running).WaitAsync(cts.Token); 481var httpClient = app.CreateHttpClient(redisInsightBuilder1.Resource.Name, "http"); 512await rns.WaitForResourceAsync(redisInsightBuilder2.Resource.Name, KnownResourceStates.Running).WaitAsync(cts.Token); 516var httpClient = app.CreateHttpClient(redisInsightBuilder2.Resource.Name, "http"); 615await app.ResourceNotifications.WaitForResourceHealthyAsync(redis.Resource.Name, cts.Token); 616await app.ResourceNotifications.WaitForResourceHealthyAsync(redisCommander.Name, cts.Token);
Aspire.Hosting.Seq.Tests (8)
AddSeqTests.cs (2)
24Assert.Equal("mySeq", containerResource.Name); 52Assert.Equal("mySeq", containerResource.Name);
SeqFunctionalTests.cs (6)
26await app.WaitForTextAsync("Seq listening on", seq.Resource.Name); 35await app.ResourceNotifications.WaitForResourceHealthyAsync(seq.Resource.Name, default); 104await app.WaitForTextAsync("Seq listening on", seq1.Resource.Name); 115await app.ResourceNotifications.WaitForResourceHealthyAsync(seq1.Resource.Name, default); 143await app.WaitForTextAsync("Seq listening on", seq2.Resource.Name); 154await app.ResourceNotifications.WaitForResourceHealthyAsync(seq2.Resource.Name, default);
Aspire.Hosting.SqlServer (4)
SqlServerBuilderExtensions.cs (3)
67throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{sqlServer.Name}' resource but the connection string was null."); 74throw new DistributedApplicationException($"ResourceReadyEvent was published for the '{sqlServer.Name}' resource but the connection string was null."); 82throw new InvalidOperationException($"Could not open connection to '{sqlServer.Name}'");
SqlServerServerResource.cs (1)
88_databases.TryAdd(database.Name, database.DatabaseName);
Aspire.Hosting.SqlServer.Tests (27)
AddSqlServerTests.cs (1)
46Assert.Equal("sqlserver", containerResource.Name);
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); 80hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 82hb.AddSqlServerDbContext<TestDbContext>(newDb.Resource.Name); 83hb.AddSqlServerClient(newDb.Resource.Name); 180await app1.ResourceNotifications.WaitForResourceHealthyAsync(db1.Resource.Name, cts.Token); 188[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default), 191hb1.AddSqlServerClient(db1.Resource.Name); 265await app2.ResourceNotifications.WaitForResourceHealthyAsync(db2.Resource.Name, cts.Token); 273[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default), 276hb2.AddSqlServerClient(db2.Resource.Name); 369hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 371hb.AddSqlServerClient(newDb.Resource.Name); 377await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token); 422hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 424hb.AddSqlServerClient(newDb.Resource.Name); 430await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token); 494hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 496hb.AddSqlServerClient(newDb.Resource.Name); 502await app.ResourceNotifications.WaitForResourceHealthyAsync(sqlserver.Resource.Name, cts.Token); 554hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 555hb.AddKeyedSqlServerClient(db.Resource.Name); 564await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token); 566var conn = host.Services.GetRequiredKeyedService<SqlConnection>(db.Resource.Name);
Aspire.Hosting.Testing.Tests (2)
TestingBuilderTests.cs (1)
162Assert.Contains(appModel.GetProjectResources(), p => p.Name == "myworker1");
TestingFactoryTests.cs (1)
44Assert.Contains(appModel.GetProjectResources(), p => p.Name == "myworker1");
Aspire.Hosting.Tests (106)
AddConnectionStringTests.cs (1)
29Assert.Equal("mycs", connectionStringResource.Name);
AddParameterTests.cs (9)
96var parameterResource = Assert.Single(appModel.Resources.OfType<ParameterResource>(), r => r.Name == "pass"); 102var paramManifest = await ManifestUtils.GetManifest(appModel.Resources.OfType<ParameterResource>().Single(r => r.Name == "pass")).DefaultTimeout(); 148var parameterResource = Assert.Single(appModel.Resources.OfType<ParameterResource>(), r => r.Name == "pass"); 154var paramManifest = await ManifestUtils.GetManifest(appModel.Resources.OfType<ParameterResource>().Single(r => r.Name == "pass")).DefaultTimeout(); 207var parameterResource = Assert.Single(appModel.Resources.OfType<ParameterResource>(), r => r.Name == "pass"); 224var paramManifest = await ManifestUtils.GetManifest(appModel.Resources.OfType<ParameterResource>().Single(r => r.Name == "pass")).DefaultTimeout(); 275var parameterResource = Assert.Single(appModel.Resources.OfType<ParameterResource>(), r => r.Name == "val"); 281var paramManifest = await ManifestUtils.GetManifest(appModel.Resources.OfType<ParameterResource>().Single(r => r.Name == "val")).DefaultTimeout(); 308Assert.Equal("mycs", connectionStringResource.Name);
Codespaces\CodespacesUrlRewriterTests.cs (1)
80resource.Resource.Name,
Dashboard\DashboardResourceTests.cs (4)
52Assert.Equal("aspire-dashboard", dashboard.Name); 184Assert.Equal("aspire-dashboard", dashboard.Name); 488Assert.Equal("aspire-dashboard", dashboard.Name); 543Assert.Equal("aspire-dashboard", dashboard.Name);
Dashboard\DashboardServiceTests.cs (1)
174await dashboardServiceData.WaitForResourceAsync(testResource.Name, r =>
DistributedApplicationTests.cs (8)
475using var clientA = app.CreateHttpClient(testProgram.ServiceABuilder.Resource.Name, "http"); 476using var clientC = app.CreateHttpClient(testProgram.ServiceCBuilder.Resource.Name, "http"); 483var uri = app.GetEndpoint(testProgram.ServiceBBuilder.Resource.Name, "http"); 1104await app.WaitForTextAsync("Content root path:", resourceName: testProgram.ServiceABuilder.Resource.Name).DefaultTimeout(TestConstants.LongTimeoutDuration); 1107var httpEndPoint = app.GetEndpoint(testProgram.ServiceABuilder.Resource.Name, endpointName: "http"); 1125var httpsEndpoint = app.GetEndpoint(testProgram.ServiceABuilder.Resource.Name, endpointName: "https"); 1173using var clientA = app.CreateHttpClient(servicea.Resource.Name, "http"); 1227using var clientA = app.CreateHttpClient(servicea.Resource.Name, "http");
ExpressionResolverTests.cs (1)
206return new ValueTask<string?>(base.Name);
ExternalServiceTests.cs (13)
21Assert.Equal("nuget", externalService.Resource.Name); 34Assert.Equal("nuget", externalService.Resource.Name); 47Assert.Equal("nuget", externalService.Resource.Name); 50Assert.Equal("nuget-url", externalService.Resource.UrlParameter.Name); 97Assert.Equal("nuget", externalService.Resource.Name); 206Assert.NotNull(healthCheckAnnotations.FirstOrDefault(hc => hc.Key.StartsWith($"{externalService.Resource.Name}_external"))); 222Assert.NotNull(healthCheckAnnotations.FirstOrDefault(hc => hc.Key.StartsWith($"{externalService.Resource.Name}_external"))); 298externalService.Resource.Name, 325externalService.Resource.Name, 352externalService.Resource.Name, 377var healthCheckAnnotation = healthCheckAnnotations.FirstOrDefault(hc => hc.Key.StartsWith($"{externalService.Resource.Name}_external")); 398var healthCheckAnnotation = healthCheckAnnotations.FirstOrDefault(hc => hc.Key.StartsWith($"{externalService.Resource.Name}_external")); 423var healthCheckKey = healthCheckAnnotations.First(hc => hc.Key.StartsWith($"{externalService.Resource.Name}_external")).Key;
Health\ResourceHealthCheckServiceTests.cs (2)
232await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, abortTokenSource.Token).DefaultTimeout(); 316await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, abortTokenSource.Token).DefaultTimeout();
HealthCheckTests.cs (4)
103await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 105await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 109await rns.WaitForResourceHealthyAsync(resource.Resource.Name).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 111await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout);
Orchestrator\ApplicationOrchestratorTests.cs (1)
387await events.PublishAsync(new OnResourceStartingContext(CancellationToken.None, KnownResourceTypes.Container, parentResource.Resource, parentResource.Resource.Name));
ProjectResourceTests.cs (2)
75Assert.Equal("projectName", resource.Name); 189Assert.Equal("projectName", resource.Name);
PublishAsDockerfileTests.cs (5)
26Assert.Equal("frontend", containerResource.Name); 72Assert.Equal("frontend", containerResource.Name); 121Assert.Equal("frontend", containerResource.Name); 170Assert.Equal("frontend", containerResource.Name); 230Assert.Equal("project", containerResource.Name);
ResourceLoggerServiceTests.cs (3)
85Assert.Empty(service.GetResourceLoggerState(testResource.Name).GetBacklogSnapshot()); 135service.ClearBacklog(testResource.Name); 198Assert.Empty(service.GetResourceLoggerState(testResource.Name).GetBacklogSnapshot());
SlimTestProgramTests.cs (3)
35using var clientA = app.CreateHttpClientWithResilience(testProgram.ServiceABuilder.Resource.Name, "http"); 38using var clientB = app.CreateHttpClientWithResilience(testProgram.ServiceBBuilder.Resource.Name, "http"); 41using var clientC = app.CreateHttpClientWithResilience(testProgram.ServiceCBuilder.Resource.Name, "http");
TestProgramFixture.cs (3)
68using var clientA = App.CreateHttpClientWithResilience(TestProgram.ServiceABuilder.Resource.Name, "http"); 72using var clientB = App.CreateHttpClientWithResilience(TestProgram.ServiceBBuilder.Resource.Name, "http"); 76using var clientC = App.CreateHttpClientWithResilience(TestProgram.ServiceCBuilder.Resource.Name, "http");
WaitForTests.cs (37)
32await app.ResourceNotifications.WaitForResourceAsync(throwingResource.Resource.Name, KnownResourceStates.FailedToStart, abortCts.Token); 33await app.ResourceNotifications.WaitForResourceAsync(dependingContainerResource.Resource.Name, KnownResourceStates.FailedToStart, abortCts.Token); 34await app.ResourceNotifications.WaitForResourceAsync(dependingExecutableResource.Resource.Name, KnownResourceStates.FailedToStart, abortCts.Token); 107await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 138await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 175await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 216await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 223await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, waitingStateCts.Token); 244dependency.Resource.Name, 268dependency.Resource.Name, 298await app.ResourceNotifications.WaitForResourceHealthyAsync(dependency.Resource.Name) 327await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 334await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, waitingStateCts.Token); 361await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 368await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 376await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token); 408await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 415await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 423await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token); 453await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 468await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, runningStateCts.Token); 500await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, "Waiting", waitingStateCts.Token); 515await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, runningStateCts.Token); 555await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, "Waiting", waitingStateCts.Token); 571await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, runningStateCts.Token); 609await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 623await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, runningStateCts.Token); 660await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 668await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 676await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token); 713await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 721await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 729await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token); 762await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 770await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token); 874await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 884await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, runningStateCts.Token);
WithEndpointTests.cs (1)
216Assert.Equal("foo", resource.Name);
WithHttpCommandTests.cs (4)
94Assert.Equal($"{resourceBuilder.Resource.Name}-http-http-post-/some-path", command.Name); 403await app.ResourceNotifications.WaitForResourceAsync(service.Resource.Name, KnownResourceStates.Starting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 413await app.ResourceNotifications.WaitForResourceAsync(service.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 473await app.ResourceNotifications.WaitForResourceAsync(service.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
WithUrlsTests.cs (3)
428await app.ResourceNotifications.WaitForResourceAsync(servicea.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 592await app.ResourceNotifications.WaitForResourceAsync(servicea.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 593await app.ResourceNotifications.WaitForResourceAsync(custom.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
Aspire.Hosting.Valkey (1)
ValkeyBuilderExtensions.cs (1)
131throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{valkey.Name}' resource but the connection string was null.");
Aspire.Hosting.Valkey.Tests (12)
AddValkeyTests.cs (2)
25Assert.Equal("myValkey", containerResource.Name); 53Assert.Equal("myValkey", containerResource.Name);
ValkeyFunctionalTests.cs (10)
35[$"ConnectionStrings:{valkey.Resource.Name}"] = await valkey.Resource.ConnectionStringExpression.GetValueAsync(default) 38hb.AddRedisClient(valkey.Resource.Name); 97[$"ConnectionStrings:{valkey1.Resource.Name}"] = $"{await valkey1.Resource.ConnectionStringExpression.GetValueAsync(default)},allowAdmin=true" 100hb.AddRedisClient(valkey1.Resource.Name); 148[$"ConnectionStrings:{valkey2.Resource.Name}"] = await valkey2.Resource.ConnectionStringExpression.GetValueAsync(default) 151hb.AddRedisClient(valkey2.Resource.Name); 219await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 221await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 225await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 227await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.Yarp (1)
ConfigurationBuilder\YarpCluster.cs (1)
45: this(externalService.Name, GetAddressFromExternalService(externalService))
Aspire.Hosting.Yarp.Tests (2)
YarpFunctionalTests.cs (2)
48await app.ResourceNotifications.WaitForResourceHealthyAsync(backend.Resource.Name, cts.Token); 49await app.ResourceNotifications.WaitForResourceHealthyAsync(yarp.Resource.Name, cts.Token);
Aspire.Playground.Tests (3)
Infrastructure\DistributedApplicationExtensions.cs (3)
31builder.Configuration[$"Parameters:{parameter.Name}"] = parameter.Secret 217using (var checkHttpClient = app.CreateHttpClient(project.Name)) 245using var applyMigrationsHttpClient = app.CreateHttpClient(project.Name, useHttpClientFactory: false);
CustomResources.AppHost (2)
TestResource.cs (2)
47logger.LogInformation("Starting test resource {ResourceName} with update interval {Interval} seconds", resource.Name, seconds); 65logger.LogInformation("Test resource {ResourceName} is now in state {State}", resource.Name, randomState);
ExternalServices.AppHost (2)
AppHost.cs (2)
16Label = p.Name, 17Placeholder = $"Enter value for {p.Name}",
KafkaBasic.AppHost (2)
Program.cs (2)
11.WithArgs(kafka.Resource.Name); 15.WithArgs(kafka.Resource.Name);
Stress.AppHost (2)
TestResource.cs (2)
65logger.LogInformation("Starting test resource {ResourceName} with update interval {Interval} seconds", resource.Name, seconds); 83logger.LogInformation("Test resource {ResourceName} is now in state {State}", resource.Name, randomState);
TestProject.AppHost (1)
TestProgram.cs (1)
164root[project.Name] = projectJson;