Skip to content

Commit 21578cf

Browse files
committed
Update tests
1 parent 12fb7b0 commit 21578cf

2 files changed

Lines changed: 37 additions & 10 deletions

File tree

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

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2461,9 +2461,11 @@ public async Task SerializeMultipleTypesWith3_0_IncludingNullAndTwoTypes_NotIncl
24612461
{
24622462
"enum": [
24632463
null
2464-
]
2464+
],
2465+
"nullable": true
24652466
}
2466-
]
2467+
],
2468+
"nullable": true
24672469
}
24682470
""";
24692471

@@ -2501,7 +2503,8 @@ public async Task SerializeMultipleTypesWith3_0_IncludingNullAndTwoTypes_Includi
25012503
{
25022504
"enum": [
25032505
null
2504-
]
2506+
],
2507+
"nullable": true
25052508
}
25062509
],
25072510
"oneOf": [
@@ -2511,7 +2514,8 @@ public async Task SerializeMultipleTypesWith3_0_IncludingNullAndTwoTypes_Includi
25112514
"B"
25122515
]
25132516
}
2514-
]
2517+
],
2518+
"nullable": true
25152519
}
25162520
""";
25172521

@@ -2549,7 +2553,8 @@ public async Task SerializeMultipleTypesWith3_0_IncludingNullAndTwoTypes_Includi
25492553
{
25502554
"enum": [
25512555
null
2552-
]
2556+
],
2557+
"nullable": true
25532558
}
25542559
],
25552560
"anyOf": [
@@ -2559,7 +2564,8 @@ public async Task SerializeMultipleTypesWith3_0_IncludingNullAndTwoTypes_Includi
25592564
"B"
25602565
]
25612566
}
2562-
]
2567+
],
2568+
"nullable": true
25632569
}
25642570
""";
25652571

@@ -2613,7 +2619,8 @@ public async Task SerializeMultipleTypesWith3_0_IncludingNullAndTwoTypes_Includi
26132619
"B"
26142620
]
26152621
}
2616-
]
2622+
],
2623+
"nullable": true
26172624
}
26182625
""";
26192626

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

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,20 @@ public async Task NullableTypeAsV3ShouldRoundTripCorrectly()
120120
[Fact]
121121
public async Task SerializeMultipleNonNullTypesAsV3OmitsType()
122122
{
123-
// Current behavior isn't good. It loses the information about multiple types.
124123
var schema = new OpenApiSchema { Type = JsonSchemaType.String | JsonSchemaType.Integer };
125124

126125
var actual = await schema.SerializeAsJsonAsync(OpenApiSpecVersion.OpenApi3_0);
127126

128127
var expected = """
129128
{
129+
"anyOf": [
130+
{
131+
"type": "integer"
132+
},
133+
{
134+
"type": "string"
135+
}
136+
]
130137
}
131138
""";
132139

@@ -139,7 +146,6 @@ public async Task SerializeMultipleNonNullTypesAsV3OmitsType()
139146
[Fact]
140147
public async Task SerializeMultipleNonNullTypesWithNullAsV3OmitsTypeButKeepsNullable()
141148
{
142-
// Current behavior isn't good. It loses the information about multiple types.
143149
var schema = new OpenApiSchema
144150
{
145151
Type = JsonSchemaType.String | JsonSchemaType.Integer | JsonSchemaType.Null
@@ -149,7 +155,21 @@ public async Task SerializeMultipleNonNullTypesWithNullAsV3OmitsTypeButKeepsNull
149155

150156
var expected = """
151157
{
152-
"nullable": true
158+
"anyOf": [
159+
{
160+
"type": "integer"
161+
},
162+
{
163+
"type": "string"
164+
},
165+
{
166+
"enum": [
167+
null
168+
],
169+
"nullable": true
170+
}
171+
],
172+
"nullable": true
153173
}
154174
""";
155175

0 commit comments

Comments
 (0)