624 references to Data
Aspire.Hosting (11)
Orchestrator\ParameterProcessor.cs (6)
362if (parameterSection.Data.Count > 0) 402context.Input.Disabled = parameterSection.Data.Count == 0; 441var hasSavedState = parameterSection.Data.Count > 0 && input.Value is not null; 491var hasSavedState = parameterSection.Data.Count > 0; 567parameterSection.Data.Clear(); 912slot.Data.Clear();
Pipelines\DeploymentStateSection.cs (2)
55Data.Clear(); 56Data[RootValueKey] = JsonValue.Create(value);
Pipelines\Internal\DeploymentStateManagerBase.cs (3)
205section.OriginalData = section.Data.DeepClone().AsObject(); 255SetNestedPropertyValue(_state, section.SectionName, section.Data.DeepClone().AsObject()); 257section.OriginalData = section.Data.DeepClone().AsObject();
Aspire.Hosting.Azure (68)
AzureEnvironmentResource.cs (2)
247var resourceGroupName = azureStateSection.Data["ResourceGroup"]?.ToString(); 248var subscriptionId = azureStateSection.Data["SubscriptionId"]?.ToString();
AzureProvisioningController.cs (31)
1261section.Data.Clear(); 1929var outputs = ParseDeploymentStateJson(resource.Name, "Outputs", section.Data["Outputs"]?.GetValue<string>()); 1951var subscriptionId = section.Data["SubscriptionId"]?.GetValue<string>(); 1952var resourceGroupName = section.Data["ResourceGroup"]?.GetValue<string>(); 2628var deploymentId = section.Data["Id"]?.GetValue<string>(); 2632var outputs = ParseDeploymentStateJson(resource.Name, "Outputs", section.Data["Outputs"]?.GetValue<string>()); 2638["hasState"] = section.Data.Count > 0, 2642["locationOverride"] = section.Data[LocationOverrideKey]?.GetValue<string>(), 2643["checksum"] = section.Data["CheckSum"]?.GetValue<string>(), 2645["scope"] = ParseDeploymentStateJson(resource.Name, "Scope", section.Data["Scope"]?.GetValue<string>()) 2651if (section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>() is { Length: > 0 } provisioningState) 2871if (section.Data[LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride) 2879section.Data[LocationOverrideKey] = normalizedLocation; 2890if (section.Data[LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride) 2903section.Data[LocationOverrideKey] = location; 2976section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateCanceled; 3218=> section.Data["Id"]?.GetValue<string>() is { Length: > 0 } deploymentId ? deploymentId : null; 3222section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>(), 3283if (section.Data["Parameters"]?.GetValue<string>() is not { Length: > 0 } parametersJson) 3314=> section.Data[LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride ? locationOverride : null; 3497section.Data["SubscriptionId"]?.GetValue<string>() ?? provisionerOptions.Value.SubscriptionId ?? configuration["Azure:SubscriptionId"], 3498section.Data["ResourceGroup"]?.GetValue<string>() ?? provisionerOptions.Value.ResourceGroup ?? configuration["Azure:ResourceGroup"], 3499section.Data["Location"]?.GetValue<string>() ?? provisionerOptions.Value.Location ?? configuration["Azure:Location"], 3500section.Data["TenantId"]?.GetValue<string>() ?? provisionerOptions.Value.TenantId ?? configuration["Azure:TenantId"], 3501section.Data["Tenant"]?.GetValue<string>()); 3519if (section.Data["Outputs"]?.GetValue<string>() is not { Length: > 0 } outputsJson) 3638if (section.Data[LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride) 3645if (section.Data["Parameters"]?.GetValue<string>() is not { Length: > 0 } parametersJson) 3722section.Data.Clear(); 3725section.Data[LocationOverrideKey] = locationOverride; 3946section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>(),
Provisioning\BicepUtilities.cs (2)
145if (section.Data[DeploymentStateParametersKey]?.GetValue<string>() is not { Length: > 0 } jsonString) 153var scope = section.Data[DeploymentStateScopeKey]?.GetValue<string>() is { Length: > 0 } scopeString
Provisioning\Internal\BaseProvisioningContextProvider.cs (2)
135azureStateSection.Data["ResourceGroup"] = resourceGroupName; 225var azureSection = azureStateSection.Data;
Provisioning\Internal\RunModeProvisioningContextProvider.cs (1)
243var data = azureSection.Data;
Provisioning\Provisioners\BicepProvisioner.cs (30)
52if (stateSection.Data.Count == 0) 57if (stateSection.Data[DeploymentStateProvisioningStateKey]?.GetValue<string>() is { Length: > 0 } provisioningState && 65var configCheckSum = stateSection.Data[BicepUtilities.DeploymentStateChecksumKey]?.GetValue<string>(); 81if (stateSection.Data[BicepUtilities.DeploymentStateOutputsKey]?.GetValue<string>() is { Length: > 0 } outputJson) 116if (stateSection.Data[BicepUtilities.DeploymentStateIdKey]?.GetValue<string>() is { Length: > 0 } configuredDeploymentId && 184stateSection.Data[BicepUtilities.DeploymentStateIdKey]?.GetValue<string>() is not { Length: > 0 } deploymentId || 355stateSection.Data[BicepUtilities.DeploymentStateChecksumKey]?.GetValue<string>() is not { Length: > 0 } checksum) 372var locationOverride = stateSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>(); 438stateSection.Data[DeploymentStateProvisioningStateKey] = provisioningState; 452var locationOverride = stateSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>(); 453stateSection.Data.Clear(); 457stateSection.Data[AzureProvisioningController.LocationOverrideKey] = locationOverride; 473if (stateSection.Data[key]?.GetValue<string>() is not { Length: > 0 } json) 492stateSection.Data[DeploymentStateProvisioningStateKey]?.GetValue<string>(), 624var canceledLocationOverride = canceledStateSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>(); 681locationOverride = stateSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>(); 799locationOverride = stateSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>(); 857var cachedDeploymentId = stateSection.Data[BicepUtilities.DeploymentStateIdKey]?.GetValue<string>(); 858var cachedChecksum = stateSection.Data[BicepUtilities.DeploymentStateChecksumKey]?.GetValue<string>(); 1328stateSection.Data.Clear(); 1335stateSection.Data[AzureProvisioningController.LocationOverrideKey] = locationOverride; 1338stateSection.Data[BicepUtilities.DeploymentStateIdKey] = deploymentId.ToString(); 1339stateSection.Data[BicepUtilities.DeploymentStateParametersKey] = parameters.ToJsonString(); 1343stateSection.Data[BicepUtilities.DeploymentStateOutputsKey] = outputObj.ToJsonString(); 1348stateSection.Data[BicepUtilities.DeploymentStateScopeKey] = scope.ToJsonString(); 1351stateSection.Data[BicepUtilities.DeploymentStateChecksumKey] = checksum; 1355stateSection.Data[DeploymentStateProvisioningStateKey] = provisioningState; 1490section.Data[key]?.GetValue<string>() is { Length: > 0 } value ? value : null; 1494if (section.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>() is { Length: > 0 } locationOverride) 1499if (section.Data[BicepUtilities.DeploymentStateParametersKey]?.GetValue<string>() is { Length: > 0 } parametersJson)
Aspire.Hosting.Azure.Kubernetes (9)
AzureKubernetesEnvironmentResource.AksPipeline.cs (6)
366if (deploymentStateSection.Data.Count == 0) 383clusterResourceId = GetPersistedAksResourceId(deploymentStateSection.Data); 407if (deploymentStateSection.Data["Scope"] is not null) 413var scopeJson = deploymentStateSection.Data["Scope"]!.GetValue<string>(); 779return (azureState.Data["SubscriptionId"]?.ToString(), azureState.Data["ResourceGroup"]?.ToString());
AzureKubernetesEnvironmentResource.cs (3)
118var hasPersistedAksIdentity = HasPersistedAksIdentity(deploymentStateSection.Data); 170if (HasPersistedHelmReleaseState(environmentState.Data)) 186if (HasPersistedHelmReleaseState(chartState.Data))
Aspire.Hosting.Azure.Kubernetes.Tests (3)
AzureKubernetesInfrastructureTests.cs (2)
367Assert.Empty(chartStateAfterFirstDestroy.Data); 728Assert.Empty(sentinelState.Data);
tests\Shared\InMemoryDeploymentStateManager.cs (1)
37_sections[section.SectionName] = section.Data;
Aspire.Hosting.Azure.Sandboxes (63)
AzureSandboxContainerDeployment.cs (62)
265var previousOwnerId = previousStateSection.Data["OwnerId"]?.GetValue<string>(); 277stateSection.Data["OwnerId"] = ownerId; 390var pendingSecurityCleanup = previousStateSection.Data["PendingSecurityCleanup"]?.GetValue<bool>() == true; 393stateSection.Data.Clear(); 394stateSection.Data["OwnerId"] = ownerId; 397stateSection.Data["SandboxId"] = sandboxId; 398stateSection.Data["DiskImageId"] = diskImageId; 399stateSection.Data["SubscriptionId"] = dataPlaneScope.SubscriptionId; 400stateSection.Data["ResourceGroup"] = dataPlaneScope.ResourceGroupName; 401stateSection.Data["Location"] = dataPlaneScope.Region; 402stateSection.Data["SandboxGroup"] = dataPlaneScope.SandboxGroupName; 403stateSection.Data["ResourceName"] = resource.Name; 404stateSection.Data["SourceResourceName"] = targetResource.Name; 405stateSection.Data["DeployId"] = deployId; 406stateSection.Data["Ports"] = portStates; 407stateSection.Data["EndpointSecurityFingerprint"] = endpointSecurityFingerprint; 408stateSection.Data["HasRuntimeEnvironmentConfiguration"] = resolvedEnvironmentVariables.Values.Count > 0; 409stateSection.Data["HasRuntimeCommandConfiguration"] = hasModeledCommandConfiguration; 410stateSection.Data["PendingSecurityCleanup"] = securityConfigurationChanged; 474stateSection.Data["PendingSecurityCleanup"] = false; 475stateSection.Data.Remove("PendingOwnerCleanupIds"); 476stateSection.Data.Remove("PendingLegacyDeploymentCleanup"); 1320var ownerId = stateSection.Data["OwnerId"]?.GetValue<string>(); 1399var staleResourceNames = sandboxesSection.Data 1436if (stateSection.Data["OwnerId"]?.GetValue<string>() is { Length: > 0 } ownerId && 1452stateSection.Data["OwnerId"]?.GetValue<string>())) 1592var sandboxId = stateSection.Data["SandboxId"]?.GetValue<string>(); 1605var diskImageId = stateSection.Data["DiskImageId"]?.GetValue<string>(); 1632stateSection.Data.DeepClone().AsObject(), 1870if (stateSection.Data["ResourceName"]?.GetValue<string>() is { Length: > 0 } resourceName) 1930var ownerIds = stateSection.Data["PendingOwnerCleanupIds"] is JsonArray pendingOwnerIds 1933if (stateSection.Data["OwnerId"]?.GetValue<string>() is { Length: > 0 } previousOwnerId && 1950stateSection.Data.Remove("PendingOwnerCleanupIds"); 1954stateSection.Data["PendingOwnerCleanupIds"] = new JsonArray( 1967if (stateSection.Data["OwnerId"]?.GetValue<string>() is { Length: > 0 } previousOwnerId && 1972pendingDeploymentCleanup = stateSection.Data.DeepClone().AsObject(); 1980stateSection.Data["PendingLegacyDeploymentCleanup"]?.DeepClone() as JsonObject; 1988stateSection.Data.Remove("PendingLegacyDeploymentCleanup"); 1992stateSection.Data["PendingLegacyDeploymentCleanup"] = pendingDeploymentCleanup.DeepClone(); 2070previousStateSection.Data["HasRuntimeEnvironmentConfiguration"]?.GetValue<bool>() == true || 2072previousStateSection.Data["HasRuntimeCommandConfiguration"]?.GetValue<bool>() == true) 2077if (previousStateSection.Data["PendingSecurityCleanup"]?.GetValue<bool>() == true) 2082var previousFingerprint = previousStateSection.Data["EndpointSecurityFingerprint"]?.GetValue<string>(); 2096stateSection.Data["SubscriptionId"] ??= scope.SubscriptionId; 2097stateSection.Data["ResourceGroup"] ??= scope.ResourceGroupName; 2098stateSection.Data["Location"] ??= scope.Region; 2099stateSection.Data["SandboxGroup"] ??= scope.SandboxGroupName; 2100stateSection.Data["ResourceName"] ??= resource.Name; 2101stateSection.Data["SourceResourceName"] ??= resource.TargetResource.Name; 2111var subscriptionId = stateSection.Data["SubscriptionId"]?.GetValue<string>(); 2112var resourceGroup = stateSection.Data["ResourceGroup"]?.GetValue<string>(); 2113var location = stateSection.Data["Location"]?.GetValue<string>(); 2114var sandboxGroup = stateSection.Data["SandboxGroup"]?.GetValue<string>(); 2135!string.IsNullOrWhiteSpace(stateSection.Data["OwnerId"]?.GetValue<string>()) || 2136!string.IsNullOrWhiteSpace(stateSection.Data["SandboxId"]?.GetValue<string>()) || 2137!string.IsNullOrWhiteSpace(stateSection.Data["DiskImageId"]?.GetValue<string>()); 2152if (stateSection.Data["Ports"] is not JsonArray ports) 2175if (previousStateSection.Data["DeployId"]?.GetValue<string>() is { Length: > 0 } previousDeployId) 2190if (previousStateSection.Data[stateKey]?.GetValue<string>() is { Length: > 0 } previousId) 2200if (stateSection.Data["Ports"] is JsonArray ports) 2213if (stateSection.Data["Port"]?.GetValue<int>() is { } legacyPort) 2302var value = section.Data[name]?.GetValue<string>();
AzureSandboxEndpointPropertyValueProvider.cs (1)
127if (stateSection.Data["Ports"] is not JsonArray ports)
Aspire.Hosting.Azure.Tests (282)
AzureBicepProvisionerTests.cs (61)
41cached.Data[BicepUtilities.DeploymentStateParametersKey] = parameters.ToJsonString(); 42cached.Data[BicepUtilities.DeploymentStateChecksumKey] = BicepUtilities.GetChecksum(registration.Resource, parameters, null); 43cached.Data[BicepUtilities.DeploymentStateOutputsKey] = """{"clientId":{"value":"original-client"}}"""; 52azureState.Data["TenantResourceSuffix"] = "dev-b"; 935section.Data[AzureProvisioningController.LocationOverrideKey] = "westus3"; 969section.Data["Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage2"; 970section.Data["Parameters"] = parameters.ToJsonString(); 971section.Data["Outputs"] = """{"name":{"value":"storage2"}}"""; 972section.Data["CheckSum"] = checksum; 973section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning; 1005azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 1006azureSection.Data["ResourceGroup"] = "test-rg"; 1007azureSection.Data["TenantId"] = "87654321-4321-4321-4321-210987654321"; 1008azureSection.Data["Tenant"] = "microsoft.onmicrosoft.com"; 1009azureSection.Data["Location"] = "westus2"; 1013section.Data["Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage2"; 1014section.Data["Parameters"] = parameters.ToJsonString(); 1015section.Data["Outputs"] = """{"name":{"value":"storage2"}}"""; 1016section.Data["CheckSum"] = checksum; 1056azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 1057azureSection.Data["ResourceGroup"] = "environment-rg"; 1058azureSection.Data["TenantId"] = "87654321-4321-4321-4321-210987654321"; 1059azureSection.Data["Tenant"] = "microsoft.onmicrosoft.com"; 1060azureSection.Data["Location"] = "westus2"; 1064section.Data["Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/scoped-rg/providers/Microsoft.Resources/deployments/storage2"; 1065section.Data["Parameters"] = parameters.ToJsonString(); 1066section.Data["Outputs"] = """{"name":{"value":"storage2"}}"""; 1067section.Data["CheckSum"] = checksum; 1098section.Data[AzureProvisioningController.LocationOverrideKey] = "westus3"; 1119Assert.Equal("westus3", section.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>()); 1120Assert.False(section.Data.ContainsKey(BicepProvisioner.DeploymentStateProvisioningStateKey)); 1132section.Data[AzureProvisioningController.LocationOverrideKey] = "westus3"; 1152Assert.False(section.Data.ContainsKey(AzureProvisioningController.LocationOverrideKey)); 1181Assert.Equal("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage2", section.Data["Id"]?.GetValue<string>()); 1182Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateRunning, section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 1183Assert.True(section.Data.ContainsKey("Parameters")); 1184Assert.True(section.Data.ContainsKey("CheckSum")); 1185Assert.False(section.Data.ContainsKey("Outputs")); 1436Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 1469Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 1501Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 1535Assert.Null(section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]); 1536Assert.Equal(deploymentId, section.Data[BicepUtilities.DeploymentStateIdKey]?.GetValue<string>()); 1594Assert.Equal(ResourcesProvisioningState.Failed.ToString(), section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 1695Assert.Null(section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]); 1696Assert.Equal(deploymentId, section.Data[BicepUtilities.DeploymentStateIdKey]?.GetValue<string>()); 1697var outputs = JsonNode.Parse(section.Data[BicepUtilities.DeploymentStateOutputsKey]!.GetValue<string>())!.AsObject(); 1750Assert.Empty(section.Data); 1776Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateRunning, section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 1777Assert.Equal(deploymentId, section.Data[BicepUtilities.DeploymentStateIdKey]?.GetValue<string>()); 1805Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateRunning, section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 1806Assert.Equal(deploymentId, section.Data[BicepUtilities.DeploymentStateIdKey]?.GetValue<string>()); 1831Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateFailed, section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 1856Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 1889Assert.Null(section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]); 1890Assert.Equal(deploymentId, section.Data[BicepUtilities.DeploymentStateIdKey]?.GetValue<string>()); 1947section.Data[BicepUtilities.DeploymentStateIdKey] = deploymentId; 1948section.Data[BicepUtilities.DeploymentStateParametersKey] = parameters.ToJsonString(); 1949section.Data[BicepUtilities.DeploymentStateScopeKey] = scope.ToJsonString(); 1950section.Data[BicepUtilities.DeploymentStateChecksumKey] = BicepUtilities.GetChecksum(resource, parameters, scope); 1951section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning;
AzureEnvironmentResourceExtensionsTests.cs (193)
76azure.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 77azure.Data["ResourceGroup"] = "test-rg"; 78azure.Data["Location"] = "westus2"; 81directoryState.Data["Id"] = "directory-deployment"; 82directoryState.Data["Outputs"] = """ 86var originalDirectoryState = directoryState.Data.ToJsonString(); 95storageState.Data["Id"] = "storage-deployment"; 118Assert.Equal(originalDirectoryState, (await deploymentState.AcquireSectionAsync("Azure:Deployments:directory", cts.Token)).Data.ToJsonString()); 125Assert.Empty((await deploymentState.AcquireSectionAsync("Azure:Deployments:storage", cts.Token)).Data); 139Assert.Equal("storage-deployment", (await deploymentState.AcquireSectionAsync("Azure:Deployments:storage", cts.Token)).Data["Id"]!.GetValue<string>()); 321Assert.Equal("dev-a", saved.Data["TenantResourceSuffix"]!.GetValue<string>()); 615azureSection.Data["SubscriptionId"] = "sub"; 616azureSection.Data["Location"] = "westus2"; 620storageSection.Data["Id"] = "/subscriptions/sub/resourceGroups/rg/providers/Microsoft.Resources/deployments/storage"; 621storageSection.Data["CheckSum"] = "checksum"; 669Assert.Empty(azureSection.Data); 672Assert.Empty(storageSection.Data); 886storageSection.Data["Outputs"] = """ 922storageSection.Data["Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/storage"}}"""; 1108azureSection.Data["SubscriptionId"] = subscriptionId; 1109azureSection.Data["Location"] = "westus2"; 1110azureSection.Data["ResourceGroup"] = resourceGroup; 1111azureSection.Data["TenantId"] = tenantId; 1115storageSection.Data["Id"] = deploymentId; 1116storageSection.Data["Parameters"] = """ 1123storageSection.Data["Outputs"] = $$""" 1135storageSection.Data["Scope"] = $$""" 1140storageSection.Data["CheckSum"] = "checksum"; 1141storageSection.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning; 1142storageSection.Data[AzureProvisioningController.LocationOverrideKey] = "westus3"; 1220storageSection.Data["Outputs"] = $$""" 1495storageSection.Data["Outputs"] = """{"blobEndpoint":{"value":"https://storage.blob.core.windows.net/"}}"""; 1553storageSection.Data["Outputs"] = $$""" 1614storageSection.Data["Outputs"] = $$""" 1676storageSection.Data["Id"] = deploymentId; 1677storageSection.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning; 1701Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, storageSection.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 1804storageSection.Data[BicepUtilities.DeploymentStateIdKey] = deploymentId; 1805storageSection.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning; 1835Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateCanceled, storageSection.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 1980storageSection.Data["Id"] = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Resources/deployments/storage"; 1981storageSection.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateSucceeded; 2018storageSection.Data["Id"] = deploymentId; 2019storageSection.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateSucceeded; 2039Assert.Equal(BicepProvisioner.DeploymentStateProvisioningStateSucceeded, storageSection.Data[BicepProvisioner.DeploymentStateProvisioningStateKey]?.GetValue<string>()); 2085storageSection.Data["Id"] = deploymentId; 2086storageSection.Data["Outputs"] = new JsonObject 2094storageSection.Data[AzureProvisioningController.LocationOverrideKey] = "westus3"; 2095storageSection.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning; 2099storage2Section.Data["Id"] = "storage2-deployment"; 2134Assert.Equal("westus3", storageSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>()); 2135Assert.False(storageSection.Data.ContainsKey("Id")); 2136Assert.False(storageSection.Data.ContainsKey("Outputs")); 2139Assert.Equal("storage2-deployment", storage2Section.Data["Id"]?.GetValue<string>()); 2188keyVaultSection.Data["Id"] = deploymentId; 2189keyVaultSection.Data["Outputs"] = new JsonObject 2197keyVaultSection.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning; 2223Assert.False(keyVaultSection.Data.ContainsKey("Id")); 2224Assert.False(keyVaultSection.Data.ContainsKey("Outputs")); 2260storageSection.Data["Outputs"] = $$""" 2339storageSection.Data["Outputs"] = $$""" 2406storageSection.Data["Id"] = "storage-deployment"; 2410storage2Section.Data["Id"] = "storage2-deployment"; 2445Assert.Empty(storageSection.Data); 2448Assert.Equal("storage2-deployment", storage2Section.Data["Id"]?.GetValue<string>()); 2484storageSection.Data["Id"] = "storage-deployment"; 2488storage2Section.Data["Id"] = "storage2-deployment"; 2510Assert.Empty(storageSection.Data); 2513Assert.Equal("storage2-deployment", storage2Section.Data["Id"]?.GetValue<string>()); 3122Assert.Equal("westus2", storageSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>()); 3169Assert.Equal("westus3", storageSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>()); 3227Assert.Equal("westus3", bicepSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>()); 3230Assert.False(visibleSection.Data.ContainsKey(AzureProvisioningController.LocationOverrideKey)); 3256azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 3257azureSection.Data["Location"] = "eastus"; 3258azureSection.Data["ResourceGroup"] = "test-rg"; 3262storageSection.Data[AzureProvisioningController.LocationOverrideKey] = "westus3"; 3328storageSection.Data["Outputs"] = new JsonObject 3363Assert.False(storageSection.Data.ContainsKey(AzureProvisioningController.LocationOverrideKey)); 3395storageSection.Data["Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage26wmkwq4f4li52"}}"""; 3454storageSection.Data["Parameters"] = """ 3462storageSection.Data["Outputs"] = $$""" 3520storageSection.Data["LocationOverride"] = "westus2"; 3521storageSection.Data["Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage26wmkwq4f4li52"}}"""; 3553Assert.Equal("westus3", storageSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>()); 3584storageSection.Data["Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage26wmkwq4f4li52"}}"""; 3615Assert.Equal("westus3", storageSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>()); 3649storageSection.Data["Outputs"] = new JsonObject 3680Assert.Equal("westus3", storageSection.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>()); 3702azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 3703azureSection.Data["Location"] = "westus2"; 3704azureSection.Data["ResourceGroup"] = "test-rg"; 3705azureSection.Data["TenantId"] = "87654321-4321-4321-4321-210987654321"; 3709storageSection.Data["Id"] = "storage-deployment"; 3713storage2Section.Data["Id"] = "storage2-deployment"; 3734Assert.Equal("12345678-1234-1234-1234-123456789012", azureSection.Data["SubscriptionId"]?.GetValue<string>()); 3735Assert.Equal("westus2", azureSection.Data["Location"]?.GetValue<string>()); 3736Assert.Equal("test-rg", azureSection.Data["ResourceGroup"]?.GetValue<string>()); 3737Assert.Equal("87654321-4321-4321-4321-210987654321", azureSection.Data["TenantId"]?.GetValue<string>()); 3780Assert.Equal("12345678-1234-1234-1234-123456789012", azureSection.Data["SubscriptionId"]?.GetValue<string>()); 3781Assert.Equal("westus3", azureSection.Data["Location"]?.GetValue<string>()); 3782Assert.Equal("cli-rg-é", azureSection.Data["ResourceGroup"]?.GetValue<string>()); 3783Assert.Equal("87654321-4321-4321-4321-210987654321", azureSection.Data["TenantId"]?.GetValue<string>()); 3827azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 3828azureSection.Data["Location"] = "westus2"; 3829azureSection.Data["ResourceGroup"] = "test-rg"; 3830azureSection.Data["TenantId"] = "87654321-4321-4321-4321-210987654321"; 3850Assert.False(azureSection.Data.ContainsKey("TenantId")); 3876azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 3877azureSection.Data["Location"] = "westus2"; 3878azureSection.Data["ResourceGroup"] = "test-rg"; 3901Assert.Equal("westus2", azureSection.Data["Location"]?.GetValue<string>()); 3922azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 3923azureSection.Data["Location"] = "westus2"; 3924azureSection.Data["ResourceGroup"] = "test-rg"; 3928storageSection.Data["Parameters"] = """{"location":{"value":"westus2"}}"""; 3955Assert.False(storageSection.Data.ContainsKey(AzureProvisioningController.LocationOverrideKey)); 3982azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 3983azureSection.Data["Location"] = "westus2"; 3984azureSection.Data["ResourceGroup"] = "test-rg"; 3988storage2Section.Data[AzureProvisioningController.LocationOverrideKey] = "West US 3"; 3996Assert.Equal("westus3", storage2Section.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>()); 4023azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 4024azureSection.Data["Location"] = "westus2"; 4025azureSection.Data["ResourceGroup"] = "test-rg"; 4029storage2Section.Data["Parameters"] = """ 4042Assert.Equal("westus3", storage2Section.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>()); 4068azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 4069azureSection.Data["Location"] = "westus2"; 4070azureSection.Data["ResourceGroup"] = "test-rg"; 4101Assert.Equal("westus3", storage2Section.Data[AzureProvisioningController.LocationOverrideKey]?.GetValue<string>()); 4128storageSection.Data["Id"] = "storage-deployment"; 4129storageSection.Data[AzureProvisioningController.LocationOverrideKey] = "westus3"; 4139Assert.Empty(storageSection.Data); 4230keyVaultSection.Data[AzureProvisioningController.LocationOverrideKey] = "ukwest"; 4310keyVaultSection.Data[AzureProvisioningController.LocationOverrideKey] = "ukwest"; 4634azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 4635azureSection.Data["Location"] = "westus2"; 4636azureSection.Data["ResourceGroup"] = "test-rg"; 4637azureSection.Data["TenantId"] = "87654321-4321-4321-4321-210987654321"; 4638azureSection.Data["Tenant"] = "testdomain.onmicrosoft.com"; 4642storageSection.Data["Outputs"] = """{"id":{"value":"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/storage"}}"""; 4683azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 4684azureSection.Data["Location"] = "westus2"; 4685azureSection.Data["ResourceGroup"] = "test-rg"; 4689storageSection.Data["Outputs"] = $$""" 4731azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 4732azureSection.Data["Location"] = "westus2"; 4733azureSection.Data["ResourceGroup"] = "test-rg"; 4737storageSection.Data["Outputs"] = $$""" 4747storage2Section.Data["Outputs"] = $$""" 4791azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 4792azureSection.Data["Location"] = "westus2"; 4793azureSection.Data["ResourceGroup"] = "test-rg"; 4797storageSection.Data["Outputs"] = """{"blobEndpoint":{"value":"https://storage.blob.core.windows.net/"}}"""; 4830azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 4831azureSection.Data["Location"] = "westus2"; 4832azureSection.Data["ResourceGroup"] = "test-rg"; 4833azureSection.Data["TenantId"] = "87654321-4321-4321-4321-210987654321"; 4837storageSection.Data["Id"] = "storage-deployment"; 4857Assert.Equal("12345678-1234-1234-1234-123456789012", azureSection.Data["SubscriptionId"]?.GetValue<string>()); 4858Assert.Equal("westus2", azureSection.Data["Location"]?.GetValue<string>()); 4859Assert.Equal("test-rg", azureSection.Data["ResourceGroup"]?.GetValue<string>()); 4860Assert.Equal("87654321-4321-4321-4321-210987654321", azureSection.Data["TenantId"]?.GetValue<string>()); 4863Assert.Empty(storageSection.Data); 4889storageSection.Data["Id"] = "storage-deployment"; 4909Assert.Empty(storageSection.Data); 4930azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 4931azureSection.Data["Location"] = "westus2"; 4932azureSection.Data["ResourceGroup"] = "missing-rg"; 4936storageSection.Data["Id"] = "storage-deployment"; 4955Assert.Empty(storageSection.Data); 4978azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 4979azureSection.Data["Location"] = "westus2"; 4980azureSection.Data["ResourceGroup"] = "test-rg"; 4984storageSection.Data["Id"] = "storage-deployment"; 5006Assert.Equal("storage-deployment", storageSection.Data["Id"]?.GetValue<string>()); 5115storageSection.Data[BicepUtilities.DeploymentStateIdKey] = deploymentId; 5116storageSection.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateRunning; 5740_sections[section.SectionName] = section.Data.DeepClone().AsObject(); 5885azureSection.Data["SubscriptionId"]?.GetValue<string>(), 5886azureSection.Data["ResourceGroup"]?.GetValue<string>(), 5887azureSection.Data["Location"]?.GetValue<string>(), 5888azureSection.Data["TenantId"]?.GetValue<string>(), 5889azureSection.Data["TenantResourceSuffix"]?.GetValue<string>()); 5897azureSection.Data["SubscriptionId"] = options.SubscriptionId; 5898azureSection.Data["Location"] = options.Location; 5899azureSection.Data["ResourceGroup"] = options.ResourceGroup; 5902azureSection.Data["TenantResourceSuffix"] = options.TenantResourceSuffix; 5907azureSection.Data["TenantId"] = options.TenantId; 5911azureSection.Data.Remove("TenantId"); 5916azureSection.Data["TenantResourceSuffix"]?.GetValue<string>()); 6035section.Data[BicepProvisioner.DeploymentStateProvisioningStateKey] = BicepProvisioner.DeploymentStateProvisioningStateCanceled;
AzureSandboxesTests.cs (15)
982previousState.Data["EndpointSecurityFingerprint"] = fingerprint; 990previousState.Data["EndpointSecurityFingerprint"] = "legacy-endpoint-only-fingerprint"; 992previousState.Data["EndpointSecurityFingerprint"] = fingerprint; 993previousState.Data["PendingSecurityCleanup"] = true; 995previousState.Data["PendingSecurityCleanup"] = false; 1007previousState.Data["HasRuntimeEnvironmentConfiguration"] = true; 1009previousState.Data["HasRuntimeEnvironmentConfiguration"] = false; 1015previousState.Data["HasRuntimeCommandConfiguration"] = true; 1017previousState.Data["HasRuntimeCommandConfiguration"] = false; 1153azureState.Data["SubscriptionId"] = "sub"; 1154azureState.Data["ResourceGroup"] = "rg"; 1155azureState.Data["Location"] = "westus3"; 2803state.Data["Ports"] = new JsonArray(new JsonObject 2936state.Data["Ports"] = new JsonArray 3222state.Data["Ports"] = new JsonArray(new JsonObject
BicepUtilitiesTests.cs (3)
58cached.Data[BicepUtilities.DeploymentStateParametersKey] = parameters.ToJsonString(); 64azureState.Data["TenantResourceSuffix"] = "dev-b"; 72azureState.Data["TenantResourceSuffix"] = string.Empty;
ProvisioningContextProviderTests.cs (6)
52Assert.Equal(selectedSuffix ?? string.Empty, saved.Data["TenantResourceSuffix"]!.GetValue<string>()); 177saved.Data["TenantResourceSuffix"]?.GetValue<string>()); 328azureSection.Data["SubscriptionId"] = "12345678-1234-1234-1234-123456789012"; 329azureSection.Data["Location"] = "westus3"; 330azureSection.Data["ResourceGroup"] = "rehydrated-rg"; 331azureSection.Data["AllowResourceGroupCreation"] = "true";
ProvisioningContextTests.cs (2)
203azureSection.Data["SubscriptionId"] = "test-id"; 210Assert.Equal("test-id", loadedSection.Data["SubscriptionId"]?.ToString());
ProvisioningTestHelpers.cs (1)
1070_state[section.SectionName] = section.Data;
tests\Shared\InMemoryDeploymentStateManager.cs (1)
37_sections[section.SectionName] = section.Data;
Aspire.Hosting.Docker (6)
DockerComposeEnvironmentResource.cs (6)
145var savedComposeFilePath = stateSection.Data["ComposeFilePath"]?.ToString(); 161var savedOutputPath = stateSection.Data["OutputPath"]?.ToString() ?? Path.GetDirectoryName(savedComposeFilePath)!; 162var savedProjectName = stateSection.Data["ProjectName"]?.ToString() ?? GetDockerComposeProjectName(ctx, this); 453stateSection.Data["OutputPath"] = outputPath; 454stateSection.Data["ProjectName"] = composeContext.ProjectName; 455stateSection.Data["ComposeFilePath"] = composeContext.ComposeFilePath;
Aspire.Hosting.Docker.Tests (3)
DockerComposeTests.cs (2)
1054Assert.NotNull(stateSection.Data["ComposeFilePath"]?.ToString()); 1055Assert.NotNull(stateSection.Data["ProjectName"]?.ToString());
tests\Shared\InMemoryDeploymentStateManager.cs (1)
37_sections[section.SectionName] = section.Data;
Aspire.Hosting.Kubernetes (8)
Deployment\HelmDeploymentEngine.cs (4)
201var savedReleaseName = stateSection.Data["ReleaseName"]?.ToString(); 202var savedNamespace = stateSection.Data["Namespace"]?.ToString(); 488stateSection.Data["ReleaseName"] = releaseName; 489stateSection.Data["Namespace"] = @namespace;
KubernetesHelmChartExtensions.cs (4)
370stateSection.Data["ReleaseName"] = releaseName; 371stateSection.Data["Namespace"] = @namespace; 402var savedReleaseName = stateSection.Data["ReleaseName"]?.ToString(); 403var savedNamespace = stateSection.Data["Namespace"]?.ToString();
Aspire.Hosting.Kubernetes.Tests (4)
KubernetesDeployTests.cs (3)
1993Assert.Equal("my-release", stateSection.Data["ReleaseName"]?.ToString()); 2039Assert.Empty(stateSection.Data); 2092Assert.Equal("podinfo", stateSection.Data["ReleaseName"]?.ToString());
tests\Shared\InMemoryDeploymentStateManager.cs (1)
37_sections[section.SectionName] = section.Data;
Aspire.Hosting.Tests (167)
DistributedApplicationBuilderTests.cs (12)
670Assert.Equal(42, section.Data["Count"]!.GetValue<int>()); 671Assert.True(section.Data["Enabled"]!.GetValue<bool>()); 672Assert.Equal(1.25, section.Data["Ratio"]!.GetValue<double>()); 673Assert.True(section.Data.ContainsKey("Missing")); 674Assert.Null(section.Data["Missing"]); 675Assert.Equal("value", section.Data["Text"]!.GetValue<string>()); 716Assert.Equal(42, section.Data["Count"]!.GetValue<int>()); 717Assert.True(section.Data["Enabled"]!.GetValue<bool>()); 718Assert.Equal(1.25, section.Data["Ratio"]!.GetValue<double>()); 719Assert.True(section.Data.ContainsKey("Missing")); 720Assert.Null(section.Data["Missing"]); 721Assert.Equal("value", section.Data["Text"]!.GetValue<string>());
Orchestrator\ParameterProcessorTests.cs (3)
1836Assert.Empty(section.Data); 2397Assert.Empty(section.Data); 2452_unflattenedState[section.SectionName] = section.Data.DeepClone().AsObject();
Publishing\DeploymentStateManagerTests.cs (152)
30Assert.NotNull(section.Data); 31Assert.Empty(section.Data); 41section1.Data["key1"] = "value1"; 48Assert.Equal("value1", section2.Data["key1"]?.GetValue<string>()); 57section.Data["NullValue"] = null; 63Assert.True(restartedSection.Data.ContainsKey("NullValue")); 64Assert.Null(restartedSection.Data["NullValue"]); 76section1.Data["key1"] = "value1"; 80oldSection = new DeploymentStateSection(section1.SectionName, section1.Data, oldVersion); 86section2.Data["key2"] = "value2"; 105parametersSection.Data["param1"] = "value1"; 106azureSection.Data["resource1"] = "azure-value1"; 117Assert.Equal("value1", parametersCheck.Data["param1"]?.GetValue<string>()); 118Assert.Equal("azure-value1", azureCheck.Data["resource1"]?.GetValue<string>()); 134section.Data[$"key{sectionIndex}"] = $"value{sectionIndex}"; 146Assert.Equal($"value{i}", section.Data[$"key{i}"]?.GetValue<string>()); 157section1.Data["key1"] = "value1"; 164Assert.NotNull(section2.Data); 165Assert.Equal("value1", section2.Data["key1"]?.GetValue<string>()); 178section1.Data["key1"] = "value1"; 186Assert.Equal("value1", section2.Data["key1"]?.GetValue<string>()); 191section2.Data["key2"] = "value2"; 199Assert.Equal("value1", section3.Data["key1"]?.GetValue<string>()); 200Assert.Equal("value2", section3.Data["key2"]?.GetValue<string>()); 238Assert.Equal("value1", parametersSection.Data["param1"]?.GetValue<string>()); 239Assert.Equal("azure-value1", azureSection.Data["resource1"]?.GetValue<string>()); 240Assert.Equal("value1", restartedParametersSection.Data["param1"]?.GetValue<string>()); 250section.Data["key1"] = "value1"; 257Assert.Equal("value1", retrievedSection.Data["key1"]?.GetValue<string>()); 267section.Data["nestedKey"] = "nestedValue"; 274Assert.Equal("nestedValue", verifySection.Data["nestedKey"]?.GetValue<string>()); 285section1.Data["key1"] = "value1"; 286section2.Data["key2"] = "value2"; 294Assert.Equal("value1", verify1.Data["key1"]?.GetValue<string>()); 295Assert.Equal("value2", verify2.Data["key2"]?.GetValue<string>()); 311Assert.Equal("value1", verify.Data[""]?.GetValue<string>()); 321section1.Data["key1"] = "value1"; 326var oldSection = new DeploymentStateSection(section1.SectionName, section1.Data, oldVersion); 330section2.Data["key2"] = "value2"; 350Assert.NotNull(section.Data); 351Assert.Empty(section.Data); 362topLevel.Data["topKey"] = "topValue"; 363nested.Data["nestedKey"] = "nestedValue"; 371Assert.Equal("topValue", verifyTop.Data["topKey"]?.GetValue<string>()); 372Assert.Equal("nestedValue", verifyNested.Data["nestedKey"]?.GetValue<string>()); 382section.Data["key"] = "value"; 473legacySection.Data["legacy"] = true; 478Assert.True(migratedSection.Data["legacy"]?.GetValue<bool>()); 480migratedSection.Data["current"] = true; 490Assert.True(currentSection.Data["legacy"]?.GetValue<bool>()); 491Assert.True(currentSection.Data["current"]?.GetValue<bool>()); 510legacySection.Data["Value"] = "legacy"; 514migratedSection.Data["Claimed"] = true; 526sameManagerLegacySection.Data["Value"] = "legacy"; 533Assert.Equal("legacy", legacyAfterRestart.Data["Value"]?.GetValue<string>()); 534Assert.Equal("current", replacementAfterRestart.Data["Value"]?.GetValue<string>()); 549section.Data["Value"] = "committed"; 556Assert.Equal("committed", restartedSection.Data["Value"]?.GetValue<string>()); 566legacySection.Data["Value"] = "legacy"; 576Assert.Empty((await restartedStateManager.AcquireSectionAsync("Parameters")).Data); 594Assert.Equal("legacy", parameterSection.Data[""]?.GetValue<string>()); 599Assert.Empty((await restartedStateManager.AcquireSectionAsync("Parameters:secret")).Data); 621Assert.Equal("existing", section.Data[""]?.GetValue<string>()); 627Assert.Equal("existing", restartedSection.Data[""]?.GetValue<string>()); 658Assert.Equal("updated", restartedSection.Data[""]?.GetValue<string>()); 675initialSection.Data["Leaf"] = "initial"; 682staleObjectSection.Data["Leaf"] = "updated"; 690Assert.Equal("updated", restartedSection.Data["Leaf"]?.GetValue<string>()); 691Assert.False(restartedSection.Data.ContainsKey(string.Empty)); 710firstSection.Data["Features"] = new JsonObject { ["A"] = true }; 711secondSection.Data["Features"] = new JsonObject { ["B"] = true }; 718var features = Assert.IsType<JsonObject>(restartedSection.Data["Features"]); 737firstLegacySection.Data["SandboxId"] = "first-sandbox"; 740secondLegacySection.Data["SandboxId"] = "second-sandbox"; 745Assert.Empty(currentParentSection.Data); 748firstSection.Data["Migrated"] = true; 754Assert.Equal("first-sandbox", migratedFirstSection.Data["SandboxId"]?.GetValue<string>()); 755Assert.True(migratedFirstSection.Data["Migrated"]?.GetValue<bool>()); 756Assert.Empty(inheritedSecondSection.Data); 759Assert.Equal(["first", "second"], migratedParentSection.Data.Select(static pair => pair.Key)); 761Assert.Equal(["first"], migratedCurrentParentSection.Data.Select(static pair => pair.Key)); 767Assert.True(restartedFirstSection.Data["Migrated"]?.GetValue<bool>()); 768Assert.Equal("second-sandbox", restartedSecondSection.Data["SandboxId"]?.GetValue<string>()); 769Assert.Equal(["first"], restartedCurrentParentSection.Data.Select(static pair => pair.Key)); 773Assert.Equal("second-sandbox", secondSection.Data["SandboxId"]?.GetValue<string>()); 783Assert.Equal("first-sandbox", clearedFirstLegacySection.Data["SandboxId"]?.GetValue<string>()); 784Assert.Equal("second-sandbox", preservedSecondLegacySection.Data["SandboxId"]?.GetValue<string>()); 794legacyAzureSection.Data["SubscriptionId"] = "legacy-subscription"; 795legacyAzureSection.Data["Sandboxes"] = new JsonObject 804azureSection.Data["SubscriptionId"] = "current-subscription"; 808Assert.Equal("current-subscription", currentAzureSection.Data["SubscriptionId"]?.GetValue<string>()); 809Assert.Null(currentAzureSection.Data["Sandboxes"]); 813Assert.Equal("current-subscription", restartedAzureSection.Data["SubscriptionId"]?.GetValue<string>()); 814Assert.Equal("first-sandbox", restartedAzureSection.Data["Sandboxes"]?["first"]?["SandboxId"]?.GetValue<string>()); 815Assert.Equal("second-sandbox", restartedAzureSection.Data["Sandboxes"]?["second"]?["SandboxId"]?.GetValue<string>()); 816Assert.Null((await restartedStateManager.AcquireCurrentSectionAsync("Azure")).Data["Sandboxes"]); 830legacyAzureSection.Data["SubscriptionId"] = "legacy-subscription"; 831legacyAzureSection.Data["Sandboxes"] = new JsonObject 841newSandboxSection.Data["SandboxId"] = "new-sandbox"; 847Assert.Null(restartedAzureSection.Data["SubscriptionId"]); 848Assert.Null(restartedAzureSection.Data["Sandboxes"]?["legacy"]); 851restartedAzureSection.Data["Sandboxes"]?["new"]?["SandboxId"]?.GetValue<string>()); 871legacySandboxesSection.Data["first"] = new JsonObject 876legacySandboxesSection.Data["second"] = new JsonObject 886newChildSection.Data["SandboxId"] = "new-sandbox"; 892Assert.Null(restartedSandboxesSection.Data["first"]?["SandboxId"]); 893Assert.Null(restartedSandboxesSection.Data["first"]?["LegacyOnly"]); 896restartedSandboxesSection.Data["first"]?["new"]?["SandboxId"]?.GetValue<string>()); 899restartedSandboxesSection.Data["second"]?["SandboxId"]?.GetValue<string>()); 915firstLegacySection.Data["SandboxId"] = "first-sandbox"; 918secondLegacySection.Data["SandboxId"] = "second-sandbox"; 925firstSection.Data["Updated"] = true; 926secondSection.Data["Updated"] = true; 935Assert.Equal("first-sandbox", restartedFirstSection.Data["SandboxId"]?.GetValue<string>()); 936Assert.True(restartedFirstSection.Data["Updated"]?.GetValue<bool>()); 937Assert.Equal("second-sandbox", restartedSecondSection.Data["SandboxId"]?.GetValue<string>()); 938Assert.True(restartedSecondSection.Data["Updated"]?.GetValue<bool>()); 941Assert.Equal(["first", "second"], currentParentSection.Data.Select(static pair => pair.Key)); 951legacyAzureSection.Data["SubscriptionId"] = "legacy-subscription"; 952legacyAzureSection.Data["Location"] = "legacy-location"; 959firstAzureSection.Data["SubscriptionId"] = "current-subscription"; 960secondAzureSection.Data["Location"] = "current-location"; 968Assert.Equal("current-subscription", restartedAzureSection.Data["SubscriptionId"]?.GetValue<string>()); 969Assert.Equal("current-location", restartedAzureSection.Data["Location"]?.GetValue<string>()); 972Assert.Equal("current-subscription", currentAzureSection.Data["SubscriptionId"]?.GetValue<string>()); 973Assert.Equal("current-location", currentAzureSection.Data["Location"]?.GetValue<string>()); 983legacySection.Data["SubscriptionId"] = "sub"; 1000Assert.Empty(suppressedLegacySection.Data); 1003Assert.Equal("sub", preservedLegacySection.Data["SubscriptionId"]?.GetValue<string>()); 1013currentSection.Data["SubscriptionId"] = "current-sub"; 1035Assert.Equal("current-sub", migratedSection.Data["SubscriptionId"]?.GetValue<string>()); 1044currentSection.Data["SubscriptionId"] = "current-sub"; 1059Assert.Equal("current-sub", restartedSection.Data["SubscriptionId"]?.GetValue<string>()); 1061restartedSection.Data["Location"] = "westus"; 1065Assert.Equal("current-sub", savedSection.Data["SubscriptionId"]?.GetValue<string>()); 1066Assert.Equal("westus", savedSection.Data["Location"]?.GetValue<string>()); 1074section.Data["SubscriptionId"] = "sub"; 1084Assert.Equal("sub", currentSection.Data["SubscriptionId"]?.GetValue<string>()); 1094legacySection.Data["SandboxId"] = "sandbox"; 1105Assert.Empty(restartedSection.Data); 1115firstLegacySection.Data["SandboxId"] = "first-sandbox"; 1118secondLegacySection.Data["SandboxId"] = "second-sandbox"; 1127azureSection.Data["SubscriptionId"] = "current-subscription"; 1131Assert.Empty((await restartedStateManager.AcquireSectionAsync("Azure:Sandboxes:first")).Data); 1135.Data["SandboxId"]?.GetValue<string>()); 1139.Data["SubscriptionId"]?.GetValue<string>()); 1150firstLegacySection.Data["SandboxId"] = "first"; 1153secondLegacySection.Data["SandboxId"] = "second"; 1168.AcquireSectionAsync("Azure:Sandboxes:first")).Data); 1170.AcquireSectionAsync("Azure:Sandboxes:second")).Data); 1176.Data["SandboxId"]?.GetValue<string>()); 1180.Data["SandboxId"]?.GetValue<string>());