1
0
mirror of https://github.com/bitwarden/server synced 2026-02-12 06:23:28 +00:00
Files
server/test/SharedWeb.Test/EnumSchemaFilterTest.cs
renovate[bot] 065d971dc4 [deps] Billing: Update swashbuckle-aspnetcore monorepo to v10 (major) (#6729)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Derek Nance <dnance@bitwarden.com>
2026-02-10 11:11:44 -05:00

47 lines
1.3 KiB
C#

using Bit.SharedWeb.Swagger;
using Microsoft.OpenApi;
using Swashbuckle.AspNetCore.SwaggerGen;
namespace SharedWeb.Test;
public class EnumSchemaFilterTest
{
private enum TestEnum
{
First,
Second,
Third
}
[Fact]
public void SetsEnumVarNamesExtension()
{
var schema = new OpenApiSchema
{
Extensions = new Dictionary<string, IOpenApiExtension>()
};
var context = new SchemaFilterContext(typeof(TestEnum), null, null, null);
var filter = new EnumSchemaFilter();
filter.Apply(schema, context);
Assert.True(schema.Extensions.ContainsKey("x-enum-varnames"));
var extensions = (schema.Extensions["x-enum-varnames"] as JsonNodeExtension).Node.AsArray();
Assert.NotNull(extensions);
Assert.Equal(["First", "Second", "Third"], extensions.GetValues<string>().Select(x => x));
}
[Fact]
public void DoesNotSetExtensionForNonEnum()
{
var schema = new OpenApiSchema
{
Extensions = new Dictionary<string, IOpenApiExtension>()
};
var context = new SchemaFilterContext(typeof(string), null, null, null);
var filter = new EnumSchemaFilter();
filter.Apply(schema, context);
Assert.False(schema.Extensions.ContainsKey("x-enum-varnames"));
}
}