File tree Expand file tree Collapse file tree
test/Microsoft.OpenApi.Tests/Models Expand file tree Collapse file tree Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments