766 writes to
aspire (78)
Agents\ClaudeCode\ClaudeCodeAgentEnvironmentScanner.cs (2)
196
config
[
"mcpServers"] = new JsonObject();
202
servers
[
AspireServerName] = new JsonObject
Agents\Copilot\CopilotAgentEnvironmentScanner.cs (2)
169
config
[
"mcpServers"] = new JsonObject();
175
servers
[
AspireServerName] = new JsonObject
Agents\DeprecatedMcpCommandScanner.cs (2)
227
aspire
[
"args"] = new JsonArray("agent", "mcp");
241
aspire
[
"command"] = new JsonArray("aspire", "agent", "mcp");
Agents\Hooks\TelemetryHookConfigurator.cs (2)
231
settings
[
"hooks"] = hooks;
247
hooks
[
ClaudePostToolUseKey] = postToolUse;
Agents\OpenCode\OpenCodeAgentEnvironmentScanner.cs (3)
181
config
[
"$schema"] = "https://opencode.ai/config.json";
187
config
[
"mcp"] = new JsonObject();
193
mcp
[
AspireServerName] = new JsonObject
Agents\VsCode\VsCodeAgentEnvironmentScanner.cs (2)
241
config
[
"servers"] = new JsonObject();
247
servers
[
AspireServerName] = new JsonObject
Commands\InitCommand.cs (5)
570
settings
[
"appHost"] = appHost;
574
appHost
[
"path"] = appHostPath;
579
appHost
[
"language"] = language;
589
settings
[
"channel"] = channel;
624
settings
[
"profiles"] = new JsonObject
Commands\ResourceCommand.cs (5)
337
arguments
[
argument.Name] = parseResult.GetValue(boolOption).ToString().ToLowerInvariant();
342
arguments
[
argument.Name] = value?.ToString(CultureInfo.InvariantCulture);
346
arguments
[
argument.Name] = parseResult.GetValue(stringOption);
355
arguments
[
unmatchedToken] = null;
376
arguments
[
token] = null;
Commands\SecretListCommand.cs (1)
58
obj
[
key] = value;
Configuration\ConfigurationService.cs (2)
238
currentObject
[
part] = new JsonObject();
246
currentObject
[
finalKey] = value;
Mcp\Tools\ExecuteResourceCommandTool.cs (1)
186
arguments
[
property.Name] = property.Value.ValueKind switch
Migrations\TypeScriptAppHostMigration.cs (3)
217
appHost
[
"path"] = string.Concat(
268
root
[
"include"] = rewritten;
303
scripts
[
script.Key] = (JsonNode?)JsonValue.Create(rewritten);
Projects\FallbackProjectParser.cs (11)
194
packageObj
[
"Identity"] = JsonValue.Create(pkg.Identity);
195
packageObj
[
"Version"] = JsonValue.Create(pkg.Version);
198
itemsObject
[
"PackageReference"] = packageRefArray;
205
projectObj
[
"Identity"] = JsonValue.Create(proj.Identity);
206
projectObj
[
"FullPath"] = JsonValue.Create(proj.FullPath);
209
itemsObject
[
"ProjectReference"] = projectRefArray;
211
rootObject
[
"Items"] = itemsObject;
215
propertiesObject
[
"AspireHostingSDKVersion"] = JsonValue.Create(aspireHostingSdkVersion);
216
propertiesObject
[
"_UsingAspireAppHostSdk"] = JsonValue.Create(usesAppHostSdk ? "true" : "false");
217
rootObject
[
"Properties"] = propertiesObject;
220
rootObject
[
"Fallback"] = JsonValue.Create(true);
Projects\RepositoryToolUpdater.cs (1)
198
currentReference.Properties
[
currentReference.Key] = version;
Scaffolding\PackageJsonMerger.cs (12)
128
existing
[
key] = sourceValue.DeepClone();
162
existingScripts
[
name] ??= command;
167
existingScripts
[
$"{AspirePrefix}{name}"] = command;
172
existingScripts
[
name] = command;
209
scripts
[
unprefixed] = $"{runCommand} {prefixed}";
248
existingDeps
[
packageName] = desiredVersion;
256
existingDeps
[
packageName] = desiredVersion;
279
existingDeps
[
packageName] = desiredVersion;
311
existingEngines
[
key] = value.DeepClone();
315
existingEngines
[
key] = value.DeepClone();
338
target
[
key] = sourceValue.DeepClone();
363
parent
[
propertyName] = obj;
Scaffolding\ScaffoldingService.cs (3)
393
parent
[
propertyName] = obj;
429
scripts
[
scriptName] = delegateScript;
680
existing
[
key] = scaffoldValue?.DeepClone();
src\Shared\ConsoleLogs\SharedAIHelpers.cs (5)
226
attributesObj
[
attr.Key!] = context.AddValue(attrValue, id => $@"Duplicate of attribute ""{id.Key}"" for span {OtlpHelpers.ToShortenedId(id.SpanId)}", (SpanId: spanId, attr.Key));
274
spanObj
[
"dashboardUrl"] = DashboardUrls.CombineUrl(dashboardBaseUrl, DashboardUrls.TraceDetailUrl(traceId, spanId: spanId));
412
traceData
[
"dashboardUrl"] = DashboardUrls.CombineUrl(dashboardBaseUrl, DashboardUrls.TraceDetailUrl(traceId));
726
attributesObject
[
attr.Key!] = context.AddValue(attrValue, id => $@"Duplicate of attribute ""{id.Key}"" for log entry {id.LogId}", (LogId: logId, attr.Key));
745
log
[
"dashboardUrl"] = DashboardUrls.CombineUrl(dashboardBaseUrl, DashboardUrls.StructuredLogsUrl(logEntryId: logId));
src\Shared\Json\JsonFlattener.cs (4)
41
current
[
key] = newObject;
50
current
[
keys[^1]] = kvp.Value?.DeepClone();
81
result
[
arrayKey] = array[i]?.DeepClone();
87
result
[
key] = kvp.Value?.DeepClone();
src\Shared\UserSecrets\SecretsStore.cs (1)
82
obj
[
key] = value;
Utils\ConfigurationHelper.cs (2)
366
currentObject
[
part] = new JsonObject();
397
currentObject
[
finalKey] = value;
Utils\EnvironmentChecker\AspireVersionCheck.cs (8)
429
metadata
[
"currentVersion"] = currentVersion;
434
metadata
[
"latestVersion"] = latestVersion;
439
metadata
[
"updateCommand"] = updateCommand;
444
metadata
[
"updateCheckError"] = updateCheckError;
449
metadata
[
"identityChannel"] = identityChannel;
454
metadata
[
"latestVersionChannel"] = latestVersionChannel;
469
metadata
[
"version"] = version;
474
metadata
[
"pinnedChannel"] = pinnedChannel;
Utils\EnvironmentChecker\OperatingSystemCheck.cs (1)
153
metadata
[
"description"] = details.Description;
Aspire.Cli.EndToEnd.Tests (14)
Helpers\CliE2ETestHelpers.cs (2)
1147
config
[
"channel"] = "local";
1148
config
[
"sdk"] = new JsonObject
Helpers\IntegrationHostLifetimeTestHelper.cs (4)
102
config
[
"features"] ??= new JsonObject();
104
config
[
"packages"] ??= new JsonObject();
106
packages
[
"@e2e/lifetime"] = new JsonObject
119
manifest
[
"scripts"] = new JsonObject { ["postinstall"] = "node install-lifetime.mjs" };
Helpers\TypeScriptAppHostToolchainTestHelpers.cs (1)
40
packageJson
[
"packageManager"] = GetPackageManager(toolchain);
ProjectReferenceTests.cs (2)
119
packages
[
"MyIntegration"] = "./MyIntegration/MyIntegration.csproj";
120
config
[
"packages"] = packages;
TypeScriptEmptyAppHostTemplateTests.cs (1)
179
config
[
"packages"] = new JsonObject
TypeScriptLegacyAppHostTests.cs (1)
138
appHost
[
"path"] = "apphost.ts";
TypeScriptMigrateAppHostTests.cs (1)
125
appHost
[
"path"] = "apphost.ts";
TypeScriptPolyglotTests.cs (2)
354
config
[
"features"] = new JsonObject
455
scripts
[
"aspire:start"] = "custom-apphost-start";
Aspire.Cli.Tests (11)
Projects\ProjectUpdaterTests.cs (2)
3074
itemsAndProperties
[
"Items"] = items;
3162
itemsAndProperties
[
"Items"] = items;
Telemetry\ReportedLogExportTests.cs (9)
74
envelope
[
"time"] = "timestamp";
75
envelope
[
"iKey"] = "instrumentation-key";
76
tags
[
"ai.cloud.roleInstance"] = "instance-id";
77
tags
[
"ai.application.ver"] = "cli-version";
78
tags
[
"ai.internal.sdkVersion"] = "sdk-version";
81
tags
[
"ai.operation.id"] = "trace-id";
85
tags
[
"ai.operation.parentId"] = "span-id";
97
baseData
[
"id"] = "span-id";
98
baseData
[
"duration"] = "duration";
Aspire.Dashboard (3)
Model\GenAI\GenAIItemPartViewModel.cs (1)
144
jsonObject
[
kvp.Key] = JsonNode.Parse(kvp.Value.GetRawText());
Model\TelemetryExportService.cs (1)
810
jsonObject
[
field.Key] = ConvertPropertyValueToJsonNode(field.Value);
Otlp\Model\OtlpHelpers.cs (1)
227
o
[
item.Key] = ConvertAnyValue(item.Value);
Aspire.Dashboard.Tests (5)
Model\DashboardDataSourceTests.cs (5)
205
metadata
[
"ApplicationName"] = applicationName;
760
metadata
[
"SchemaVersion"] = DashboardRunStore.SchemaVersion - 1;
801
metadata
[
"SchemaVersion"] = DashboardRunStore.SchemaVersion + 1;
802
metadata
[
"FutureMetadata"] = new JsonObject
845
metadata
[
"SchemaVersion"] = DashboardRunStore.SchemaVersion - 1;
Aspire.Hosting (21)
Backchannel\AuxiliaryBackchannelRpcTarget.cs (1)
1438
jsonObject
[
property.Key] = property.Value;
Dcp\JsonPatch.cs (3)
115
result
[
"value"] = value?.DeepClone();
242
target
[
propertyName] = value?.DeepClone();
255
target
[
propertyName] = value?.DeepClone();
Devcontainers\DevcontainerSettingsWriter.cs (3)
177
portAttributes
[
"label"] = label;
178
portAttributes
[
"protocol"] = protocol;
179
portAttributes
[
"onAutoForward"] = openBrowser ? "openBrowser" : "silent";
Pipelines\DeploymentStateSection.cs (1)
56
Data
[
RootValueKey] = JsonValue.Create(value);
Pipelines\Internal\DeploymentStateManagerBase.cs (2)
340
current
[
segment] = nextObj;
351
current
[
segments[^1]] = value;
Pipelines\Internal\FileDeploymentStateManager.cs (4)
445
target
[
name] = sourceValue?.DeepClone();
573
result
[
propertyName] = updatedProperty.Value;
672
current
[
segment] = nextObject;
684
current
[
segments[^1]] = value;
Pipelines\Internal\JsonFlattener.cs (4)
47
current
[
key] = newObject;
56
current
[
keys[^1]] = kvp.Value?.DeepClone();
87
result
[
arrayKey] = array[i]?.DeepClone();
93
result
[
key] = kvp.Value?.DeepClone();
Publishing\ContainerImageArchiveRewriter.cs (2)
447
annotations
[
OciReferenceNameAnnotation] = rewrittenReferenceName;
453
annotations
[
ContainerdImageNameAnnotation] = rewrittenContainerdImageName;
UserSecrets\UserSecretsManagerFactory.cs (1)
208
contents
[
secret.Key] = secret.Value;
Aspire.Hosting.Azure (89)
AzureDeploymentOperationDetails.cs (12)
85
json
[
"operationId"] = OperationId;
90
json
[
"provisioningOperation"] = ProvisioningOperation;
95
json
[
"provisioningState"] = ProvisioningState;
100
json
[
"timestamp"] = timestamp;
105
json
[
"duration"] = duration.ToString();
110
json
[
"statusCode"] = StatusCode;
115
json
[
"serviceRequestId"] = ServiceRequestId;
120
json
[
"targetResource"] = targetResource.ToJsonObject();
125
json
[
"error"] = failureDetails.ToJsonObject();
140
json
[
"id"] = Id;
145
json
[
"resourceType"] = ResourceType;
150
json
[
"resourceName"] = ResourceName;
AzureProvisioningController.cs (46)
2428
json
[
"resourceCount"] = GetProvisionableAzureResources(model).Count;
2431
json
[
"warning"] = "Local Azure provisioning state was reset without deleting live Azure resources. Existing Azure resources may be orphaned if a later reprovision uses a different Azure context.";
2432
json
[
"recommendedActions"] = AzureProvisioningFailureDetails.CreateRecommendedActionsJsonArray(
2454
json
[
"deletedResourceCount"] = result.ResourceIds.Count;
2455
json
[
"deletedResourceIds"] = deletedResourceIds;
2467
json
[
"resourceCount"] = targetResources.Count;
2468
json
[
"location"] = effectiveLocation;
2469
json
[
"effectiveLocation"] = effectiveLocation;
2483
json
[
"resourceCount"] = targetResources.Count;
2484
json
[
"location"] = effectiveLocation;
2485
json
[
"effectiveLocation"] = effectiveLocation;
2494
json
[
"deployment"] = deployment;
2495
json
[
"live"] = await CreateLiveResourceInfoAsync(
2532
json
[
"provisioningState"] = provisioningState;
2541
json
[
"deploymentPortalUrl"] = AzurePortalUrls.GetDeploymentUrl(deploymentResourceId);
2559
json
[
"reason"] = "missing-resource-id";
2560
json
[
"source"] = "aspire";
2561
json
[
"code"] = "missing-resource-id";
2562
json
[
"message"] = "Live Azure resource existence cannot be checked because cached deployment state does not contain a resource ID. This can happen after state is forgotten, deleted, or before provisioning completes.";
2563
json
[
"recommendedActions"] = AzureProvisioningFailureDetails.CreateRecommendedActionsJsonArray(
2570
json
[
"reason"] = "invalid-subscription-id";
2579
json
[
"checked"] = true;
2581
json
[
"exists"] = exists;
2585
json
[
"reason"] = AzureProvisioningFailureDetails.MissingLiveResourceReason;
2586
json
[
"source"] = "azure";
2587
json
[
"code"] = AzureProvisioningFailureDetails.MissingLiveResourceReason;
2588
json
[
"message"] = "Cached deployment state points at an Azure resource ID, but the resource was not found in Azure. This can happen when resources are deleted outside Aspire or a resource group deletion is still in progress.";
2589
json
[
"recommendedActions"] = AzureProvisioningFailureDetails.CreateRecommendedActionsJsonArray(
2598
json
[
"reason"] = "credential-unavailable";
2599
json
[
"message"] = ex.Message;
2607
json
[
"reason"] = "request-failed";
2608
json
[
"source"] = "azure";
2609
json
[
"status"] = ex.Status;
2610
json
[
"provider"] = failure.Provider;
2611
json
[
"httpStatus"] = failure.HttpStatus;
2612
json
[
"errorCode"] = failure.ErrorCode;
2613
json
[
"message"] = failure.ErrorMessage;
2614
json
[
"operation"] = failure.Operation;
2615
json
[
"requestId"] = failure.RequestId;
2616
json
[
"correlationId"] = failure.CorrelationId;
2619
json
[
"recommendedActions"] = AzureProvisioningFailureDetails.CreateRecommendedActionsJsonArray(failure.RecommendedActions);
2692
json
[
"resourceName"] = resourceName;
2750
section.Data
[
LocationOverrideKey] = normalizedLocation;
2774
section.Data
[
LocationOverrideKey] = location;
2847
section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateCanceled;
3591
section.Data
[
LocationOverrideKey] = locationOverride;
AzureProvisioningFailureDetails.cs (11)
464
json
[
"errorCode"] = ErrorCode;
469
json
[
"resourceType"] = ResourceType;
474
json
[
"resourceName"] = ResourceName;
479
json
[
"targetResourceId"] = TargetResourceId;
484
json
[
"currentLocation"] = CurrentLocation;
495
json
[
"supportedLocations"] = supportedLocations;
500
json
[
"httpStatus"] = httpStatus;
505
json
[
"operation"] = Operation;
510
json
[
"requestId"] = RequestId;
515
json
[
"correlationId"] = CorrelationId;
520
json
[
"recommendedActions"] = CreateRecommendedActionsJsonArray(RecommendedActions);
Provisioning\BicepUtilities.cs (4)
54
parameters
[
parameter.Key] = new JsonObject()
84
scope
[
"resourceGroup"] = null;
95
scope
[
"tenant"] = "current";
180
scope
[
propertyName] = value switch
Provisioning\Internal\BaseProvisioningContextProvider.cs (7)
133
azureStateSection.Data
[
"ResourceGroup"] = resourceGroupName;
224
azureSection
[
"Location"] = _options.Location;
225
azureSection
[
"SubscriptionId"] = _options.SubscriptionId;
226
azureSection
[
"ResourceGroup"] = resourceGroupName;
230
azureSection
[
"TenantId"] = tenantId;
239
azureSection
[
"Tenant"] = tenantDomain;
248
azureSection
[
"AllowResourceGroupCreation"] = _options.AllowResourceGroupCreation.Value;
Provisioning\Provisioners\BicepProvisioner.cs (9)
437
stateSection.Data
[
DeploymentStateProvisioningStateKey] = provisioningState;
456
stateSection.Data
[
AzureProvisioningController.LocationOverrideKey] = locationOverride;
1329
stateSection.Data
[
AzureProvisioningController.LocationOverrideKey] = locationOverride;
1332
stateSection.Data
[
BicepUtilities.DeploymentStateIdKey] = deploymentId.ToString();
1333
stateSection.Data
[
BicepUtilities.DeploymentStateParametersKey] = parameters.ToJsonString();
1337
stateSection.Data
[
BicepUtilities.DeploymentStateOutputsKey] = outputObj.ToJsonString();
1342
stateSection.Data
[
BicepUtilities.DeploymentStateScopeKey] = scope.ToJsonString();
1345
stateSection.Data
[
BicepUtilities.DeploymentStateChecksumKey] = checksum;
1349
stateSection.Data
[
DeploymentStateProvisioningStateKey] = provisioningState;
Aspire.Hosting.Azure.Kubernetes.Tests (1)
AzureKubernetesInfrastructureTests.cs (1)
1803
azureState
[
"ResourceGroup"] = resourceGroup;
Aspire.Hosting.Azure.Sandboxes (25)
AzureSandboxContainerDeployment.cs (25)
277
stateSection.Data
[
"OwnerId"] = ownerId;
394
stateSection.Data
[
"OwnerId"] = ownerId;
397
stateSection.Data
[
"SandboxId"] = sandboxId;
398
stateSection.Data
[
"DiskImageId"] = diskImageId;
399
stateSection.Data
[
"SubscriptionId"] = dataPlaneScope.SubscriptionId;
400
stateSection.Data
[
"ResourceGroup"] = dataPlaneScope.ResourceGroupName;
401
stateSection.Data
[
"Location"] = dataPlaneScope.Region;
402
stateSection.Data
[
"SandboxGroup"] = dataPlaneScope.SandboxGroupName;
403
stateSection.Data
[
"ResourceName"] = resource.Name;
404
stateSection.Data
[
"SourceResourceName"] = targetResource.Name;
405
stateSection.Data
[
"DeployId"] = deployId;
406
stateSection.Data
[
"Ports"] = portStates;
407
stateSection.Data
[
"EndpointSecurityFingerprint"] = endpointSecurityFingerprint;
408
stateSection.Data
[
"HasRuntimeEnvironmentConfiguration"] = resolvedEnvironmentVariables.Values.Count > 0;
409
stateSection.Data
[
"HasRuntimeCommandConfiguration"] = hasModeledCommandConfiguration;
410
stateSection.Data
[
"PendingSecurityCleanup"] = securityConfigurationChanged;
474
stateSection.Data
[
"PendingSecurityCleanup"] = false;
1954
stateSection.Data
[
"PendingOwnerCleanupIds"] = new JsonArray(
1992
stateSection.Data
[
"PendingLegacyDeploymentCleanup"] = pendingDeploymentCleanup.DeepClone();
2096
stateSection.Data
[
"SubscriptionId"] ??= scope.SubscriptionId;
2097
stateSection.Data
[
"ResourceGroup"] ??= scope.ResourceGroupName;
2098
stateSection.Data
[
"Location"] ??= scope.Region;
2099
stateSection.Data
[
"SandboxGroup"] ??= scope.SandboxGroupName;
2100
stateSection.Data
[
"ResourceName"] ??= resource.Name;
2101
stateSection.Data
[
"SourceResourceName"] ??= resource.TargetResource.Name;
Aspire.Hosting.Azure.Tests (181)
AzureBicepProvisionerTests.cs (31)
834
section.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
868
section.Data
[
"Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage2";
869
section.Data
[
"Parameters"] = parameters.ToJsonString();
870
section.Data
[
"Outputs"] = """{"name":{"value":"storage2"}}""";
871
section.Data
[
"CheckSum"] = checksum;
872
section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
904
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
905
azureSection.Data
[
"ResourceGroup"] = "test-rg";
906
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
907
azureSection.Data
[
"Tenant"] = "microsoft.onmicrosoft.com";
908
azureSection.Data
[
"Location"] = "westus2";
912
section.Data
[
"Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage2";
913
section.Data
[
"Parameters"] = parameters.ToJsonString();
914
section.Data
[
"Outputs"] = """{"name":{"value":"storage2"}}""";
915
section.Data
[
"CheckSum"] = checksum;
955
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
956
azureSection.Data
[
"ResourceGroup"] = "environment-rg";
957
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
958
azureSection.Data
[
"Tenant"] = "microsoft.onmicrosoft.com";
959
azureSection.Data
[
"Location"] = "westus2";
963
section.Data
[
"Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/scoped-rg/providers/Microsoft.Resources/deployments/storage2";
964
section.Data
[
"Parameters"] = parameters.ToJsonString();
965
section.Data
[
"Outputs"] = """{"name":{"value":"storage2"}}""";
966
section.Data
[
"CheckSum"] = checksum;
997
section.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
1031
section.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
1846
section.Data
[
BicepUtilities.DeploymentStateIdKey] = deploymentId;
1847
section.Data
[
BicepUtilities.DeploymentStateParametersKey] = parameters.ToJsonString();
1848
section.Data
[
BicepUtilities.DeploymentStateScopeKey] = scope.ToJsonString();
1849
section.Data
[
BicepUtilities.DeploymentStateChecksumKey] = BicepUtilities.GetChecksum(resource, parameters, scope);
1850
section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
AzureEnvironmentResourceExtensionsTests.cs (127)
316
azureSection.Data
[
"SubscriptionId"] = "sub";
317
azureSection.Data
[
"Location"] = "westus2";
321
storageSection.Data
[
"Id"] = "/subscriptions/sub/resourceGroups/rg/providers/Microsoft.Resources/deployments/storage";
322
storageSection.Data
[
"CheckSum"] = "checksum";
587
storageSection.Data
[
"Outputs"] = """
623
storageSection.Data
[
"Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/storage"}}""";
787
azureSection.Data
[
"SubscriptionId"] = subscriptionId;
788
azureSection.Data
[
"Location"] = "westus2";
789
azureSection.Data
[
"ResourceGroup"] = resourceGroup;
790
azureSection.Data
[
"TenantId"] = tenantId;
794
storageSection.Data
[
"Id"] = deploymentId;
795
storageSection.Data
[
"Parameters"] = """
802
storageSection.Data
[
"Outputs"] = $$"""
814
storageSection.Data
[
"Scope"] = $$"""
819
storageSection.Data
[
"CheckSum"] = "checksum";
820
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
821
storageSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
899
storageSection.Data
[
"Outputs"] = $$"""
1174
storageSection.Data
[
"Outputs"] = """{"blobEndpoint":{"value":"https://storage.blob.core.windows.net/"}}""";
1232
storageSection.Data
[
"Outputs"] = $$"""
1293
storageSection.Data
[
"Outputs"] = $$"""
1355
storageSection.Data
[
"Id"] = deploymentId;
1356
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
1483
storageSection.Data
[
BicepUtilities.DeploymentStateIdKey] = deploymentId;
1484
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
1659
storageSection.Data
[
"Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage";
1660
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateSucceeded;
1697
storageSection.Data
[
"Id"] = deploymentId;
1698
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateSucceeded;
1764
storageSection.Data
[
"Id"] = deploymentId;
1765
storageSection.Data
[
"Outputs"] = new JsonObject
1773
storageSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
1774
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
1778
storage2Section.Data
[
"Id"] = "storage2-deployment";
1867
keyVaultSection.Data
[
"Id"] = deploymentId;
1868
keyVaultSection.Data
[
"Outputs"] = new JsonObject
1876
keyVaultSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
1939
storageSection.Data
[
"Outputs"] = $$"""
2018
storageSection.Data
[
"Outputs"] = $$"""
2085
storageSection.Data
[
"Id"] = "storage-deployment";
2089
storage2Section.Data
[
"Id"] = "storage2-deployment";
2163
storageSection.Data
[
"Id"] = "storage-deployment";
2167
storage2Section.Data
[
"Id"] = "storage2-deployment";
2935
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
2936
azureSection.Data
[
"Location"] = "eastus";
2937
azureSection.Data
[
"ResourceGroup"] = "test-rg";
2941
storageSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
3007
storageSection.Data
[
"Outputs"] = new JsonObject
3074
storageSection.Data
[
"Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage26wmkwq4f4li52"}}""";
3133
storageSection.Data
[
"Parameters"] = """
3141
storageSection.Data
[
"Outputs"] = $$"""
3199
storageSection.Data
[
"LocationOverride"] = "westus2";
3200
storageSection.Data
[
"Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage26wmkwq4f4li52"}}""";
3263
storageSection.Data
[
"Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage26wmkwq4f4li52"}}""";
3328
storageSection.Data
[
"Outputs"] = new JsonObject
3381
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3382
azureSection.Data
[
"Location"] = "westus2";
3383
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3384
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
3388
storageSection.Data
[
"Id"] = "storage-deployment";
3392
storage2Section.Data
[
"Id"] = "storage2-deployment";
3506
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3507
azureSection.Data
[
"Location"] = "westus2";
3508
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3509
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
3555
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3556
azureSection.Data
[
"Location"] = "westus2";
3557
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3601
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3602
azureSection.Data
[
"Location"] = "westus2";
3603
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3607
storageSection.Data
[
"Parameters"] = """{"location":{"value":"westus2"}}""";
3661
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3662
azureSection.Data
[
"Location"] = "westus2";
3663
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3667
storage2Section.Data
[
AzureProvisioningController.LocationOverrideKey] = "West US 3";
3702
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3703
azureSection.Data
[
"Location"] = "westus2";
3704
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3708
storage2Section.Data
[
"Parameters"] = """
3747
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3748
azureSection.Data
[
"Location"] = "westus2";
3749
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3807
storageSection.Data
[
"Id"] = "storage-deployment";
3808
storageSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
3909
keyVaultSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "ukwest";
3989
keyVaultSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "ukwest";
4313
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4314
azureSection.Data
[
"Location"] = "westus2";
4315
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4316
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
4317
azureSection.Data
[
"Tenant"] = "testdomain.onmicrosoft.com";
4321
storageSection.Data
[
"Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage"}}""";
4362
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4363
azureSection.Data
[
"Location"] = "westus2";
4364
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4368
storageSection.Data
[
"Outputs"] = $$"""
4410
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4411
azureSection.Data
[
"Location"] = "westus2";
4412
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4416
storageSection.Data
[
"Outputs"] = $$"""
4426
storage2Section.Data
[
"Outputs"] = $$"""
4470
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4471
azureSection.Data
[
"Location"] = "westus2";
4472
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4476
storageSection.Data
[
"Outputs"] = """{"blobEndpoint":{"value":"https://storage.blob.core.windows.net/"}}""";
4509
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4510
azureSection.Data
[
"Location"] = "westus2";
4511
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4512
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
4516
storageSection.Data
[
"Id"] = "storage-deployment";
4568
storageSection.Data
[
"Id"] = "storage-deployment";
4609
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4610
azureSection.Data
[
"Location"] = "westus2";
4611
azureSection.Data
[
"ResourceGroup"] = "missing-rg";
4615
storageSection.Data
[
"Id"] = "storage-deployment";
4657
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4658
azureSection.Data
[
"Location"] = "westus2";
4659
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4663
storageSection.Data
[
"Id"] = "storage-deployment";
4794
storageSection.Data
[
BicepUtilities.DeploymentStateIdKey] = deploymentId;
4795
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
5575
azureSection.Data
[
"SubscriptionId"] = options.SubscriptionId;
5576
azureSection.Data
[
"Location"] = options.Location;
5577
azureSection.Data
[
"ResourceGroup"] = options.ResourceGroup;
5581
azureSection.Data
[
"TenantId"] = options.TenantId;
5708
section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateCanceled;
AzureEventHubsExtensionsTests.cs (1)
399
document
[
"Custom"] = JsonValue.Create(42);
AzureSandboxesTests.cs (15)
982
previousState.Data
[
"EndpointSecurityFingerprint"] = fingerprint;
990
previousState.Data
[
"EndpointSecurityFingerprint"] = "legacy-endpoint-only-fingerprint";
992
previousState.Data
[
"EndpointSecurityFingerprint"] = fingerprint;
993
previousState.Data
[
"PendingSecurityCleanup"] = true;
995
previousState.Data
[
"PendingSecurityCleanup"] = false;
1007
previousState.Data
[
"HasRuntimeEnvironmentConfiguration"] = true;
1009
previousState.Data
[
"HasRuntimeEnvironmentConfiguration"] = false;
1015
previousState.Data
[
"HasRuntimeCommandConfiguration"] = true;
1017
previousState.Data
[
"HasRuntimeCommandConfiguration"] = false;
1153
azureState.Data
[
"SubscriptionId"] = "sub";
1154
azureState.Data
[
"ResourceGroup"] = "rg";
1155
azureState.Data
[
"Location"] = "westus3";
2803
state.Data
[
"Ports"] = new JsonArray(new JsonObject
2936
state.Data
[
"Ports"] = new JsonArray
3222
state.Data
[
"Ports"] = new JsonArray(new JsonObject
AzureServiceBusExtensionsTests.cs (1)
508
document
[
"Custom"] = JsonValue.Create(42);
ProvisioningContextProviderTests.cs (4)
134
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
135
azureSection.Data
[
"Location"] = "westus3";
136
azureSection.Data
[
"ResourceGroup"] = "rehydrated-rg";
137
azureSection.Data
[
"AllowResourceGroupCreation"] = "true";
ProvisioningContextTests.cs (1)
203
azureSection.Data
[
"SubscriptionId"] = "test-id";
ProvisioningTestHelpers.cs (1)
1070
_state
[
section.SectionName] = section.Data;
Aspire.Hosting.Blazor (5)
GatewayConfigurationBuilder.cs (5)
228
environment
[
$"services__{svc.ServiceName}__https__0"] = $"{OriginToken}{pathBase}/{svc.ApiPrefix}/{svc.ServiceName}";
233
environment
[
$"services__{svc.ServiceName}__http__0"] = $"{OriginToken}{pathBase}/{svc.ApiPrefix}/{svc.ServiceName}";
239
environment
[
"OTEL_SERVICE_NAME"] = resourceName;
244
environment
[
"OTEL_EXPORTER_OTLP_ENDPOINT"] = $"{pathBase}/{otlpPrefix}";
245
environment
[
"OTEL_EXPORTER_OTLP_PROTOCOL"] = "http/protobuf";
Aspire.Hosting.CodeGeneration.TypeScript (24)
TypeScriptApiExportWriter.cs (8)
82
json
[
"items"] = items;
104
json
[
"experimental"] = true;
115
json
[
"members"] = members;
138
json
[
"experimental"] = true;
142
json
[
"deprecated"] = member.DeprecationMessage;
161
json
[
"parameters"] = parameters;
185
json
[
name] = value;
202
json
[
name] = array;
TypeScriptLanguageSupport.cs (16)
136
packageJson
[
"name"] = packageName;
137
packageJson
[
"version"] = "1.0.0";
138
packageJson
[
"private"] = true;
139
packageJson
[
"type"] = "module";
147
engines
[
"node"] = "^20.19.0 || ^22.13.0 || >=24";
150
scripts
[
"aspire:lint"] = "eslint apphost.mts";
151
scripts
[
"aspire:start"] = "aspire run";
152
scripts
[
"aspire:build"] = $"tsc -p {AppHostTsConfigFileName}";
153
scripts
[
"aspire:dev"] = $"tsc --watch -p {AppHostTsConfigFileName}";
159
scripts
[
"lint"] = "eslint apphost.mts";
160
scripts
[
"dev"] = "eslint apphost.mts && aspire run";
161
scripts
[
"build"] = $"eslint apphost.mts && tsc -p {AppHostTsConfigFileName}";
162
scripts
[
"watch"] = $"tsc --watch -p {AppHostTsConfigFileName}";
197
section
[
packageName] = version;
203
section
[
packageName] = version;
215
parent
[
propertyName] = obj;
Aspire.Hosting.Docker (3)
DockerComposeEnvironmentResource.cs (3)
453
stateSection.Data
[
"OutputPath"] = outputPath;
454
stateSection.Data
[
"ProjectName"] = composeContext.ProjectName;
455
stateSection.Data
[
"ComposeFilePath"] = composeContext.ComposeFilePath;
Aspire.Hosting.Kubernetes (7)
Deployment\HelmDeploymentEngine.cs (2)
489
stateSection.Data
[
"ReleaseName"] = releaseName;
490
stateSection.Data
[
"Namespace"] = @namespace;
KubernetesEnvironmentResource.cs (3)
2122
metadataNode
[
"annotations"] = System.Text.Json.Nodes.JsonNode.Parse(annotations.GetRawText());
2127
metadataNode
[
"labels"] = System.Text.Json.Nodes.JsonNode.Parse(labels.GetRawText());
2141
minimal
[
"spec"] = System.Text.Json.Nodes.JsonNode.Parse(spec.GetRawText());
KubernetesHelmChartExtensions.cs (2)
370
stateSection.Data
[
"ReleaseName"] = releaseName;
371
stateSection.Data
[
"Namespace"] = @namespace;
Aspire.Hosting.Radius (1)
Publishing\RadiusDeploymentPipelineStep.cs (1)
685
parametersNode
[
identifier] = new JsonObject { ["value"] = value };
Aspire.Hosting.RemoteHost (8)
Ats\AtsCallbackProxyFactory.cs (2)
309
args
[
$"p{ctParamIndex}"] = tokenId;
311
args
[
"$cancellationToken"] = tokenId;
Ats\AtsError.cs (5)
53
obj
[
"capability"] = Capability;
58
obj
[
"details"] = Details.ToJsonObject();
100
obj
[
"parameter"] = Parameter;
105
obj
[
"expected"] = Expected;
110
obj
[
"actual"] = Actual;
Ats\ExternalCapabilityRegistry.cs (1)
662
args
[
parameter.Name] = relayId;
Aspire.Hosting.RemoteHost.Tests (2)
ExternalCapabilityRegistryTests.cs (2)
106
payload
[
"protocolVersion"] = 2;
152
invalidCapability
[
fieldName] = fieldValue;
Aspire.Hosting.Tests (63)
Orchestrator\ParameterProcessorTests.cs (1)
2452
_unflattenedState
[
section.SectionName] = section.Data.DeepClone().AsObject();
Publishing\ContainerImageArchiveRewriterTests.cs (1)
456
metadata
[
entryName] = JsonNode.Parse(TestContainerImageArchive.ReadEntryText(archivePath, entryName));
Publishing\DeploymentStateManagerTests.cs (61)
41
section1.Data
[
"key1"] = "value1";
57
section.Data
[
"NullValue"] = null;
76
section1.Data
[
"key1"] = "value1";
86
section2.Data
[
"key2"] = "value2";
105
parametersSection.Data
[
"param1"] = "value1";
106
azureSection.Data
[
"resource1"] = "azure-value1";
134
section.Data
[
$"key{sectionIndex}"] = $"value{sectionIndex}";
157
section1.Data
[
"key1"] = "value1";
178
section1.Data
[
"key1"] = "value1";
191
section2.Data
[
"key2"] = "value2";
250
section.Data
[
"key1"] = "value1";
267
section.Data
[
"nestedKey"] = "nestedValue";
285
section1.Data
[
"key1"] = "value1";
286
section2.Data
[
"key2"] = "value2";
321
section1.Data
[
"key1"] = "value1";
330
section2.Data
[
"key2"] = "value2";
362
topLevel.Data
[
"topKey"] = "topValue";
363
nested.Data
[
"nestedKey"] = "nestedValue";
382
section.Data
[
"key"] = "value";
473
legacySection.Data
[
"legacy"] = true;
480
migratedSection.Data
[
"current"] = true;
510
legacySection.Data
[
"Value"] = "legacy";
514
migratedSection.Data
[
"Claimed"] = true;
526
sameManagerLegacySection.Data
[
"Value"] = "legacy";
549
section.Data
[
"Value"] = "committed";
566
legacySection.Data
[
"Value"] = "legacy";
675
initialSection.Data
[
"Leaf"] = "initial";
682
staleObjectSection.Data
[
"Leaf"] = "updated";
710
firstSection.Data
[
"Features"] = new JsonObject { ["A"] = true };
711
secondSection.Data
[
"Features"] = new JsonObject { ["B"] = true };
737
firstLegacySection.Data
[
"SandboxId"] = "first-sandbox";
740
secondLegacySection.Data
[
"SandboxId"] = "second-sandbox";
748
firstSection.Data
[
"Migrated"] = true;
794
legacyAzureSection.Data
[
"SubscriptionId"] = "legacy-subscription";
795
legacyAzureSection.Data
[
"Sandboxes"] = new JsonObject
804
azureSection.Data
[
"SubscriptionId"] = "current-subscription";
830
legacyAzureSection.Data
[
"SubscriptionId"] = "legacy-subscription";
831
legacyAzureSection.Data
[
"Sandboxes"] = new JsonObject
841
newSandboxSection.Data
[
"SandboxId"] = "new-sandbox";
871
legacySandboxesSection.Data
[
"first"] = new JsonObject
876
legacySandboxesSection.Data
[
"second"] = new JsonObject
886
newChildSection.Data
[
"SandboxId"] = "new-sandbox";
915
firstLegacySection.Data
[
"SandboxId"] = "first-sandbox";
918
secondLegacySection.Data
[
"SandboxId"] = "second-sandbox";
925
firstSection.Data
[
"Updated"] = true;
926
secondSection.Data
[
"Updated"] = true;
951
legacyAzureSection.Data
[
"SubscriptionId"] = "legacy-subscription";
952
legacyAzureSection.Data
[
"Location"] = "legacy-location";
959
firstAzureSection.Data
[
"SubscriptionId"] = "current-subscription";
960
secondAzureSection.Data
[
"Location"] = "current-location";
983
legacySection.Data
[
"SubscriptionId"] = "sub";
1013
currentSection.Data
[
"SubscriptionId"] = "current-sub";
1044
currentSection.Data
[
"SubscriptionId"] = "current-sub";
1061
restartedSection.Data
[
"Location"] = "westus";
1074
section.Data
[
"SubscriptionId"] = "sub";
1094
legacySection.Data
[
"SandboxId"] = "sandbox";
1115
firstLegacySection.Data
[
"SandboxId"] = "first-sandbox";
1118
secondLegacySection.Data
[
"SandboxId"] = "second-sandbox";
1127
azureSection.Data
[
"SubscriptionId"] = "current-subscription";
1150
firstLegacySection.Data
[
"SandboxId"] = "first";
1153
secondLegacySection.Data
[
"SandboxId"] = "second";
Aspire.Hosting.Yarp (5)
YarpJsonConfigGeneratorBuilder.cs (5)
84
var jsonProxyConfig = jsonObject
[
"ReverseProxy"] = new JsonObject();
85
jsonProxyConfig
[
"Clusters"] = AddClusters();
86
jsonProxyConfig
[
"Routes"] = AddRoutes();
102
routesNode
[
route.RouteId] = node;
116
routesNode
[
cluster.ClusterId] = node;
ConfigurationSchemaGenerator (21)
ConfigSchemaEmitter.cs (21)
63
categoryNode
[
"$ref"] = "#/definitions/logLevelThreshold";
67
parent
[
"definitions"] = new JsonObject
120
currentNode
[
"type"] = "object";
126
currentNode
[
propertiesName] = propertiesNode;
241
currentNode
[
"type"] = "object";
247
currentNode
[
"properties"] = propertiesNode;
318
currentNode
[
"type"] = typeName;
320
currentNode
[
containerName] = containerNode;
445
propertyNode
[
"description"] = description;
459
propertyNode
[
"default"] = true;
463
propertyNode
[
"default"] = false;
591
propertyNode
[
"type"] = "string";
592
propertyNode
[
"pattern"] = TimeSpanRegex;
608
propertyNode
[
"enum"] = enumNode;
612
propertyNode
[
"type"] = "string";
613
propertyNode
[
"format"] = "uri";
620
propertyNode
[
"type"] = new JsonArray { "number", "string" };
624
propertyNode
[
"type"] = "string";
625
propertyNode
[
"format"] = "uuid";
630
propertyNode
[
"oneOf"] = new JsonArray
649
propertyNode
[
"type"] = GetParsableTypeName(parsable);
dotnet-aot (1)
parent\dotnet\Telemetry\TelemetryDiskLogger.cs (1)
62
root
[
"activities"] = activitiesArray;
dotnet-user-jwts (2)
Helpers\JwtAuthenticationSchemeSettings.cs (2)
34
schemes
[
SchemeName] = settingsObject;
46
config
[
AuthenticationKey] = new JsonObject
Infrastructure.Tests (7)
Pipelines\NpmCliPackageTests.cs (1)
598
packageMap
[
rid.Rid] = $"{PackageName}-{rid.Rid}";
TemplateManifest\TemplateManifestNpmTests.cs (2)
48
dependencies
[
name] = "^99.0.0";
81
lockfile
[
"lockfileVersion"] = 2;
TemplateManifest\TemplateRestorePlanTests.cs (4)
74
config
[
"sources"] = JsonNode.Parse("""[{"modifiers":[{"condition":"(Mode == \"None\")","exclude":["*.csproj"]}]}]""");
297
config
[
"identity"] = identity;
298
config
[
"name"] = identity;
299
config
[
"shortName"] = identity;
Microsoft.AspNetCore.JsonPatch.SystemTextJson (1)
Internal\JsonObjectAdapter.cs (1)
22
obj
[
segment] = value != null ? JsonSerializer.SerializeToNode(value, serializerOptions) : GetJsonNull();
Microsoft.AspNetCore.OpenApi (60)
Extensions\JsonNodeSchemaExtensions.cs (51)
90
schema
[
OpenApiSchemaKeywords.FormatKeyword] = "byte";
125
schema
[
rangeAttribute.MinimumIsExclusive ? OpenApiSchemaKeywords.ExclusiveMinimum : OpenApiSchemaKeywords.MinimumKeyword] = minValue;
129
schema
[
rangeAttribute.MaximumIsExclusive ? OpenApiSchemaKeywords.ExclusiveMaximum : OpenApiSchemaKeywords.MaximumKeyword] = maxValue;
134
schema
[
OpenApiSchemaKeywords.PatternKeyword] = regularExpressionAttribute.Pattern;
140
schema
[
key] = maxLengthAttribute.Length;
146
schema
[
key] = minLengthAttribute.Length;
152
schema
[
$"min{targetKeySuffix}"] = lengthAttribute.MinimumLength;
153
schema
[
$"max{targetKeySuffix}"] = lengthAttribute.MaximumLength;
157
schema
[
OpenApiSchemaKeywords.FormatKeyword] = "uri";
161
schema
[
OpenApiSchemaKeywords.MinLengthKeyword] = stringLengthAttribute.MinimumLength;
162
schema
[
OpenApiSchemaKeywords.MaxLengthKeyword] = stringLengthAttribute.MaximumLength;
186
schema
[
schemaAttribute] = null;
190
schema
[
schemaAttribute] = JsonSerializer.SerializeToNode(defaultValue, jsonTypeInfo);
213
schema
[
OpenApiSchemaKeywords.FormatKeyword] = format;
230
schema
[
OpenApiSchemaKeywords.MinimumKeyword] = minRouteConstraint.Min;
234
schema
[
OpenApiSchemaKeywords.MaximumKeyword] = maxRouteConstraint.Max;
238
schema
[
OpenApiSchemaKeywords.MinLengthKeyword] = minLengthRouteConstraint.MinLength;
242
schema
[
OpenApiSchemaKeywords.MaxLengthKeyword] = maxLengthRouteConstraint.MaxLength;
246
schema
[
OpenApiSchemaKeywords.MinimumKeyword] = rangeRouteConstraint.Min;
247
schema
[
OpenApiSchemaKeywords.MaximumKeyword] = rangeRouteConstraint.Max;
251
schema
[
OpenApiSchemaKeywords.TypeKeyword] = JsonSchemaType.String.ToString();
252
schema
[
OpenApiSchemaKeywords.FormatKeyword] = null;
253
schema
[
OpenApiSchemaKeywords.PatternKeyword] = regexRouteConstraint.Constraint.ToString();
257
schema
[
OpenApiSchemaKeywords.MinLengthKeyword] = lengthRouteConstraint.MinLength;
258
schema
[
OpenApiSchemaKeywords.MaxLengthKeyword] = lengthRouteConstraint.MaxLength;
262
schema
[
OpenApiSchemaKeywords.TypeKeyword] = JsonSchemaType.Number.ToString();
263
schema
[
OpenApiSchemaKeywords.FormatKeyword] = constraint is FloatRouteConstraint ? "float" : "double";
267
schema
[
OpenApiSchemaKeywords.TypeKeyword] = JsonSchemaType.Integer.ToString();
268
schema
[
OpenApiSchemaKeywords.FormatKeyword] = constraint is LongRouteConstraint ? "int64" : "int32";
272
schema
[
OpenApiSchemaKeywords.TypeKeyword] = JsonSchemaType.String.ToString();
273
schema
[
OpenApiSchemaKeywords.FormatKeyword] = constraint is GuidRouteConstraint ? "uuid" : null;
277
schema
[
OpenApiSchemaKeywords.TypeKeyword] = JsonSchemaType.Boolean.ToString();
278
schema
[
OpenApiSchemaKeywords.FormatKeyword] = null;
282
schema
[
OpenApiSchemaKeywords.TypeKeyword] = JsonSchemaType.String.ToString();
283
schema
[
OpenApiSchemaKeywords.FormatKeyword] = null;
287
schema
[
OpenApiSchemaKeywords.TypeKeyword] = JsonSchemaType.String.ToString();
288
schema
[
OpenApiSchemaKeywords.FormatKeyword] = "date-time";
369
schema
[
OpenApiSchemaKeywords.EnumKeyword] = enumArray;
390
schema
[
defaultKey] = (JsonNode)memberName;
403
schema
[
OpenApiSchemaKeywords.TypeKeyword] = (schemaTypes & ~JsonSchemaType.Null).ToString();
455
mappings
[
$"{discriminator}"] = $"{baseSchemaReferenceId}{createSchemaReferenceId(jsonDerivedType)}";
458
schema
[
OpenApiSchemaKeywords.DiscriminatorKeyword] = polymorphismOptions.TypeDiscriminatorPropertyName;
459
schema
[
OpenApiSchemaKeywords.DiscriminatorMappingKeyword] = mappings;
462
schema
[
OpenApiSchemaKeywords.DiscriminatorDefaultMappingKeyword] = baseSchemaReferenceId;
477
schema
[
OpenApiConstants.SchemaId] = schemaReferenceId;
491
schema
[
OpenApiConstants.SchemaIsUnion] = true;
497
schema
[
OpenApiConstants.SchemaId] = "Base";
561
schema
[
OpenApiSchemaKeywords.TypeKeyword] = (schemaTypes | JsonSchemaType.Null).ToString();
568
schema
[
OpenApiSchemaKeywords.TypeKeyword] = nonNullableSchemaTypes.ToString();
580
schema
[
OpenApiConstants.NullableProperty] = true;
604
schema
[
OpenApiSchemaKeywords.TypeKeyword] = typeArray[0]?.GetValue<string>();
Schemas\OpenApiJsonSchema.Helpers.cs (1)
168
obj
[
key] = ReadJsonNode(ref reader);
Services\Schemas\OpenApiSchemaService.cs (8)
113
schema
[
OpenApiSchemaKeywords.DescriptionKeyword] = typeDescriptionAttribute.Description;
117
schema
[
OpenApiSchemaKeywords.DeprecatedKeyword] = true;
135
schema
[
OpenApiSchemaKeywords.DescriptionKeyword] = descriptionAttribute.Description;
139
schema
[
OpenApiSchemaKeywords.DeprecatedKeyword] = true;
146
schema
[
OpenApiConstants.RefDescriptionAnnotation] = descriptionAttribute.Description;
150
schema
[
OpenApiConstants.RefDeprecatedAnnotation] = true;
623
newObject
[
property.Key] = processedValue?.DeepClone();
627
newObject
[
property.Key] = null;
Microsoft.Extensions.AI (6)
Realtime\LoggingRealtimeClientSession.cs (6)
196
obj
[
"content"] = s;
200
obj
[
"content"] = AsJson(message.RawRepresentation);
204
obj
[
"messageId"] = message.MessageId;
219
obj
[
"content"] = s;
223
obj
[
"content"] = AsJson(message.RawRepresentation);
227
obj
[
"messageId"] = message.MessageId;
Microsoft.Extensions.AI.Abstractions (45)
Utilities\AIJsonUtilities.Schema.Create.cs (36)
152
schema
[
SchemaPropertyName] = SchemaKeywordUri;
157
schema
[
TitlePropertyName] = title;
162
schema
[
DescriptionPropertyName] = description;
165
schema
[
TypePropertyName] = "object"; // Method schemas always hardcode the type as "object".
166
schema
[
PropertiesPropertyName] = parameterSchemas;
170
schema
[
RequiredPropertyName] = requiredProperties;
301
objSchema
[
RefPropertyName] = (JsonNode)refUri;
328
obj
[
TypePropertyName] = new JsonArray { (JsonNode)numericType, (JsonNode)"null" };
332
obj
[
TypePropertyName] = (JsonNode)numericType;
349
objSchema
[
TypePropertyName] = new JsonArray { (JsonNode)typeValue, (JsonNode)"null" };
370
objSchema
[
TypePropertyName] = new JsonArray { (JsonNode)typeValue, (JsonNode)"null" };
458
obj
[
MinLengthStringPropertyName] ??= stringLengthAttribute.MinimumLength;
461
obj
[
MaxLengthStringPropertyName] ??= stringLengthAttribute.MaximumLength;
470
obj
[
MinLengthStringPropertyName] ??= minLengthAttribute.Length;
474
obj
[
MinLengthCollectionPropertyName] ??= minLengthAttribute.Length;
484
obj
[
MaxLengthStringPropertyName] ??= maxLengthAttribute.Length;
488
obj
[
MaxLengthCollectionPropertyName] ??= maxLengthAttribute.Length;
538
obj
[
MinExclusiveRangePropertyName] ??= minNode;
543
obj
[
MinRangePropertyName] ??= minNode;
552
obj
[
MaxExclusiveRangePropertyName] ??= maxNode;
557
obj
[
MaxRangePropertyName] ??= maxNode;
576
requiredArray ??= (JsonArray)(requiredSchemaObj
[
RequiredPropertyName] = new JsonArray());
613
obj
[
MinLengthStringPropertyName] ??= lengthAttribute.MinimumLength;
616
obj
[
MaxLengthStringPropertyName] ??= lengthAttribute.MaximumLength;
622
obj
[
MinLengthCollectionPropertyName] ??= lengthAttribute.MinimumLength;
625
obj
[
MaxLengthCollectionPropertyName] ??= lengthAttribute.MaximumLength;
636
obj
[
EnumPropertyName] = enumArray;
651
(JsonObject)(obj
[
NotPropertyName] = new JsonObject());
657
notObj
[
EnumPropertyName] = enumArray;
670
obj
[
FormatPropertyName] ??= "date-time";
674
obj
[
FormatPropertyName] ??= "date";
678
obj
[
FormatPropertyName] ??= "time";
682
obj
[
FormatPropertyName] ??= "email";
686
obj
[
FormatPropertyName] ??= "uri";
690
obj
[
FormatPropertyName] ??= "uri";
691
obj
[
ContentMediaTypePropertyName] ??= "image/*";
Utilities\AIJsonUtilities.Schema.Transform.cs (9)
75
properties
[
prop.Key] = TransformSchemaCore(prop.Value, transformOptions, path);
85
schemaObj
[
ItemsPropertyName] = TransformSchemaCore(itemsSchema, transformOptions, path);
93
schemaObj
[
AdditionalPropertiesPropertyName] = TransformSchemaCore(additionalProps, transformOptions, path);
100
schemaObj
[
NotPropertyName] = TransformSchemaCore(notSchema, transformOptions, path);
130
schemaObj
[
AdditionalPropertiesPropertyName] = (JsonNode)false;
141
schemaObj
[
RequiredPropertyName] = requiredProps;
172
schemaObj
[
"type"] = (JsonNode)foundType;
173
schemaObj
[
"nullable"] = (JsonNode)true;
185
schemaObj
[
DescriptionPropertyName] = description;
Microsoft.Extensions.AI.Evaluation.Quality (1)
AIToolExtensions.cs (1)
34
functionJsonNode
[
"functionReturnValueSchema"] =
Microsoft.Extensions.AI.Evaluation.Safety (6)
ContentSafetyServicePayloadUtilities.cs (6)
157
payload
[
"MetricList"] = new JsonArray([.. metricNames]);
204
item
[
questionPropertyName] = question.Text;
209
item
[
answerPropertyName] = answer.Text;
214
item
[
contextPropertyName] = normalizedPerTurnContext[index];
239
payload
[
"MetricList"] = new JsonArray([.. metricNames]);
371
payload
[
"MetricList"] = new JsonArray([.. metricNames]);
Microsoft.Extensions.AI.OpenAI (1)
OpenAIClientExtensions.cs (1)
91
schemaObj
[
"description"] = schemaObj["description"] is { } descriptionNode && descriptionNode.GetValueKind() == JsonValueKind.String ?
Microsoft.ML.AutoML (9)
SweepableEstimator\Converter\MultiModelPipelineConverter.cs (2)
27
jsonObject
[
"schema"] = value.Schema.ToString();
28
jsonObject
[
"estimators"] = JsonValue.Create(value.Estimators);
SweepableEstimator\Converter\SweepableEstimatorConverter.cs (2)
30
jObject
[
"estimatorType"] = JsonValue.Create(value.EstimatorType);
31
jObject
[
"parameter"] = JsonValue.Create(value.Parameter);
SweepableEstimator\Converter\SweepableEstimatorPipelineConverter.cs (2)
30
jNode
[
"parameter"] = JsonValue.Create(parameter);
31
jNode
[
"estimators"] = JsonValue.Create(estimators);
SweepableEstimator\Converter\SweepablePipelineConverter.cs (3)
28
jsonObject
[
"schema"] = value.Schema.ToString();
29
jsonObject
[
"currentSchema"] = value.CurrentParameter["_SCHEMA_"].AsType<string>();
30
jsonObject
[
"estimators"] = JsonValue.Create(value.Estimators);
Microsoft.NET.Build.Containers (13)
ImageConfig.cs (13)
94
newConfig
[
"ExposedPorts"] = CreatePortMap();
98
newConfig
[
"Labels"] = CreateLabelMap();
102
newConfig
[
"Env"] = CreateEnvironmentVariablesMapping();
107
newConfig
[
"WorkingDir"] = _newWorkingDirectory;
112
newConfig
[
"Entrypoint"] = ToJsonArray(_newEntrypoint);
117
newConfig
[
"Cmd"] = ToJsonArray(_newCmd);
122
newConfig
[
"User"] = _user;
134
newConfig
[
propertyName] = JsonNode.Parse(propertyValue.ToJsonString());
177
history
[
"author"] = h.author;
181
history
[
"comment"] = h.comment;
185
history
[
"created"] = RFC3339Format(date);
189
history
[
"created_by"] = h.created_by;
193
history
[
"empty_layer"] = h.empty_layer;
Microsoft.NET.Build.Tasks (12)
GenerateRuntimeConfigurationFiles.cs (12)
316
configProperties
[
hostConfigurationOption.ItemSpec] = GetConfigPropertyValue(hostConfigurationOption);
364
configProperties
[
"System.Reflection.Metadata.MetadataUpdater.IsSupported"] = true;
365
configProperties
[
"System.StartupHookProvider.IsSupported"] = true;
442
json
[
"tfm"] = runtimeOptions.Tfm;
447
json
[
"rollForward"] = runtimeOptions.RollForward;
452
json
[
"framework"] = SerializeFramework(runtimeOptions.Framework);
457
json
[
"frameworks"] = SerializeFrameworks(runtimeOptions.Frameworks);
462
json
[
"includedFrameworks"] = SerializeFrameworks(runtimeOptions.IncludedFrameworks);
475
json
[
"additionalProbingPaths"] = probingPaths;
483
json
[
rawOption.Key] = rawOption.Value?.DeepClone();
509
json
[
"name"] = framework.Name;
514
json
[
"version"] = framework.Version;
Microsoft.TemplateEngine.Cli (5)
Alias\AliasRegistry.cs (2)
158
commandAliases
[
kvp.Key] = arr;
160
root
[
"CommandAliases"] = commandAliases;
PostActionProcessors\AddJsonPropertyPostActionProcessor.cs (3)
200
parentProperty
[
newJsonPropertyName] = JsonNode.Parse(newJsonPropertyValue);
204
parentProperty
[
newJsonPropertyName] = newJsonPropertyValue;
231
node
[
property] = childNode = new JsonObject();
Microsoft.TemplateEngine.Edge (1)
parent\Shared\JExtensions.cs (1)
649
target
[
property.Key] = property.Value != null
Microsoft.TemplateEngine.Orchestrator.RunnableProjects (1)
parent\Shared\JExtensions.cs (1)
649
target
[
property.Key] = property.Value != null
Microsoft.TemplateEngine.Utils (1)
parent\Shared\JExtensions.cs (1)
649
target
[
property.Key] = property.Value != null
Microsoft.TemplateSearch.Common (1)
parent\Shared\JExtensions.cs (1)
649
target
[
property.Key] = property.Value != null
MSBuild (13)
JsonOutputFormatter.cs (12)
39
propertiesNode
[
property] = getProperty(property);
42
_topLevelNode
[
"Properties"] = propertiesNode;
61
jsonItem
[
"Identity"] = item.GetMetadataValue("Identity");
69
jsonItem
[
metadatumName] = TryGetMetadataValue(item, metadatumName);
75
itemsNode
[
itemName] = itemArray;
78
_topLevelNode
[
"Items"] = itemsNode;
95
targetResults
[
"Result"] = targetResult.ResultCode.ToString();
100
jsonItem
[
"Identity"] = item.GetMetadata("Identity");
108
jsonItem
[
metadatumName] = TryGetMetadata(item, metadatumName);
114
targetResults
[
"Items"] = outputArray;
115
targetResultsNode
[
targetName] = targetResults;
118
_topLevelNode
[
"TargetResults"] = targetResultsNode;
XMake.cs (1)
4794
jsonNode
[
featureName] = Features.CheckFeatureAvailability(featureName).ToString();
NuGet.Protocol (7)
Plugins\Logging\AssemblyLogMessage.cs (2)
49
message
[
"file version"] = _fileVersion;
54
message
[
"informational version"] = _informationalVersion;
Plugins\Logging\EnvironmentVariablesLogMessage.cs (3)
38
message
[
"handshake timeout in seconds"] = _handshakeTimeout.Value;
43
message
[
"idle timeout in seconds"] = _idleTimeout.Value;
48
message
[
"request timeout in seconds"] = _requestTimeout.Value;
Plugins\Logging\PluginInstanceLogMessage.cs (1)
38
message
[
"process ID"] = _processId.Value;
Plugins\Logging\TaskLogMessage.cs (1)
40
message
[
"current task ID"] = _currentTaskId.Value;
sdk-tasks (2)
UpdateRuntimeConfig.cs (2)
61
framework
[
"version"] = MicrosoftNetCoreAppVersion;
65
framework
[
"version"] = MicrosoftAspNetCoreAppVersion;
SelectTests (1)
Program.cs (1)
594
selection
[
name] = value;
System.Text.Json (1)
System\Text\Json\Serialization\Converters\Node\JsonObjectConverter.cs (1)
36
jObject
[
propertyName] = jNodeValue;
TestProject.AppHost (2)
TestProgram.cs (2)
178
root
[
project.Name] = projectJson;
181
projectJson
[
"Endpoints"] = endpointsJsonArray;
1201 references to
aspire (61)
Agents\ClaudeCode\ClaudeCodeAgentEnvironmentScanner.cs (2)
194
if (!config.ContainsKey("mcpServers") || config
[
"mcpServers"] is not JsonObject)
199
var servers = config
[
"mcpServers"]!.AsObject();
Agents\Copilot\CopilotAgentEnvironmentScanner.cs (2)
167
if (!config.ContainsKey("mcpServers") || config
[
"mcpServers"] is not JsonObject)
172
var servers = config
[
"mcpServers"]!.AsObject();
Agents\Hooks\TelemetryHookConfigurator.cs (1)
339
var executable = hook
[
"command"] is JsonValue executableValue && executableValue.TryGetValue<string>(out var executableText)
Agents\OpenCode\OpenCodeAgentEnvironmentScanner.cs (2)
185
if (!config.ContainsKey("mcp") || config
[
"mcp"] is not JsonObject)
190
var mcp = config
[
"mcp"]!.AsObject();
Agents\VsCode\VsCodeAgentEnvironmentScanner.cs (2)
239
if (!config.ContainsKey("servers") || config
[
"servers"] is not JsonObject)
244
var servers = config
[
"servers"]!.AsObject();
Commands\InitCommand.cs (14)
567
if (settings
[
"appHost"] is not JsonObject appHost)
577
if (language is not null && appHost
[
"language"] is null)
587
if (!string.IsNullOrEmpty(channel) && settings
[
"channel"] is null)
602
var existingProfilesObject = settings
[
"profiles"] as JsonObject;
727
if (profiles
[
"https"] is not JsonObject https || profiles
[
"http"] is not JsonObject http)
732
var httpsEnv = https
[
"environmentVariables"] as JsonObject;
733
var httpEnv = http
[
"environmentVariables"] as JsonObject;
739
if (!TryParseHostPort(https
[
"applicationUrl"]?.GetValue<string>(), "https", out var dashboardHttps)
740
|| !TryParseHostPort(http
[
"applicationUrl"]?.GetValue<string>(), "http", out var dashboardHttp)
741
|| !TryParseHostPort(httpsEnv
[
KnownConfigNames.DashboardOtlpGrpcEndpointUrl]?.GetValue<string>(), "https", out var otlpHttps)
742
|| !TryParseHostPort(httpEnv
[
KnownConfigNames.DashboardOtlpGrpcEndpointUrl]?.GetValue<string>(), "http", out var otlpHttp)
743
|| !TryParseHostPort(httpsEnv
[
KnownConfigNames.ResourceServiceEndpointUrl]?.GetValue<string>(), "https", out var resourceServiceHttps)
744
|| !TryParseHostPort(httpEnv
[
KnownConfigNames.ResourceServiceEndpointUrl]?.GetValue<string>(), "http", out var resourceServiceHttp))
Configuration\ConfigurationService.cs (5)
236
if (!currentObject.ContainsKey(part) || currentObject
[
part] is not JsonObject)
241
currentObject = currentObject
[
part]!.AsObject();
266
if (settings.ContainsKey(partialKey) && settings
[
partialKey] is not JsonObject)
298
if (!currentObject.ContainsKey(part) || currentObject
[
part] is not JsonObject)
303
currentObject = currentObject
[
part]!.AsObject();
Migrations\TypeScriptAppHostMigration.cs (4)
201
root
[
"appHost"] is not JsonObject appHost ||
202
appHost
[
"path"] is not JsonValue pathValue ||
248
root
[
"include"] is not JsonArray include)
288
root
[
"scripts"] is not JsonObject scripts)
Npm\SigstoreNpmProvenanceChecker.cs (2)
211
var predicateTypeNode = attestationObj
[
"predicateType"];
232
var bundleNode = attestationObj
[
"bundle"];
Projects\RepositoryToolUpdater.cs (5)
283
var isRoot = !isNpm && content
[
"isRoot"]?.GetValue<bool>() == true;
289
if (content
[
section] is JsonObject dependencies && dependencies
[
NpmPackageId] is { } version)
295
else if (content
[
"tools"] is JsonObject tools)
301
references.Add(new(properties, "version", properties
[
"version"]?.GetValue<string>() ?? throw new JsonException("Missing tool version.")));
Scaffolding\PackageJsonMerger.cs (13)
97
var scaffoldScripts = scaffold
[
ScriptsKey]?.AsObject();
123
var targetValue = existing
[
key];
164
else if (existingScripts
[
name] is not null)
207
if (scripts
[
unprefixed] is null)
222
var scaffoldDeps = scaffold
[
sectionName]?.AsObject();
237
var existingVersionNode = existingDeps
[
packageName];
264
if (existing
[
sectionName] is not JsonObject existingDeps)
269
var existingVersionNode = existingDeps
[
packageName];
293
var scaffoldEngines = scaffold
[
EnginesKey]?.AsObject();
313
else if (existingEngines
[
key] is null)
334
var targetValue = target
[
key];
350
if (parent
[
propertyName] is JsonObject obj)
355
if (parent
[
propertyName] is not null)
Scaffolding\ScaffoldingService.cs (4)
387
if (parent
[
propertyName] is JsonObject obj)
415
if (scripts
[
scriptName] is JsonValue existingScriptValue &&
422
if (scripts
[
scriptName] is not null)
678
if (existing
[
key] is not { } existingValue)
Utils\ConfigurationHelper.cs (5)
364
if (!currentObject.ContainsKey(part) || currentObject
[
part] is null)
368
else if (currentObject
[
part] is JsonObject)
370
currentObject = currentObject
[
part]!.AsObject();
381
currentObject = currentObject
[
part]!.AsObject();
392
if (currentObject.ContainsKey(finalKey) && currentObject
[
finalKey] is not null)
Aspire.Cli.EndToEnd.Tests (51)
CSharpInitTests.cs (4)
128
Assert.Equal("apphost.cs", config
[
"appHost"]?["path"]?.GetValue<string>());
143
Assert.Empty(Assert.IsType<JsonArray>(description
[
"resources"]));
198
var appHostNode = config
[
"appHost"];
204
var language = appHostNode
[
"language"]?.GetValue<string>();
Helpers\IntegrationHostLifetimeTestHelper.cs (2)
103
config
[
"features"]!.AsObject()["experimentalHostingIntegrations"] = true;
105
var packages = config
[
"packages"]!.AsObject();
ProjectReferenceTests.cs (1)
118
var packages = config
[
"packages"] as JsonObject ?? new JsonObject();
RepositoryToolUpdateTests.cs (4)
198
expectedDotnet
[
"tools"]!["aspire.cli"]!["version"] = dotnetVersion;
203
expectedNpm
[
"dependencies"]!["@microsoft/aspire-cli"] = npmVersion;
204
expectedNpm
[
"devDependencies"]!["@microsoft/aspire-cli"] = "^" + npmVersion;
205
expectedNpm
[
"optionalDependencies"]!["@microsoft/aspire-cli"] = "~" + npmVersion;
SelfUpdateChannelPersistenceTests.cs (1)
113
Assert.Equal("staging", updatedConfig
[
"channel"]?.GetValue<string>());
SingleFileAppHostInitDotnetRunTests.cs (6)
89
var httpsProfile = runJson
[
"profiles"]?["https"]?.AsObject();
91
Assert.Equal("Project", httpsProfile
[
"commandName"]?.GetValue<string>());
92
Assert.False(string.IsNullOrWhiteSpace(httpsProfile
[
"applicationUrl"]?.GetValue<string>()));
93
var httpsEnv = httpsProfile
[
"environmentVariables"]?.AsObject();
95
Assert.False(string.IsNullOrWhiteSpace(httpsEnv
[
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"]?.GetValue<string>()));
96
Assert.False(string.IsNullOrWhiteSpace(httpsEnv
[
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL"]?.GetValue<string>()));
TypeScriptLegacyAppHostTests.cs (1)
137
var appHost = configJson
[
"appHost"]!.AsObject();
TypeScriptMigrateAppHostTests.cs (2)
124
var appHost = configJson
[
"appHost"]!.AsObject();
216
var includes = tsconfig
[
"include"]!.AsArray().Select(n => n!.GetValue<string>()).ToArray();
TypeScriptPolyglotTests.cs (30)
449
var scripts = packageJson
[
"scripts"]!.AsObject();
450
originalDevScript = scripts
[
"dev"]?.GetValue<string>();
451
originalBuildScript = scripts
[
"build"]?.GetValue<string>();
452
originalPreviewScript = scripts
[
"preview"]?.GetValue<string>();
453
originalPackageType = packageJson
[
"type"]?.GetValue<string>();
480
scripts = packageJson
[
"scripts"]!.AsObject();
482
Assert.Equal(originalDevScript, scripts
[
"dev"]?.GetValue<string>());
483
Assert.Equal(originalBuildScript, scripts
[
"build"]?.GetValue<string>());
484
Assert.Equal(originalPreviewScript, scripts
[
"preview"]?.GetValue<string>());
485
Assert.Equal("custom-apphost-start", scripts
[
"aspire:start"]?.GetValue<string>());
486
Assert.Equal("npm --prefix aspire-apphost run aspire:build", scripts
[
"aspire:build"]?.GetValue<string>());
487
Assert.Equal("npm --prefix aspire-apphost run aspire:dev", scripts
[
"aspire:dev"]?.GetValue<string>());
488
Assert.Equal(originalPackageType, packageJson
[
"type"]?.GetValue<string>());
490
var rootDependencies = packageJson
[
"dependencies"]?.AsObject();
491
var rootDevDependencies = packageJson
[
"devDependencies"]?.AsObject();
505
var appHostScripts = appHostPackageJson
[
"scripts"]!.AsObject();
506
var appHostDependencies = appHostPackageJson
[
"dependencies"]!.AsObject();
507
var appHostDevDependencies = appHostPackageJson
[
"devDependencies"]!.AsObject();
508
Assert.Equal("module", appHostPackageJson
[
"type"]?.GetValue<string>());
509
Assert.Equal("aspire-apphost", appHostPackageJson
[
"name"]?.GetValue<string>());
510
Assert.Equal("aspire run", appHostScripts
[
"aspire:start"]?.GetValue<string>());
511
Assert.NotNull(appHostDependencies
[
"vscode-jsonrpc"]);
512
Assert.NotNull(appHostDevDependencies
[
"@types/node"]);
513
Assert.NotNull(appHostDevDependencies
[
"nodemon"]);
514
Assert.NotNull(appHostDevDependencies
[
"tsx"]);
515
Assert.NotNull(appHostDevDependencies
[
"typescript"]);
521
var appHost = config
[
"appHost"]!.AsObject();
522
Assert.Equal("aspire-apphost/apphost.mts", appHost
[
"path"]?.GetValue<string>());
523
var packagesNode = config
[
"packages"];
526
Assert.NotNull(packages
[
"Aspire.Hosting.JavaScript"]);
Aspire.Cli.Tests (334)
Agents\CopilotAgentEnvironmentScannerTests.cs (9)
62
var servers = config
[
"mcpServers"]?.AsObject();
66
var aspireServer = servers
[
"aspire"]?.AsObject();
68
Assert.Equal("local", aspireServer
[
"type"]?.GetValue<string>());
69
Assert.Equal("aspire", aspireServer
[
"command"]?.GetValue<string>());
71
var args = aspireServer
[
"args"]?.AsArray();
78
var env = aspireServer
[
"env"]?.AsObject();
81
Assert.Equal("${DOTNET_ROOT}", env
[
"DOTNET_ROOT"]?.GetValue<string>());
84
var tools = aspireServer
[
"tools"]?.AsArray();
141
var servers = config
[
"mcpServers"]?.AsObject();
Agents\TelemetryHookConfiguratorTests.cs (20)
31
Assert.Equal(1, (int)root
[
"version"]!);
33
var entry = root
[
"hooks"]!["postToolUse"]!.AsArray()[0]!.AsObject();
34
Assert.Equal("command", (string)entry
[
"type"]!);
36
Assert.Equal(30, (int)entry
[
"timeoutSec"]!);
38
Assert.Equal(command, (string)entry
[
"exec"]!);
39
Assert.Equal(args, entry
[
"args"]!.AsArray().Select(arg => (string)arg!));
95
Assert.Equal("command", (string)entry
[
"type"]!);
96
Assert.Equal(30, (int)entry
[
"timeout"]!);
99
Assert.Equal(command, (string)entry
[
"command"]!);
100
Assert.Equal(args, entry
[
"args"]!.AsArray().Select(arg => (string)arg!));
149
Assert.Equal("claude-opus", (string)root
[
"model"]!);
151
var postToolUse = root
[
"hooks"]!["PostToolUse"]!.AsArray();
239
&& hook
[
"args"]!.AsArray().Select(arg => (string)arg!).SequenceEqual(args));
302
return root
[
"hooks"]!["PostToolUse"]!.AsArray();
310
&& obj
[
"hooks"] is JsonArray hooks
317
&& (JsonValueHasTelemetryScript(ho
[
"command"])
318
|| (ho
[
"args"] is JsonArray args && args.Any(JsonValueHasTelemetryScript)));
325
&& obj
[
"hooks"] is JsonArray hooks
327
&& ho
[
"command"] is JsonValue v
334
if (group is JsonObject obj && obj
[
"hooks"] is JsonArray hooks)
Agents\VsCodeAgentEnvironmentScannerTests.cs (8)
146
var servers = config
[
"servers"]?.AsObject();
150
var aspireServer = servers
[
"aspire"]?.AsObject();
152
Assert.Equal("stdio", aspireServer
[
"type"]?.GetValue<string>());
153
Assert.Equal("aspire", aspireServer
[
"command"]?.GetValue<string>());
155
var args = aspireServer
[
"args"]?.AsArray();
198
var servers = config
[
"servers"]?.AsObject();
243
Assert.Equal("stdio", aspireServer
[
"type"]?.GetValue<string>());
244
Assert.Equal("aspire", aspireServer
[
"command"]?.GetValue<string>());
Commands\ConfigCommandTests.cs (39)
135
Assert.Equal("bar", settings
[
"foo"]?.ToString());
161
Assert.True(settings
[
"docs"] is JsonObject);
162
var docsObject = settings
[
"docs"]!.AsObject();
163
Assert.Equal("http://localhost:4321/llms-small.txt", docsObject
[
"llmsTxtUrl"]?.ToString());
164
Assert.True(docsObject
[
"api"] is JsonObject);
165
Assert.Equal("http://localhost:4321/sitemap-0.xml", docsObject
[
"api"]?["sitemapUrl"]?.ToString());
193
Assert.Equal("firefox=/profiles/firefox", settings
[
"certificates"]?["nssDbPaths"]?.ToString());
233
Assert.Equal(image, settings
[
"containerTunnel"]?["baseImage"]?.ToString());
274
Assert.True(settings
[
"foo"] is JsonObject);
275
var fooObject = settings
[
"foo"]!.AsObject();
276
Assert.Equal("baz", fooObject
[
"bar"]?.ToString());
300
Assert.True(settings
[
"foo"] is JsonObject);
301
var fooObject = settings
[
"foo"]!.AsObject();
302
Assert.True(fooObject
[
"bar"] is JsonObject);
303
var barObject = fooObject
[
"bar"]!.AsObject();
304
Assert.Equal("hello", barObject
[
"baz"]?.ToString());
332
Assert.True(settings
[
"foo"] is JsonObject);
333
var fooObject = settings
[
"foo"]!.AsObject();
334
Assert.Equal("nested", fooObject
[
"bar"]?.ToString());
783
Assert.True(settings
[
"features"] is JsonObject);
784
var featuresObject = settings
[
"features"]!.AsObject();
785
Assert.Equal("true", featuresObject
[
"polyglotSupportEnabled"]?.ToString());
809
var features = Assert.IsType<JsonObject>(json
[
"features"]);
863
Assert.True(settings
[
"features"] is JsonObject);
864
var featuresObject = settings
[
"features"]!.AsObject();
865
Assert.Equal("false", featuresObject
[
"polyglotSupportEnabled"]?.ToString());
894
Assert.True(settings
[
"features"] is JsonObject);
895
var featuresObject = settings
[
"features"]!.AsObject();
896
Assert.Equal("false", featuresObject
[
"polyglotSupportEnabled"]?.ToString());
954
Assert.True(settings
[
"features"] is JsonObject);
955
var featuresObject = settings
[
"features"]!.AsObject();
956
Assert.Equal("false", featuresObject
[
"polyglotSupportEnabled"]?.ToString());
987
var featuresObject = settings
[
"features"]!.AsObject();
988
Assert.Equal("nested-value", featuresObject
[
"polyglotSupportEnabled"]?.ToString());
1013
var appHost = settings
[
"appHost"]?.AsObject();
1015
Assert.Equal("AppHost.csproj", appHost
[
"path"]?.ToString());
1043
Assert.Equal("daily", settings
[
"channel"]?.ToString());
1044
var appHost = settings
[
"appHost"]?.AsObject();
1046
Assert.Equal("AppHost.csproj", appHost
[
"path"]?.ToString());
Commands\InitCommandTests.cs (50)
226
Assert.Equal("apphost.cs", config
[
"appHost"]!["path"]!.GetValue<string>());
268
var appHost = config
[
"appHost"]!.AsObject();
269
Assert.Equal("apphost.cs", appHost
[
"path"]!.GetValue<string>());
270
Assert.Null(appHost
[
"language"]);
296
var profiles = runJson
[
"profiles"]!.AsObject();
298
var https = profiles
[
"https"]!.AsObject();
299
Assert.Equal("Project", https
[
"commandName"]!.GetValue<string>());
300
Assert.True(https
[
"dotnetRunMessages"]!.GetValue<bool>());
301
var httpsUrls = https
[
"applicationUrl"]!.GetValue<string>();
303
var httpsEnv = https
[
"environmentVariables"]!.AsObject();
304
Assert.Equal("Development", httpsEnv
[
KnownAspNetCoreConfigNames.Environment]!.GetValue<string>());
305
Assert.Equal("Development", httpsEnv
[
KnownAspNetCoreConfigNames.DotNetEnvironment]!.GetValue<string>());
306
Assert.StartsWith("https://localhost:", httpsEnv
[
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"]!.GetValue<string>());
307
Assert.StartsWith("https://localhost:", httpsEnv
[
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL"]!.GetValue<string>());
309
var http = profiles
[
"http"]!.AsObject();
310
Assert.Equal("Project", http
[
"commandName"]!.GetValue<string>());
311
var httpEnv = http
[
"environmentVariables"]!.AsObject();
312
Assert.Equal("Development", httpEnv
[
KnownAspNetCoreConfigNames.Environment]!.GetValue<string>());
313
Assert.StartsWith("http://localhost:", httpEnv
[
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"]!.GetValue<string>());
314
Assert.StartsWith("http://localhost:", httpEnv
[
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL"]!.GetValue<string>());
315
Assert.Equal("true", httpEnv
[
"ASPIRE_ALLOW_UNSECURED_TRANSPORT"]!.GetValue<string>());
320
var aspireProfiles = aspireConfig
[
"profiles"]!.AsObject();
322
aspireProfiles
[
"https"]!["applicationUrl"]!.GetValue<string>(),
325
aspireProfiles
[
"http"]!["applicationUrl"]!.GetValue<string>(),
326
http
[
"applicationUrl"]!.GetValue<string>());
374
var profiles = runJson
[
"profiles"]!.AsObject();
375
var https = profiles
[
"https"]!.AsObject();
376
var http = profiles
[
"http"]!.AsObject();
378
Assert.Equal("https://localhost:18000;http://localhost:18001", https
[
"applicationUrl"]!.GetValue<string>());
379
Assert.Equal("https://localhost:18002", https
[
"environmentVariables"]!["ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"]!.GetValue<string>());
380
Assert.Equal("https://localhost:18003", https
[
"environmentVariables"]!["ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL"]!.GetValue<string>());
381
Assert.Equal("http://localhost:18001", http
[
"applicationUrl"]!.GetValue<string>());
382
Assert.Equal("http://localhost:18005", http
[
"environmentVariables"]!["ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"]!.GetValue<string>());
383
Assert.Equal("http://localhost:18006", http
[
"environmentVariables"]!["ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL"]!.GetValue<string>());
427
var preservedProfiles = aspireConfig
[
"profiles"]!.AsObject();
429
var preservedHttps = preservedProfiles
[
"https"]!.AsObject();
430
Assert.Equal("https://localhost:18000", preservedHttps
[
"applicationUrl"]!.GetValue<string>());
431
var preservedEnv = preservedHttps
[
"environmentVariables"]!.AsObject();
432
Assert.Equal("custom-value", preservedEnv
[
"MY_CUSTOM_VAR"]!.GetValue<string>());
566
var appHost = config
[
"appHost"]!.AsObject();
567
Assert.Equal("apphost.mts", appHost
[
"path"]!.GetValue<string>());
568
Assert.Equal("typescript/nodejs", appHost
[
"language"]!.GetValue<string>());
868
Assert.Equal("apphost.cs", merged
[
"appHost"]!.AsObject()["path"]!.GetValue<string>());
870
Assert.Equal("stable", merged
[
"channel"]!.GetValue<string>());
871
Assert.True(merged
[
"features"]!.AsObject()["polyglotSupportEnabled"]!.GetValue<bool>());
1317
Assert.Null(config
[
"channel"]);
1321
Assert.Equal(contextChannel, config
[
"channel"]!.GetValue<string>());
1354
Assert.Equal("pr-99999", config
[
"channel"]!.GetValue<string>());
1386
Assert.Null(config
[
"channel"]);
1430
Assert.Null(config
[
"channel"]);
Commands\OperatingSystemCheckTests.cs (8)
28
Assert.Equal("Linux", result.Metadata
[
"osType"]!.GetValue<string>());
29
Assert.Equal("Linux Ubuntu", result.Metadata
[
"displayName"]!.GetValue<string>());
30
Assert.Equal("24.04", result.Metadata
[
"version"]!.GetValue<string>());
31
Assert.Equal("Ubuntu 24.04.2 LTS", result.Metadata
[
"description"]!.GetValue<string>());
50
Assert.Equal("unknown", result.Metadata
[
"osType"]!.GetValue<string>());
51
Assert.Equal("unknown", result.Metadata
[
"displayName"]!.GetValue<string>());
52
Assert.Equal("1.2.3", result.Metadata
[
"version"]!.GetValue<string>());
53
Assert.Equal("Unknown OS description", result.Metadata
[
"description"]!.GetValue<string>());
Commands\ResourceCommandHelperTests.cs (1)
143
Assert.Equal("#submit", connection.ExecuteResourceCommandArguments
[
"selector"]!.GetValue<string>());
Commands\TelemetryTracesCommandTests.cs (2)
141
Assert.Equal("abc1234567890def", item
[
"traceId"]!.GetValue<string>());
143
var dashboardUrl = item
[
"dashboardUrl"]!.GetValue<string>();
Commands\UpdateCommandRepositoryToolsTests.cs (5)
54
Assert.Equal("^13.4.0", packageJson
[
"devDependencies"]![RepositoryToolUpdater.NpmPackageId]!.GetValue<string>());
88
dotnet
[
"tools"]!["aspire.cli"]!["version"] = "99.0.0";
91
npm
[
"devDependencies"]![RepositoryToolUpdater.NpmPackageId] = "^99.0.0";
546
Assert.Equal(targetVersion, config
[
"sdk"]!["version"]!.GetValue<string>());
547
Assert.Equal("daily", config
[
"channel"]!.GetValue<string>());
Commands\VsCodeExtensionCheckTests.cs (6)
51
Assert.True(result.Metadata
[
"vsCodeInstalled"]!.GetValue<bool>());
52
Assert.False(result.Metadata
[
"extensionInstalled"]!.GetValue<bool>());
53
Assert.Equal(VsCodeExtensionCheck.ExtensionId, result.Metadata
[
"extensionId"]!.GetValue<string>());
80
Assert.True(result.Metadata
[
"vsCodeInstalled"]!.GetValue<bool>());
81
Assert.True(result.Metadata
[
"extensionInstalled"]!.GetValue<bool>());
82
Assert.Equal(VsCodeExtensionCheck.ExtensionId, result.Metadata
[
"extensionId"]!.GetValue<string>());
Configuration\ConfigurationHelperTests.cs (6)
191
Assert.Equal(JsonValueKind.True, normalized
[
"features"]!["enabled"]!.GetValueKind());
192
Assert.Equal(JsonValueKind.False, normalized
[
"features"]!["disabled"]!.GetValueKind());
193
Assert.Equal(JsonValueKind.Number, normalized
[
"settings"]!["count"]!.GetValueKind());
194
Assert.Equal(JsonValueKind.Array, normalized
[
"settings"]!["values"]!.GetValueKind());
195
Assert.Equal(JsonValueKind.Object, normalized
[
"settings"]!["object"]!.GetValueKind());
196
Assert.Null(normalized
[
"settings"]!["nullable"]);
Mcp\ExecuteResourceCommandToolTests.cs (5)
92
Assert.Equal("#submit", connection.ExecuteResourceCommandArguments
[
"selector"]!.GetValue<string>());
113
Assert.Equal("3", connection.ExecuteResourceCommandArguments
[
"count"]!.GetValue<string>());
114
Assert.Equal("true", connection.ExecuteResourceCommandArguments
[
"urgent"]!.GetValue<string>());
115
Assert.Equal("1.5", connection.ExecuteResourceCommandArguments
[
"ratio"]!.GetValue<string>());
116
Assert.Null(connection.ExecuteResourceCommandArguments
[
"optional"]);
Mcp\ListStructuredLogsToolTests.cs (11)
311
Assert.Equal("api-service-instance-1", firstLog
[
"resourceName"]?.GetValue<string>());
312
Assert.Equal(42, firstLog
[
"logId"]?.GetValue<long>());
313
var firstLogAttributes = firstLog
[
"attributes"]?.AsObject();
319
Assert.Equal("http://localhost:18888/structuredlogs?logEntryId=42", firstLog
[
"dashboardUrl"]?.GetValue<string>());
324
Assert.Equal("api-service-instance-2", secondLog
[
"resourceName"]?.GetValue<string>());
325
Assert.Equal(43, secondLog
[
"logId"]?.GetValue<long>());
326
var secondLogAttributes = secondLog
[
"attributes"]?.AsObject();
330
Assert.Equal("http://localhost:18888/structuredlogs?logEntryId=43", secondLog
[
"dashboardUrl"]?.GetValue<string>());
335
Assert.Equal("worker-service", thirdLog
[
"resourceName"]?.GetValue<string>());
336
Assert.Equal(44, thirdLog
[
"logId"]?.GetValue<long>());
338
Assert.Equal("http://localhost:18888/structuredlogs?logEntryId=44", thirdLog
[
"dashboardUrl"]?.GetValue<string>());
Mcp\ListTracesToolTests.cs (13)
236
Assert.Equal("abc123def456789012345678901234567890", firstTrace
[
"traceId"]?.GetValue<string>());
239
var spans = firstTrace
[
"spans"]?.AsArray();
244
Assert.Equal("http://localhost:18888/traces/detail/abc123def456789012345678901234567890", firstTrace
[
"dashboardUrl"]?.GetValue<string>());
249
Assert.Equal("api-service-instance-1", serverSpan
[
"source"]?.GetValue<string>());
250
Assert.Null(serverSpan
[
"destination"]);
255
Assert.Equal("api-service-instance-2", clientSpan
[
"source"]?.GetValue<string>());
256
Assert.Equal("catalog-service", clientSpan
[
"destination"]?.GetValue<string>());
261
Assert.Equal("xyz789abc123456789012345678901234567890", secondTrace
[
"traceId"]?.GetValue<string>());
263
Assert.Equal("http://localhost:18888/traces/detail/xyz789abc123456789012345678901234567890", secondTrace
[
"dashboardUrl"]?.GetValue<string>());
266
var secondTraceSpans = secondTrace
[
"spans"]?.AsArray();
273
Assert.Equal("Internal", internalSpan
[
"kind"]?.GetValue<string>());
274
Assert.Equal("worker-service", internalSpan
[
"source"]?.GetValue<string>());
275
Assert.Null(internalSpan
[
"destination"]);
Migrations\TypeScriptAppHostMigrationTests.cs (7)
62
Assert.Equal(KnownLanguageId.TypeScript, descriptor.Metadata
[
"language"]!.GetValue<string>());
63
Assert.Equal(appHostPath, descriptor.Metadata
[
"appHostPath"]!.GetValue<string>());
190
Assert.Equal("apphost.mts", config
[
"appHost"]!["path"]!.GetValue<string>());
193
var includes = tsconfig
[
"include"]!.AsArray().Select(n => n!.GetValue<string>()).ToArray();
197
var scripts = packageJson
[
"scripts"]!;
198
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]!.GetValue<string>());
199
Assert.Equal("eslint apphost.mts", scripts
[
"aspire:lint"]!.GetValue<string>());
Projects\GuestAppHostProjectTests.cs (1)
1214
expectedManifest
[
"devDependencies"]!["@microsoft/aspire-cli"] = "2.0.0";
Projects\ProjectUpdaterTests.cs (12)
220
document
[
"Items"]!["PackageReference"]!.AsArray()[0]!["DefiningProjectFullPath"] =
1099
itemsAndProperties
[
"Items"]!["PackageReference"]!.AsArray().Clear(); // Then clear it
1106
itemsAndProperties
[
"Items"]!["PackageReference"]!.AsArray().Clear(); // Then clear it
4421
properties = root
[
"Properties"]!.AsObject();
4436
items = root
[
"Items"]!.AsObject();
4455
var items = root
[
"Items"]!.AsObject();
4456
var packageReferences = items
[
"PackageReference"]!.AsArray();
4471
var items = root
[
"Items"]!.AsObject();
4472
var packageReferences = items
[
"PackageReference"]!.AsArray();
4487
var items = root
[
"Items"]!.AsObject();
4488
var projectReferences = items
[
"ProjectReference"]!.AsArray();
4504
properties = root
[
"Properties"]!.AsObject();
Scaffolding\PackageJsonMergerTests.cs (100)
57
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
58
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
61
Assert.Equal("aspire run", scripts
[
"aspire:dev"]?.GetValue<string>());
62
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
65
Assert.Equal("eslint apphost.ts", scripts
[
"lint"]?.GetValue<string>());
94
Assert.Equal("jest", scripts
[
"test"]?.GetValue<string>());
97
Assert.Equal("aspire run", scripts
[
"dev"]?.GetValue<string>());
98
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"build"]?.GetValue<string>());
99
Assert.Equal("eslint apphost.ts", scripts
[
"lint"]?.GetValue<string>());
131
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
132
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
135
Assert.Equal("custom start", scripts
[
"aspire:start"]?.GetValue<string>());
136
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
137
Assert.Equal("tsc --watch -p tsconfig.apphost.json", scripts
[
"aspire:dev"]?.GetValue<string>());
138
Assert.Equal("eslint apphost.ts", scripts
[
"aspire:lint"]?.GetValue<string>());
169
Assert.Equal("npm run aspire:start", scripts
[
"start"]?.GetValue<string>());
170
Assert.Equal("npm run aspire:lint", scripts
[
"lint"]?.GetValue<string>());
173
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
174
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
201
Assert.Equal("yarn run aspire:start", scripts
[
"start"]?.GetValue<string>());
226
Assert.Equal("deno task aspire:start", scripts
[
"start"]?.GetValue<string>());
227
Assert.Equal("deno task aspire:dev", scripts
[
"dev"]?.GetValue<string>());
259
Assert.Equal("node server.js", scripts
[
"start"]?.GetValue<string>());
260
Assert.Equal("prettier --check .", scripts
[
"lint"]?.GetValue<string>());
261
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
262
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
265
Assert.Equal("aspire run", scripts
[
"aspire:start"]?.GetValue<string>());
266
Assert.Equal("eslint apphost.ts", scripts
[
"aspire:lint"]?.GetValue<string>());
267
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
271
Assert.Equal("node server.js", scripts
[
"start"]?.GetValue<string>());
272
Assert.Equal("prettier --check .", scripts
[
"lint"]?.GetValue<string>());
302
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
303
Assert.Equal("jest", scripts
[
"test"]?.GetValue<string>());
306
Assert.Equal("aspire run", scripts
[
"aspire:dev"]?.GetValue<string>());
309
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"build"]?.GetValue<string>());
312
Assert.Equal("eslint apphost.ts", scripts
[
"aspire:lint"]?.GetValue<string>());
313
Assert.Equal("npm run aspire:lint", scripts
[
"lint"]?.GetValue<string>());
395
Assert.Equal("my-existing-app", json
[
"name"]?.GetValue<string>());
396
Assert.Equal("3.0.0", json
[
"version"]?.GetValue<string>());
397
Assert.Equal("My cool app", json
[
"description"]?.GetValue<string>());
398
Assert.True(json
[
"private"]?.GetValue<bool>());
399
Assert.Equal("module", json
[
"type"]?.GetValue<string>());
402
Assert.Equal("^20.19.0 || ^22.13.0 || >=24", json
[
"engines"]?["node"]?.GetValue<string>());
470
Assert.Equal("my-app", json
[
"name"]?.GetValue<string>());
544
Assert.Equal("aspire run", scripts
[
"dev"]?.GetValue<string>());
545
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"build"]?.GetValue<string>());
546
Assert.Equal("eslint apphost.ts", scripts
[
"lint"]?.GetValue<string>());
599
var scripts = json
[
"scripts"]!.AsObject();
602
Assert.Equal("vite-project", json
[
"name"]?.GetValue<string>());
603
Assert.Equal("1.0.0", json
[
"version"]?.GetValue<string>());
606
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
607
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
608
Assert.Equal("eslint . --ext .ts,.tsx", scripts
[
"lint"]?.GetValue<string>());
609
Assert.Equal("vite preview", scripts
[
"preview"]?.GetValue<string>());
612
Assert.Equal("aspire run", scripts
[
"aspire:dev"]?.GetValue<string>());
613
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
614
Assert.Equal("eslint apphost.ts", scripts
[
"aspire:lint"]?.GetValue<string>());
617
Assert.Equal("tsc --watch -p tsconfig.apphost.json", scripts
[
"watch"]?.GetValue<string>());
660
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
661
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
664
Assert.Equal("aspire run", scripts
[
"aspire:start"]?.GetValue<string>());
665
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
666
Assert.Equal("tsc --watch -p tsconfig.apphost.json", scripts
[
"aspire:dev"]?.GetValue<string>());
667
Assert.Equal("eslint apphost.ts", scripts
[
"aspire:lint"]?.GetValue<string>());
670
Assert.Equal("npm run aspire:start", scripts
[
"start"]?.GetValue<string>());
671
Assert.Equal("npm run aspire:lint", scripts
[
"lint"]?.GetValue<string>());
674
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
675
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
724
Assert.Equal("tsc && vite build", scripts
[
"build"]?.GetValue<string>());
725
Assert.Equal("concurrently \"tsc -w\" \"vite\"", scripts
[
"dev"]?.GetValue<string>());
726
Assert.Equal("vitest run && echo 'done'", scripts
[
"test"]?.GetValue<string>());
727
Assert.Equal("eslint . --ext .ts,.tsx && prettier --check .", scripts
[
"lint"]?.GetValue<string>());
728
Assert.Equal("rm -rf dist && rm -rf node_modules/.cache", scripts
[
"clean"]?.GetValue<string>());
729
Assert.Equal("node server.js | tee output.log", scripts
[
"start"]?.GetValue<string>());
1173
Assert.Equal("^20.19.0 || ^22.13.0 || >=24", engines
[
"node"]?.GetValue<string>());
1201
Assert.Equal("^20.19.0 || ^22.13.0 || >=24", engines
[
"node"]?.GetValue<string>());
1203
Assert.Equal(">=8", engines
[
"npm"]?.GetValue<string>());
1226
Assert.Equal("^20.19.0 || ^22.13.0 || >=24", engines
[
"node"]?.GetValue<string>());
1250
var keywords = doc
[
"keywords"]!.AsArray();
1255
var files = doc
[
"files"]!.AsArray();
1304
Assert.Equal("my-project", doc
[
"name"]!.GetValue<string>());
1305
Assert.Equal("ISC", doc
[
"license"]!.GetValue<string>());
1308
Assert.NotNull(doc
[
"keywords"]);
1309
Assert.IsAssignableFrom<JsonArray>(doc
[
"keywords"]);
1312
var scripts = doc
[
"scripts"]!.AsObject();
1318
Assert.NotNull(doc
[
"dependencies"]?["vscode-jsonrpc"]);
1319
Assert.NotNull(doc
[
"devDependencies"]?["typescript"]);
1322
Assert.Contains(">=24", doc
[
"engines"]?["node"]?.GetValue<string>());
1489
Assert.Equal("vite-brownfield", doc
[
"name"]!.GetValue<string>());
1490
Assert.Equal("2.0.0", doc
[
"version"]!.GetValue<string>());
1491
Assert.Equal("module", doc
[
"type"]!.GetValue<string>());
1494
var scripts = doc
[
"scripts"]!.AsObject();
1495
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
1496
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
1497
Assert.Equal("vite preview", scripts
[
"preview"]?.GetValue<string>());
1500
Assert.Equal("aspire run", scripts
[
"aspire:start"]?.GetValue<string>());
1501
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
1502
Assert.Equal("tsc --watch -p tsconfig.apphost.json", scripts
[
"aspire:dev"]?.GetValue<string>());
1503
Assert.Equal("eslint apphost.ts", scripts
[
"aspire:lint"]?.GetValue<string>());
1518
Assert.Contains(">=24", doc
[
"engines"]?["node"]?.GetValue<string>());
Scaffolding\ScaffoldingServiceTests.cs (19)
127
Assert.Equal("vitest", scripts
[
"test"]?.GetValue<string>());
128
Assert.Equal("pnpm --dir apps/web/aspire-apphost run aspire:start", scripts
[
"aspire:start"]?.GetValue<string>());
129
Assert.Equal("pnpm --dir apps/web/aspire-apphost run aspire:build", scripts
[
"aspire:build"]?.GetValue<string>());
130
Assert.Equal("pnpm --dir apps/web/aspire-apphost run aspire:dev", scripts
[
"aspire:dev"]?.GetValue<string>());
144
Assert.Equal("deno task --cwd apps/web/aspire-apphost aspire:start", scripts
[
"aspire:start"]?.GetValue<string>());
145
Assert.Equal("deno task --cwd apps/web/aspire-apphost aspire:build", scripts
[
"aspire:build"]?.GetValue<string>());
146
Assert.Equal("deno task --cwd apps/web/aspire-apphost aspire:dev", scripts
[
"aspire:dev"]?.GetValue<string>());
169
Assert.Equal("pnpm --dir aspire-apphost run aspire:start", scripts
[
"aspire:start"]?.GetValue<string>());
170
Assert.Equal("pnpm --dir aspire-apphost run aspire:build", scripts
[
"aspire:build"]?.GetValue<string>());
171
Assert.Equal("pnpm --dir aspire-apphost run aspire:dev", scripts
[
"aspire:dev"]?.GetValue<string>());
195
Assert.Equal("custom-start", scripts
[
"aspire:start"]?.GetValue<string>());
196
Assert.Equal("npm --prefix aspire-apphost run aspire:build", scripts
[
"aspire:build"]?.GetValue<string>());
197
Assert.Equal("npm --prefix aspire-apphost run aspire:dev", scripts
[
"aspire:dev"]?.GetValue<string>());
324
Assert.True(merged
[
"editor.formatOnSave"]!.GetValue<bool>());
326
Assert.Equal("automatic", merged
[
"java.compile.nullAnalysis.mode"]!.GetValue<string>());
327
Assert.Equal([".", ".aspire/modules"], merged
[
"java.project.sourcePaths"]!.AsArray().Select(v => v!.GetValue<string>()));
349
merged
[
"java.project.sourcePaths"]!.AsArray().Select(v => v!.GetValue<string>()));
371
Assert.Equal(4, merged
[
"editor.tabSize"]!.GetValue<int>());
372
Assert.Equal(["."], merged
[
"java.project.sourcePaths"]!.AsArray().Select(v => v!.GetValue<string>()));
Telemetry\ReportedLogExportTests.cs (5)
88
var data = envelope
[
"data"]!;
89
var baseData = data
[
"baseData"]!;
90
switch (data
[
"baseType"]!.GetValue<string>())
93
baseData
[
"properties"]!["service.instance.id"] = "instance-id";
94
baseData
[
"properties"]!["service.version"] = "cli-version";
Utils\DevCertsCheckTests.cs (6)
305
var certificates = devCertsResult.Metadata
[
"certificates"]!.AsArray();
309
Assert.Equal("AAAA1111BBBB2222", certNode
[
"thumbprint"]!.GetValue<string>());
310
Assert.Equal(MinVersion, certNode
[
"version"]!.GetValue<int>());
311
Assert.Equal("full", certNode
[
"trustLevel"]!.GetValue<string>());
312
Assert.NotNull(certNode
[
"notBefore"]);
313
Assert.NotNull(certNode
[
"notAfter"]);
Utils\EnvironmentCheckerTests.cs (1)
62
Assert.Equal(0.1, timeoutResult.Metadata
[
"timeoutSeconds"]!.GetValue<double>());
Aspire.Dashboard (10)
Model\GenAI\GenAISchemaHelpers.cs (6)
22
Type = ParseTypeValue(schemaObj
[
"type"]),
23
Description = schemaObj
[
"description"]?.GetValue<string>()
27
if (schemaObj
[
"properties"] is JsonObject propsObj)
40
if (schemaObj
[
"items"] is JsonObject itemsObj)
46
if (schemaObj
[
"required"] is JsonArray requiredArray)
59
if (schemaObj
[
"enum"] is JsonArray enumArray)
Model\GenAI\GenAIVisualizerDialogViewModel.cs (4)
104
Type = obj
[
"type"]?.GetValue<string>() ?? "function",
105
Name = obj
[
"name"]?.GetValue<string>(),
106
Description = obj
[
"description"]?.GetValue<string>()
110
if (obj
[
"parameters"] is JsonObject paramsObj)
Aspire.Dashboard.Tests (6)
Model\GenAIMessageParsingHelperTests.cs (4)
138
Assert.Equal("Seattle", toolCallPart.Arguments
[
"location"]!.GetValue<string>());
153
Assert.Equal("Seattle", toolCallPart.Arguments
[
"location"]!.GetValue<string>());
246
Assert.Equal("latest news", serverToolCallPart.ServerToolCall
[
"query"]!.GetValue<string>());
261
Assert.Equal("web_search", serverToolCallResponsePart.ServerToolCallResponse
[
"type"]!.GetValue<string>());
Model\TelemetryExportServiceTests.cs (2)
1436
Assert.Equal("localhost", connectionPropertiesObject
[
"Host"]?.GetValue<string>());
1437
Assert.Equal("catalogdb", connectionPropertiesObject
[
"DatabaseName"]?.GetValue<string>());
Aspire.Hosting (18)
Dcp\JsonPatch.cs (2)
32
operation
[
"op"] is not JsonValue operationValue ||
33
operation
[
"path"] is not JsonValue pathValue ||
Devcontainers\DevcontainerSettingsWriter.cs (1)
148
let l = attrs
[
"label"]?.ToString()
Pipelines\Internal\FileDeploymentStateManager.cs (5)
439
target
[
name] is JsonObject targetObject)
745
var legacyFallbackDisabled = migrationState
[
LegacyFallbackDisabledProperty]?.GetValue<bool>() ?? false;
746
var legacyStateSnapshot = migrationState
[
LegacyStateProperty] switch
752
var claimedSectionNames = migrationState
[
ClaimedSectionsProperty] switch
758
var currentState = migrationState
[
CurrentStateProperty] switch
Publishing\ContainerImageArchiveRewriter.cs (1)
342
if (index
[
"manifests"] is not JsonArray manifests)
Publishing\ContainerRuntimeBase.cs (9)
195
ReadStringArray(root
[
"Entrypoint"]),
196
ReadStringArray(root
[
"Cmd"]),
197
root
[
"WorkingDir"]?.GetValue<string>());
251
if (TryCreateManifest(item
[
"Descriptor"] as JsonObject, operatingSystem, architecture, out var manifest))
265
if (manifestObject
[
"manifests"] is JsonArray manifests)
278
var descriptor = manifestObject
[
"Descriptor"] as JsonObject ??
279
manifestObject
[
"descriptor"] as JsonObject ??
307
var platform = descriptor
[
"platform"] as JsonObject;
310
var digest = descriptor
[
"digest"]?.GetValue<string>();
Aspire.Hosting.Azure (73)
AzureEnvironmentResource.cs (2)
247
var resourceGroupName = azureStateSection.Data
[
"ResourceGroup"]?.ToString();
248
var subscriptionId = azureStateSection.Data
[
"SubscriptionId"]?.ToString();
AzureProvisioningController.cs (23)
1854
var subscriptionId = section.Data
[
"SubscriptionId"]?.GetValue<string>();
1855
var resourceGroupName = section.Data
[
"ResourceGroup"]?.GetValue<string>();
2507
var deploymentId = section.Data
[
"Id"]?.GetValue<string>();
2511
var outputs = ParseDeploymentStateJson(resource.Name, "Outputs", section.Data
[
"Outputs"]?.GetValue<string>());
2521
["locationOverride"] = section.Data
[
LocationOverrideKey]?.GetValue<string>(),
2522
["checksum"] = section.Data
[
"CheckSum"]?.GetValue<string>(),
2524
["scope"] = ParseDeploymentStateJson(resource.Name, "Scope", section.Data
[
"Scope"]?.GetValue<string>())
2530
if (section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>() is { Length: > 0 } provisioningState)
2742
if (section.Data
[
LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride)
2761
if (section.Data
[
LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride)
3089
=> section.Data
[
"Id"]?.GetValue<string>() is { Length: > 0 } deploymentId ? deploymentId : null;
3093
section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>(),
3154
if (section.Data
[
"Parameters"]?.GetValue<string>() is not { Length: > 0 } parametersJson)
3185
=> section.Data
[
LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride ? locationOverride : null;
3368
section.Data
[
"SubscriptionId"]?.GetValue<string>() ?? provisionerOptions.Value.SubscriptionId ?? configuration["Azure:SubscriptionId"],
3369
section.Data
[
"ResourceGroup"]?.GetValue<string>() ?? provisionerOptions.Value.ResourceGroup ?? configuration["Azure:ResourceGroup"],
3370
section.Data
[
"Location"]?.GetValue<string>() ?? provisionerOptions.Value.Location ?? configuration["Azure:Location"],
3371
section.Data
[
"TenantId"]?.GetValue<string>() ?? provisionerOptions.Value.TenantId ?? configuration["Azure:TenantId"],
3372
section.Data
[
"Tenant"]?.GetValue<string>());
3390
if (section.Data
[
"Outputs"]?.GetValue<string>() is not { Length: > 0 } outputsJson)
3509
if (section.Data
[
LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride)
3516
if (section.Data
[
"Parameters"]?.GetValue<string>() is not { Length: > 0 } parametersJson)
3812
section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>(),
AzureProvisioningFailureDetails.cs (21)
592
if (responseObj
[
"error"] is JsonObject errorObj)
597
if (responseObj
[
"properties"] is JsonObject propertiesObj &&
598
propertiesObj
[
"error"] is JsonObject deploymentErrorObj)
603
if (responseObj
[
"properties"] is JsonObject operationPropertiesObj &&
604
operationPropertiesObj
[
"statusMessage"] is JsonObject statusMessageObj &&
605
statusMessageObj
[
"error"] is JsonObject statusMessageErrorObj)
622
if (errorObj
[
"details"] is JsonArray detailsArray)
674
var code = StringUtils.FirstNonEmpty(errorObj
[
"code"]?.ToString(), errorObj
[
"errorCode"]?.ToString());
675
var message = StringUtils.FirstNonEmpty(errorObj
[
"message"]?.ToString(), errorObj
[
"errorMessage"]?.ToString());
676
var operation = StringUtils.FirstNonEmpty(errorObj
[
"operation"]?.ToString(), errorObj
[
"target"]?.ToString());
678
errorObj
[
"resourceType"]?.ToString(),
680
var resourceName = StringUtils.FirstNonEmpty(errorObj
[
"resourceName"]?.ToString(), targetResource?.ResourceName);
681
var targetResourceId = StringUtils.FirstNonEmpty(errorObj
[
"targetResourceId"]?.ToString(), targetResource?.Id);
712
if (responseObj
[
"properties"] is not JsonObject propertiesObj ||
713
propertiesObj
[
"targetResource"] is not JsonObject targetResourceObj)
718
var id = targetResourceObj
[
"id"]?.ToString();
719
var resourceName = targetResourceObj
[
"resourceName"]?.ToString();
720
var resourceType = targetResourceObj
[
"resourceType"]?.ToString();
Provisioning\BicepUtilities.cs (2)
125
if (section.Data
[
DeploymentStateParametersKey]?.GetValue<string>() is not { Length: > 0 } jsonString)
133
var scope = section.Data
[
DeploymentStateScopeKey]?.GetValue<string>() is { Length: > 0 } scopeString
Provisioning\Internal\RunModeProvisioningContextProvider.cs (5)
235
if (data
[
"Location"]?.GetValue<string>() is { Length: > 0 } location)
240
if (data
[
"SubscriptionId"]?.GetValue<string>() is { Length: > 0 } subscriptionId)
245
if (data
[
"ResourceGroup"]?.GetValue<string>() is { Length: > 0 } resourceGroup)
250
if (data
[
"TenantId"]?.GetValue<string>() is { Length: > 0 } tenantId)
255
if (TryGetBoolean(data
[
"AllowResourceGroupCreation"]) is bool allowResourceGroupCreation)
Provisioning\JsonExtensions.cs (2)
15
var node = jsonObj
[
key];
26
node = jsonObj
[
key];
Provisioning\Provisioners\BicepProvisioner.cs (18)
56
if (stateSection.Data
[
DeploymentStateProvisioningStateKey]?.GetValue<string>() is { Length: > 0 } provisioningState &&
64
var configCheckSum = stateSection.Data
[
BicepUtilities.DeploymentStateChecksumKey]?.GetValue<string>();
80
if (stateSection.Data
[
BicepUtilities.DeploymentStateOutputsKey]?.GetValue<string>() is { Length: > 0 } outputJson)
115
if (stateSection.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>() is { Length: > 0 } configuredDeploymentId &&
183
stateSection.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>() is not { Length: > 0 } deploymentId ||
354
stateSection.Data
[
BicepUtilities.DeploymentStateChecksumKey]?.GetValue<string>() is not { Length: > 0 } checksum)
371
var locationOverride = stateSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>();
451
var locationOverride = stateSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>();
472
if (stateSection.Data
[
key]?.GetValue<string>() is not { Length: > 0 } json)
491
stateSection.Data
[
DeploymentStateProvisioningStateKey]?.GetValue<string>(),
618
var canceledLocationOverride = canceledStateSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>();
675
locationOverride = stateSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>();
793
locationOverride = stateSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>();
851
var cachedDeploymentId = stateSection.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>();
852
var cachedChecksum = stateSection.Data
[
BicepUtilities.DeploymentStateChecksumKey]?.GetValue<string>();
1483
section.Data
[
key]?.GetValue<string>() is { Length: > 0 } value ? value : null;
1487
if (section.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride)
1492
if (section.Data
[
BicepUtilities.DeploymentStateParametersKey]?.GetValue<string>() is { Length: > 0 } parametersJson)
Aspire.Hosting.Azure.Kubernetes (8)
AzureKubernetesEnvironmentResource.AksPipeline.cs (7)
407
if (deploymentStateSection.Data
[
"Scope"] is not null)
413
var scopeJson = deploymentStateSection.Data
[
"Scope"]!.GetValue<string>();
416
scopedSubscription = scope
[
"subscription"]?.GetValue<string>();
417
scopedResourceGroup = scope
[
"resourceGroup"]?.GetValue<string>();
464
var outputsJson = deploymentState
[
"Outputs"]?.GetValue<string>();
779
return (azureState.Data
[
"SubscriptionId"]?.ToString(), azureState.Data
[
"ResourceGroup"]?.ToString());
AzureKubernetesEnvironmentResource.cs (1)
199
return !string.IsNullOrEmpty(deploymentState
[
"ReleaseName"]?.GetValue<string>());
Aspire.Hosting.Azure.Sandboxes (36)
AzureSandboxContainerDeployment.cs (32)
265
var previousOwnerId = previousStateSection.Data
[
"OwnerId"]?.GetValue<string>();
390
var pendingSecurityCleanup = previousStateSection.Data
[
"PendingSecurityCleanup"]?.GetValue<bool>() == true;
494
if (portStates.FirstOrDefault() is JsonObject firstPort && firstPort
[
"Url"]?.GetValue<string>() is { } publicUrl)
1320
var ownerId = stateSection.Data
[
"OwnerId"]?.GetValue<string>();
1436
if (stateSection.Data
[
"OwnerId"]?.GetValue<string>() is { Length: > 0 } ownerId &&
1452
stateSection.Data
[
"OwnerId"]?.GetValue<string>()))
1592
var sandboxId = stateSection.Data
[
"SandboxId"]?.GetValue<string>();
1605
var diskImageId = stateSection.Data
[
"DiskImageId"]?.GetValue<string>();
1870
if (stateSection.Data
[
"ResourceName"]?.GetValue<string>() is { Length: > 0 } resourceName)
1930
var ownerIds = stateSection.Data
[
"PendingOwnerCleanupIds"] is JsonArray pendingOwnerIds
1933
if (stateSection.Data
[
"OwnerId"]?.GetValue<string>() is { Length: > 0 } previousOwnerId &&
1967
if (stateSection.Data
[
"OwnerId"]?.GetValue<string>() is { Length: > 0 } previousOwnerId &&
1980
stateSection.Data
[
"PendingLegacyDeploymentCleanup"]?.DeepClone() as JsonObject;
2070
previousStateSection.Data
[
"HasRuntimeEnvironmentConfiguration"]?.GetValue<bool>() == true ||
2072
previousStateSection.Data
[
"HasRuntimeCommandConfiguration"]?.GetValue<bool>() == true)
2077
if (previousStateSection.Data
[
"PendingSecurityCleanup"]?.GetValue<bool>() == true)
2082
var previousFingerprint = previousStateSection.Data
[
"EndpointSecurityFingerprint"]?.GetValue<string>();
2111
var subscriptionId = stateSection.Data
[
"SubscriptionId"]?.GetValue<string>();
2112
var resourceGroup = stateSection.Data
[
"ResourceGroup"]?.GetValue<string>();
2113
var location = stateSection.Data
[
"Location"]?.GetValue<string>();
2114
var sandboxGroup = stateSection.Data
[
"SandboxGroup"]?.GetValue<string>();
2135
!string.IsNullOrWhiteSpace(stateSection.Data
[
"OwnerId"]?.GetValue<string>()) ||
2136
!string.IsNullOrWhiteSpace(stateSection.Data
[
"SandboxId"]?.GetValue<string>()) ||
2137
!string.IsNullOrWhiteSpace(stateSection.Data
[
"DiskImageId"]?.GetValue<string>());
2152
if (stateSection.Data
[
"Ports"] is not JsonArray ports)
2159
if (port
[
"Url"]?.GetValue<string>() is { Length: > 0 } url)
2175
if (previousStateSection.Data
[
"DeployId"]?.GetValue<string>() is { Length: > 0 } previousDeployId)
2190
if (previousStateSection.Data
[
stateKey]?.GetValue<string>() is { Length: > 0 } previousId)
2200
if (stateSection.Data
[
"Ports"] is JsonArray ports)
2204
if (port
[
"Port"]?.GetValue<int>() is { } portNumber)
2213
if (stateSection.Data
[
"Port"]?.GetValue<int>() is { } legacyPort)
2302
var value = section.Data
[
name]?.GetValue<string>();
AzureSandboxEndpointPropertyValueProvider.cs (4)
127
if (stateSection.Data
[
"Ports"] is not JsonArray ports)
135
if (port
[
"Port"]?.GetValue<int>() == sandboxEndpoint.TargetPort)
140
if (string.Equals(port
[
"Name"]?.GetValue<string>(), sandboxEndpoint.Name, StringComparison.Ordinal))
151
url = port
[
"Url"]?.GetValue<string>();
Aspire.Hosting.Azure.Tests (199)
AzureBicepProvisionerTests.cs (21)
1018
Assert.Equal("westus3", section.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
1080
Assert.Equal("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage2", section.Data
[
"Id"]?.GetValue<string>());
1081
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateRunning, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1335
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1368
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1400
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1434
Assert.Null(section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]);
1435
Assert.Equal(deploymentId, section.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>());
1493
Assert.Equal(ResourcesProvisioningState.Failed.ToString(), section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1594
Assert.Null(section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]);
1595
Assert.Equal(deploymentId, section.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>());
1596
var outputs = JsonNode.Parse(section.Data
[
BicepUtilities.DeploymentStateOutputsKey]!.GetValue<string>())!.AsObject();
1597
Assert.Equal("https://storage.blob.core.windows.net/", outputs
[
"blobEndpoint"]?["value"]?.GetValue<string>());
1675
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateRunning, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1676
Assert.Equal(deploymentId, section.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>());
1704
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateRunning, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1705
Assert.Equal(deploymentId, section.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>());
1730
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateFailed, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1755
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1788
Assert.Null(section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]);
1789
Assert.Equal(deploymentId, section.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>());
AzureDeployerTests.cs (1)
720
Assert.Equal("salmonisland-e9e6a567.westus3.azurecontainerapps.io", parameters
[
reference.Key]!["value"]!.GetValue<string>());
AzureEnvironmentResourceExtensionsTests.cs (145)
365
Assert.Contains("orphaned", resultData
[
"warning"]?.GetValue<string>(), StringComparison.Ordinal);
366
var recommendedActions = Assert.IsType<JsonArray>(resultData
[
"recommendedActions"]);
759
Assert.Equal(1, data
[
"resourceCount"]?.GetValue<int>());
839
Assert.Equal(AzureProvisioningController.GetAzureResourceCommandName, data
[
"command"]?.GetValue<string>());
840
Assert.Equal("storage", data
[
"resourceName"]?.GetValue<string>());
841
Assert.Equal("westus2", data
[
"azureLocation"]?.GetValue<string>());
842
Assert.Equal("westus3", data
[
"location"]?.GetValue<string>());
843
Assert.Equal("westus3", data
[
"effectiveLocation"]?.GetValue<string>());
847
var azureContext = Assert.IsType<JsonObject>(data
[
"azureContext"]);
848
Assert.Equal(subscriptionId, azureContext
[
"subscriptionId"]?.GetValue<string>());
849
Assert.Equal(tenantId, azureContext
[
"tenantId"]?.GetValue<string>());
850
Assert.Equal(resourceGroup, azureContext
[
"resourceGroup"]?.GetValue<string>());
851
Assert.Equal("westus2", azureContext
[
"location"]?.GetValue<string>());
853
var deployment = Assert.IsType<JsonObject>(data
[
"deployment"]);
854
Assert.True(deployment
[
"hasState"]?.GetValue<bool>());
855
Assert.Equal(deploymentId, deployment
[
"deploymentId"]?.GetValue<string>());
856
Assert.Equal(resourceId, deployment
[
"resourceId"]?.GetValue<string>());
857
Assert.Equal("westus3", deployment
[
"locationOverride"]?.GetValue<string>());
858
Assert.Equal("checksum", deployment
[
"checksum"]?.GetValue<string>());
859
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateRunning, deployment
[
"provisioningState"]?.GetValue<string>());
860
Assert.Contains("/DeploymentDetailsBlade/", deployment
[
"deploymentPortalUrl"]?.GetValue<string>());
861
Assert.Contains("/resource/subscriptions/", deployment
[
"resourcePortalUrl"]?.GetValue<string>());
863
var outputs = Assert.IsType<JsonObject>(deployment
[
"outputs"]);
864
Assert.Equal("https://storage.blob.core.windows.net/", outputs
[
"blobEndpoint"]?["value"]?.GetValue<string>());
866
var scope = Assert.IsType<JsonObject>(deployment
[
"scope"]);
867
Assert.Equal(resourceGroup, scope
[
"resourceGroup"]?.GetValue<string>());
869
var live = Assert.IsType<JsonObject>(data
[
"live"]);
870
Assert.True(live
[
"checked"]?.GetValue<bool>());
871
Assert.True(live
[
"exists"]?.GetValue<bool>());
922
var live = Assert.IsType<JsonObject>(data
[
"live"]);
923
Assert.True(live
[
"checked"]?.GetValue<bool>());
924
Assert.False(live
[
"exists"]?.GetValue<bool>());
925
Assert.Equal("missing-live-resource", live
[
"reason"]?.GetValue<string>());
926
Assert.Equal("azure", live
[
"source"]?.GetValue<string>());
927
Assert.Equal("missing-live-resource", live
[
"code"]?.GetValue<string>());
928
Assert.Contains("resource was not found in Azure", live
[
"message"]?.GetValue<string>(), StringComparison.Ordinal);
929
var recommendedActions = Assert.IsType<JsonArray>(live
[
"recommendedActions"]);
984
Assert.Equal("Microsoft.Storage/storageAccounts", json
[
"resourceType"]?.GetValue<string>());
985
Assert.Equal("storage", json
[
"resourceName"]?.GetValue<string>());
986
Assert.Equal(targetResourceId, json
[
"targetResourceId"]?.GetValue<string>());
1192
var deployment = Assert.IsType<JsonObject>(data
[
"deployment"]);
1193
Assert.True(deployment
[
"hasState"]?.GetValue<bool>());
1194
Assert.Null(deployment
[
"resourceId"]);
1196
var live = Assert.IsType<JsonObject>(data
[
"live"]);
1197
Assert.False(live
[
"checked"]?.GetValue<bool>());
1198
Assert.Null(live
[
"exists"]);
1199
Assert.Equal("missing-resource-id", live
[
"reason"]?.GetValue<string>());
1200
Assert.Equal("aspire", live
[
"source"]?.GetValue<string>());
1201
Assert.Equal("missing-resource-id", live
[
"code"]?.GetValue<string>());
1202
Assert.Contains("cached deployment state does not contain a resource ID", live
[
"message"]?.GetValue<string>(), StringComparison.Ordinal);
1203
var recommendedActions = Assert.IsType<JsonArray>(live
[
"recommendedActions"]);
1255
var live = Assert.IsType<JsonObject>(data
[
"live"]);
1256
Assert.True(live
[
"checked"]?.GetValue<bool>());
1257
Assert.Null(live
[
"exists"]);
1258
Assert.Equal("request-failed", live
[
"reason"]?.GetValue<string>());
1259
Assert.Equal("azure", live
[
"source"]?.GetValue<string>());
1260
Assert.Equal(403, live
[
"status"]?.GetValue<int>());
1261
Assert.Equal("Azure", live
[
"provider"]?.GetValue<string>());
1262
Assert.Equal(403, live
[
"httpStatus"]?.GetValue<int>());
1263
Assert.Equal("AuthorizationFailed", live
[
"errorCode"]?.GetValue<string>());
1264
Assert.Equal("live-resource-check", live
[
"operation"]?.GetValue<string>());
1265
Assert.Contains("Forbidden", live
[
"message"]?.GetValue<string>(), StringComparison.Ordinal);
1316
var live = Assert.IsType<JsonObject>(data
[
"live"]);
1317
Assert.True(live
[
"checked"]?.GetValue<bool>());
1318
Assert.Null(live
[
"exists"]);
1319
Assert.Equal("credential-unavailable", live
[
"reason"]?.GetValue<string>());
1320
Assert.Contains("Credential unavailable", live
[
"message"]?.GetValue<string>(), StringComparison.Ordinal);
1380
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1514
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1718
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateSucceeded, storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1808
Assert.Equal(2, resultData
[
"deletedResourceCount"]?.GetValue<int>());
1809
var resultResourceIds = Assert.IsType<JsonArray>(resultData
[
"deletedResourceIds"]);
1813
Assert.Equal("westus3", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
1818
Assert.Equal("storage2-deployment", storage2Section.Data
[
"Id"]?.GetValue<string>());
1899
Assert.Equal(1, resultData
[
"deletedResourceCount"]?.GetValue<int>());
2127
Assert.Equal("storage2-deployment", storage2Section.Data
[
"Id"]?.GetValue<string>());
2192
Assert.Equal("storage2-deployment", storage2Section.Data
[
"Id"]?.GetValue<string>());
2801
Assert.Equal("westus2", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
2848
Assert.Equal("westus3", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
2851
Assert.Equal(1, data
[
"schemaVersion"]?.GetValue<int>());
2852
Assert.Equal(AzureProvisioningController.ChangeResourceLocationCommandName, data
[
"command"]?.GetValue<string>());
2853
Assert.Equal("storage", data
[
"resourceName"]?.GetValue<string>());
2854
Assert.Equal("westus3", data
[
"location"]?.GetValue<string>());
2855
Assert.Equal("westus3", data
[
"effectiveLocation"]?.GetValue<string>());
2856
Assert.Equal("eastus", data
[
"azureLocation"]?.GetValue<string>());
2857
var azureContext = Assert.IsType<JsonObject>(data
[
"azureContext"]);
2858
Assert.Equal("eastus", azureContext
[
"location"]?.GetValue<string>());
2906
Assert.Equal("westus3", bicepSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3232
Assert.Equal("westus3", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3294
Assert.Equal("westus3", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3359
Assert.Equal("westus3", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3413
Assert.Equal("12345678-1234-1234-1234-123456789012", azureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
3414
Assert.Equal("westus2", azureSection.Data
[
"Location"]?.GetValue<string>());
3415
Assert.Equal("test-rg", azureSection.Data
[
"ResourceGroup"]?.GetValue<string>());
3416
Assert.Equal("87654321-4321-4321-4321-210987654321", azureSection.Data
[
"TenantId"]?.GetValue<string>());
3459
Assert.Equal("12345678-1234-1234-1234-123456789012", azureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
3460
Assert.Equal("westus3", azureSection.Data
[
"Location"]?.GetValue<string>());
3461
Assert.Equal("cli-rg-é", azureSection.Data
[
"ResourceGroup"]?.GetValue<string>());
3462
Assert.Equal("87654321-4321-4321-4321-210987654321", azureSection.Data
[
"TenantId"]?.GetValue<string>());
3465
Assert.Equal(1, data
[
"schemaVersion"]?.GetValue<int>());
3466
Assert.Equal(AzureProvisioningController.ChangeAzureContextCommandName, data
[
"command"]?.GetValue<string>());
3467
Assert.Equal("12345678-1234-1234-1234-123456789012", data
[
"subscriptionId"]?.GetValue<string>());
3468
Assert.Equal("87654321-4321-4321-4321-210987654321", data
[
"tenantId"]?.GetValue<string>());
3469
Assert.Equal("cli-rg-é", data
[
"resourceGroup"]?.GetValue<string>());
3470
Assert.Equal("westus3", data
[
"azureLocation"]?.GetValue<string>());
3471
var azureContext = Assert.IsType<JsonObject>(data
[
"azureContext"]);
3472
Assert.Equal("12345678-1234-1234-1234-123456789012", azureContext
[
"subscriptionId"]?.GetValue<string>());
3473
Assert.Equal("87654321-4321-4321-4321-210987654321", azureContext
[
"tenantId"]?.GetValue<string>());
3474
Assert.Equal("cli-rg-é", azureContext
[
"resourceGroup"]?.GetValue<string>());
3475
Assert.Equal("westus3", azureContext
[
"location"]?.GetValue<string>());
3479
Assert.Equal(1, data
[
"resourceCount"]?.GetValue<int>());
3532
Assert.Null(data
[
"tenantId"]);
3580
Assert.Equal("westus2", azureSection.Data
[
"Location"]?.GetValue<string>());
3675
Assert.Equal("westus3", storage2Section.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3721
Assert.Equal("westus3", storage2Section.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3780
Assert.Equal("westus3", storage2Section.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
4023
Assert.False(data
[
"success"]?.GetValue<bool>());
4024
var diagnostics = Assert.IsType<JsonArray>(data
[
"diagnostics"]);
4026
Assert.Equal("Microsoft.KeyVault", diagnostic
[
"provider"]?.GetValue<string>());
4027
Assert.Equal("Microsoft.KeyVault/vaults", diagnostic
[
"resourceType"]?.GetValue<string>());
4028
Assert.Equal("kv-test", diagnostic
[
"resourceName"]?.GetValue<string>());
4029
Assert.Equal(keyVaultResourceId, diagnostic
[
"targetResourceId"]?.GetValue<string>());
4030
Assert.Equal(AzureProvisioningFailureDetails.KeyVaultDeletedStateTombstoneNotFoundReason, diagnostic
[
"errorCode"]?.GetValue<string>());
4031
Assert.Equal(409, diagnostic
[
"httpStatus"]?.GetValue<int>());
4032
Assert.Contains("deleted vault was not found", diagnostic
[
"errorMessage"]?.GetValue<string>(), StringComparison.Ordinal);
4033
var recommendedActions = Assert.IsType<JsonArray>(diagnostic
[
"recommendedActions"]);
4230
Assert.False(data
[
"success"]?.GetValue<bool>());
4231
Assert.Equal("failed", data
[
"status"]?.GetValue<string>());
4232
var diagnostics = Assert.IsType<JsonArray>(data
[
"diagnostics"]);
4234
Assert.Equal("azure", diagnostic
[
"source"]?.GetValue<string>());
4235
Assert.Equal("Microsoft.ManagedIdentity", diagnostic
[
"provider"]?.GetValue<string>());
4236
Assert.Equal("Microsoft.ManagedIdentity/userAssignedIdentities", diagnostic
[
"resourceType"]?.GetValue<string>());
4237
Assert.Equal(400, diagnostic
[
"httpStatus"]?.GetValue<int>());
4238
Assert.Equal("LocationNotAvailableForResourceType", diagnostic
[
"errorCode"]?.GetValue<string>());
4239
Assert.Equal("provision", diagnostic
[
"operation"]?.GetValue<string>());
4240
var resultRecommendedActions = Assert.IsType<JsonArray>(diagnostic
[
"recommendedActions"]);
4536
Assert.Equal("12345678-1234-1234-1234-123456789012", azureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
4537
Assert.Equal("westus2", azureSection.Data
[
"Location"]?.GetValue<string>());
4538
Assert.Equal("test-rg", azureSection.Data
[
"ResourceGroup"]?.GetValue<string>());
4539
Assert.Equal("87654321-4321-4321-4321-210987654321", azureSection.Data
[
"TenantId"]?.GetValue<string>());
4685
Assert.Equal("storage-deployment", storageSection.Data
[
"Id"]?.GetValue<string>());
5564
azureSection.Data
[
"SubscriptionId"]?.GetValue<string>(),
5565
azureSection.Data
[
"ResourceGroup"]?.GetValue<string>(),
5566
azureSection.Data
[
"Location"]?.GetValue<string>(),
5567
azureSection.Data
[
"TenantId"]?.GetValue<string>());
AzureEventHubsExtensionsTests.cs (1)
395
document
[
"UserConfig"]!["LoggingConfig"] = new JsonObject { ["Type"] = "Console" };
AzureInfrastructureExtensionsTests.cs (2)
28
Assert.Equal("azure.bicep.v0", manifest
[
"type"]?.ToString());
29
Assert.Equal("infrastructure1.module.bicep", manifest
[
"path"]?.ToString());
AzureSandboxesTests.cs (1)
438
Assert.Equal("existing-rg", rolesManifest
[
"scope"]?["resourceGroup"]?.GetValue<string>());
AzureServiceBusExtensionsTests.cs (1)
504
document
[
"UserConfig"]!["Logging"] = new JsonObject { ["Type"] = "Console" };
BicepUtilitiesTests.cs (19)
27
Assert.Equal("david", parameters
[
"name"]?["value"]?.ToString());
63
Assert.Equal("john", parameters
[
"name"]?["value"]?.ToString());
64
Assert.Equal(20, parameters
[
"age"]?["value"]?.GetValue<int>());
65
Assert.Equal(["a", "b", "c"], parameters
[
"values"]?["value"]?.AsArray()?.Select(v => v?.ToString()) ?? []);
66
Assert.Equal("connection string", parameters
[
"conn"]?["value"]?.ToString());
67
Assert.Equal("value", parameters
[
"jsonObj"]?["value"]?["key"]?.ToString());
68
Assert.Equal("paramValue", parameters
[
"param"]?["value"]?.ToString());
69
Assert.Equal("paramValue/1", parameters
[
"expr"]?["value"]?.ToString());
70
Assert.Equal("http://localhost:1023", parameters
[
"endpoint"]?["value"]?.ToString());
120
Assert.Equal("context-value", parameters
[
"value"]?["value"]?.GetValue<string>());
121
Assert.Equal("context-value", parameters
[
"deferred"]?["value"]?.GetValue<string>());
122
Assert.Equal("context-value/suffix", parameters
[
"expression"]?["value"]?.GetValue<string>());
376
Assert.Equal("test-rg", scope
[
"resourceGroup"]?.ToString());
391
Assert.Equal("test-rg", scope
[
"resourceGroup"]?.ToString());
392
Assert.Equal("12345678-1234-1234-1234-123456789012", scope
[
"subscription"]?.ToString());
407
Assert.Equal("12345678-1234-1234-1234-123456789012", scope
[
"subscription"]?.ToString());
426
Assert.Equal("12345678-1234-1234-1234-123456789012", scope
[
"subscription"]?.ToString());
441
Assert.Equal("current", scope
[
"tenant"]?.ToString());
455
Assert.Null(scope
[
"resourceGroup"]?.AsValue().GetValue<object>());
JsonExtensionsTests.cs (7)
23
Assert.Equal("TestValue", retrievedNode
[
"TestProperty"]!.GetValue<string>());
37
Assert.Same(rootJson
[
"NewProperty"], newNode);
53
Assert.NotNull(rootJson
[
"Level1"]);
54
Assert.NotNull(rootJson
[
"Level1"]!["Level2"]);
55
Assert.NotNull(rootJson
[
"Level1"]!["Level2"]!["Level3"]);
56
Assert.NotNull(rootJson
[
"Level1"]!["Level2"]!["Level3"]!["Level4"]);
57
Assert.Same(deeply, rootJson
[
"Level1"]!["Level2"]!["Level3"]!["Level4"]);
ProvisioningContextTests.cs (1)
210
Assert.Equal("test-id", loadedSection.Data
[
"SubscriptionId"]?.ToString());
Aspire.Hosting.CodeGeneration.TypeScript (2)
TypeScriptLanguageSupport.cs (2)
194
var existingVersion = GetStringValue(section
[
packageName]);
209
if (parent
[
propertyName] is JsonObject obj)
Aspire.Hosting.CodeGeneration.TypeScript.Tests (58)
AtsTypeScriptCodeGeneratorTests.cs (3)
45
Assert.Equal("aspire-host", packageJson
[
"name"]?.GetValue<string>());
46
Assert.Equal("module", packageJson
[
"type"]?.GetValue<string>());
47
Assert.NotNull(packageJson
[
"dependencies"]?["vscode-jsonrpc"]);
TypeScriptLanguageSupportTests.cs (55)
33
var scripts = packageJson
[
"scripts"]!.AsObject();
34
var devDependencies = packageJson
[
"devDependencies"]!.AsObject();
36
Assert.Equal("brownfieldapp", packageJson
[
"name"]?.GetValue<string>());
37
Assert.Equal("1.0.0", packageJson
[
"version"]?.GetValue<string>());
38
Assert.True(packageJson
[
"private"]?.GetValue<bool>());
39
Assert.Equal("module", packageJson
[
"type"]?.GetValue<string>());
40
Assert.Equal("aspire run", scripts
[
"aspire:start"]?.GetValue<string>());
41
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
42
Assert.Equal("tsc --watch -p tsconfig.apphost.json", scripts
[
"aspire:dev"]?.GetValue<string>());
43
Assert.Equal("eslint apphost.mts", scripts
[
"aspire:lint"]?.GetValue<string>());
44
Assert.Equal("eslint apphost.mts", scripts
[
"lint"]?.GetValue<string>());
45
Assert.Equal("eslint apphost.mts && aspire run", scripts
[
"dev"]?.GetValue<string>());
46
Assert.Equal("eslint apphost.mts && tsc -p tsconfig.apphost.json", scripts
[
"build"]?.GetValue<string>());
47
Assert.Equal("tsc --watch -p tsconfig.apphost.json", scripts
[
"watch"]?.GetValue<string>());
48
Assert.Equal("^4.21.0", devDependencies
[
"tsx"]?.GetValue<string>());
49
Assert.Equal("^5.9.3", devDependencies
[
"typescript"]?.GetValue<string>());
50
Assert.Equal("^10.0.3", devDependencies
[
"eslint"]?.GetValue<string>());
51
Assert.Equal("^8.57.1", devDependencies
[
"typescript-eslint"]?.GetValue<string>());
53
var engines = packageJson
[
"engines"]!.AsObject();
54
Assert.Equal("^20.19.0 || ^22.13.0 || >=24", engines
[
"node"]?.GetValue<string>());
63
Assert.Equal("./dist/apphost", tsConfig
[
"compilerOptions"]?["outDir"]?.GetValue<string>());
99
var scripts = packageJson
[
"scripts"]!.AsObject();
100
var dependencies = packageJson
[
"dependencies"]!.AsObject();
101
var devDependencies = packageJson
[
"devDependencies"]!.AsObject();
105
Assert.Null(packageJson
[
"name"]);
106
Assert.Null(packageJson
[
"version"]);
107
Assert.Null(packageJson
[
"type"]);
108
Assert.Null(packageJson
[
"private"]);
111
Assert.Equal("aspire run", scripts
[
"aspire:start"]?.GetValue<string>());
112
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
113
Assert.Equal("tsc --watch -p tsconfig.apphost.json", scripts
[
"aspire:dev"]?.GetValue<string>());
114
Assert.Equal("eslint apphost.mts", scripts
[
"aspire:lint"]?.GetValue<string>());
120
Assert.Equal("^8.2.0", dependencies
[
"vscode-jsonrpc"]?.GetValue<string>());
121
Assert.Equal("^4.21.0", devDependencies
[
"tsx"]?.GetValue<string>());
122
Assert.Equal("^22.0.0", devDependencies
[
"@types/node"]?.GetValue<string>());
123
Assert.Equal("^3.1.14", devDependencies
[
"nodemon"]?.GetValue<string>());
124
Assert.Equal("^5.9.3", devDependencies
[
"typescript"]?.GetValue<string>());
128
var engines = packageJson
[
"engines"]!.AsObject();
129
Assert.Equal("^20.19.0 || ^22.13.0 || >=24", engines
[
"node"]?.GetValue<string>());
147
Assert.Equal("aspire-apphost", packageJson
[
"name"]?.GetValue<string>());
148
Assert.Equal("1.0.0", packageJson
[
"version"]?.GetValue<string>());
149
Assert.True(packageJson
[
"private"]?.GetValue<bool>());
150
Assert.Equal("module", packageJson
[
"type"]?.GetValue<string>());
179
var dependencies = packageJson
[
"dependencies"]!.AsObject();
180
var devDependencies = packageJson
[
"devDependencies"]!.AsObject();
184
Assert.Equal("^8.2.0", dependencies
[
"vscode-jsonrpc"]?.GetValue<string>());
185
Assert.Equal("^22.0.0", devDependencies
[
"@types/node"]?.GetValue<string>());
186
Assert.Equal("^3.1.14", devDependencies
[
"nodemon"]?.GetValue<string>());
187
Assert.Equal("^4.21.0", devDependencies
[
"tsx"]?.GetValue<string>());
188
Assert.Equal("^5.9.3", devDependencies
[
"typescript"]?.GetValue<string>());
235
var httpsProfile = appHostRunJson
[
"profiles"]!["https"]!.AsObject();
236
var applicationUrls = httpsProfile
[
"applicationUrl"]!.GetValue<string>().Split(';', StringSplitOptions.RemoveEmptyEntries);
237
var environmentVariables = httpsProfile
[
"environmentVariables"]!.AsObject();
243
var otlpHttpsPort = GetPort(environmentVariables
[
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"]!.GetValue<string>());
244
var resourceServiceHttpsPort = GetPort(environmentVariables
[
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL"]!.GetValue<string>());
Aspire.Hosting.Docker (3)
DockerComposeEnvironmentResource.cs (3)
145
var savedComposeFilePath = stateSection.Data
[
"ComposeFilePath"]?.ToString();
161
var savedOutputPath = stateSection.Data
[
"OutputPath"]?.ToString() ?? Path.GetDirectoryName(savedComposeFilePath)!;
162
var savedProjectName = stateSection.Data
[
"ProjectName"]?.ToString() ?? GetDockerComposeProjectName(ctx, this);
Aspire.Hosting.Docker.Tests (2)
DockerComposeTests.cs (2)
1054
Assert.NotNull(stateSection.Data
[
"ComposeFilePath"]?.ToString());
1055
Assert.NotNull(stateSection.Data
[
"ProjectName"]?.ToString());
Aspire.Hosting.Dotnet.Tests (3)
DotnetProjectResourceTests.cs (3)
182
Assert.Equal("project.v0", manifest
[
"type"]?.GetValue<string>());
183
Assert.Equal(expectedPath, manifest
[
"path"]?.GetValue<string>());
184
Assert.Null(manifest
[
"args"]);
Aspire.Hosting.Foundry.Tests (6)
HostedAgentConfigurationTests.cs (6)
89
var definition = payload
[
"definition"]!;
91
var protocolVersion = Assert.Single(definition
[
"protocol_versions"]!.AsArray());
93
Assert.Equal("2.0.0", protocolVersion
[
"version"]!.GetValue<string>());
94
Assert.Equal("myregistry.azurecr.io/myagent:v1", definition
[
"container_configuration"]!["image"]!.GetValue<string>());
95
Assert.Null(definition
[
"container_protocol_versions"]);
96
Assert.Null(definition
[
"image"]);
Aspire.Hosting.JavaScript.Tests (6)
AddDenoAppTests.cs (2)
51
Assert.Null(manifest
[
"env"]?["OTEL_DENO"]);
1092
Assert.Equal(8000, manifest
[
"bindings"]!["http"]!["targetPort"]!.GetValue<int>());
AddJavaScriptAppTests.cs (3)
285
Assert.Equal("container.v1", manifest
[
"type"]?.ToString());
303
Assert.Equal("bun", manifest
[
"entrypoint"]?.ToString());
322
Assert.Equal("container.v1", manifest
[
"type"]?.ToString());
AddViteAppTests.cs (1)
485
Assert.Equal("container.v1", manifest
[
"type"]?.ToString());
Aspire.Hosting.Kubernetes (4)
Deployment\HelmDeploymentEngine.cs (2)
201
var savedReleaseName = stateSection.Data
[
"ReleaseName"]?.ToString();
202
var savedNamespace = stateSection.Data
[
"Namespace"]?.ToString();
KubernetesHelmChartExtensions.cs (2)
402
var savedReleaseName = stateSection.Data
[
"ReleaseName"]?.ToString();
403
var savedNamespace = stateSection.Data
[
"Namespace"]?.ToString();
Aspire.Hosting.Kubernetes.Tests (2)
KubernetesDeployTests.cs (2)
1993
Assert.Equal("my-release", stateSection.Data
[
"ReleaseName"]?.ToString());
2092
Assert.Equal("podinfo", stateSection.Data
[
"ReleaseName"]?.ToString());
Aspire.Hosting.Radius (2)
Publishing\RadiusDeploymentPipelineStep.cs (2)
74
root
[
"controlPlane"] is not JsonObject controlPlane ||
75
controlPlane
[
"version"] is not JsonValue versionValue ||
Aspire.Hosting.Redis.Tests (40)
AddRedisTests.cs (35)
153
var resources = fullManifest
[
"resources"]!;
154
var manifest = resources
[
"redis"]!;
156
Assert.Equal("container.v0", manifest
[
"type"]!.GetValue<string>());
157
var connectionString = manifest
[
"connectionString"]!.GetValue<string>();
162
Assert.Equal($"{RedisContainerImageTags.Registry}/{RedisContainerImageTags.Image}:{RedisContainerImageTags.Tag}", manifest
[
"image"]!.GetValue<string>());
163
Assert.Equal("/bin/sh", manifest
[
"entrypoint"]!.GetValue<string>());
164
Assert.Equal("{redis-password.value}", manifest
[
"env"]!["REDIS_PASSWORD"]!.GetValue<string>());
165
Assert.Equal("redis", manifest
[
"bindings"]!["tcp"]!["scheme"]!.GetValue<string>());
166
Assert.Equal(6379, manifest
[
"bindings"]!["tcp"]!["targetPort"]!.GetValue<int>());
178
var resources = fullManifest
[
"resources"]!;
179
var manifest = resources
[
"redis"]!;
181
Assert.Equal("container.v0", manifest
[
"type"]!.GetValue<string>());
182
var connectionString = manifest
[
"connectionString"]!.GetValue<string>();
187
Assert.Equal($"{RedisContainerImageTags.Registry}/{RedisContainerImageTags.Image}:{RedisContainerImageTags.Tag}", manifest
[
"image"]!.GetValue<string>());
188
Assert.Equal("/bin/sh", manifest
[
"entrypoint"]!.GetValue<string>());
189
Assert.Equal("redis", manifest
[
"bindings"]!["tcp"]!["scheme"]!.GetValue<string>());
190
Assert.Equal(6379, manifest
[
"bindings"]!["tcp"]!["targetPort"]!.GetValue<int>());
207
var resources = fullManifest
[
"resources"]!;
208
var manifest = resources
[
"redis"]!;
210
Assert.Equal("container.v0", manifest
[
"type"]!.GetValue<string>());
211
var connectionString = manifest
[
"connectionString"]!.GetValue<string>();
216
Assert.Equal($"{RedisContainerImageTags.Registry}/{RedisContainerImageTags.Image}:{RedisContainerImageTags.Tag}", manifest
[
"image"]!.GetValue<string>());
217
Assert.Equal("{pass.value}", manifest
[
"env"]!["REDIS_PASSWORD"]!.GetValue<string>());
218
Assert.Equal("redis", manifest
[
"bindings"]!["tcp"]!["scheme"]!.GetValue<string>());
219
Assert.Equal(6379, manifest
[
"bindings"]!["tcp"]!["targetPort"]!.GetValue<int>());
233
var resources = fullManifest
[
"resources"]!;
234
var manifest = resources
[
"redis"]!;
236
Assert.Equal("container.v0", manifest
[
"type"]!.GetValue<string>());
237
var connectionString = manifest
[
"connectionString"]!.GetValue<string>();
242
Assert.Equal($"{RedisContainerImageTags.Registry}/{RedisContainerImageTags.Image}:{RedisContainerImageTags.Tag}", manifest
[
"image"]!.GetValue<string>());
243
Assert.Equal("{pass.value}", manifest
[
"env"]!["REDIS_PASSWORD"]!.GetValue<string>());
244
Assert.Equal("redis", manifest
[
"bindings"]!["tcp"]!["scheme"]!.GetValue<string>());
245
Assert.Equal(6379, manifest
[
"bindings"]!["tcp"]!["targetPort"]!.GetValue<int>());
1088
var creEntry = resources
[
creName];
1090
Assert.Equal("value.v0", creEntry
[
"type"]!.GetValue<string>());
RedisFunctionalTests.cs (5)
716
var agreements = jo
[
"agreements"];
719
Assert.False(agreements
[
"analytics"]!.GetValue<bool>());
720
Assert.False(agreements
[
"notifications"]!.GetValue<bool>());
721
Assert.False(agreements
[
"encryption"]!.GetValue<bool>());
722
Assert.True(agreements
[
"eula"]!.GetValue<bool>());
Aspire.Hosting.RemoteHost (3)
Ats\AtsCallbackProxyFactory.cs (1)
412
if (returnedArgs
[
key] is JsonObject modifiedDto)
Ats\ExternalCapabilityRegistry.cs (2)
608
args
[
parameter.Name], typeof(CancellationToken),
651
if (args
[
parameter.Name] is JsonValue value && value.TryGetValue<string>(out var callbackId) && !string.IsNullOrEmpty(callbackId))
Aspire.Hosting.RemoteHost.Tests (59)
AtsMarshallerTests.cs (34)
205
Assert.Equal("test/IResource", result
[
"$type"]!.GetValue<string>());
206
Assert.True(registry.TryGet(result
[
"$handle"]!.GetValue<string>(), out var retrieved, out _));
610
Assert.NotNull(jsonObj
[
"$handle"]);
611
Assert.NotNull(jsonObj
[
"$type"]);
613
var typeId = jsonObj
[
"$type"]!.GetValue<string>();
629
Assert.NotNull(jsonObj
[
"$handle"]);
630
Assert.NotNull(jsonObj
[
"$type"]);
632
var typeId = jsonObj
[
"$type"]!.GetValue<string>();
648
Assert.NotNull(jsonObj
[
"$handle"]);
649
Assert.NotNull(jsonObj
[
"$type"]);
844
Assert.Equal("test", jsonObj
[
"name"]?.GetValue<string>());
845
Assert.Equal(10, jsonObj
[
"count"]?.GetValue<int>());
897
Assert.Equal(1500, json
[
"required"]?.GetValue<double>());
898
Assert.Equal(90_000, json
[
"optional"]?.GetValue<double>());
899
Assert.Null(json
[
"empty"]);
991
Assert.Equal("root", obj
[
"name"]!.GetValue<string>());
992
Assert.True(obj
[
"self"] is null || obj
[
"self"]!.GetValueKind() == System.Text.Json.JsonValueKind.Null);
1007
Assert.Equal("parent", obj
[
"label"]!.GetValue<string>());
1008
var childObj = Assert.IsType<JsonObject>(obj
[
"child"]);
1009
Assert.Equal("child", childObj
[
"label"]!.GetValue<string>());
1011
Assert.True(childObj
[
"parent"] is null || childObj
[
"parent"]!.GetValueKind() == System.Text.Json.JsonValueKind.Null);
1027
Assert.Equal("typed", obj
[
"name"]!.GetValue<string>());
1028
Assert.True(obj
[
"self"] is null || obj
[
"self"]!.GetValueKind() == System.Text.Json.JsonValueKind.Null);
1043
Assert.Equal("parent", obj
[
"label"]!.GetValue<string>());
1044
var childObj = Assert.IsType<JsonObject>(obj
[
"child"]);
1045
Assert.Equal("child", childObj
[
"label"]!.GetValue<string>());
1046
Assert.True(childObj
[
"parent"] is null || childObj
[
"parent"]!.GetValueKind() == System.Text.Json.JsonValueKind.Null);
1315
Assert.NotNull(jsonObj
[
"$handle"]);
1316
Assert.NotNull(jsonObj
[
"$type"]);
1332
var handleId = json
[
"$handle"]!.GetValue<string>();
CallbackProxyTests.cs (11)
171
Assert.Equal("hello-world", args
[
"p0"]?.GetValue<string>());
188
Assert.Equal("test-name", args
[
"p0"]?.GetValue<string>());
189
Assert.Equal(42, args
[
"p1"]?.GetValue<int>());
212
var handle = Assert.IsAssignableFrom<JsonObject>(args
[
"p0"]);
213
Assert.NotNull(handle
[
"$handle"]?.GetValue<string>());
214
Assert.Equal(AtsTypeMapping.DeriveTypeId(typeof(ITestCallbackHandle)), handle
[
"$type"]?.GetValue<string>());
244
Assert.Equal("test", args
[
"p0"]?.GetValue<string>());
245
var tokenId = args
[
"p1"]?.GetValue<string>();
248
Assert.Equal(tokenId, args
[
"$cancellationToken"]?.GetValue<string>());
265
var tokenId = args
[
"p0"]?.GetValue<string>();
267
Assert.Equal(tokenId, args
[
"$cancellationToken"]?.GetValue<string>());
CapabilityDispatcherTests.cs (3)
390
var nestedHandleId = handleRef
[
"$handle"]!.GetValue<string>();
391
var nestedTypeId = handleRef
[
"$type"]!.GetValue<string>();
719
Assert.Equal("hello from C#", callbackArgs
[
"p0"]?.GetValue<string>());
ExternalCapabilityRegistryTests.cs (6)
149
var invalidCapability = payload
[
"capabilities"]![1]!.AsObject();
247
payload
[
"capabilities"]![0]!["parameters"] = JsonSerializer.SerializeToNode(new[]
555
payload
[
"capabilities"]![0]!.AsObject().Remove(fieldName);
665
(isFirst ? firstRequest : secondRequest).TrySetResult(args
[
"configure"]!.GetValue<string>());
685
Assert.Equal("guest_callback", firstArgs
[
"configure"]!.GetValue<string>());
686
Assert.Equal("guest_callback", secondArgs
[
"configure"]!.GetValue<string>());
HandleRegistryTests.cs (4)
169
Assert.NotNull(json
[
"$handle"]);
170
Assert.NotNull(json
[
"$type"]);
171
Assert.Equal("aspire/TestObject", json
[
"$type"]!.GetValue<string>());
173
var handleId = json
[
"$handle"]!.GetValue<string>();
ReferenceExpressionRefTests.cs (1)
251
((JsonObject)json
[
"$expr"]!)["valueProviders"] = providersArray;
Aspire.Hosting.Tests (116)
Backchannel\AuxiliaryBackchannelRpcTargetTests.cs (2)
1333
Assert.Equal("localhost", nameValueObject
[
"Host"]?.GetValue<string>());
1334
Assert.Equal("catalogdb", nameValueObject
[
"DatabaseName"]?.GetValue<string>());
DotnetProgramPublishingTests.cs (3)
165
Assert.Equal("project.v0", manifest
[
"type"]?.GetValue<string>());
166
Assert.Equal("program.csproj", manifest
[
"path"]?.GetValue<string>());
169
manifest
[
"args"]?.AsArray().Select(static value => value!.GetValue<string>()));
JsonFlattenerTests.cs (31)
37
Assert.Equal("existing-flat-value", result
[
"Azure:SubscriptionId"]!.ToString());
38
Assert.Equal("microsoft.onmicrosoft.com", result
[
"Azure:Tenant"]!.ToString());
39
Assert.Equal("/subscriptions/123/deployments/MyStorage", result
[
"Azure:Deployments:MyStorage:Id"]!.ToString());
40
Assert.Equal("{ \"param\": \"value\" }", result
[
"Azure:Deployments:MyStorage:Parameters"]!.ToString());
62
Assert.Equal("07268dd7-4c50-434b-b1ff-67b8164edb41", result
[
"Azure:SubscriptionId"]!.ToString());
63
Assert.Equal("microsoft.onmicrosoft.com", result
[
"Azure:Tenant"]!.ToString());
64
Assert.Equal("eastus2", result
[
"Azure:Location"]!.ToString());
103
Assert.Equal("nested-value", result
[
"Level1:Level2:Level3:DeepValue"]!.ToString());
127
Assert.Equal("text", result
[
"StringValue"]!.ToString());
128
Assert.Equal("42", result
[
"NumberValue"]!.ToString());
129
Assert.Equal("true", result
[
"BoolValue"]!.ToString());
130
Assert.Null(result
[
"NullValue"]);
131
Assert.Equal("inner-text", result
[
"Nested:InnerString"]!.ToString());
132
Assert.Null(result
[
"Nested:InnerNull"]);
150
Assert.Equal("value1", result
[
"SimpleArray:0"]!.ToString());
151
Assert.Equal("value2", result
[
"SimpleArray:1"]!.ToString());
152
Assert.Equal("value3", result
[
"SimpleArray:2"]!.ToString());
154
Assert.Equal("1", result
[
"NumberArray:0"]!.ToString());
155
Assert.Equal("2", result
[
"NumberArray:1"]!.ToString());
156
Assert.Equal("3", result
[
"NumberArray:2"]!.ToString());
158
Assert.Equal("text", result
[
"MixedArray:0"]!.ToString());
159
Assert.Equal("42", result
[
"MixedArray:1"]!.ToString());
160
Assert.Equal("true", result
[
"MixedArray:2"]!.ToString());
161
Assert.Null(result
[
"MixedArray:3"]);
190
Assert.Equal("Item1", result
[
"ObjectArray:0:Name"]!.ToString());
191
Assert.Equal("Value1", result
[
"ObjectArray:0:Value"]!.ToString());
192
Assert.Equal("Item2", result
[
"ObjectArray:1:Name"]!.ToString());
193
Assert.Equal("Value2", result
[
"ObjectArray:1:Value"]!.ToString());
195
Assert.Equal("1", result
[
"NestedConfig:Items:0:Id"]!.ToString());
196
Assert.Equal("true", result
[
"NestedConfig:Items:0:Settings:Enabled"]!.ToString());
214
Assert.Equal("test", result
[
"OtherValue"]!.ToString());
KestrelConfigTests.cs (1)
299
Assert.Equal(expectedEnv, manifest
[
"env"]!.ToString());
Orchestrator\ParameterProcessorTests.cs (3)
1503
Assert.Equal("saved-value", stateManager.State
[
parameter.ConfigurationKey]?.GetValue<string>());
1532
Assert.Equal("form-value", stateManager.State
[
secondParameter.ConfigurationKey]?.GetValue<string>());
2093
Assert.Equal("old-value", stateManager.State
[
configurationKey]?.GetValue<string>());
Publishing\DeploymentStateManagerTests.cs (75)
48
Assert.Equal("value1", section2.Data
[
"key1"]?.GetValue<string>());
64
Assert.Null(restartedSection.Data
[
"NullValue"]);
117
Assert.Equal("value1", parametersCheck.Data
[
"param1"]?.GetValue<string>());
118
Assert.Equal("azure-value1", azureCheck.Data
[
"resource1"]?.GetValue<string>());
146
Assert.Equal($"value{i}", section.Data
[
$"key{i}"]?.GetValue<string>());
165
Assert.Equal("value1", section2.Data
[
"key1"]?.GetValue<string>());
186
Assert.Equal("value1", section2.Data
[
"key1"]?.GetValue<string>());
199
Assert.Equal("value1", section3.Data
[
"key1"]?.GetValue<string>());
200
Assert.Equal("value2", section3.Data
[
"key2"]?.GetValue<string>());
238
Assert.Equal("value1", parametersSection.Data
[
"param1"]?.GetValue<string>());
239
Assert.Equal("azure-value1", azureSection.Data
[
"resource1"]?.GetValue<string>());
240
Assert.Equal("value1", restartedParametersSection.Data
[
"param1"]?.GetValue<string>());
257
Assert.Equal("value1", retrievedSection.Data
[
"key1"]?.GetValue<string>());
274
Assert.Equal("nestedValue", verifySection.Data
[
"nestedKey"]?.GetValue<string>());
294
Assert.Equal("value1", verify1.Data
[
"key1"]?.GetValue<string>());
295
Assert.Equal("value2", verify2.Data
[
"key2"]?.GetValue<string>());
311
Assert.Equal("value1", verify.Data
[
""]?.GetValue<string>());
371
Assert.Equal("topValue", verifyTop.Data
[
"topKey"]?.GetValue<string>());
372
Assert.Equal("nestedValue", verifyNested.Data
[
"nestedKey"]?.GetValue<string>());
478
Assert.True(migratedSection.Data
[
"legacy"]?.GetValue<bool>());
490
Assert.True(currentSection.Data
[
"legacy"]?.GetValue<bool>());
491
Assert.True(currentSection.Data
[
"current"]?.GetValue<bool>());
533
Assert.Equal("legacy", legacyAfterRestart.Data
[
"Value"]?.GetValue<string>());
534
Assert.Equal("current", replacementAfterRestart.Data
[
"Value"]?.GetValue<string>());
556
Assert.Equal("committed", restartedSection.Data
[
"Value"]?.GetValue<string>());
594
Assert.Equal("legacy", parameterSection.Data
[
""]?.GetValue<string>());
621
Assert.Equal("existing", section.Data
[
""]?.GetValue<string>());
627
Assert.Equal("existing", restartedSection.Data
[
""]?.GetValue<string>());
658
Assert.Equal("updated", restartedSection.Data
[
""]?.GetValue<string>());
690
Assert.Equal("updated", restartedSection.Data
[
"Leaf"]?.GetValue<string>());
718
var features = Assert.IsType<JsonObject>(restartedSection.Data
[
"Features"]);
720
Assert.True(features
[
"A"]?.GetValue<bool>());
721
Assert.True(features
[
"B"]?.GetValue<bool>());
754
Assert.Equal("first-sandbox", migratedFirstSection.Data
[
"SandboxId"]?.GetValue<string>());
755
Assert.True(migratedFirstSection.Data
[
"Migrated"]?.GetValue<bool>());
767
Assert.True(restartedFirstSection.Data
[
"Migrated"]?.GetValue<bool>());
768
Assert.Equal("second-sandbox", restartedSecondSection.Data
[
"SandboxId"]?.GetValue<string>());
773
Assert.Equal("second-sandbox", secondSection.Data
[
"SandboxId"]?.GetValue<string>());
783
Assert.Equal("first-sandbox", clearedFirstLegacySection.Data
[
"SandboxId"]?.GetValue<string>());
784
Assert.Equal("second-sandbox", preservedSecondLegacySection.Data
[
"SandboxId"]?.GetValue<string>());
808
Assert.Equal("current-subscription", currentAzureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
809
Assert.Null(currentAzureSection.Data
[
"Sandboxes"]);
813
Assert.Equal("current-subscription", restartedAzureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
814
Assert.Equal("first-sandbox", restartedAzureSection.Data
[
"Sandboxes"]?["first"]?["SandboxId"]?.GetValue<string>());
815
Assert.Equal("second-sandbox", restartedAzureSection.Data
[
"Sandboxes"]?["second"]?["SandboxId"]?.GetValue<string>());
816
Assert.Null((await restartedStateManager.AcquireCurrentSectionAsync("Azure")).Data
[
"Sandboxes"]);
847
Assert.Null(restartedAzureSection.Data
[
"SubscriptionId"]);
848
Assert.Null(restartedAzureSection.Data
[
"Sandboxes"]?["legacy"]);
851
restartedAzureSection.Data
[
"Sandboxes"]?["new"]?["SandboxId"]?.GetValue<string>());
892
Assert.Null(restartedSandboxesSection.Data
[
"first"]?["SandboxId"]);
893
Assert.Null(restartedSandboxesSection.Data
[
"first"]?["LegacyOnly"]);
896
restartedSandboxesSection.Data
[
"first"]?["new"]?["SandboxId"]?.GetValue<string>());
899
restartedSandboxesSection.Data
[
"second"]?["SandboxId"]?.GetValue<string>());
935
Assert.Equal("first-sandbox", restartedFirstSection.Data
[
"SandboxId"]?.GetValue<string>());
936
Assert.True(restartedFirstSection.Data
[
"Updated"]?.GetValue<bool>());
937
Assert.Equal("second-sandbox", restartedSecondSection.Data
[
"SandboxId"]?.GetValue<string>());
938
Assert.True(restartedSecondSection.Data
[
"Updated"]?.GetValue<bool>());
968
Assert.Equal("current-subscription", restartedAzureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
969
Assert.Equal("current-location", restartedAzureSection.Data
[
"Location"]?.GetValue<string>());
972
Assert.Equal("current-subscription", currentAzureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
973
Assert.Equal("current-location", currentAzureSection.Data
[
"Location"]?.GetValue<string>());
1003
Assert.Equal("sub", preservedLegacySection.Data
[
"SubscriptionId"]?.GetValue<string>());
1033
Assert.Equal("current-sub", asyncEffectiveState
[
"Azure"]?["SubscriptionId"]?.GetValue<string>());
1034
Assert.Equal("current-sub", syncEffectiveState
[
"Azure"]?["SubscriptionId"]?.GetValue<string>());
1035
Assert.Equal("current-sub", migratedSection.Data
[
"SubscriptionId"]?.GetValue<string>());
1057
Assert.Equal("current-sub", asyncEffectiveState
[
"Azure"]?["SubscriptionId"]?.GetValue<string>());
1058
Assert.Equal("current-sub", syncEffectiveState
[
"Azure"]?["SubscriptionId"]?.GetValue<string>());
1059
Assert.Equal("current-sub", restartedSection.Data
[
"SubscriptionId"]?.GetValue<string>());
1065
Assert.Equal("current-sub", savedSection.Data
[
"SubscriptionId"]?.GetValue<string>());
1066
Assert.Equal("westus", savedSection.Data
[
"Location"]?.GetValue<string>());
1084
Assert.Equal("sub", currentSection.Data
[
"SubscriptionId"]?.GetValue<string>());
1135
.Data
[
"SandboxId"]?.GetValue<string>());
1139
.Data
[
"SubscriptionId"]?.GetValue<string>());
1176
.Data
[
"SandboxId"]?.GetValue<string>());
1180
.Data
[
"SandboxId"]?.GetValue<string>());
WithEndpointTests.cs (1)
724
Assert.Equal(expectedEnv, manifest
[
"env"]!.ToString());
Aspire.Hosting.TestUtilities (2)
Utils\ManifestUtils.cs (2)
41
var resourceNode = obj
[
resource.Name];
88
var resourceNode = obj
[
r.Name];
ConfigurationSchemaGenerator (11)
ConfigSchemaEmitter.cs (11)
119
var backupTypeNode = currentNode
[
"type"];
123
if (currentNode
[
propertiesName] is not JsonObject propertiesNode)
132
if (propertiesNode
[
pathSegment] is not JsonObject pathSegmentNode)
147
backupCasingOfPathSegmentName = propertiesNode
[
pathSegment].GetPropertyName();
174
var existingValue = propertiesNode
[
pathSegment];
240
var backupTypeNode = currentNode
[
"type"];
244
if (currentNode
[
"properties"] is not JsonObject propertiesNode)
284
var backupPropertyNode = currentNode
[
property.ConfigurationKeyName];
315
var backupTypeNode = currentNode
[
"type"];
316
var backupContainerNode = currentNode
[
containerName];
449
var propertyNodeType = propertyNode
[
"type"];
dotnet-aot (1)
parent\dotnet\Telemetry\TelemetryDiskLogger.cs (1)
56
var activitiesArray = root
[
"activities"]!.AsArray();
dotnet-user-jwts (6)
Helpers\JwtAuthenticationSchemeSettings.cs (4)
28
if (config
[
AuthenticationKey] is JsonObject authentication)
30
if (authentication
[
SchemesKey] is JsonObject schemes)
76
if (config
[
AuthenticationKey] is JsonObject authentication &&
77
authentication
[
SchemesKey] is JsonObject schemes)
Helpers\SigningKeysHandler.cs (2)
82
var signingKeys = secrets
[
signkingKeysPropertyName].AsArray();
85
var toRemove = signingKeys.SingleOrDefault(key => key
[
"Issuer"].GetValue<string>() == issuer);
GenerateTemplateManifest (3)
TemplateRestorePlan.cs (3)
94
var symbols = config
[
"symbols"]?.AsObject() ?? [];
95
var relevant = content + "\nFramework\n" + config
[
"sources"]?.ToJsonString();
121
"choice" => symbol
[
"choices"]!.AsArray().Select(c => c!["choice"]!.GetValue<string>()).ToArray(),
Infrastructure.Tests (11)
Pipelines\NpmCliPackageTests.cs (8)
257
GetStringArray(packageJson
[
"keywords"]));
263
Assert.Equal(["bin", "README.md"], GetStringArray(packageJson
[
"files"]));
340
Assert.Equal(expectation.Os, GetStringArray(packageJson
[
"os"]));
341
Assert.Equal(expectation.Cpu, GetStringArray(packageJson
[
"cpu"]));
342
Assert.Equal(["bin", "README.md"], GetStringArray(packageJson
[
"files"]));
350
Assert.Equal(expectation.Libc, GetStringArray(packageJson
[
"libc"]));
773
return jsonObject
[
propertyName]?.AsObject()
779
return jsonObject
[
propertyName]?.GetValue<string>()
TemplateManifest\TemplateManifestNpmTests.cs (1)
43
var dependencies = lockfile
[
"packages"]![""]![group]!.AsObject();
TemplateManifest\TemplateRestorePlanTests.cs (2)
73
config
[
"symbols"]!["IsNew"] = JsonNode.Parse("""{"type":"computed","value":"(Mode == \"New\")"}""");
302
config
[
"symbols"]!["Mode"] = JsonNode.Parse(mode);
Microsoft.AspNetCore.OpenApi (12)
Extensions\JsonNodeSchemaExtensions.cs (11)
138
var isArray = MapJsonNodeToSchemaType(schema
[
OpenApiSchemaKeywords.TypeKeyword]) is { } schemaTypes && schemaTypes.HasFlag(JsonSchemaType.Array);
144
var isArray = MapJsonNodeToSchemaType(schema
[
OpenApiSchemaKeywords.TypeKeyword]) is { } schemaTypes && schemaTypes.HasFlag(JsonSchemaType.Array);
150
var isArray = MapJsonNodeToSchemaType(schema
[
OpenApiSchemaKeywords.TypeKeyword]) is { } schemaTypes && schemaTypes.HasFlag(JsonSchemaType.Array);
361
if (enumType.IsEnum && schema
[
OpenApiSchemaKeywords.EnumKeyword] is JsonArray)
376
var defaultKey = schema
[
OpenApiConstants.RefDefaultAnnotation] is not null
380
&& schema
[
defaultKey] is JsonNode defaultNode
400
&& MapJsonNodeToSchemaType(schema
[
OpenApiSchemaKeywords.TypeKeyword]) is { } schemaTypes &&
508
return (schema
[
OpenApiConstants.SchemaId] is JsonNode schemaIdNode
557
if (MapJsonNodeToSchemaType(schema
[
OpenApiSchemaKeywords.TypeKeyword]) is { } schemaTypes)
593
if (schema
[
OpenApiSchemaKeywords.TypeKeyword] is JsonArray typeArray)
607
if (schema
[
OpenApiSchemaKeywords.EnumKeyword] is JsonArray enumArray)
Services\Schemas\OpenApiSchemaService.cs (1)
277
if (rawNode
[
OpenApiSchemaKeywords.EnumKeyword] is JsonArray rawEnum && rawEnum.Count > 0)
Microsoft.Extensions.AI.Abstractions (3)
Utilities\AIJsonUtilities.Schema.Create.cs (3)
646
JsonNode? notNode = obj
[
NotPropertyName];
653
if (notObj
[
EnumPropertyName] is null)
782
if (ctx.TypeInfo.NumberHandling is not JsonNumberHandling.Strict && schema
[
"type"] is JsonArray typeArray)
Microsoft.Extensions.AI.Abstractions.Tests (1)
Utilities\AIJsonUtilitiesTests.cs (1)
1850
Assert.Equal(((JsonArray)schemaObj
[
"required"]!).Count, ((JsonObject)props!).Count);
Microsoft.Extensions.AI.OpenAI (2)
OpenAIClientExtensions.cs (2)
82
if (schemaObj
[
propName] is { } propNode)
91
schemaObj["description"] = schemaObj
[
"description"] is { } descriptionNode && descriptionNode.GetValueKind() == JsonValueKind.String ?
Microsoft.ML.AutoML (9)
SweepableEstimator\Converter\MultiModelPipelineConverter.cs (2)
18
var schema = jValue
[
"schema"].GetValue<string>();
19
var estimators = jValue
[
"estimator"].GetValue<Dictionary<string, SweepableEstimator>>();
SweepableEstimator\Converter\SweepableEstimatorConverter.cs (2)
19
var estimatorType = jsonObject
[
"estimatorType"].GetValue<EstimatorType>();
20
var parameter = jsonObject
[
"parameter"].GetValue<Parameter>();
SweepableEstimator\Converter\SweepableEstimatorPipelineConverter.cs (2)
18
var parameter = jNode
[
"parameter"].GetValue<Parameter>();
19
var estimators = jNode
[
"estimators"].GetValue<SweepableEstimator[]>();
SweepableEstimator\Converter\SweepablePipelineConverter.cs (3)
18
var currentSchema = jValue
[
"currentSchema"].GetValue<string>();
19
var schema = jValue
[
"schema"].GetValue<string>();
20
var estimators = jValue
[
"estimator"].GetValue<Dictionary<string, SweepableEstimator>>();
Microsoft.ML.AutoML.SourceGenerator (10)
SearchSpaceGenerator.cs (10)
39
var className = Utils.ToTitleCase(jNode
[
"name"].GetValue<string>());
40
var searchSpaceJArray = jNode
[
"search_space"].AsArray();
43
var optionName = Utils.ToTitleCase(t
[
"name"].GetValue<string>());
44
string optionTypeName = t
[
"type"].GetValue<string>() switch
65
var defaultToken = t.AsObject().ContainsKey("default") ? t
[
"default"] : null;
86
var searchSpaceNode = t.AsObject().ContainsKey("search_space") ? t
[
"search_space"] : null;
96
var minToken = searchSpaceNode
[
"min"];
97
var minValue = searchSpaceNode
[
"min"].GetValue<double>();
98
var maxValue = searchSpaceNode
[
"max"].GetValue<double>();
99
var logBase = searchSpaceObject.ContainsKey("log_base") is false ? "false" : searchSpaceNode
[
"log_base"].GetValue<bool>() ? "true" : "false";
Microsoft.NET.Build.Containers (16)
ImageConfig.cs (14)
51
if (_config
[
"config"] is not JsonObject)
69
internal string? GetUser() => _config
[
"config"]?["User"]?.ToString();
70
internal string[]? GetEntrypoint() => _config
[
"config"]?["Entrypoint"]?.AsArray()?.Select(node => node!.GetValue<string>())?.ToArray();
71
private string[]? GetCmd() => _config
[
"config"]?["Entrypoint"]?.AsArray()?.Select(node => node!.GetValue<string>())?.ToArray();
72
private List<HistoryEntry> GetHistory() => _config
[
"history"]?.AsArray().Select(node => node.Deserialize<HistoryEntry>()!).ToList() ?? new List<HistoryEntry>();
75
string? os = _config
[
"os"]?.ToString();
81
string? architecture = _config
[
"architecture"]?.ToString();
129
if (_config
[
"config"]?[propertyName] is JsonNode propertyValue)
246
if (_config
[
"config"]?["ExposedPorts"] is JsonObject portsJson)
265
if (_config
[
"config"]?["Labels"] is JsonObject labelsJson)
282
if (_config
[
"config"]?["Env"] is JsonArray envVarJson)
335
if (_config
[
"rootfs"] is { } rootfs)
337
if (rootfs
[
"type"]?.GetValue<string>() == "layers" && rootfs
[
"diff_ids"] is JsonArray layers)
Tasks\CreateImageIndex.cs (2)
151
var architecture = configJson
[
"architecture"]?.ToString();
157
var os = configJson
[
"os"]?.ToString();
Microsoft.TemplateEngine.Cli (1)
PostActionProcessors\AddJsonPropertyPostActionProcessor.cs (1)
228
JsonNode? childNode = node
[
property];
MSBuild (3)
JsonOutputFormatter.cs (3)
34
Assumed.Null(_topLevelNode
[
"Properties"], "Should not add multiple lists of properties to the json format.");
52
Assumed.Null(_topLevelNode
[
"Items"], "Should not add multiple lists of items to the json format.");
88
Assumed.Null(_topLevelNode
[
"TargetResults"], "Should not add multiple lists of target results to the json format.");
sdk-tasks (7)
GetRuntimePackRids.cs (1)
23
string [] runtimeIdentifiers = runtimeJsonRoot
[
"runtimes"]!.AsObject().Select(p => p.Key).ToArray();
PublishMutationUtilities.cs (2)
20
foreach (var target in deps
[
"targets"]!.AsObject())
38
var librariesObj = deps
[
"libraries"]!.AsObject();
RemoveAssetFromDepsPackages.cs (1)
37
foreach (var target in deps
[
"targets"]!.AsObject())
UpdateRuntimeConfig.cs (3)
38
var frameworks = config
[
"runtimeOptions"]?["frameworks"];
39
var framework = config
[
"runtimeOptions"]?["framework"];
58
var name = framework
[
"name"]!.GetValue<string>();
ServiceBus.AppHost (1)
AppHost.cs (1)
38
document
[
"UserConfig"]!["Logging"] = new JsonObject { ["Type"] = "Console" };