@@ -409,19 +409,27 @@ public void ShouldAssignSchemaToAllResponses()
409
409
[ Fact ]
410
410
public void ShouldAllowComponentsThatJustContainAReference ( )
411
411
{
412
- using ( var stream = Resources . GetStream ( Path . Combine ( SampleFolderPath , "ComponentRootReference.json" ) ) )
412
+ using var stream = Resources . GetStream ( Path . Combine ( SampleFolderPath , "ComponentRootReference.json" ) ) ;
413
+ OpenApiStreamReader reader = new OpenApiStreamReader ( ) ;
414
+ OpenApiDocument doc = reader . Read ( stream , out OpenApiDiagnostic diags ) ;
415
+ OpenApiSchema schema1 = doc . Components . Schemas [ "AllPets" ] ;
416
+ Assert . False ( schema1 . UnresolvedReference ) ;
417
+ OpenApiSchema schema2 = doc . ResolveReferenceTo < OpenApiSchema > ( schema1 . Reference ) ;
418
+ if ( schema2 . UnresolvedReference && schema1 . Reference . Id == schema2 . Reference . Id )
413
419
{
414
- OpenApiStreamReader reader = new OpenApiStreamReader ( ) ;
415
- OpenApiDocument doc = reader . Read ( stream , out OpenApiDiagnostic diags ) ;
416
- OpenApiSchema schema1 = doc . Components . Schemas [ "AllPets" ] ;
417
- Assert . False ( schema1 . UnresolvedReference ) ;
418
- OpenApiSchema schema2 = doc . ResolveReferenceTo < OpenApiSchema > ( schema1 . Reference ) ;
419
- if ( schema2 . UnresolvedReference && schema1 . Reference . Id == schema2 . Reference . Id )
420
- {
421
- // detected a cycle - this code gets triggered
422
- Assert . Fail ( "A cycle should not be detected" ) ;
423
- }
420
+ // detected a cycle - this code gets triggered
421
+ Assert . Fail ( "A cycle should not be detected" ) ;
424
422
}
425
423
}
424
+
425
+ [ Fact ]
426
+ public void ParseDocumentWithDefaultContentTypeSettingShouldSucceed ( )
427
+ {
428
+ using var stream = Resources . GetStream ( Path . Combine ( SampleFolderPath , "docWithEmptyProduces.yaml" ) ) ;
429
+ var doc = new OpenApiStreamReader ( new OpenApiReaderSettings { DefaultContentType = new List < string > { "application/json" } } )
430
+ . Read ( stream , out OpenApiDiagnostic diags ) ;
431
+ var mediaType = doc . Paths [ "/example" ] . Operations [ OperationType . Get ] . Responses [ "200" ] . Content ;
432
+ Assert . Contains ( "application/json" , mediaType ) ;
433
+ }
426
434
}
427
435
}
0 commit comments