diff --git a/test/Microsoft.OpenApi.Readers.Tests/V31Tests/OpenApiCompoentsTests.cs b/test/Microsoft.OpenApi.Readers.Tests/V31Tests/OpenApiComponentsTests.cs similarity index 97% rename from test/Microsoft.OpenApi.Readers.Tests/V31Tests/OpenApiCompoentsTests.cs rename to test/Microsoft.OpenApi.Readers.Tests/V31Tests/OpenApiComponentsTests.cs index 902d7a910..54f017b44 100644 --- a/test/Microsoft.OpenApi.Readers.Tests/V31Tests/OpenApiCompoentsTests.cs +++ b/test/Microsoft.OpenApi.Readers.Tests/V31Tests/OpenApiComponentsTests.cs @@ -8,7 +8,7 @@ namespace Microsoft.OpenApi.Readers.Tests.V31Tests { - public class OpenApiCompoentsTests + public class OpenApiComponentsTests { [Theory] [InlineData("./FirstLevel/SecondLevel/ThridLevel/File.json#/components/schemas/ExternalRelativePathModel", "ExternalRelativePathModel", "./FirstLevel/SecondLevel/ThridLevel/File.json")] diff --git a/test/Microsoft.OpenApi.Readers.Tests/V31Tests/OpenApiDocumentTests.cs b/test/Microsoft.OpenApi.Readers.Tests/V31Tests/OpenApiDocumentTests.cs index 3f08158d4..eebebbb6b 100644 --- a/test/Microsoft.OpenApi.Readers.Tests/V31Tests/OpenApiDocumentTests.cs +++ b/test/Microsoft.OpenApi.Readers.Tests/V31Tests/OpenApiDocumentTests.cs @@ -574,5 +574,20 @@ public void ParseEmptyMemoryStreamThrowsAnArgumentException() { Assert.Throws(() => OpenApiDocument.Load(new MemoryStream())); } + + [Fact] + public async Task ValidateReferencedExampleInSchemaWorks() + { + // Arrange && Act + var path = Path.Combine(SampleFolderPath, "docWithReferencedExampleInSchemaWorks.yaml"); + var result = await OpenApiDocument.LoadAsync(path, SettingsFixture.ReaderSettings); + var actualSchemaExample = result.Document.Components.Schemas["DiffCreatedEvent"].Properties["updatedAt"].Example; + var targetSchemaExample = result.Document.Components.Schemas["Timestamp"].Example; + + // Assert + Assert.Equal(targetSchemaExample, actualSchemaExample); + Assert.Empty(result.Diagnostic.Errors); + Assert.Empty(result.Diagnostic.Warnings); + } } } diff --git a/test/Microsoft.OpenApi.Readers.Tests/V31Tests/Samples/OpenApiDocument/docWithReferencedExampleInSchemaWorks.yaml b/test/Microsoft.OpenApi.Readers.Tests/V31Tests/Samples/OpenApiDocument/docWithReferencedExampleInSchemaWorks.yaml new file mode 100644 index 000000000..2df12cda5 --- /dev/null +++ b/test/Microsoft.OpenApi.Readers.Tests/V31Tests/Samples/OpenApiDocument/docWithReferencedExampleInSchemaWorks.yaml @@ -0,0 +1,30 @@ +openapi: 3.1.1 +info: + title: ReferenceById + version: 1.0.0 +paths: + /resource: + get: + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiffCreatedEvent' +components: + schemas: + DiffCreatedEvent: + description: 'diff index created' + type: object + additionalProperties: false + properties: + updatedAt: + $ref: '#/components/schemas/Timestamp' + example: + "updatedAt": '2020-06-30T06:43:51.391Z' + Timestamp: + type: string + format: date-time + description: 'timestamp' + example: '2020-06-30T06:43:51.391Z' \ No newline at end of file