721 writes to
aspire (76)
Agents\ClaudeCode\ClaudeCodeAgentEnvironmentScanner.cs (2)
209
config
[
"mcpServers"] = new JsonObject();
215
servers
[
AspireServerName] = new JsonObject
Agents\CopilotCli\CopilotCliAgentEnvironmentScanner.cs (2)
209
config
[
"mcpServers"] = new JsonObject();
215
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)
220
settings
[
"hooks"] = hooks;
236
hooks
[
ClaudePostToolUseKey] = postToolUse;
Agents\OpenCode\OpenCodeAgentEnvironmentScanner.cs (3)
194
config
[
"$schema"] = "https://opencode.ai/config.json";
200
config
[
"mcp"] = new JsonObject();
206
mcp
[
AspireServerName] = new JsonObject
Agents\VsCode\VsCodeAgentEnvironmentScanner.cs (2)
254
config
[
"servers"] = new JsonObject();
260
servers
[
AspireServerName] = new JsonObject
Commands\InitCommand.cs (5)
562
settings
[
"appHost"] = appHost;
566
appHost
[
"path"] = appHostPath;
571
appHost
[
"language"] = language;
581
settings
[
"channel"] = channel;
616
settings
[
"profiles"] = new JsonObject
Commands\ResourceCommand.cs (5)
336
arguments
[
argument.Name] = parseResult.GetValue(boolOption).ToString().ToLowerInvariant();
341
arguments
[
argument.Name] = value?.ToString(CultureInfo.InvariantCulture);
345
arguments
[
argument.Name] = parseResult.GetValue(stringOption);
354
arguments
[
unmatchedToken] = null;
375
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)
178
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 (10)
131
packageObj
[
"Identity"] = JsonValue.Create(pkg.Identity);
132
packageObj
[
"Version"] = JsonValue.Create(pkg.Version);
135
itemsObject
[
"PackageReference"] = packageRefArray;
142
projectObj
[
"Identity"] = JsonValue.Create(proj.Identity);
143
projectObj
[
"FullPath"] = JsonValue.Create(proj.FullPath);
146
itemsObject
[
"ProjectReference"] = projectRefArray;
148
rootObject
[
"Items"] = itemsObject;
152
propertiesObject
[
"AspireHostingSDKVersion"] = JsonValue.Create(aspireHostingSdkVersion);
153
rootObject
[
"Properties"] = propertiesObject;
156
rootObject
[
"Fallback"] = JsonValue.Create(true);
Scaffolding\PackageJsonMerger.cs (12)
128
existing
[
key] = sourceValue.DeepClone();
162
existingScripts
[
name] ??= command;
167
existingScripts
[
$"{AspirePrefix}{name}"] = command;
172
existingScripts
[
name] = command;
206
scripts
[
unprefixed] = $"{normalizedToolchainCommand} run {prefixed}";
245
existingDeps
[
packageName] = desiredVersion;
253
existingDeps
[
packageName] = desiredVersion;
276
existingDeps
[
packageName] = desiredVersion;
308
existingEngines
[
key] = value.DeepClone();
312
existingEngines
[
key] = value.DeepClone();
335
target
[
key] = sourceValue.DeepClone();
360
parent
[
propertyName] = obj;
Scaffolding\ScaffoldingService.cs (3)
380
parent
[
propertyName] = obj;
413
scripts
[
scriptName] = delegateScript;
661
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)
341
currentObject
[
part] = new JsonObject();
372
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 (9)
Helpers\CliE2ETestHelpers.cs (2)
1118
config
[
"channel"] = "local";
1119
config
[
"sdk"] = new JsonObject
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)
180
config
[
"packages"] = new JsonObject
TypeScriptLegacyAppHostTests.cs (1)
138
appHost
[
"path"] = "apphost.ts";
TypeScriptMigrateAppHostTests.cs (1)
125
appHost
[
"path"] = "apphost.ts";
TypeScriptPolyglotTests.cs (1)
360
scripts
[
"aspire:start"] = "custom-apphost-start";
Aspire.Cli.Tests (2)
Projects\ProjectUpdaterTests.cs (2)
2733
itemsAndProperties
[
"Items"] = items;
2821
itemsAndProperties
[
"Items"] = items;
Aspire.Dashboard (3)
Model\GenAI\GenAIItemPartViewModel.cs (1)
144
jsonObject
[
kvp.Key] = JsonNode.Parse(kvp.Value.GetRawText());
Model\TelemetryExportService.cs (1)
808
jsonObject
[
field.Key] = ConvertPropertyValueToJsonNode(field.Value);
Otlp\Model\OtlpHelpers.cs (1)
200
o
[
item.Key] = ConvertAnyValue(item.Value);
Aspire.Hosting (21)
Backchannel\AuxiliaryBackchannelRpcTarget.cs (1)
1416
jsonObject
[
property.Key] = property.Value;
Dashboard\DashboardEventHandlers.cs (2)
259
frameworkObj
[
"version"] = netCoreVersion;
262
frameworkObj
[
"version"] = aspNetCoreVersion;
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)
58
Data
[
RootValueKey] = JsonValue.Create(value);
Pipelines\Internal\DeploymentStateManagerBase.cs (2)
342
current
[
segment] = nextObj;
353
current
[
segments[^1]] = value;
Pipelines\Internal\FileDeploymentStateManager.cs (4)
448
target
[
name] = sourceValue?.DeepClone();
576
result
[
propertyName] = updatedProperty.Value;
675
current
[
segment] = nextObject;
687
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();
UserSecrets\UserSecretsManagerFactory.cs (1)
211
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)
2431
json
[
"resourceCount"] = GetProvisionableAzureResources(model).Count;
2434
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.";
2435
json
[
"recommendedActions"] = AzureProvisioningFailureDetails.CreateRecommendedActionsJsonArray(
2457
json
[
"deletedResourceCount"] = result.ResourceIds.Count;
2458
json
[
"deletedResourceIds"] = deletedResourceIds;
2470
json
[
"resourceCount"] = targetResources.Count;
2471
json
[
"location"] = effectiveLocation;
2472
json
[
"effectiveLocation"] = effectiveLocation;
2486
json
[
"resourceCount"] = targetResources.Count;
2487
json
[
"location"] = effectiveLocation;
2488
json
[
"effectiveLocation"] = effectiveLocation;
2497
json
[
"deployment"] = deployment;
2498
json
[
"live"] = await CreateLiveResourceInfoAsync(
2535
json
[
"provisioningState"] = provisioningState;
2544
json
[
"deploymentPortalUrl"] = AzurePortalUrls.GetDeploymentUrl(deploymentResourceId);
2562
json
[
"reason"] = "missing-resource-id";
2563
json
[
"source"] = "aspire";
2564
json
[
"code"] = "missing-resource-id";
2565
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.";
2566
json
[
"recommendedActions"] = AzureProvisioningFailureDetails.CreateRecommendedActionsJsonArray(
2573
json
[
"reason"] = "invalid-subscription-id";
2582
json
[
"checked"] = true;
2584
json
[
"exists"] = exists;
2588
json
[
"reason"] = AzureProvisioningFailureDetails.MissingLiveResourceReason;
2589
json
[
"source"] = "azure";
2590
json
[
"code"] = AzureProvisioningFailureDetails.MissingLiveResourceReason;
2591
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.";
2592
json
[
"recommendedActions"] = AzureProvisioningFailureDetails.CreateRecommendedActionsJsonArray(
2601
json
[
"reason"] = "credential-unavailable";
2602
json
[
"message"] = ex.Message;
2610
json
[
"reason"] = "request-failed";
2611
json
[
"source"] = "azure";
2612
json
[
"status"] = ex.Status;
2613
json
[
"provider"] = failure.Provider;
2614
json
[
"httpStatus"] = failure.HttpStatus;
2615
json
[
"errorCode"] = failure.ErrorCode;
2616
json
[
"message"] = failure.ErrorMessage;
2617
json
[
"operation"] = failure.Operation;
2618
json
[
"requestId"] = failure.RequestId;
2619
json
[
"correlationId"] = failure.CorrelationId;
2622
json
[
"recommendedActions"] = AzureProvisioningFailureDetails.CreateRecommendedActionsJsonArray(failure.RecommendedActions);
2695
json
[
"resourceName"] = resourceName;
2753
section.Data
[
LocationOverrideKey] = normalizedLocation;
2777
section.Data
[
LocationOverrideKey] = location;
2850
section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateCanceled;
3594
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)
55
parameters
[
parameter.Key] = new JsonObject()
85
scope
[
"resourceGroup"] = null;
96
scope
[
"tenant"] = "current";
226
scope
[
propertyName] = value switch
Provisioning\Internal\BaseProvisioningContextProvider.cs (7)
128
azureStateSection.Data
[
"ResourceGroup"] = resourceGroupName;
219
azureSection
[
"Location"] = _options.Location;
220
azureSection
[
"SubscriptionId"] = _options.SubscriptionId;
221
azureSection
[
"ResourceGroup"] = resourceGroupName;
225
azureSection
[
"TenantId"] = tenantId;
234
azureSection
[
"Tenant"] = tenantDomain;
243
azureSection
[
"AllowResourceGroupCreation"] = _options.AllowResourceGroupCreation.Value;
Provisioning\Provisioners\BicepProvisioner.cs (9)
441
stateSection.Data
[
DeploymentStateProvisioningStateKey] = provisioningState;
460
stateSection.Data
[
AzureProvisioningController.LocationOverrideKey] = locationOverride;
1333
stateSection.Data
[
AzureProvisioningController.LocationOverrideKey] = locationOverride;
1336
stateSection.Data
[
BicepUtilities.DeploymentStateIdKey] = deploymentId.ToString();
1337
stateSection.Data
[
BicepUtilities.DeploymentStateParametersKey] = parameters.ToJsonString();
1341
stateSection.Data
[
BicepUtilities.DeploymentStateOutputsKey] = outputObj.ToJsonString();
1346
stateSection.Data
[
BicepUtilities.DeploymentStateScopeKey] = scope.ToJsonString();
1349
stateSection.Data
[
BicepUtilities.DeploymentStateChecksumKey] = checksum;
1353
stateSection.Data
[
DeploymentStateProvisioningStateKey] = provisioningState;
Aspire.Hosting.Azure.Kubernetes.Tests (1)
AzureKubernetesInfrastructureTests.cs (1)
850
azureState
[
"ResourceGroup"] = resourceGroup;
Aspire.Hosting.Azure.Sandboxes (25)
AzureSandboxContainerDeployment.cs (25)
259
stateSection.Data
[
"OwnerId"] = ownerId;
381
stateSection.Data
[
"OwnerId"] = ownerId;
384
stateSection.Data
[
"SandboxId"] = sandboxId;
385
stateSection.Data
[
"DiskImageId"] = diskImageId;
386
stateSection.Data
[
"SubscriptionId"] = dataPlaneScope.SubscriptionId;
387
stateSection.Data
[
"ResourceGroup"] = dataPlaneScope.ResourceGroupName;
388
stateSection.Data
[
"Location"] = dataPlaneScope.Region;
389
stateSection.Data
[
"SandboxGroup"] = dataPlaneScope.SandboxGroupName;
390
stateSection.Data
[
"ResourceName"] = resource.Name;
391
stateSection.Data
[
"SourceResourceName"] = targetResource.Name;
392
stateSection.Data
[
"DeployId"] = deployId;
393
stateSection.Data
[
"Ports"] = portStates;
394
stateSection.Data
[
"EndpointSecurityFingerprint"] = endpointSecurityFingerprint;
395
stateSection.Data
[
"HasRuntimeEnvironmentConfiguration"] = resolvedEnvironmentVariables.Values.Count > 0;
396
stateSection.Data
[
"HasRuntimeCommandConfiguration"] = hasModeledCommandConfiguration;
397
stateSection.Data
[
"PendingSecurityCleanup"] = securityConfigurationChanged;
461
stateSection.Data
[
"PendingSecurityCleanup"] = false;
1877
stateSection.Data
[
"PendingOwnerCleanupIds"] = new JsonArray(
1915
stateSection.Data
[
"PendingLegacyDeploymentCleanup"] = pendingDeploymentCleanup.DeepClone();
2019
stateSection.Data
[
"SubscriptionId"] ??= scope.SubscriptionId;
2020
stateSection.Data
[
"ResourceGroup"] ??= scope.ResourceGroupName;
2021
stateSection.Data
[
"Location"] ??= scope.Region;
2022
stateSection.Data
[
"SandboxGroup"] ??= scope.SandboxGroupName;
2023
stateSection.Data
[
"ResourceName"] ??= resource.Name;
2024
stateSection.Data
[
"SourceResourceName"] ??= resource.TargetResource.Name;
Aspire.Hosting.Azure.Tests (180)
AzureBicepProvisionerTests.cs (31)
837
section.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
871
section.Data
[
"Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage2";
872
section.Data
[
"Parameters"] = parameters.ToJsonString();
873
section.Data
[
"Outputs"] = """{"name":{"value":"storage2"}}""";
874
section.Data
[
"CheckSum"] = checksum;
875
section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
907
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
908
azureSection.Data
[
"ResourceGroup"] = "test-rg";
909
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
910
azureSection.Data
[
"Tenant"] = "microsoft.onmicrosoft.com";
911
azureSection.Data
[
"Location"] = "westus2";
915
section.Data
[
"Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage2";
916
section.Data
[
"Parameters"] = parameters.ToJsonString();
917
section.Data
[
"Outputs"] = """{"name":{"value":"storage2"}}""";
918
section.Data
[
"CheckSum"] = checksum;
958
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
959
azureSection.Data
[
"ResourceGroup"] = "environment-rg";
960
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
961
azureSection.Data
[
"Tenant"] = "microsoft.onmicrosoft.com";
962
azureSection.Data
[
"Location"] = "westus2";
966
section.Data
[
"Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/scoped-rg/providers/Microsoft.Resources/deployments/storage2";
967
section.Data
[
"Parameters"] = parameters.ToJsonString();
968
section.Data
[
"Outputs"] = """{"name":{"value":"storage2"}}""";
969
section.Data
[
"CheckSum"] = checksum;
1000
section.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
1034
section.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
1849
section.Data
[
BicepUtilities.DeploymentStateIdKey] = deploymentId;
1850
section.Data
[
BicepUtilities.DeploymentStateParametersKey] = parameters.ToJsonString();
1851
section.Data
[
BicepUtilities.DeploymentStateScopeKey] = scope.ToJsonString();
1852
section.Data
[
BicepUtilities.DeploymentStateChecksumKey] = BicepUtilities.GetChecksum(resource, parameters, scope);
1853
section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
AzureEnvironmentResourceExtensionsTests.cs (127)
319
azureSection.Data
[
"SubscriptionId"] = "sub";
320
azureSection.Data
[
"Location"] = "westus2";
324
storageSection.Data
[
"Id"] = "/subscriptions/sub/resourceGroups/rg/providers/Microsoft.Resources/deployments/storage";
325
storageSection.Data
[
"CheckSum"] = "checksum";
590
storageSection.Data
[
"Outputs"] = """
626
storageSection.Data
[
"Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/storage"}}""";
790
azureSection.Data
[
"SubscriptionId"] = subscriptionId;
791
azureSection.Data
[
"Location"] = "westus2";
792
azureSection.Data
[
"ResourceGroup"] = resourceGroup;
793
azureSection.Data
[
"TenantId"] = tenantId;
797
storageSection.Data
[
"Id"] = deploymentId;
798
storageSection.Data
[
"Parameters"] = """
805
storageSection.Data
[
"Outputs"] = $$"""
817
storageSection.Data
[
"Scope"] = $$"""
822
storageSection.Data
[
"CheckSum"] = "checksum";
823
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
824
storageSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
902
storageSection.Data
[
"Outputs"] = $$"""
1177
storageSection.Data
[
"Outputs"] = """{"blobEndpoint":{"value":"https://storage.blob.core.windows.net/"}}""";
1235
storageSection.Data
[
"Outputs"] = $$"""
1296
storageSection.Data
[
"Outputs"] = $$"""
1358
storageSection.Data
[
"Id"] = deploymentId;
1359
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
1486
storageSection.Data
[
BicepUtilities.DeploymentStateIdKey] = deploymentId;
1487
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
1662
storageSection.Data
[
"Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage";
1663
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateSucceeded;
1700
storageSection.Data
[
"Id"] = deploymentId;
1701
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateSucceeded;
1767
storageSection.Data
[
"Id"] = deploymentId;
1768
storageSection.Data
[
"Outputs"] = new JsonObject
1776
storageSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
1777
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
1781
storage2Section.Data
[
"Id"] = "storage2-deployment";
1870
keyVaultSection.Data
[
"Id"] = deploymentId;
1871
keyVaultSection.Data
[
"Outputs"] = new JsonObject
1879
keyVaultSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
1942
storageSection.Data
[
"Outputs"] = $$"""
2021
storageSection.Data
[
"Outputs"] = $$"""
2088
storageSection.Data
[
"Id"] = "storage-deployment";
2092
storage2Section.Data
[
"Id"] = "storage2-deployment";
2166
storageSection.Data
[
"Id"] = "storage-deployment";
2170
storage2Section.Data
[
"Id"] = "storage2-deployment";
2938
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
2939
azureSection.Data
[
"Location"] = "eastus";
2940
azureSection.Data
[
"ResourceGroup"] = "test-rg";
2944
storageSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
3010
storageSection.Data
[
"Outputs"] = new JsonObject
3077
storageSection.Data
[
"Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage26wmkwq4f4li52"}}""";
3136
storageSection.Data
[
"Parameters"] = """
3144
storageSection.Data
[
"Outputs"] = $$"""
3202
storageSection.Data
[
"LocationOverride"] = "westus2";
3203
storageSection.Data
[
"Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage26wmkwq4f4li52"}}""";
3266
storageSection.Data
[
"Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage26wmkwq4f4li52"}}""";
3331
storageSection.Data
[
"Outputs"] = new JsonObject
3384
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3385
azureSection.Data
[
"Location"] = "westus2";
3386
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3387
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
3391
storageSection.Data
[
"Id"] = "storage-deployment";
3395
storage2Section.Data
[
"Id"] = "storage2-deployment";
3509
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3510
azureSection.Data
[
"Location"] = "westus2";
3511
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3512
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
3558
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3559
azureSection.Data
[
"Location"] = "westus2";
3560
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3604
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3605
azureSection.Data
[
"Location"] = "westus2";
3606
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3610
storageSection.Data
[
"Parameters"] = """{"location":{"value":"westus2"}}""";
3664
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3665
azureSection.Data
[
"Location"] = "westus2";
3666
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3670
storage2Section.Data
[
AzureProvisioningController.LocationOverrideKey] = "West US 3";
3705
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3706
azureSection.Data
[
"Location"] = "westus2";
3707
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3711
storage2Section.Data
[
"Parameters"] = """
3750
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
3751
azureSection.Data
[
"Location"] = "westus2";
3752
azureSection.Data
[
"ResourceGroup"] = "test-rg";
3810
storageSection.Data
[
"Id"] = "storage-deployment";
3811
storageSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "westus3";
3912
keyVaultSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "ukwest";
3992
keyVaultSection.Data
[
AzureProvisioningController.LocationOverrideKey] = "ukwest";
4316
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4317
azureSection.Data
[
"Location"] = "westus2";
4318
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4319
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
4320
azureSection.Data
[
"Tenant"] = "testdomain.onmicrosoft.com";
4324
storageSection.Data
[
"Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage"}}""";
4365
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4366
azureSection.Data
[
"Location"] = "westus2";
4367
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4371
storageSection.Data
[
"Outputs"] = $$"""
4413
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4414
azureSection.Data
[
"Location"] = "westus2";
4415
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4419
storageSection.Data
[
"Outputs"] = $$"""
4429
storage2Section.Data
[
"Outputs"] = $$"""
4473
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4474
azureSection.Data
[
"Location"] = "westus2";
4475
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4479
storageSection.Data
[
"Outputs"] = """{"blobEndpoint":{"value":"https://storage.blob.core.windows.net/"}}""";
4512
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4513
azureSection.Data
[
"Location"] = "westus2";
4514
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4515
azureSection.Data
[
"TenantId"] = "87654321-4321-4321-4321-210987654321";
4519
storageSection.Data
[
"Id"] = "storage-deployment";
4571
storageSection.Data
[
"Id"] = "storage-deployment";
4612
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4613
azureSection.Data
[
"Location"] = "westus2";
4614
azureSection.Data
[
"ResourceGroup"] = "missing-rg";
4618
storageSection.Data
[
"Id"] = "storage-deployment";
4660
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
4661
azureSection.Data
[
"Location"] = "westus2";
4662
azureSection.Data
[
"ResourceGroup"] = "test-rg";
4666
storageSection.Data
[
"Id"] = "storage-deployment";
4797
storageSection.Data
[
BicepUtilities.DeploymentStateIdKey] = deploymentId;
4798
storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
5566
azureSection.Data
[
"SubscriptionId"] = options.SubscriptionId;
5567
azureSection.Data
[
"Location"] = options.Location;
5568
azureSection.Data
[
"ResourceGroup"] = options.ResourceGroup;
5572
azureSection.Data
[
"TenantId"] = options.TenantId;
5699
section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateCanceled;
AzureEventHubsExtensionsTests.cs (1)
404
document
[
"Custom"] = JsonValue.Create(42);
AzureSandboxesTests.cs (14)
888
previousState.Data
[
"EndpointSecurityFingerprint"] = fingerprint;
896
previousState.Data
[
"EndpointSecurityFingerprint"] = "legacy-endpoint-only-fingerprint";
898
previousState.Data
[
"EndpointSecurityFingerprint"] = fingerprint;
899
previousState.Data
[
"PendingSecurityCleanup"] = true;
901
previousState.Data
[
"PendingSecurityCleanup"] = false;
913
previousState.Data
[
"HasRuntimeEnvironmentConfiguration"] = true;
915
previousState.Data
[
"HasRuntimeEnvironmentConfiguration"] = false;
921
previousState.Data
[
"HasRuntimeCommandConfiguration"] = true;
923
previousState.Data
[
"HasRuntimeCommandConfiguration"] = false;
1067
azureState.Data
[
"SubscriptionId"] = "sub";
1068
azureState.Data
[
"ResourceGroup"] = "rg";
1069
azureState.Data
[
"Location"] = "westus3";
2445
state.Data
[
"Ports"] = new JsonArray
2655
state.Data
[
"Ports"] = new JsonArray(new JsonObject
AzureServiceBusExtensionsTests.cs (1)
516
document
[
"Custom"] = JsonValue.Create(42);
ProvisioningContextProviderTests.cs (4)
137
azureSection.Data
[
"SubscriptionId"] = "12345678-1234-1234-1234-123456789012";
138
azureSection.Data
[
"Location"] = "westus3";
139
azureSection.Data
[
"ResourceGroup"] = "rehydrated-rg";
140
azureSection.Data
[
"AllowResourceGroupCreation"] = "true";
ProvisioningContextTests.cs (1)
203
azureSection.Data
[
"SubscriptionId"] = "test-id";
ProvisioningTestHelpers.cs (1)
1056
_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 (6)
82
json
[
"items"] = items;
111
json
[
"members"] = members;
134
json
[
"deprecated"] = member.DeprecationMessage;
153
json
[
"parameters"] = parameters;
177
json
[
name] = value;
194
json
[
name] = array;
TypeScriptLanguageSupport.cs (18)
135
packageJson
[
"name"] = packageName;
136
packageJson
[
"version"] = "1.0.0";
137
packageJson
[
"private"] = true;
138
packageJson
[
"type"] = "module";
146
engines
[
"node"] = "^20.19.0 || ^22.13.0 || >=24";
149
scripts
[
"aspire:lint"] = "eslint apphost.mts";
150
scripts
[
"aspire:start"] = "aspire run";
151
scripts
[
"aspire:build"] = $"tsc -p {AppHostTsConfigFileName}";
152
scripts
[
"aspire:dev"] = $"tsc --watch -p {AppHostTsConfigFileName}";
156
scripts
[
"lint"] = "npm run aspire:lint";
157
scripts
[
"predev"] = "npm run aspire:lint";
158
scripts
[
"dev"] = "npm run aspire:start";
159
scripts
[
"prebuild"] = "npm run aspire:lint";
160
scripts
[
"build"] = "npm run aspire:build";
161
scripts
[
"watch"] = "npm run aspire:dev";
196
section
[
packageName] = version;
202
section
[
packageName] = version;
214
parent
[
propertyName] = obj;
Aspire.Hosting.Docker (3)
DockerComposeEnvironmentResource.cs (3)
427
stateSection.Data
[
"OutputPath"] = outputPath;
428
stateSection.Data
[
"ProjectName"] = composeContext.ProjectName;
429
stateSection.Data
[
"ComposeFilePath"] = composeContext.ComposeFilePath;
Aspire.Hosting.Kubernetes (7)
Deployment\HelmDeploymentEngine.cs (2)
486
stateSection.Data
[
"ReleaseName"] = releaseName;
487
stateSection.Data
[
"Namespace"] = @namespace;
KubernetesEnvironmentResource.cs (3)
2052
metadataNode
[
"annotations"] = System.Text.Json.Nodes.JsonNode.Parse(annotations.GetRawText());
2057
metadataNode
[
"labels"] = System.Text.Json.Nodes.JsonNode.Parse(labels.GetRawText());
2071
minimal
[
"spec"] = System.Text.Json.Nodes.JsonNode.Parse(spec.GetRawText());
KubernetesHelmChartExtensions.cs (2)
378
stateSection.Data
[
"ReleaseName"] = releaseName;
379
stateSection.Data
[
"Namespace"] = @namespace;
Aspire.Hosting.Radius (1)
Publishing\RadiusDeploymentPipelineStep.cs (1)
272
parametersNode
[
identifier] = new JsonObject { ["value"] = value };
Aspire.Hosting.RemoteHost (7)
Ats\AtsCallbackProxyFactory.cs (2)
302
args
[
$"p{ctParamIndex}"] = tokenId;
304
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;
Aspire.Hosting.Tests (62)
Orchestrator\ParameterProcessorTests.cs (1)
1680
_unflattenedState
[
section.SectionName] = section.Data.DeepClone().AsObject();
Publishing\DeploymentStateManagerTests.cs (61)
44
section1.Data
[
"key1"] = "value1";
60
section.Data
[
"NullValue"] = null;
79
section1.Data
[
"key1"] = "value1";
89
section2.Data
[
"key2"] = "value2";
108
parametersSection.Data
[
"param1"] = "value1";
109
azureSection.Data
[
"resource1"] = "azure-value1";
137
section.Data
[
$"key{sectionIndex}"] = $"value{sectionIndex}";
160
section1.Data
[
"key1"] = "value1";
181
section1.Data
[
"key1"] = "value1";
194
section2.Data
[
"key2"] = "value2";
253
section.Data
[
"key1"] = "value1";
270
section.Data
[
"nestedKey"] = "nestedValue";
288
section1.Data
[
"key1"] = "value1";
289
section2.Data
[
"key2"] = "value2";
324
section1.Data
[
"key1"] = "value1";
333
section2.Data
[
"key2"] = "value2";
365
topLevel.Data
[
"topKey"] = "topValue";
366
nested.Data
[
"nestedKey"] = "nestedValue";
385
section.Data
[
"key"] = "value";
476
legacySection.Data
[
"legacy"] = true;
483
migratedSection.Data
[
"current"] = true;
513
legacySection.Data
[
"Value"] = "legacy";
517
migratedSection.Data
[
"Claimed"] = true;
529
sameManagerLegacySection.Data
[
"Value"] = "legacy";
552
section.Data
[
"Value"] = "committed";
569
legacySection.Data
[
"Value"] = "legacy";
678
initialSection.Data
[
"Leaf"] = "initial";
685
staleObjectSection.Data
[
"Leaf"] = "updated";
713
firstSection.Data
[
"Features"] = new JsonObject { ["A"] = true };
714
secondSection.Data
[
"Features"] = new JsonObject { ["B"] = true };
740
firstLegacySection.Data
[
"SandboxId"] = "first-sandbox";
743
secondLegacySection.Data
[
"SandboxId"] = "second-sandbox";
751
firstSection.Data
[
"Migrated"] = true;
797
legacyAzureSection.Data
[
"SubscriptionId"] = "legacy-subscription";
798
legacyAzureSection.Data
[
"Sandboxes"] = new JsonObject
807
azureSection.Data
[
"SubscriptionId"] = "current-subscription";
833
legacyAzureSection.Data
[
"SubscriptionId"] = "legacy-subscription";
834
legacyAzureSection.Data
[
"Sandboxes"] = new JsonObject
844
newSandboxSection.Data
[
"SandboxId"] = "new-sandbox";
874
legacySandboxesSection.Data
[
"first"] = new JsonObject
879
legacySandboxesSection.Data
[
"second"] = new JsonObject
889
newChildSection.Data
[
"SandboxId"] = "new-sandbox";
918
firstLegacySection.Data
[
"SandboxId"] = "first-sandbox";
921
secondLegacySection.Data
[
"SandboxId"] = "second-sandbox";
928
firstSection.Data
[
"Updated"] = true;
929
secondSection.Data
[
"Updated"] = true;
954
legacyAzureSection.Data
[
"SubscriptionId"] = "legacy-subscription";
955
legacyAzureSection.Data
[
"Location"] = "legacy-location";
962
firstAzureSection.Data
[
"SubscriptionId"] = "current-subscription";
963
secondAzureSection.Data
[
"Location"] = "current-location";
986
legacySection.Data
[
"SubscriptionId"] = "sub";
1016
currentSection.Data
[
"SubscriptionId"] = "current-sub";
1047
currentSection.Data
[
"SubscriptionId"] = "current-sub";
1064
restartedSection.Data
[
"Location"] = "westus";
1077
section.Data
[
"SubscriptionId"] = "sub";
1097
legacySection.Data
[
"SandboxId"] = "sandbox";
1118
firstLegacySection.Data
[
"SandboxId"] = "first-sandbox";
1121
secondLegacySection.Data
[
"SandboxId"] = "second-sandbox";
1130
azureSection.Data
[
"SubscriptionId"] = "current-subscription";
1153
firstLegacySection.Data
[
"SandboxId"] = "first";
1156
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 (2)
Telemetry\TelemetryDiskLogger.cs (1)
62
root
[
"activities"] = activitiesArray;
ToolPackage\ToolPackageDownloaderBase.cs (1)
393
runtimeOptions
[
"rollForward"] = "Major";
dotnet-aot (1)
src\sdk\src\Cli\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 (1)
Pipelines\NpmCliPackageTests.cs (1)
598
packageMap
[
rid.Rid] = $"{PackageName}-{rid.Rid}";
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;
603
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 (30)
Utilities\AIJsonUtilities.Schema.Create.cs (21)
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;
543
obj
[
MinRangePropertyName] ??= minNode;
557
obj
[
MaxRangePropertyName] ??= maxNode;
576
requiredArray ??= (JsonArray)(requiredSchemaObj
[
RequiredPropertyName] = new JsonArray());
833
jsonObject
[
entry.Key] = entry.Value;
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)
92
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)
src\sdk\src\TemplateEngine\Shared\JExtensions.cs (1)
643
target
[
property.Key] = property.Value != null
Microsoft.TemplateEngine.Orchestrator.RunnableProjects (1)
src\sdk\src\TemplateEngine\Shared\JExtensions.cs (1)
643
target
[
property.Key] = property.Value != null
Microsoft.TemplateEngine.Utils (1)
src\sdk\src\TemplateEngine\Shared\JExtensions.cs (1)
643
target
[
property.Key] = property.Value != null
Microsoft.TemplateSearch.Common (1)
src\sdk\src\TemplateEngine\Shared\JExtensions.cs (1)
643
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)
4727
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)
592
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;
1129 references to
aspire (55)
Agents\ClaudeCode\ClaudeCodeAgentEnvironmentScanner.cs (2)
207
if (!config.ContainsKey("mcpServers") || config
[
"mcpServers"] is not JsonObject)
212
var servers = config
[
"mcpServers"]!.AsObject();
Agents\CopilotCli\CopilotCliAgentEnvironmentScanner.cs (2)
207
if (!config.ContainsKey("mcpServers") || config
[
"mcpServers"] is not JsonObject)
212
var servers = config
[
"mcpServers"]!.AsObject();
Agents\OpenCode\OpenCodeAgentEnvironmentScanner.cs (2)
198
if (!config.ContainsKey("mcp") || config
[
"mcp"] is not JsonObject)
203
var mcp = config
[
"mcp"]!.AsObject();
Agents\VsCode\VsCodeAgentEnvironmentScanner.cs (2)
252
if (!config.ContainsKey("servers") || config
[
"servers"] is not JsonObject)
257
var servers = config
[
"servers"]!.AsObject();
Commands\InitCommand.cs (14)
559
if (settings
[
"appHost"] is not JsonObject appHost)
569
if (language is not null && appHost
[
"language"] is null)
579
if (!string.IsNullOrEmpty(channel) && settings
[
"channel"] is null)
594
var existingProfilesObject = settings
[
"profiles"] as JsonObject;
719
if (profiles
[
"https"] is not JsonObject https || profiles
[
"http"] is not JsonObject http)
724
var httpsEnv = https
[
"environmentVariables"] as JsonObject;
725
var httpEnv = http
[
"environmentVariables"] as JsonObject;
731
if (!TryParseHostPort(https
[
"applicationUrl"]?.GetValue<string>(), "https", out var dashboardHttps)
732
|| !TryParseHostPort(http
[
"applicationUrl"]?.GetValue<string>(), "http", out var dashboardHttp)
733
|| !TryParseHostPort(httpsEnv
[
KnownConfigNames.DashboardOtlpGrpcEndpointUrl]?.GetValue<string>(), "https", out var otlpHttps)
734
|| !TryParseHostPort(httpEnv
[
KnownConfigNames.DashboardOtlpGrpcEndpointUrl]?.GetValue<string>(), "http", out var otlpHttp)
735
|| !TryParseHostPort(httpsEnv
[
KnownConfigNames.ResourceServiceEndpointUrl]?.GetValue<string>(), "https", out var resourceServiceHttps)
736
|| !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)
210
var predicateTypeNode = attestationObj
[
"predicateType"];
231
var bundleNode = attestationObj
[
"bundle"];
Scaffolding\PackageJsonMerger.cs (13)
97
var scaffoldScripts = scaffold
[
ScriptsKey]?.AsObject();
123
var targetValue = existing
[
key];
164
else if (existingScripts
[
name] is not null)
204
if (scripts
[
unprefixed] is null)
219
var scaffoldDeps = scaffold
[
sectionName]?.AsObject();
234
var existingVersionNode = existingDeps
[
packageName];
261
if (existing
[
sectionName] is not JsonObject existingDeps)
266
var existingVersionNode = existingDeps
[
packageName];
290
var scaffoldEngines = scaffold
[
EnginesKey]?.AsObject();
310
else if (existingEngines
[
key] is null)
331
var targetValue = target
[
key];
347
if (parent
[
propertyName] is JsonObject obj)
352
if (parent
[
propertyName] is not null)
Scaffolding\ScaffoldingService.cs (4)
374
if (parent
[
propertyName] is JsonObject obj)
399
if (scripts
[
scriptName] is JsonValue existingScriptValue &&
406
if (scripts
[
scriptName] is not null)
659
if (existing
[
key] is not { } existingValue)
Utils\ConfigurationHelper.cs (5)
339
if (!currentObject.ContainsKey(part) || currentObject
[
part] is null)
343
else if (currentObject
[
part] is JsonObject)
345
currentObject = currentObject
[
part]!.AsObject();
356
currentObject = currentObject
[
part]!.AsObject();
367
if (currentObject.ContainsKey(finalKey) && currentObject
[
finalKey] is not null)
Aspire.Cli.EndToEnd.Tests (43)
CSharpInitTests.cs (2)
65
var appHostNode = config
[
"appHost"];
71
var language = appHostNode
[
"language"]?.GetValue<string>();
ProjectReferenceTests.cs (1)
118
var packages = config
[
"packages"] as JsonObject ?? new JsonObject();
SelfUpdateChannelPersistenceTests.cs (1)
89
Assert.Equal("staging", updatedConfig
[
"channel"]?.GetValue<string>());
SingleFileAppHostInitDotnetRunTests.cs (6)
85
var httpsProfile = runJson
[
"profiles"]?["https"]?.AsObject();
87
Assert.Equal("Project", httpsProfile
[
"commandName"]?.GetValue<string>());
88
Assert.False(string.IsNullOrWhiteSpace(httpsProfile
[
"applicationUrl"]?.GetValue<string>()));
89
var httpsEnv = httpsProfile
[
"environmentVariables"]?.AsObject();
91
Assert.False(string.IsNullOrWhiteSpace(httpsEnv
[
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"]?.GetValue<string>()));
92
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)
354
var scripts = packageJson
[
"scripts"]!.AsObject();
355
originalDevScript = scripts
[
"dev"]?.GetValue<string>();
356
originalBuildScript = scripts
[
"build"]?.GetValue<string>();
357
originalPreviewScript = scripts
[
"preview"]?.GetValue<string>();
358
originalPackageType = packageJson
[
"type"]?.GetValue<string>();
385
scripts = packageJson
[
"scripts"]!.AsObject();
387
Assert.Equal(originalDevScript, scripts
[
"dev"]?.GetValue<string>());
388
Assert.Equal(originalBuildScript, scripts
[
"build"]?.GetValue<string>());
389
Assert.Equal(originalPreviewScript, scripts
[
"preview"]?.GetValue<string>());
390
Assert.Equal("custom-apphost-start", scripts
[
"aspire:start"]?.GetValue<string>());
391
Assert.Equal("npm --prefix aspire-apphost run aspire:build", scripts
[
"aspire:build"]?.GetValue<string>());
392
Assert.Equal("npm --prefix aspire-apphost run aspire:dev", scripts
[
"aspire:dev"]?.GetValue<string>());
393
Assert.Equal(originalPackageType, packageJson
[
"type"]?.GetValue<string>());
395
var rootDependencies = packageJson
[
"dependencies"]?.AsObject();
396
var rootDevDependencies = packageJson
[
"devDependencies"]?.AsObject();
410
var appHostScripts = appHostPackageJson
[
"scripts"]!.AsObject();
411
var appHostDependencies = appHostPackageJson
[
"dependencies"]!.AsObject();
412
var appHostDevDependencies = appHostPackageJson
[
"devDependencies"]!.AsObject();
413
Assert.Equal("module", appHostPackageJson
[
"type"]?.GetValue<string>());
414
Assert.Equal("aspire-apphost", appHostPackageJson
[
"name"]?.GetValue<string>());
415
Assert.Equal("aspire run", appHostScripts
[
"aspire:start"]?.GetValue<string>());
416
Assert.NotNull(appHostDependencies
[
"vscode-jsonrpc"]);
417
Assert.NotNull(appHostDevDependencies
[
"@types/node"]);
418
Assert.NotNull(appHostDevDependencies
[
"nodemon"]);
419
Assert.NotNull(appHostDevDependencies
[
"tsx"]);
420
Assert.NotNull(appHostDevDependencies
[
"typescript"]);
426
var appHost = config
[
"appHost"]!.AsObject();
427
Assert.Equal("aspire-apphost/apphost.mts", appHost
[
"path"]?.GetValue<string>());
428
var packagesNode = config
[
"packages"];
431
Assert.NotNull(packages
[
"Aspire.Hosting.JavaScript"]);
Aspire.Cli.Tests (309)
Agents\CopilotCliAgentEnvironmentScannerTests.cs (9)
65
var servers = config
[
"mcpServers"]?.AsObject();
69
var aspireServer = servers
[
"aspire"]?.AsObject();
71
Assert.Equal("local", aspireServer
[
"type"]?.GetValue<string>());
72
Assert.Equal("aspire", aspireServer
[
"command"]?.GetValue<string>());
74
var args = aspireServer
[
"args"]?.AsArray();
81
var env = aspireServer
[
"env"]?.AsObject();
84
Assert.Equal("${DOTNET_ROOT}", env
[
"DOTNET_ROOT"]?.GetValue<string>());
87
var tools = aspireServer
[
"tools"]?.AsArray();
125
var servers = config
[
"mcpServers"]?.AsObject();
Agents\TelemetryHookConfiguratorTests.cs (22)
31
Assert.Equal(1, (int)root
[
"version"]!);
33
var entry = root
[
"hooks"]!["postToolUse"]!.AsArray()[0]!.AsObject();
34
Assert.Equal("command", (string)entry
[
"type"]!);
35
Assert.Equal(30, (int)entry
[
"timeoutSec"]!);
36
Assert.Contains("track-telemetry.sh", (string)entry
[
"bash"]!);
37
Assert.StartsWith("bash ", (string)entry
[
"bash"]!);
38
Assert.Contains("track-telemetry.ps1", (string)entry
[
"powershell"]!);
39
Assert.Contains("-File ", (string)entry
[
"powershell"]!);
41
Assert.StartsWith("pwsh ", (string)entry
[
"powershell"]!);
78
Assert.Equal("command", (string)entry
[
"type"]!);
79
Assert.Equal(30, (int)entry
[
"timeout"]!);
83
var execCommand = (string)entry
[
"command"]!;
84
var args = entry
[
"args"]!.AsArray().Select(a => (string)a!).ToArray();
144
Assert.Equal("claude-opus", (string)root
[
"model"]!);
146
var postToolUse = root
[
"hooks"]!["PostToolUse"]!.AsArray();
230
return root
[
"hooks"]!["PostToolUse"]!.AsArray();
238
&& obj
[
"hooks"] is JsonArray hooks
245
&& (JsonValueHasTelemetryScript(ho
[
"command"])
246
|| (ho
[
"args"] is JsonArray args && args.Any(JsonValueHasTelemetryScript)));
253
&& obj
[
"hooks"] is JsonArray hooks
255
&& ho
[
"command"] is JsonValue v
262
if (group is JsonObject obj && obj
[
"hooks"] is JsonArray hooks)
Agents\VsCodeAgentEnvironmentScannerTests.cs (8)
151
var servers = config
[
"servers"]?.AsObject();
155
var aspireServer = servers
[
"aspire"]?.AsObject();
157
Assert.Equal("stdio", aspireServer
[
"type"]?.GetValue<string>());
158
Assert.Equal("aspire", aspireServer
[
"command"]?.GetValue<string>());
160
var args = aspireServer
[
"args"]?.AsArray();
203
var servers = config
[
"servers"]?.AsObject();
250
Assert.Equal("stdio", aspireServer
[
"type"]?.GetValue<string>());
251
Assert.Equal("aspire", aspireServer
[
"command"]?.GetValue<string>());
Commands\ConfigCommandTests.cs (36)
128
Assert.Equal("bar", settings
[
"foo"]?.ToString());
154
Assert.True(settings
[
"docs"] is JsonObject);
155
var docsObject = settings
[
"docs"]!.AsObject();
156
Assert.Equal("http://localhost:4321/llms-small.txt", docsObject
[
"llmsTxtUrl"]?.ToString());
157
Assert.True(docsObject
[
"api"] is JsonObject);
158
Assert.Equal("http://localhost:4321/sitemap-0.xml", docsObject
[
"api"]?["sitemapUrl"]?.ToString());
188
Assert.True(settings
[
"foo"] is JsonObject);
189
var fooObject = settings
[
"foo"]!.AsObject();
190
Assert.Equal("baz", fooObject
[
"bar"]?.ToString());
214
Assert.True(settings
[
"foo"] is JsonObject);
215
var fooObject = settings
[
"foo"]!.AsObject();
216
Assert.True(fooObject
[
"bar"] is JsonObject);
217
var barObject = fooObject
[
"bar"]!.AsObject();
218
Assert.Equal("hello", barObject
[
"baz"]?.ToString());
246
Assert.True(settings
[
"foo"] is JsonObject);
247
var fooObject = settings
[
"foo"]!.AsObject();
248
Assert.Equal("nested", fooObject
[
"bar"]?.ToString());
697
Assert.True(settings
[
"features"] is JsonObject);
698
var featuresObject = settings
[
"features"]!.AsObject();
699
Assert.Equal("true", featuresObject
[
"polyglotSupportEnabled"]?.ToString());
728
Assert.True(settings
[
"features"] is JsonObject);
729
var featuresObject = settings
[
"features"]!.AsObject();
730
Assert.Equal("false", featuresObject
[
"polyglotSupportEnabled"]?.ToString());
759
Assert.True(settings
[
"features"] is JsonObject);
760
var featuresObject = settings
[
"features"]!.AsObject();
761
Assert.Equal("false", featuresObject
[
"polyglotSupportEnabled"]?.ToString());
819
Assert.True(settings
[
"features"] is JsonObject);
820
var featuresObject = settings
[
"features"]!.AsObject();
821
Assert.Equal("false", featuresObject
[
"polyglotSupportEnabled"]?.ToString());
852
var featuresObject = settings
[
"features"]!.AsObject();
853
Assert.Equal("nested-value", featuresObject
[
"polyglotSupportEnabled"]?.ToString());
878
var appHost = settings
[
"appHost"]?.AsObject();
880
Assert.Equal("AppHost.csproj", appHost
[
"path"]?.ToString());
908
Assert.Equal("daily", settings
[
"channel"]?.ToString());
909
var appHost = settings
[
"appHost"]?.AsObject();
911
Assert.Equal("AppHost.csproj", appHost
[
"path"]?.ToString());
Commands\InitCommandTests.cs (49)
169
var appHost = config
[
"appHost"]!.AsObject();
170
Assert.Equal("apphost.cs", appHost
[
"path"]!.GetValue<string>());
171
Assert.Null(appHost
[
"language"]);
197
var profiles = runJson
[
"profiles"]!.AsObject();
199
var https = profiles
[
"https"]!.AsObject();
200
Assert.Equal("Project", https
[
"commandName"]!.GetValue<string>());
201
Assert.True(https
[
"dotnetRunMessages"]!.GetValue<bool>());
202
var httpsUrls = https
[
"applicationUrl"]!.GetValue<string>();
204
var httpsEnv = https
[
"environmentVariables"]!.AsObject();
205
Assert.Equal("Development", httpsEnv
[
KnownAspNetCoreConfigNames.Environment]!.GetValue<string>());
206
Assert.Equal("Development", httpsEnv
[
KnownAspNetCoreConfigNames.DotNetEnvironment]!.GetValue<string>());
207
Assert.StartsWith("https://localhost:", httpsEnv
[
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"]!.GetValue<string>());
208
Assert.StartsWith("https://localhost:", httpsEnv
[
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL"]!.GetValue<string>());
210
var http = profiles
[
"http"]!.AsObject();
211
Assert.Equal("Project", http
[
"commandName"]!.GetValue<string>());
212
var httpEnv = http
[
"environmentVariables"]!.AsObject();
213
Assert.Equal("Development", httpEnv
[
KnownAspNetCoreConfigNames.Environment]!.GetValue<string>());
214
Assert.StartsWith("http://localhost:", httpEnv
[
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"]!.GetValue<string>());
215
Assert.StartsWith("http://localhost:", httpEnv
[
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL"]!.GetValue<string>());
216
Assert.Equal("true", httpEnv
[
"ASPIRE_ALLOW_UNSECURED_TRANSPORT"]!.GetValue<string>());
221
var aspireProfiles = aspireConfig
[
"profiles"]!.AsObject();
223
aspireProfiles
[
"https"]!["applicationUrl"]!.GetValue<string>(),
226
aspireProfiles
[
"http"]!["applicationUrl"]!.GetValue<string>(),
227
http
[
"applicationUrl"]!.GetValue<string>());
275
var profiles = runJson
[
"profiles"]!.AsObject();
276
var https = profiles
[
"https"]!.AsObject();
277
var http = profiles
[
"http"]!.AsObject();
279
Assert.Equal("https://localhost:18000;http://localhost:18001", https
[
"applicationUrl"]!.GetValue<string>());
280
Assert.Equal("https://localhost:18002", https
[
"environmentVariables"]!["ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"]!.GetValue<string>());
281
Assert.Equal("https://localhost:18003", https
[
"environmentVariables"]!["ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL"]!.GetValue<string>());
282
Assert.Equal("http://localhost:18001", http
[
"applicationUrl"]!.GetValue<string>());
283
Assert.Equal("http://localhost:18005", http
[
"environmentVariables"]!["ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"]!.GetValue<string>());
284
Assert.Equal("http://localhost:18006", http
[
"environmentVariables"]!["ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL"]!.GetValue<string>());
328
var preservedProfiles = aspireConfig
[
"profiles"]!.AsObject();
330
var preservedHttps = preservedProfiles
[
"https"]!.AsObject();
331
Assert.Equal("https://localhost:18000", preservedHttps
[
"applicationUrl"]!.GetValue<string>());
332
var preservedEnv = preservedHttps
[
"environmentVariables"]!.AsObject();
333
Assert.Equal("custom-value", preservedEnv
[
"MY_CUSTOM_VAR"]!.GetValue<string>());
400
var appHost = config
[
"appHost"]!.AsObject();
401
Assert.Equal("apphost.mts", appHost
[
"path"]!.GetValue<string>());
402
Assert.Equal("typescript/nodejs", appHost
[
"language"]!.GetValue<string>());
689
Assert.Equal("apphost.cs", merged
[
"appHost"]!.AsObject()["path"]!.GetValue<string>());
691
Assert.Equal("stable", merged
[
"channel"]!.GetValue<string>());
692
Assert.True(merged
[
"features"]!.AsObject()["polyglotSupportEnabled"]!.GetValue<bool>());
1136
Assert.Null(config
[
"channel"]);
1140
Assert.Equal(contextChannel, config
[
"channel"]!.GetValue<string>());
1173
Assert.Equal("pr-99999", config
[
"channel"]!.GetValue<string>());
1205
Assert.Null(config
[
"channel"]);
1249
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\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>());
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)
199
Assert.Equal("api-service-instance-1", firstLog
[
"resourceName"]?.GetValue<string>());
200
Assert.Equal(42, firstLog
[
"logId"]?.GetValue<long>());
201
var firstLogAttributes = firstLog
[
"attributes"]?.AsObject();
207
Assert.Equal("http://localhost:18888/structuredlogs?logEntryId=42", firstLog
[
"dashboardUrl"]?.GetValue<string>());
212
Assert.Equal("api-service-instance-2", secondLog
[
"resourceName"]?.GetValue<string>());
213
Assert.Equal(43, secondLog
[
"logId"]?.GetValue<long>());
214
var secondLogAttributes = secondLog
[
"attributes"]?.AsObject();
218
Assert.Equal("http://localhost:18888/structuredlogs?logEntryId=43", secondLog
[
"dashboardUrl"]?.GetValue<string>());
223
Assert.Equal("worker-service", thirdLog
[
"resourceName"]?.GetValue<string>());
224
Assert.Equal(44, thirdLog
[
"logId"]?.GetValue<long>());
226
Assert.Equal("http://localhost:18888/structuredlogs?logEntryId=44", thirdLog
[
"dashboardUrl"]?.GetValue<string>());
Mcp\ListTracesToolTests.cs (13)
172
Assert.Equal("abc123def456789012345678901234567890", firstTrace
[
"traceId"]?.GetValue<string>());
175
var spans = firstTrace
[
"spans"]?.AsArray();
180
Assert.Equal("http://localhost:18888/traces/detail/abc123def456789012345678901234567890", firstTrace
[
"dashboardUrl"]?.GetValue<string>());
185
Assert.Equal("api-service-instance-1", serverSpan
[
"source"]?.GetValue<string>());
186
Assert.Null(serverSpan
[
"destination"]);
191
Assert.Equal("api-service-instance-2", clientSpan
[
"source"]?.GetValue<string>());
192
Assert.Equal("catalog-service", clientSpan
[
"destination"]?.GetValue<string>());
197
Assert.Equal("xyz789abc123456789012345678901234567890", secondTrace
[
"traceId"]?.GetValue<string>());
199
Assert.Equal("http://localhost:18888/traces/detail/xyz789abc123456789012345678901234567890", secondTrace
[
"dashboardUrl"]?.GetValue<string>());
202
var secondTraceSpans = secondTrace
[
"spans"]?.AsArray();
209
Assert.Equal("Internal", internalSpan
[
"kind"]?.GetValue<string>());
210
Assert.Equal("worker-service", internalSpan
[
"source"]?.GetValue<string>());
211
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\ProjectUpdaterTests.cs (11)
758
itemsAndProperties
[
"Items"]!["PackageReference"]!.AsArray().Clear(); // Then clear it
765
itemsAndProperties
[
"Items"]!["PackageReference"]!.AsArray().Clear(); // Then clear it
4071
properties = root
[
"Properties"]!.AsObject();
4086
items = root
[
"Items"]!.AsObject();
4105
var items = root
[
"Items"]!.AsObject();
4106
var packageReferences = items
[
"PackageReference"]!.AsArray();
4121
var items = root
[
"Items"]!.AsObject();
4122
var packageReferences = items
[
"PackageReference"]!.AsArray();
4137
var items = root
[
"Items"]!.AsObject();
4138
var projectReferences = items
[
"ProjectReference"]!.AsArray();
4154
properties = root
[
"Properties"]!.AsObject();
Scaffolding\PackageJsonMergerTests.cs (98)
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>());
233
Assert.Equal("node server.js", scripts
[
"start"]?.GetValue<string>());
234
Assert.Equal("prettier --check .", scripts
[
"lint"]?.GetValue<string>());
235
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
236
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
239
Assert.Equal("aspire run", scripts
[
"aspire:start"]?.GetValue<string>());
240
Assert.Equal("eslint apphost.ts", scripts
[
"aspire:lint"]?.GetValue<string>());
241
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
245
Assert.Equal("node server.js", scripts
[
"start"]?.GetValue<string>());
246
Assert.Equal("prettier --check .", scripts
[
"lint"]?.GetValue<string>());
276
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
277
Assert.Equal("jest", scripts
[
"test"]?.GetValue<string>());
280
Assert.Equal("aspire run", scripts
[
"aspire:dev"]?.GetValue<string>());
283
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"build"]?.GetValue<string>());
286
Assert.Equal("eslint apphost.ts", scripts
[
"aspire:lint"]?.GetValue<string>());
287
Assert.Equal("npm run aspire:lint", scripts
[
"lint"]?.GetValue<string>());
369
Assert.Equal("my-existing-app", json
[
"name"]?.GetValue<string>());
370
Assert.Equal("3.0.0", json
[
"version"]?.GetValue<string>());
371
Assert.Equal("My cool app", json
[
"description"]?.GetValue<string>());
372
Assert.True(json
[
"private"]?.GetValue<bool>());
373
Assert.Equal("module", json
[
"type"]?.GetValue<string>());
376
Assert.Equal("^20.19.0 || ^22.13.0 || >=24", json
[
"engines"]?["node"]?.GetValue<string>());
444
Assert.Equal("my-app", json
[
"name"]?.GetValue<string>());
518
Assert.Equal("aspire run", scripts
[
"dev"]?.GetValue<string>());
519
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"build"]?.GetValue<string>());
520
Assert.Equal("eslint apphost.ts", scripts
[
"lint"]?.GetValue<string>());
573
var scripts = json
[
"scripts"]!.AsObject();
576
Assert.Equal("vite-project", json
[
"name"]?.GetValue<string>());
577
Assert.Equal("1.0.0", json
[
"version"]?.GetValue<string>());
580
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
581
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
582
Assert.Equal("eslint . --ext .ts,.tsx", scripts
[
"lint"]?.GetValue<string>());
583
Assert.Equal("vite preview", scripts
[
"preview"]?.GetValue<string>());
586
Assert.Equal("aspire run", scripts
[
"aspire:dev"]?.GetValue<string>());
587
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
588
Assert.Equal("eslint apphost.ts", scripts
[
"aspire:lint"]?.GetValue<string>());
591
Assert.Equal("tsc --watch -p tsconfig.apphost.json", scripts
[
"watch"]?.GetValue<string>());
634
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
635
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
638
Assert.Equal("aspire run", scripts
[
"aspire:start"]?.GetValue<string>());
639
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
640
Assert.Equal("tsc --watch -p tsconfig.apphost.json", scripts
[
"aspire:dev"]?.GetValue<string>());
641
Assert.Equal("eslint apphost.ts", scripts
[
"aspire:lint"]?.GetValue<string>());
644
Assert.Equal("npm run aspire:start", scripts
[
"start"]?.GetValue<string>());
645
Assert.Equal("npm run aspire:lint", scripts
[
"lint"]?.GetValue<string>());
648
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
649
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
698
Assert.Equal("tsc && vite build", scripts
[
"build"]?.GetValue<string>());
699
Assert.Equal("concurrently \"tsc -w\" \"vite\"", scripts
[
"dev"]?.GetValue<string>());
700
Assert.Equal("vitest run && echo 'done'", scripts
[
"test"]?.GetValue<string>());
701
Assert.Equal("eslint . --ext .ts,.tsx && prettier --check .", scripts
[
"lint"]?.GetValue<string>());
702
Assert.Equal("rm -rf dist && rm -rf node_modules/.cache", scripts
[
"clean"]?.GetValue<string>());
703
Assert.Equal("node server.js | tee output.log", scripts
[
"start"]?.GetValue<string>());
1147
Assert.Equal("^20.19.0 || ^22.13.0 || >=24", engines
[
"node"]?.GetValue<string>());
1175
Assert.Equal("^20.19.0 || ^22.13.0 || >=24", engines
[
"node"]?.GetValue<string>());
1177
Assert.Equal(">=8", engines
[
"npm"]?.GetValue<string>());
1200
Assert.Equal("^20.19.0 || ^22.13.0 || >=24", engines
[
"node"]?.GetValue<string>());
1224
var keywords = doc
[
"keywords"]!.AsArray();
1229
var files = doc
[
"files"]!.AsArray();
1278
Assert.Equal("my-project", doc
[
"name"]!.GetValue<string>());
1279
Assert.Equal("ISC", doc
[
"license"]!.GetValue<string>());
1282
Assert.NotNull(doc
[
"keywords"]);
1283
Assert.IsAssignableFrom<JsonArray>(doc
[
"keywords"]);
1286
var scripts = doc
[
"scripts"]!.AsObject();
1292
Assert.NotNull(doc
[
"dependencies"]?["vscode-jsonrpc"]);
1293
Assert.NotNull(doc
[
"devDependencies"]?["typescript"]);
1296
Assert.Contains(">=24", doc
[
"engines"]?["node"]?.GetValue<string>());
1463
Assert.Equal("vite-brownfield", doc
[
"name"]!.GetValue<string>());
1464
Assert.Equal("2.0.0", doc
[
"version"]!.GetValue<string>());
1465
Assert.Equal("module", doc
[
"type"]!.GetValue<string>());
1468
var scripts = doc
[
"scripts"]!.AsObject();
1469
Assert.Equal("vite", scripts
[
"dev"]?.GetValue<string>());
1470
Assert.Equal("vite build", scripts
[
"build"]?.GetValue<string>());
1471
Assert.Equal("vite preview", scripts
[
"preview"]?.GetValue<string>());
1474
Assert.Equal("aspire run", scripts
[
"aspire:start"]?.GetValue<string>());
1475
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
1476
Assert.Equal("tsc --watch -p tsconfig.apphost.json", scripts
[
"aspire:dev"]?.GetValue<string>());
1477
Assert.Equal("eslint apphost.ts", scripts
[
"aspire:lint"]?.GetValue<string>());
1492
Assert.Contains(">=24", doc
[
"engines"]?["node"]?.GetValue<string>());
Scaffolding\ScaffoldingServiceTests.cs (16)
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>());
153
Assert.Equal("pnpm --dir aspire-apphost run aspire:start", scripts
[
"aspire:start"]?.GetValue<string>());
154
Assert.Equal("pnpm --dir aspire-apphost run aspire:build", scripts
[
"aspire:build"]?.GetValue<string>());
155
Assert.Equal("pnpm --dir aspire-apphost run aspire:dev", scripts
[
"aspire:dev"]?.GetValue<string>());
179
Assert.Equal("custom-start", scripts
[
"aspire:start"]?.GetValue<string>());
180
Assert.Equal("npm --prefix aspire-apphost run aspire:build", scripts
[
"aspire:build"]?.GetValue<string>());
181
Assert.Equal("npm --prefix aspire-apphost run aspire:dev", scripts
[
"aspire:dev"]?.GetValue<string>());
308
Assert.True(merged
[
"editor.formatOnSave"]!.GetValue<bool>());
310
Assert.Equal("automatic", merged
[
"java.compile.nullAnalysis.mode"]!.GetValue<string>());
311
Assert.Equal([".", ".aspire/modules"], merged
[
"java.project.sourcePaths"]!.AsArray().Select(v => v!.GetValue<string>()));
333
merged
[
"java.project.sourcePaths"]!.AsArray().Select(v => v!.GetValue<string>()));
355
Assert.Equal(4, merged
[
"editor.tabSize"]!.GetValue<int>());
356
Assert.Equal(["."], merged
[
"java.project.sourcePaths"]!.AsArray().Select(v => v!.GetValue<string>()));
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 (24)
Dashboard\DashboardEventHandlers.cs (7)
155
if (configJson
[
"runtimeOptions"]?.AsObject() is { } runtimeOptions &&
156
runtimeOptions
[
"frameworks"]?.AsArray() is { } frameworks)
161
frameworkObj
[
"name"]?.GetValue<string>() is { } name &&
162
frameworkObj
[
"version"]?.GetValue<string>() is { } version)
248
if (configJson
[
"runtimeOptions"]?.AsObject() is { } runtimeOptions &&
249
runtimeOptions
[
"frameworks"]?.AsArray() is { } frameworks)
254
frameworkObj
[
"name"]?.GetValue<string>() is { } name)
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)
442
target
[
name] is JsonObject targetObject)
748
var legacyFallbackDisabled = migrationState
[
LegacyFallbackDisabledProperty]?.GetValue<bool>() ?? false;
749
var legacyStateSnapshot = migrationState
[
LegacyStateProperty] switch
755
var claimedSectionNames = migrationState
[
ClaimedSectionsProperty] switch
761
var currentState = migrationState
[
CurrentStateProperty] switch
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)
232
var resourceGroupName = azureStateSection.Data
[
"ResourceGroup"]?.ToString();
233
var subscriptionId = azureStateSection.Data
[
"SubscriptionId"]?.ToString();
AzureProvisioningController.cs (23)
1857
var subscriptionId = section.Data
[
"SubscriptionId"]?.GetValue<string>();
1858
var resourceGroupName = section.Data
[
"ResourceGroup"]?.GetValue<string>();
2510
var deploymentId = section.Data
[
"Id"]?.GetValue<string>();
2514
var outputs = ParseDeploymentStateJson(resource.Name, "Outputs", section.Data
[
"Outputs"]?.GetValue<string>());
2524
["locationOverride"] = section.Data
[
LocationOverrideKey]?.GetValue<string>(),
2525
["checksum"] = section.Data
[
"CheckSum"]?.GetValue<string>(),
2527
["scope"] = ParseDeploymentStateJson(resource.Name, "Scope", section.Data
[
"Scope"]?.GetValue<string>())
2533
if (section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>() is { Length: > 0 } provisioningState)
2745
if (section.Data
[
LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride)
2764
if (section.Data
[
LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride)
3092
=> section.Data
[
"Id"]?.GetValue<string>() is { Length: > 0 } deploymentId ? deploymentId : null;
3096
section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>(),
3157
if (section.Data
[
"Parameters"]?.GetValue<string>() is not { Length: > 0 } parametersJson)
3188
=> section.Data
[
LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride ? locationOverride : null;
3371
section.Data
[
"SubscriptionId"]?.GetValue<string>() ?? provisionerOptions.Value.SubscriptionId ?? configuration["Azure:SubscriptionId"],
3372
section.Data
[
"ResourceGroup"]?.GetValue<string>() ?? provisionerOptions.Value.ResourceGroup ?? configuration["Azure:ResourceGroup"],
3373
section.Data
[
"Location"]?.GetValue<string>() ?? provisionerOptions.Value.Location ?? configuration["Azure:Location"],
3374
section.Data
[
"TenantId"]?.GetValue<string>() ?? provisionerOptions.Value.TenantId ?? configuration["Azure:TenantId"],
3375
section.Data
[
"Tenant"]?.GetValue<string>());
3393
if (section.Data
[
"Outputs"]?.GetValue<string>() is not { Length: > 0 } outputsJson)
3512
if (section.Data
[
LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride)
3519
if (section.Data
[
"Parameters"]?.GetValue<string>() is not { Length: > 0 } parametersJson)
3815
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)
171
if (section.Data
[
DeploymentStateParametersKey]?.GetValue<string>() is not { Length: > 0 } jsonString)
179
var scope = section.Data
[
DeploymentStateScopeKey]?.GetValue<string>() is { Length: > 0 } scopeString
Provisioning\Internal\RunModeProvisioningContextProvider.cs (5)
237
if (data
[
"Location"]?.GetValue<string>() is { Length: > 0 } location)
242
if (data
[
"SubscriptionId"]?.GetValue<string>() is { Length: > 0 } subscriptionId)
247
if (data
[
"ResourceGroup"]?.GetValue<string>() is { Length: > 0 } resourceGroup)
252
if (data
[
"TenantId"]?.GetValue<string>() is { Length: > 0 } tenantId)
257
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)
60
if (stateSection.Data
[
DeploymentStateProvisioningStateKey]?.GetValue<string>() is { Length: > 0 } provisioningState &&
68
var configCheckSum = stateSection.Data
[
BicepUtilities.DeploymentStateChecksumKey]?.GetValue<string>();
84
if (stateSection.Data
[
BicepUtilities.DeploymentStateOutputsKey]?.GetValue<string>() is { Length: > 0 } outputJson)
119
if (stateSection.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>() is { Length: > 0 } configuredDeploymentId &&
187
stateSection.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>() is not { Length: > 0 } deploymentId ||
358
stateSection.Data
[
BicepUtilities.DeploymentStateChecksumKey]?.GetValue<string>() is not { Length: > 0 } checksum)
375
var locationOverride = stateSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>();
455
var locationOverride = stateSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>();
476
if (stateSection.Data
[
key]?.GetValue<string>() is not { Length: > 0 } json)
495
stateSection.Data
[
DeploymentStateProvisioningStateKey]?.GetValue<string>(),
622
var canceledLocationOverride = canceledStateSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>();
679
locationOverride = stateSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>();
797
locationOverride = stateSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>();
855
var cachedDeploymentId = stateSection.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>();
856
var cachedChecksum = stateSection.Data
[
BicepUtilities.DeploymentStateChecksumKey]?.GetValue<string>();
1487
section.Data
[
key]?.GetValue<string>() is { Length: > 0 } value ? value : null;
1491
if (section.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride)
1496
if (section.Data
[
BicepUtilities.DeploymentStateParametersKey]?.GetValue<string>() is { Length: > 0 } parametersJson)
Aspire.Hosting.Azure.Kubernetes (2)
AzureKubernetesEnvironmentResource.AksPipeline.cs (2)
615
return (azureState.Data
[
"SubscriptionId"]?.ToString(), azureState.Data
[
"ResourceGroup"]?.ToString());
Aspire.Hosting.Azure.Sandboxes (36)
AzureSandboxContainerDeployment.cs (32)
247
var previousOwnerId = previousStateSection.Data
[
"OwnerId"]?.GetValue<string>();
377
var pendingSecurityCleanup = previousStateSection.Data
[
"PendingSecurityCleanup"]?.GetValue<bool>() == true;
481
if (portStates.FirstOrDefault() is JsonObject firstPort && firstPort
[
"Url"]?.GetValue<string>() is { } publicUrl)
1280
var ownerId = stateSection.Data
[
"OwnerId"]?.GetValue<string>();
1396
if (stateSection.Data
[
"OwnerId"]?.GetValue<string>() is { Length: > 0 } ownerId &&
1412
stateSection.Data
[
"OwnerId"]?.GetValue<string>()))
1515
var sandboxId = stateSection.Data
[
"SandboxId"]?.GetValue<string>();
1528
var diskImageId = stateSection.Data
[
"DiskImageId"]?.GetValue<string>();
1793
if (stateSection.Data
[
"ResourceName"]?.GetValue<string>() is { Length: > 0 } resourceName)
1853
var ownerIds = stateSection.Data
[
"PendingOwnerCleanupIds"] is JsonArray pendingOwnerIds
1856
if (stateSection.Data
[
"OwnerId"]?.GetValue<string>() is { Length: > 0 } previousOwnerId &&
1890
if (stateSection.Data
[
"OwnerId"]?.GetValue<string>() is { Length: > 0 } previousOwnerId &&
1903
stateSection.Data
[
"PendingLegacyDeploymentCleanup"]?.DeepClone() as JsonObject;
1993
previousStateSection.Data
[
"HasRuntimeEnvironmentConfiguration"]?.GetValue<bool>() == true ||
1995
previousStateSection.Data
[
"HasRuntimeCommandConfiguration"]?.GetValue<bool>() == true)
2000
if (previousStateSection.Data
[
"PendingSecurityCleanup"]?.GetValue<bool>() == true)
2005
var previousFingerprint = previousStateSection.Data
[
"EndpointSecurityFingerprint"]?.GetValue<string>();
2034
var subscriptionId = stateSection.Data
[
"SubscriptionId"]?.GetValue<string>();
2035
var resourceGroup = stateSection.Data
[
"ResourceGroup"]?.GetValue<string>();
2036
var location = stateSection.Data
[
"Location"]?.GetValue<string>();
2037
var sandboxGroup = stateSection.Data
[
"SandboxGroup"]?.GetValue<string>();
2058
!string.IsNullOrWhiteSpace(stateSection.Data
[
"OwnerId"]?.GetValue<string>()) ||
2059
!string.IsNullOrWhiteSpace(stateSection.Data
[
"SandboxId"]?.GetValue<string>()) ||
2060
!string.IsNullOrWhiteSpace(stateSection.Data
[
"DiskImageId"]?.GetValue<string>());
2075
if (stateSection.Data
[
"Ports"] is not JsonArray ports)
2082
if (port
[
"Url"]?.GetValue<string>() is { Length: > 0 } url)
2098
if (previousStateSection.Data
[
"DeployId"]?.GetValue<string>() is { Length: > 0 } previousDeployId)
2113
if (previousStateSection.Data
[
stateKey]?.GetValue<string>() is { Length: > 0 } previousId)
2123
if (stateSection.Data
[
"Ports"] is JsonArray ports)
2127
if (port
[
"Port"]?.GetValue<int>() is { } portNumber)
2136
if (stateSection.Data
[
"Port"]?.GetValue<int>() is { } legacyPort)
2267
var value = section.Data
[
name]?.GetValue<string>();
AzureSandboxEndpointPropertyValueProvider.cs (4)
123
if (stateSection.Data
[
"Ports"] is not JsonArray ports)
131
if (port
[
"Port"]?.GetValue<int>() == _sandboxEndpoint.TargetPort)
136
if (string.Equals(port
[
"Name"]?.GetValue<string>(), _sandboxEndpoint.Name, StringComparison.Ordinal))
147
url = port
[
"Url"]?.GetValue<string>();
Aspire.Hosting.Azure.Tests (195)
AzureBicepProvisionerTests.cs (21)
1021
Assert.Equal("westus3", section.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
1083
Assert.Equal("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage2", section.Data
[
"Id"]?.GetValue<string>());
1084
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateRunning, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1338
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1371
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1403
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1437
Assert.Null(section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]);
1438
Assert.Equal(deploymentId, section.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>());
1496
Assert.Equal(ResourcesProvisioningState.Failed.ToString(), section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1597
Assert.Null(section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]);
1598
Assert.Equal(deploymentId, section.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>());
1599
var outputs = JsonNode.Parse(section.Data
[
BicepUtilities.DeploymentStateOutputsKey]!.GetValue<string>())!.AsObject();
1600
Assert.Equal("https://storage.blob.core.windows.net/", outputs
[
"blobEndpoint"]?["value"]?.GetValue<string>());
1678
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateRunning, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1679
Assert.Equal(deploymentId, section.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>());
1707
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateRunning, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1708
Assert.Equal(deploymentId, section.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>());
1733
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateFailed, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1758
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1791
Assert.Null(section.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]);
1792
Assert.Equal(deploymentId, section.Data
[
BicepUtilities.DeploymentStateIdKey]?.GetValue<string>());
AzureEnvironmentResourceExtensionsTests.cs (145)
368
Assert.Contains("orphaned", resultData
[
"warning"]?.GetValue<string>(), StringComparison.Ordinal);
369
var recommendedActions = Assert.IsType<JsonArray>(resultData
[
"recommendedActions"]);
762
Assert.Equal(1, data
[
"resourceCount"]?.GetValue<int>());
842
Assert.Equal(AzureProvisioningController.GetAzureResourceCommandName, data
[
"command"]?.GetValue<string>());
843
Assert.Equal("storage", data
[
"resourceName"]?.GetValue<string>());
844
Assert.Equal("westus2", data
[
"azureLocation"]?.GetValue<string>());
845
Assert.Equal("westus3", data
[
"location"]?.GetValue<string>());
846
Assert.Equal("westus3", data
[
"effectiveLocation"]?.GetValue<string>());
850
var azureContext = Assert.IsType<JsonObject>(data
[
"azureContext"]);
851
Assert.Equal(subscriptionId, azureContext
[
"subscriptionId"]?.GetValue<string>());
852
Assert.Equal(tenantId, azureContext
[
"tenantId"]?.GetValue<string>());
853
Assert.Equal(resourceGroup, azureContext
[
"resourceGroup"]?.GetValue<string>());
854
Assert.Equal("westus2", azureContext
[
"location"]?.GetValue<string>());
856
var deployment = Assert.IsType<JsonObject>(data
[
"deployment"]);
857
Assert.True(deployment
[
"hasState"]?.GetValue<bool>());
858
Assert.Equal(deploymentId, deployment
[
"deploymentId"]?.GetValue<string>());
859
Assert.Equal(resourceId, deployment
[
"resourceId"]?.GetValue<string>());
860
Assert.Equal("westus3", deployment
[
"locationOverride"]?.GetValue<string>());
861
Assert.Equal("checksum", deployment
[
"checksum"]?.GetValue<string>());
862
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateRunning, deployment
[
"provisioningState"]?.GetValue<string>());
863
Assert.Contains("/DeploymentDetailsBlade/", deployment
[
"deploymentPortalUrl"]?.GetValue<string>());
864
Assert.Contains("/resource/subscriptions/", deployment
[
"resourcePortalUrl"]?.GetValue<string>());
866
var outputs = Assert.IsType<JsonObject>(deployment
[
"outputs"]);
867
Assert.Equal("https://storage.blob.core.windows.net/", outputs
[
"blobEndpoint"]?["value"]?.GetValue<string>());
869
var scope = Assert.IsType<JsonObject>(deployment
[
"scope"]);
870
Assert.Equal(resourceGroup, scope
[
"resourceGroup"]?.GetValue<string>());
872
var live = Assert.IsType<JsonObject>(data
[
"live"]);
873
Assert.True(live
[
"checked"]?.GetValue<bool>());
874
Assert.True(live
[
"exists"]?.GetValue<bool>());
925
var live = Assert.IsType<JsonObject>(data
[
"live"]);
926
Assert.True(live
[
"checked"]?.GetValue<bool>());
927
Assert.False(live
[
"exists"]?.GetValue<bool>());
928
Assert.Equal("missing-live-resource", live
[
"reason"]?.GetValue<string>());
929
Assert.Equal("azure", live
[
"source"]?.GetValue<string>());
930
Assert.Equal("missing-live-resource", live
[
"code"]?.GetValue<string>());
931
Assert.Contains("resource was not found in Azure", live
[
"message"]?.GetValue<string>(), StringComparison.Ordinal);
932
var recommendedActions = Assert.IsType<JsonArray>(live
[
"recommendedActions"]);
987
Assert.Equal("Microsoft.Storage/storageAccounts", json
[
"resourceType"]?.GetValue<string>());
988
Assert.Equal("storage", json
[
"resourceName"]?.GetValue<string>());
989
Assert.Equal(targetResourceId, json
[
"targetResourceId"]?.GetValue<string>());
1195
var deployment = Assert.IsType<JsonObject>(data
[
"deployment"]);
1196
Assert.True(deployment
[
"hasState"]?.GetValue<bool>());
1197
Assert.Null(deployment
[
"resourceId"]);
1199
var live = Assert.IsType<JsonObject>(data
[
"live"]);
1200
Assert.False(live
[
"checked"]?.GetValue<bool>());
1201
Assert.Null(live
[
"exists"]);
1202
Assert.Equal("missing-resource-id", live
[
"reason"]?.GetValue<string>());
1203
Assert.Equal("aspire", live
[
"source"]?.GetValue<string>());
1204
Assert.Equal("missing-resource-id", live
[
"code"]?.GetValue<string>());
1205
Assert.Contains("cached deployment state does not contain a resource ID", live
[
"message"]?.GetValue<string>(), StringComparison.Ordinal);
1206
var recommendedActions = Assert.IsType<JsonArray>(live
[
"recommendedActions"]);
1258
var live = Assert.IsType<JsonObject>(data
[
"live"]);
1259
Assert.True(live
[
"checked"]?.GetValue<bool>());
1260
Assert.Null(live
[
"exists"]);
1261
Assert.Equal("request-failed", live
[
"reason"]?.GetValue<string>());
1262
Assert.Equal("azure", live
[
"source"]?.GetValue<string>());
1263
Assert.Equal(403, live
[
"status"]?.GetValue<int>());
1264
Assert.Equal("Azure", live
[
"provider"]?.GetValue<string>());
1265
Assert.Equal(403, live
[
"httpStatus"]?.GetValue<int>());
1266
Assert.Equal("AuthorizationFailed", live
[
"errorCode"]?.GetValue<string>());
1267
Assert.Equal("live-resource-check", live
[
"operation"]?.GetValue<string>());
1268
Assert.Contains("Forbidden", live
[
"message"]?.GetValue<string>(), StringComparison.Ordinal);
1319
var live = Assert.IsType<JsonObject>(data
[
"live"]);
1320
Assert.True(live
[
"checked"]?.GetValue<bool>());
1321
Assert.Null(live
[
"exists"]);
1322
Assert.Equal("credential-unavailable", live
[
"reason"]?.GetValue<string>());
1323
Assert.Contains("Credential unavailable", live
[
"message"]?.GetValue<string>(), StringComparison.Ordinal);
1383
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1517
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1721
Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateSucceeded, storageSection.Data
[
BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>());
1811
Assert.Equal(2, resultData
[
"deletedResourceCount"]?.GetValue<int>());
1812
var resultResourceIds = Assert.IsType<JsonArray>(resultData
[
"deletedResourceIds"]);
1816
Assert.Equal("westus3", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
1821
Assert.Equal("storage2-deployment", storage2Section.Data
[
"Id"]?.GetValue<string>());
1902
Assert.Equal(1, resultData
[
"deletedResourceCount"]?.GetValue<int>());
2130
Assert.Equal("storage2-deployment", storage2Section.Data
[
"Id"]?.GetValue<string>());
2195
Assert.Equal("storage2-deployment", storage2Section.Data
[
"Id"]?.GetValue<string>());
2804
Assert.Equal("westus2", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
2851
Assert.Equal("westus3", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
2854
Assert.Equal(1, data
[
"schemaVersion"]?.GetValue<int>());
2855
Assert.Equal(AzureProvisioningController.ChangeResourceLocationCommandName, data
[
"command"]?.GetValue<string>());
2856
Assert.Equal("storage", data
[
"resourceName"]?.GetValue<string>());
2857
Assert.Equal("westus3", data
[
"location"]?.GetValue<string>());
2858
Assert.Equal("westus3", data
[
"effectiveLocation"]?.GetValue<string>());
2859
Assert.Equal("eastus", data
[
"azureLocation"]?.GetValue<string>());
2860
var azureContext = Assert.IsType<JsonObject>(data
[
"azureContext"]);
2861
Assert.Equal("eastus", azureContext
[
"location"]?.GetValue<string>());
2909
Assert.Equal("westus3", bicepSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3235
Assert.Equal("westus3", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3297
Assert.Equal("westus3", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3362
Assert.Equal("westus3", storageSection.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3416
Assert.Equal("12345678-1234-1234-1234-123456789012", azureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
3417
Assert.Equal("westus2", azureSection.Data
[
"Location"]?.GetValue<string>());
3418
Assert.Equal("test-rg", azureSection.Data
[
"ResourceGroup"]?.GetValue<string>());
3419
Assert.Equal("87654321-4321-4321-4321-210987654321", azureSection.Data
[
"TenantId"]?.GetValue<string>());
3462
Assert.Equal("12345678-1234-1234-1234-123456789012", azureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
3463
Assert.Equal("westus3", azureSection.Data
[
"Location"]?.GetValue<string>());
3464
Assert.Equal("cli-rg-é", azureSection.Data
[
"ResourceGroup"]?.GetValue<string>());
3465
Assert.Equal("87654321-4321-4321-4321-210987654321", azureSection.Data
[
"TenantId"]?.GetValue<string>());
3468
Assert.Equal(1, data
[
"schemaVersion"]?.GetValue<int>());
3469
Assert.Equal(AzureProvisioningController.ChangeAzureContextCommandName, data
[
"command"]?.GetValue<string>());
3470
Assert.Equal("12345678-1234-1234-1234-123456789012", data
[
"subscriptionId"]?.GetValue<string>());
3471
Assert.Equal("87654321-4321-4321-4321-210987654321", data
[
"tenantId"]?.GetValue<string>());
3472
Assert.Equal("cli-rg-é", data
[
"resourceGroup"]?.GetValue<string>());
3473
Assert.Equal("westus3", data
[
"azureLocation"]?.GetValue<string>());
3474
var azureContext = Assert.IsType<JsonObject>(data
[
"azureContext"]);
3475
Assert.Equal("12345678-1234-1234-1234-123456789012", azureContext
[
"subscriptionId"]?.GetValue<string>());
3476
Assert.Equal("87654321-4321-4321-4321-210987654321", azureContext
[
"tenantId"]?.GetValue<string>());
3477
Assert.Equal("cli-rg-é", azureContext
[
"resourceGroup"]?.GetValue<string>());
3478
Assert.Equal("westus3", azureContext
[
"location"]?.GetValue<string>());
3482
Assert.Equal(1, data
[
"resourceCount"]?.GetValue<int>());
3535
Assert.Null(data
[
"tenantId"]);
3583
Assert.Equal("westus2", azureSection.Data
[
"Location"]?.GetValue<string>());
3678
Assert.Equal("westus3", storage2Section.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3724
Assert.Equal("westus3", storage2Section.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
3783
Assert.Equal("westus3", storage2Section.Data
[
AzureProvisioningController.LocationOverrideKey]?.GetValue<string>());
4026
Assert.False(data
[
"success"]?.GetValue<bool>());
4027
var diagnostics = Assert.IsType<JsonArray>(data
[
"diagnostics"]);
4029
Assert.Equal("Microsoft.KeyVault", diagnostic
[
"provider"]?.GetValue<string>());
4030
Assert.Equal("Microsoft.KeyVault/vaults", diagnostic
[
"resourceType"]?.GetValue<string>());
4031
Assert.Equal("kv-test", diagnostic
[
"resourceName"]?.GetValue<string>());
4032
Assert.Equal(keyVaultResourceId, diagnostic
[
"targetResourceId"]?.GetValue<string>());
4033
Assert.Equal(AzureProvisioningFailureDetails.KeyVaultDeletedStateTombstoneNotFoundReason, diagnostic
[
"errorCode"]?.GetValue<string>());
4034
Assert.Equal(409, diagnostic
[
"httpStatus"]?.GetValue<int>());
4035
Assert.Contains("deleted vault was not found", diagnostic
[
"errorMessage"]?.GetValue<string>(), StringComparison.Ordinal);
4036
var recommendedActions = Assert.IsType<JsonArray>(diagnostic
[
"recommendedActions"]);
4233
Assert.False(data
[
"success"]?.GetValue<bool>());
4234
Assert.Equal("failed", data
[
"status"]?.GetValue<string>());
4235
var diagnostics = Assert.IsType<JsonArray>(data
[
"diagnostics"]);
4237
Assert.Equal("azure", diagnostic
[
"source"]?.GetValue<string>());
4238
Assert.Equal("Microsoft.ManagedIdentity", diagnostic
[
"provider"]?.GetValue<string>());
4239
Assert.Equal("Microsoft.ManagedIdentity/userAssignedIdentities", diagnostic
[
"resourceType"]?.GetValue<string>());
4240
Assert.Equal(400, diagnostic
[
"httpStatus"]?.GetValue<int>());
4241
Assert.Equal("LocationNotAvailableForResourceType", diagnostic
[
"errorCode"]?.GetValue<string>());
4242
Assert.Equal("provision", diagnostic
[
"operation"]?.GetValue<string>());
4243
var resultRecommendedActions = Assert.IsType<JsonArray>(diagnostic
[
"recommendedActions"]);
4539
Assert.Equal("12345678-1234-1234-1234-123456789012", azureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
4540
Assert.Equal("westus2", azureSection.Data
[
"Location"]?.GetValue<string>());
4541
Assert.Equal("test-rg", azureSection.Data
[
"ResourceGroup"]?.GetValue<string>());
4542
Assert.Equal("87654321-4321-4321-4321-210987654321", azureSection.Data
[
"TenantId"]?.GetValue<string>());
4688
Assert.Equal("storage-deployment", storageSection.Data
[
"Id"]?.GetValue<string>());
5555
azureSection.Data
[
"SubscriptionId"]?.GetValue<string>(),
5556
azureSection.Data
[
"ResourceGroup"]?.GetValue<string>(),
5557
azureSection.Data
[
"Location"]?.GetValue<string>(),
5558
azureSection.Data
[
"TenantId"]?.GetValue<string>());
AzureEventHubsExtensionsTests.cs (1)
400
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)
345
Assert.Equal("existing-rg", rolesManifest
[
"scope"]?["resourceGroup"]?.GetValue<string>());
AzureServiceBusExtensionsTests.cs (1)
512
document
[
"UserConfig"]!["Logging"] = new JsonObject { ["Type"] = "Console" };
BicepUtilitiesTests.cs (16)
26
Assert.Equal("david", parameters
[
"name"]?["value"]?.ToString());
62
Assert.Equal("john", parameters
[
"name"]?["value"]?.ToString());
63
Assert.Equal(20, parameters
[
"age"]?["value"]?.GetValue<int>());
64
Assert.Equal(["a", "b", "c"], parameters
[
"values"]?["value"]?.AsArray()?.Select(v => v?.ToString()) ?? []);
65
Assert.Equal("connection string", parameters
[
"conn"]?["value"]?.ToString());
66
Assert.Equal("value", parameters
[
"jsonObj"]?["value"]?["key"]?.ToString());
67
Assert.Equal("paramValue", parameters
[
"param"]?["value"]?.ToString());
68
Assert.Equal("paramValue/1", parameters
[
"expr"]?["value"]?.ToString());
69
Assert.Equal("http://localhost:1023", parameters
[
"endpoint"]?["value"]?.ToString());
343
Assert.Equal("test-rg", scope
[
"resourceGroup"]?.ToString());
358
Assert.Equal("test-rg", scope
[
"resourceGroup"]?.ToString());
359
Assert.Equal("12345678-1234-1234-1234-123456789012", scope
[
"subscription"]?.ToString());
374
Assert.Equal("12345678-1234-1234-1234-123456789012", scope
[
"subscription"]?.ToString());
393
Assert.Equal("12345678-1234-1234-1234-123456789012", scope
[
"subscription"]?.ToString());
408
Assert.Equal("current", scope
[
"tenant"]?.ToString());
422
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)
193
var existingVersion = GetStringValue(section
[
packageName]);
208
if (parent
[
propertyName] is JsonObject obj)
Aspire.Hosting.CodeGeneration.TypeScript.Tests (60)
AtsTypeScriptCodeGeneratorTests.cs (3)
42
Assert.Equal("aspire-host", packageJson
[
"name"]?.GetValue<string>());
43
Assert.Equal("module", packageJson
[
"type"]?.GetValue<string>());
44
Assert.NotNull(packageJson
[
"dependencies"]?["vscode-jsonrpc"]);
TypeScriptLanguageSupportTests.cs (57)
31
var scripts = packageJson
[
"scripts"]!.AsObject();
32
var devDependencies = packageJson
[
"devDependencies"]!.AsObject();
34
Assert.Equal("brownfieldapp", packageJson
[
"name"]?.GetValue<string>());
35
Assert.Equal("1.0.0", packageJson
[
"version"]?.GetValue<string>());
36
Assert.True(packageJson
[
"private"]?.GetValue<bool>());
37
Assert.Equal("module", packageJson
[
"type"]?.GetValue<string>());
38
Assert.Equal("aspire run", scripts
[
"aspire:start"]?.GetValue<string>());
39
Assert.Equal("tsc -p tsconfig.apphost.json", scripts
[
"aspire:build"]?.GetValue<string>());
40
Assert.Equal("tsc --watch -p tsconfig.apphost.json", scripts
[
"aspire:dev"]?.GetValue<string>());
41
Assert.Equal("eslint apphost.mts", scripts
[
"aspire:lint"]?.GetValue<string>());
42
Assert.Equal("npm run aspire:lint", scripts
[
"lint"]?.GetValue<string>());
43
Assert.Equal("npm run aspire:lint", scripts
[
"predev"]?.GetValue<string>());
44
Assert.Equal("npm run aspire:start", scripts
[
"dev"]?.GetValue<string>());
45
Assert.Equal("npm run aspire:lint", scripts
[
"prebuild"]?.GetValue<string>());
46
Assert.Equal("npm run aspire:build", scripts
[
"build"]?.GetValue<string>());
47
Assert.Equal("npm run aspire:dev", 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)
147
var savedComposeFilePath = stateSection.Data
[
"ComposeFilePath"]?.ToString();
163
var savedOutputPath = stateSection.Data
[
"OutputPath"]?.ToString() ?? Path.GetDirectoryName(savedComposeFilePath)!;
164
var savedProjectName = stateSection.Data
[
"ProjectName"]?.ToString() ?? GetDockerComposeProjectName(ctx, this);
Aspire.Hosting.Docker.Tests (2)
DockerComposeTests.cs (2)
1056
Assert.NotNull(stateSection.Data
[
"ComposeFilePath"]?.ToString());
1057
Assert.NotNull(stateSection.Data
[
"ProjectName"]?.ToString());
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 (4)
AddJavaScriptAppTests.cs (3)
286
Assert.Equal("container.v1", manifest
[
"type"]?.ToString());
304
Assert.Equal("bun", manifest
[
"entrypoint"]?.ToString());
323
Assert.Equal("container.v1", manifest
[
"type"]?.ToString());
AddViteAppTests.cs (1)
487
Assert.Equal("container.v1", manifest
[
"type"]?.ToString());
Aspire.Hosting.Kubernetes (4)
Deployment\HelmDeploymentEngine.cs (2)
192
var savedReleaseName = stateSection.Data
[
"ReleaseName"]?.ToString();
193
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 (1)
KubernetesDeployTests.cs (1)
1946
Assert.Equal("my-release", stateSection.Data
[
"ReleaseName"]?.ToString());
Aspire.Hosting.Redis.Tests (40)
AddRedisTests.cs (35)
152
var resources = fullManifest
[
"resources"]!;
153
var manifest = resources
[
"redis"]!;
155
Assert.Equal("container.v0", manifest
[
"type"]!.GetValue<string>());
156
var connectionString = manifest
[
"connectionString"]!.GetValue<string>();
161
Assert.Equal($"{RedisContainerImageTags.Registry}/{RedisContainerImageTags.Image}:{RedisContainerImageTags.Tag}", manifest
[
"image"]!.GetValue<string>());
162
Assert.Equal("/bin/sh", manifest
[
"entrypoint"]!.GetValue<string>());
163
Assert.Equal("{redis-password.value}", manifest
[
"env"]!["REDIS_PASSWORD"]!.GetValue<string>());
164
Assert.Equal("redis", manifest
[
"bindings"]!["tcp"]!["scheme"]!.GetValue<string>());
165
Assert.Equal(6379, manifest
[
"bindings"]!["tcp"]!["targetPort"]!.GetValue<int>());
177
var resources = fullManifest
[
"resources"]!;
178
var manifest = resources
[
"redis"]!;
180
Assert.Equal("container.v0", manifest
[
"type"]!.GetValue<string>());
181
var connectionString = manifest
[
"connectionString"]!.GetValue<string>();
186
Assert.Equal($"{RedisContainerImageTags.Registry}/{RedisContainerImageTags.Image}:{RedisContainerImageTags.Tag}", manifest
[
"image"]!.GetValue<string>());
187
Assert.Equal("/bin/sh", manifest
[
"entrypoint"]!.GetValue<string>());
188
Assert.Equal("redis", manifest
[
"bindings"]!["tcp"]!["scheme"]!.GetValue<string>());
189
Assert.Equal(6379, manifest
[
"bindings"]!["tcp"]!["targetPort"]!.GetValue<int>());
206
var resources = fullManifest
[
"resources"]!;
207
var manifest = resources
[
"redis"]!;
209
Assert.Equal("container.v0", manifest
[
"type"]!.GetValue<string>());
210
var connectionString = manifest
[
"connectionString"]!.GetValue<string>();
215
Assert.Equal($"{RedisContainerImageTags.Registry}/{RedisContainerImageTags.Image}:{RedisContainerImageTags.Tag}", manifest
[
"image"]!.GetValue<string>());
216
Assert.Equal("{pass.value}", manifest
[
"env"]!["REDIS_PASSWORD"]!.GetValue<string>());
217
Assert.Equal("redis", manifest
[
"bindings"]!["tcp"]!["scheme"]!.GetValue<string>());
218
Assert.Equal(6379, manifest
[
"bindings"]!["tcp"]!["targetPort"]!.GetValue<int>());
232
var resources = fullManifest
[
"resources"]!;
233
var manifest = resources
[
"redis"]!;
235
Assert.Equal("container.v0", manifest
[
"type"]!.GetValue<string>());
236
var connectionString = manifest
[
"connectionString"]!.GetValue<string>();
241
Assert.Equal($"{RedisContainerImageTags.Registry}/{RedisContainerImageTags.Image}:{RedisContainerImageTags.Tag}", manifest
[
"image"]!.GetValue<string>());
242
Assert.Equal("{pass.value}", manifest
[
"env"]!["REDIS_PASSWORD"]!.GetValue<string>());
243
Assert.Equal("redis", manifest
[
"bindings"]!["tcp"]!["scheme"]!.GetValue<string>());
244
Assert.Equal(6379, manifest
[
"bindings"]!["tcp"]!["targetPort"]!.GetValue<int>());
1001
var creEntry = resources
[
creName];
1003
Assert.Equal("value.v0", creEntry
[
"type"]!.GetValue<string>());
RedisFunctionalTests.cs (5)
609
var agreements = jo
[
"agreements"];
612
Assert.False(agreements
[
"analytics"]!.GetValue<bool>());
613
Assert.False(agreements
[
"notifications"]!.GetValue<bool>());
614
Assert.False(agreements
[
"encryption"]!.GetValue<bool>());
615
Assert.True(agreements
[
"eula"]!.GetValue<bool>());
Aspire.Hosting.RemoteHost (1)
Ats\AtsCallbackProxyFactory.cs (1)
405
if (returnedArgs
[
key] is JsonObject modifiedDto)
Aspire.Hosting.RemoteHost.Tests (51)
AtsMarshallerTests.cs (32)
542
Assert.NotNull(jsonObj
[
"$handle"]);
543
Assert.NotNull(jsonObj
[
"$type"]);
545
var typeId = jsonObj
[
"$type"]!.GetValue<string>();
561
Assert.NotNull(jsonObj
[
"$handle"]);
562
Assert.NotNull(jsonObj
[
"$type"]);
564
var typeId = jsonObj
[
"$type"]!.GetValue<string>();
580
Assert.NotNull(jsonObj
[
"$handle"]);
581
Assert.NotNull(jsonObj
[
"$type"]);
776
Assert.Equal("test", jsonObj
[
"name"]?.GetValue<string>());
777
Assert.Equal(10, jsonObj
[
"count"]?.GetValue<int>());
829
Assert.Equal(1500, json
[
"required"]?.GetValue<double>());
830
Assert.Equal(90_000, json
[
"optional"]?.GetValue<double>());
831
Assert.Null(json
[
"empty"]);
923
Assert.Equal("root", obj
[
"name"]!.GetValue<string>());
924
Assert.True(obj
[
"self"] is null || obj
[
"self"]!.GetValueKind() == System.Text.Json.JsonValueKind.Null);
939
Assert.Equal("parent", obj
[
"label"]!.GetValue<string>());
940
var childObj = Assert.IsType<JsonObject>(obj
[
"child"]);
941
Assert.Equal("child", childObj
[
"label"]!.GetValue<string>());
943
Assert.True(childObj
[
"parent"] is null || childObj
[
"parent"]!.GetValueKind() == System.Text.Json.JsonValueKind.Null);
959
Assert.Equal("typed", obj
[
"name"]!.GetValue<string>());
960
Assert.True(obj
[
"self"] is null || obj
[
"self"]!.GetValueKind() == System.Text.Json.JsonValueKind.Null);
975
Assert.Equal("parent", obj
[
"label"]!.GetValue<string>());
976
var childObj = Assert.IsType<JsonObject>(obj
[
"child"]);
977
Assert.Equal("child", childObj
[
"label"]!.GetValue<string>());
978
Assert.True(childObj
[
"parent"] is null || childObj
[
"parent"]!.GetValueKind() == System.Text.Json.JsonValueKind.Null);
1247
Assert.NotNull(jsonObj
[
"$handle"]);
1248
Assert.NotNull(jsonObj
[
"$type"]);
1264
var handleId = json
[
"$handle"]!.GetValue<string>();
CallbackProxyTests.cs (11)
128
Assert.Equal("hello-world", args
[
"p0"]?.GetValue<string>());
145
Assert.Equal("test-name", args
[
"p0"]?.GetValue<string>());
146
Assert.Equal(42, args
[
"p1"]?.GetValue<int>());
169
var handle = Assert.IsAssignableFrom<JsonObject>(args
[
"p0"]);
170
Assert.NotNull(handle
[
"$handle"]?.GetValue<string>());
171
Assert.Equal(AtsTypeMapping.DeriveTypeId(typeof(ITestCallbackHandle)), handle
[
"$type"]?.GetValue<string>());
201
Assert.Equal("test", args
[
"p0"]?.GetValue<string>());
202
var tokenId = args
[
"p1"]?.GetValue<string>();
205
Assert.Equal(tokenId, args
[
"$cancellationToken"]?.GetValue<string>());
222
var tokenId = args
[
"p0"]?.GetValue<string>();
224
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>());
HandleRegistryTests.cs (4)
174
Assert.NotNull(json
[
"$handle"]);
175
Assert.NotNull(json
[
"$type"]);
176
Assert.Equal("aspire/TestObject", json
[
"$type"]!.GetValue<string>());
178
var handleId = json
[
"$handle"]!.GetValue<string>();
ReferenceExpressionRefTests.cs (1)
251
((JsonObject)json
[
"$expr"]!)["valueProviders"] = providersArray;
Aspire.Hosting.Tests (110)
Backchannel\AuxiliaryBackchannelRpcTargetTests.cs (2)
1333
Assert.Equal("localhost", nameValueObject
[
"Host"]?.GetValue<string>());
1334
Assert.Equal("catalogdb", nameValueObject
[
"DatabaseName"]?.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());
Publishing\DeploymentStateManagerTests.cs (75)
51
Assert.Equal("value1", section2.Data
[
"key1"]?.GetValue<string>());
67
Assert.Null(restartedSection.Data
[
"NullValue"]);
120
Assert.Equal("value1", parametersCheck.Data
[
"param1"]?.GetValue<string>());
121
Assert.Equal("azure-value1", azureCheck.Data
[
"resource1"]?.GetValue<string>());
149
Assert.Equal($"value{i}", section.Data
[
$"key{i}"]?.GetValue<string>());
168
Assert.Equal("value1", section2.Data
[
"key1"]?.GetValue<string>());
189
Assert.Equal("value1", section2.Data
[
"key1"]?.GetValue<string>());
202
Assert.Equal("value1", section3.Data
[
"key1"]?.GetValue<string>());
203
Assert.Equal("value2", section3.Data
[
"key2"]?.GetValue<string>());
241
Assert.Equal("value1", parametersSection.Data
[
"param1"]?.GetValue<string>());
242
Assert.Equal("azure-value1", azureSection.Data
[
"resource1"]?.GetValue<string>());
243
Assert.Equal("value1", restartedParametersSection.Data
[
"param1"]?.GetValue<string>());
260
Assert.Equal("value1", retrievedSection.Data
[
"key1"]?.GetValue<string>());
277
Assert.Equal("nestedValue", verifySection.Data
[
"nestedKey"]?.GetValue<string>());
297
Assert.Equal("value1", verify1.Data
[
"key1"]?.GetValue<string>());
298
Assert.Equal("value2", verify2.Data
[
"key2"]?.GetValue<string>());
314
Assert.Equal("value1", verify.Data
[
""]?.GetValue<string>());
374
Assert.Equal("topValue", verifyTop.Data
[
"topKey"]?.GetValue<string>());
375
Assert.Equal("nestedValue", verifyNested.Data
[
"nestedKey"]?.GetValue<string>());
481
Assert.True(migratedSection.Data
[
"legacy"]?.GetValue<bool>());
493
Assert.True(currentSection.Data
[
"legacy"]?.GetValue<bool>());
494
Assert.True(currentSection.Data
[
"current"]?.GetValue<bool>());
536
Assert.Equal("legacy", legacyAfterRestart.Data
[
"Value"]?.GetValue<string>());
537
Assert.Equal("current", replacementAfterRestart.Data
[
"Value"]?.GetValue<string>());
559
Assert.Equal("committed", restartedSection.Data
[
"Value"]?.GetValue<string>());
597
Assert.Equal("legacy", parameterSection.Data
[
""]?.GetValue<string>());
624
Assert.Equal("existing", section.Data
[
""]?.GetValue<string>());
630
Assert.Equal("existing", restartedSection.Data
[
""]?.GetValue<string>());
661
Assert.Equal("updated", restartedSection.Data
[
""]?.GetValue<string>());
693
Assert.Equal("updated", restartedSection.Data
[
"Leaf"]?.GetValue<string>());
721
var features = Assert.IsType<JsonObject>(restartedSection.Data
[
"Features"]);
723
Assert.True(features
[
"A"]?.GetValue<bool>());
724
Assert.True(features
[
"B"]?.GetValue<bool>());
757
Assert.Equal("first-sandbox", migratedFirstSection.Data
[
"SandboxId"]?.GetValue<string>());
758
Assert.True(migratedFirstSection.Data
[
"Migrated"]?.GetValue<bool>());
770
Assert.True(restartedFirstSection.Data
[
"Migrated"]?.GetValue<bool>());
771
Assert.Equal("second-sandbox", restartedSecondSection.Data
[
"SandboxId"]?.GetValue<string>());
776
Assert.Equal("second-sandbox", secondSection.Data
[
"SandboxId"]?.GetValue<string>());
786
Assert.Equal("first-sandbox", clearedFirstLegacySection.Data
[
"SandboxId"]?.GetValue<string>());
787
Assert.Equal("second-sandbox", preservedSecondLegacySection.Data
[
"SandboxId"]?.GetValue<string>());
811
Assert.Equal("current-subscription", currentAzureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
812
Assert.Null(currentAzureSection.Data
[
"Sandboxes"]);
816
Assert.Equal("current-subscription", restartedAzureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
817
Assert.Equal("first-sandbox", restartedAzureSection.Data
[
"Sandboxes"]?["first"]?["SandboxId"]?.GetValue<string>());
818
Assert.Equal("second-sandbox", restartedAzureSection.Data
[
"Sandboxes"]?["second"]?["SandboxId"]?.GetValue<string>());
819
Assert.Null((await restartedStateManager.AcquireCurrentSectionAsync("Azure")).Data
[
"Sandboxes"]);
850
Assert.Null(restartedAzureSection.Data
[
"SubscriptionId"]);
851
Assert.Null(restartedAzureSection.Data
[
"Sandboxes"]?["legacy"]);
854
restartedAzureSection.Data
[
"Sandboxes"]?["new"]?["SandboxId"]?.GetValue<string>());
895
Assert.Null(restartedSandboxesSection.Data
[
"first"]?["SandboxId"]);
896
Assert.Null(restartedSandboxesSection.Data
[
"first"]?["LegacyOnly"]);
899
restartedSandboxesSection.Data
[
"first"]?["new"]?["SandboxId"]?.GetValue<string>());
902
restartedSandboxesSection.Data
[
"second"]?["SandboxId"]?.GetValue<string>());
938
Assert.Equal("first-sandbox", restartedFirstSection.Data
[
"SandboxId"]?.GetValue<string>());
939
Assert.True(restartedFirstSection.Data
[
"Updated"]?.GetValue<bool>());
940
Assert.Equal("second-sandbox", restartedSecondSection.Data
[
"SandboxId"]?.GetValue<string>());
941
Assert.True(restartedSecondSection.Data
[
"Updated"]?.GetValue<bool>());
971
Assert.Equal("current-subscription", restartedAzureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
972
Assert.Equal("current-location", restartedAzureSection.Data
[
"Location"]?.GetValue<string>());
975
Assert.Equal("current-subscription", currentAzureSection.Data
[
"SubscriptionId"]?.GetValue<string>());
976
Assert.Equal("current-location", currentAzureSection.Data
[
"Location"]?.GetValue<string>());
1006
Assert.Equal("sub", preservedLegacySection.Data
[
"SubscriptionId"]?.GetValue<string>());
1036
Assert.Equal("current-sub", asyncEffectiveState
[
"Azure"]?["SubscriptionId"]?.GetValue<string>());
1037
Assert.Equal("current-sub", syncEffectiveState
[
"Azure"]?["SubscriptionId"]?.GetValue<string>());
1038
Assert.Equal("current-sub", migratedSection.Data
[
"SubscriptionId"]?.GetValue<string>());
1060
Assert.Equal("current-sub", asyncEffectiveState
[
"Azure"]?["SubscriptionId"]?.GetValue<string>());
1061
Assert.Equal("current-sub", syncEffectiveState
[
"Azure"]?["SubscriptionId"]?.GetValue<string>());
1062
Assert.Equal("current-sub", restartedSection.Data
[
"SubscriptionId"]?.GetValue<string>());
1068
Assert.Equal("current-sub", savedSection.Data
[
"SubscriptionId"]?.GetValue<string>());
1069
Assert.Equal("westus", savedSection.Data
[
"Location"]?.GetValue<string>());
1087
Assert.Equal("sub", currentSection.Data
[
"SubscriptionId"]?.GetValue<string>());
1138
.Data
[
"SandboxId"]?.GetValue<string>());
1142
.Data
[
"SubscriptionId"]?.GetValue<string>());
1179
.Data
[
"SandboxId"]?.GetValue<string>());
1183
.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 (2)
Telemetry\TelemetryDiskLogger.cs (1)
56
var activitiesArray = root
[
"activities"]!.AsArray();
ToolPackage\ToolPackageDownloaderBase.cs (1)
391
if (jsonObject
[
"runtimeOptions"] is JsonObject runtimeOptions)
dotnet-aot (1)
src\sdk\src\Cli\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);
Infrastructure.Tests (8)
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>()
Microsoft.AspNetCore.OpenApi (11)
Extensions\JsonNodeSchemaExtensions.cs (10)
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)
592
schema
[
OpenApiSchemaKeywords.TypeKeyword] is JsonArray typeArray)
Services\Schemas\OpenApiSchemaService.cs (1)
277
if (rawNode
[
OpenApiSchemaKeywords.EnumKeyword] is JsonArray rawEnum && rawEnum.Count > 0)
Microsoft.Extensions.AI.Abstractions (1)
Utilities\AIJsonUtilities.Schema.Create.cs (1)
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)
83
if (schemaObj
[
propName] is { } propNode)
92
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" };