File: CorsOptionsTest.cs
Web Access
Project: src\src\Middleware\CORS\test\UnitTests\Microsoft.AspNetCore.Cors.Test.csproj (Microsoft.AspNetCore.Cors.Test)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
namespace Microsoft.AspNetCore.Cors.Infrastructure;
 
public class CorsOptionsTest
{
    [Fact]
    public void AddDefaultPolicy_SetsDefaultPolicyName()
    {
        // Arrange
        var corsOptions = new CorsOptions();
        var expectedPolicy = new CorsPolicy();
 
        // Act
        corsOptions.AddPolicy("policy1", new CorsPolicy());
        corsOptions.AddDefaultPolicy(expectedPolicy);
        corsOptions.AddPolicy("policy3", new CorsPolicy());
 
        // Assert
        var actualPolicy = corsOptions.GetPolicy(corsOptions.DefaultPolicyName);
        Assert.Same(expectedPolicy, actualPolicy);
    }
 
    [Fact]
    public void AddDefaultPolicy_OverridesDefaultPolicyName()
    {
        // Arrange
        var corsOptions = new CorsOptions();
        var expectedPolicy = new CorsPolicy();
 
        // Act
        corsOptions.AddDefaultPolicy(new CorsPolicy());
        corsOptions.AddDefaultPolicy(expectedPolicy);
 
        // Assert
        var actualPolicy = corsOptions.GetPolicy(corsOptions.DefaultPolicyName);
        Assert.Same(expectedPolicy, actualPolicy);
    }
 
    [Fact]
    public void AddDefaultPolicy_UsingPolicyBuilder_SetsDefaultPolicyName()
    {
        // Arrange
        var corsOptions = new CorsOptions();
        CorsPolicy expectedPolicy = null;
 
        // Act
        corsOptions.AddPolicy("policy1", policyBuilder =>
        {
            policyBuilder.AllowAnyOrigin().Build();
        });
        corsOptions.AddDefaultPolicy(policyBuilder =>
        {
            expectedPolicy = policyBuilder.AllowAnyOrigin().Build();
        });
        corsOptions.AddPolicy("policy3", new CorsPolicy());
 
        // Assert
        var actualPolicy = corsOptions.GetPolicy(corsOptions.DefaultPolicyName);
        Assert.Same(expectedPolicy, actualPolicy);
    }
}