Skip to content

Commit 5267b64

Browse files
chore: code review changes
1 parent 0f540ae commit 5267b64

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/Microsoft.OpenApi/Models/OpenApiSchema.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,9 @@ private void SerializeInternal(IOpenApiWriter writer, OpenApiSpecVersion version
437437
});
438438

439439
// enum
440-
var enumValue = !string.IsNullOrEmpty(Const) && version < OpenApiSpecVersion.OpenApi3_1
440+
var enumValue = (Enum == null || Enum.Count == 0)
441+
&& !string.IsNullOrEmpty(Const)
442+
&& version < OpenApiSpecVersion.OpenApi3_1
441443
? new List<JsonNode> { JsonValue.Create(Const)! }
442444
: Enum;
443445
writer.WriteOptionalCollection(OpenApiConstants.Enum, enumValue, (nodeWriter, s) => nodeWriter.WriteAny(s));
@@ -690,7 +692,7 @@ private void SerializeAsV2(
690692
});
691693

692694
// enum
693-
var enumValue = !string.IsNullOrEmpty(Const)
695+
var enumValue = (Enum == null || Enum.Count == 0) && !string.IsNullOrEmpty(Const)
694696
? new List<JsonNode> { JsonValue.Create(Const)! }
695697
: Enum;
696698
writer.WriteOptionalCollection(OpenApiConstants.Enum, enumValue, (nodeWriter, s) => nodeWriter.WriteAny(s));

test/Microsoft.OpenApi.Tests/Models/OpenApiSchemaTests.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,8 @@ public async Task SerializeConstAsEnumV30()
659659

660660
// Assert
661661
var v3Node = JsonNode.Parse(actual);
662-
Assert.True(v3Node!["enum"] is JsonArray singleEnum && singleEnum.Count == 1 && singleEnum[0]?.ToString() == "foo");
662+
Assert.NotNull(v3Node);
663+
Assert.True(v3Node["enum"] is JsonArray singleEnum && singleEnum.Count == 1 && singleEnum[0]?.ToString() == "foo");
663664
Assert.False(v3Node.AsObject().ContainsKey("const"));
664665
}
665666

@@ -678,7 +679,8 @@ public async Task SerializeConstAsEnumV20()
678679

679680
// Assert
680681
var v2Node = JsonNode.Parse(actual);
681-
Assert.True(v2Node!["enum"] is JsonArray singleEnum && singleEnum.Count == 1 && singleEnum[0]?.ToString() == "foo");
682+
Assert.NotNull(v2Node);
683+
Assert.True(v2Node["enum"] is JsonArray singleEnum && singleEnum.Count == 1 && singleEnum[0]?.ToString() == "foo");
682684
Assert.False(v2Node.AsObject().ContainsKey("const"));
683685
}
684686

0 commit comments

Comments
 (0)