| File: Recipes\RecipeParameterIsolationAndFidelityTests.cs | Web Access |
| Project: src\tests\Aspire.Hosting.Radius.Tests\Aspire.Hosting.Radius.Tests.csproj (Aspire.Hosting.Radius.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Aspire.Hosting.Radius.Annotations; namespace Aspire.Hosting.Radius.Tests.Recipes; public class RecipeParameterIsolationAndFidelityTests { // T029 — per-environment isolation: parameters on one environment do not leak to another. [Fact] public void RecipeParameters_AreScopedPerEnvironment() { var builder = DistributedApplication.CreateBuilder(); var dev = builder.AddRadiusEnvironment("dev").WithRecipeParameters(p => p["region"] = "dev-region"); var prod = builder.AddRadiusEnvironment("prod").WithRecipeParameters(p => p["region"] = "prod-region"); var devAnn = dev.Resource.Annotations.OfType<RadiusRecipeParametersAnnotation>().Single(); var prodAnn = prod.Resource.Annotations.OfType<RadiusRecipeParametersAnnotation>().Single(); Assert.NotSame(devAnn, prodAnn); Assert.Equal("dev-region", devAnn.EnvironmentWide["region"]); Assert.Equal("prod-region", prodAnn.EnvironmentWide["region"]); Assert.False(devAnn.EnvironmentWide.ContainsValue("prod-region")); } }