diff --git a/src/Microsoft.OpenApi/Interfaces/IOpenApiAnnotatable.cs b/src/Microsoft.OpenApi/Interfaces/IMetadataContainer.cs similarity index 71% rename from src/Microsoft.OpenApi/Interfaces/IOpenApiAnnotatable.cs rename to src/Microsoft.OpenApi/Interfaces/IMetadataContainer.cs index dc1ee84a0..2d8f26220 100644 --- a/src/Microsoft.OpenApi/Interfaces/IOpenApiAnnotatable.cs +++ b/src/Microsoft.OpenApi/Interfaces/IMetadataContainer.cs @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. using System.Collections.Generic; @@ -9,11 +9,11 @@ namespace Microsoft.OpenApi.Interfaces /// Represents an Open API element that can be annotated with /// non-serializable properties in a property bag. /// - public interface IOpenApiAnnotatable + public interface IMetadataContainer { /// /// A collection of properties associated with the current OpenAPI element. /// - IDictionary Annotations { get; set; } + IDictionary Metadata { get; set; } } } diff --git a/src/Microsoft.OpenApi/Models/OpenApiDocument.cs b/src/Microsoft.OpenApi/Models/OpenApiDocument.cs index dd85770f3..8d04814cd 100644 --- a/src/Microsoft.OpenApi/Models/OpenApiDocument.cs +++ b/src/Microsoft.OpenApi/Models/OpenApiDocument.cs @@ -24,7 +24,7 @@ namespace Microsoft.OpenApi.Models /// /// Describes an OpenAPI object (OpenAPI document). See: https://spec.openapis.org /// - public class OpenApiDocument : IOpenApiSerializable, IOpenApiExtensible, IOpenApiAnnotatable + public class OpenApiDocument : IOpenApiSerializable, IOpenApiExtensible, IMetadataContainer { /// /// Register components in the document to the workspace @@ -109,7 +109,7 @@ public ISet? Tags public IDictionary? Extensions { get; set; } = new Dictionary(); /// - public IDictionary? Annotations { get; set; } + public IDictionary? Metadata { get; set; } /// /// Implements IBaseDocument @@ -143,7 +143,7 @@ public OpenApiDocument(OpenApiDocument? document) Tags = document?.Tags != null ? new HashSet(document.Tags, OpenApiTagComparer.Instance) : null; ExternalDocs = document?.ExternalDocs != null ? new(document?.ExternalDocs) : null; Extensions = document?.Extensions != null ? new Dictionary(document.Extensions) : null; - Annotations = document?.Annotations != null ? new Dictionary(document.Annotations) : null; + Metadata = document?.Metadata != null ? new Dictionary(document.Metadata) : null; BaseUri = document?.BaseUri != null ? document.BaseUri : new(OpenApiConstants.BaseRegistryUri + Guid.NewGuid()); } diff --git a/src/Microsoft.OpenApi/Models/OpenApiOperation.cs b/src/Microsoft.OpenApi/Models/OpenApiOperation.cs index 1e10f640c..2ea920640 100644 --- a/src/Microsoft.OpenApi/Models/OpenApiOperation.cs +++ b/src/Microsoft.OpenApi/Models/OpenApiOperation.cs @@ -16,7 +16,7 @@ namespace Microsoft.OpenApi.Models /// /// Operation Object. /// - public class OpenApiOperation : IOpenApiSerializable, IOpenApiExtensible, IOpenApiAnnotatable + public class OpenApiOperation : IOpenApiSerializable, IOpenApiExtensible, IMetadataContainer { /// /// Default value for . @@ -127,7 +127,7 @@ public ISet? Tags public IDictionary? Extensions { get; set; } = new Dictionary(); /// - public IDictionary? Annotations { get; set; } + public IDictionary? Metadata { get; set; } /// /// Parameterless constructor @@ -153,7 +153,7 @@ public OpenApiOperation(OpenApiOperation operation) Security = operation.Security != null ? new List(operation.Security) : null; Servers = operation.Servers != null ? new List(operation.Servers) : null; Extensions = operation.Extensions != null ? new Dictionary(operation.Extensions) : null; - Annotations = operation.Annotations != null ? new Dictionary(operation.Annotations) : null; + Metadata = operation.Metadata != null ? new Dictionary(operation.Metadata) : null; } /// diff --git a/test/Microsoft.OpenApi.Tests/Models/OpenApiDocumentTests.cs b/test/Microsoft.OpenApi.Tests/Models/OpenApiDocumentTests.cs index 6c27b87ab..b286839ac 100644 --- a/test/Microsoft.OpenApi.Tests/Models/OpenApiDocumentTests.cs +++ b/test/Microsoft.OpenApi.Tests/Models/OpenApiDocumentTests.cs @@ -92,7 +92,7 @@ public class OpenApiDocumentTests { Version = "1.0.0" }, - Annotations = new Dictionary { { "key1", "value" } }, + Metadata = new Dictionary { { "key1", "value" } }, Components = TopLevelReferencingComponents }; @@ -102,7 +102,7 @@ public class OpenApiDocumentTests { Version = "1.0.0" }, - Annotations = new Dictionary { { "key1", "value" } }, + Metadata = new Dictionary { { "key1", "value" } }, Components = TopLevelSelfReferencingComponentsWithOtherProperties }; @@ -112,7 +112,7 @@ public class OpenApiDocumentTests { Version = "1.0.0" }, - Annotations = new Dictionary { { "key1", "value" } }, + Metadata = new Dictionary { { "key1", "value" } }, Components = TopLevelSelfReferencingComponents }; @@ -489,7 +489,7 @@ public class OpenApiDocumentTests } } }, - Annotations = new Dictionary { { "key1", "value" } }, + Metadata = new Dictionary { { "key1", "value" } }, Components = AdvancedComponentsWithReference }; @@ -865,7 +865,7 @@ public class OpenApiDocumentTests } } }, - Annotations = new Dictionary { { "key1", "value" } }, + Metadata = new Dictionary { { "key1", "value" } }, Components = AdvancedComponents }; @@ -1024,7 +1024,7 @@ public class OpenApiDocumentTests } } }, - Annotations = new Dictionary { { "key1", "value" } }, + Metadata = new Dictionary { { "key1", "value" } }, Components = AdvancedComponents }; @@ -1324,7 +1324,7 @@ public class OpenApiDocumentTests } } }, - Annotations = new Dictionary { { "key1", "value" } }, + Metadata = new Dictionary { { "key1", "value" } }, Components = AdvancedComponents }; @@ -1830,7 +1830,7 @@ public void OpenApiDocumentCopyConstructorWithAnnotationsSucceeds() { var baseDocument = new OpenApiDocument { - Annotations = new Dictionary + Metadata = new Dictionary { ["key1"] = "value1", ["key2"] = 2 @@ -1839,11 +1839,11 @@ public void OpenApiDocumentCopyConstructorWithAnnotationsSucceeds() var actualDocument = new OpenApiDocument(baseDocument); - Assert.Equal(baseDocument.Annotations["key1"], actualDocument.Annotations["key1"]); + Assert.Equal(baseDocument.Metadata["key1"], actualDocument.Metadata["key1"]); - baseDocument.Annotations["key1"] = "value2"; + baseDocument.Metadata["key1"] = "value2"; - Assert.NotEqual(baseDocument.Annotations["key1"], actualDocument.Annotations["key1"]); + Assert.NotEqual(baseDocument.Metadata["key1"], actualDocument.Metadata["key1"]); } [Fact] diff --git a/test/Microsoft.OpenApi.Tests/Models/OpenApiOperationTests.cs b/test/Microsoft.OpenApi.Tests/Models/OpenApiOperationTests.cs index bb615f2dd..33730484b 100644 --- a/test/Microsoft.OpenApi.Tests/Models/OpenApiOperationTests.cs +++ b/test/Microsoft.OpenApi.Tests/Models/OpenApiOperationTests.cs @@ -84,7 +84,7 @@ public class OpenApiOperationTests Description = "serverDescription" } }, - Annotations = new Dictionary { { "key1", "value1" }, { "key2", 2 } }, + Metadata = new Dictionary { { "key1", "value1" }, { "key2", 2 } }, }; private static OpenApiOperation _advancedOperationWithTagsAndSecurity => new() @@ -844,7 +844,7 @@ public void OpenApiOperationCopyConstructorWithAnnotationsSucceeds() { var baseOperation = new OpenApiOperation { - Annotations = new Dictionary + Metadata = new Dictionary { ["key1"] = "value1", ["key2"] = 2 @@ -853,11 +853,11 @@ public void OpenApiOperationCopyConstructorWithAnnotationsSucceeds() var actualOperation = new OpenApiOperation(baseOperation); - Assert.Equal(baseOperation.Annotations["key1"], actualOperation.Annotations["key1"]); + Assert.Equal(baseOperation.Metadata["key1"], actualOperation.Metadata["key1"]); - baseOperation.Annotations["key1"] = "value2"; + baseOperation.Metadata["key1"] = "value2"; - Assert.NotEqual(baseOperation.Annotations["key1"], actualOperation.Annotations["key1"]); + Assert.NotEqual(baseOperation.Metadata["key1"], actualOperation.Metadata["key1"]); } } } diff --git a/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt b/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt index 0f0412510..a143a049d 100644 --- a/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt +++ b/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt @@ -199,9 +199,9 @@ namespace Microsoft.OpenApi.Extensions namespace Microsoft.OpenApi.Interfaces { public interface IDiagnostic { } - public interface IOpenApiAnnotatable + public interface IMetadataContainer { - System.Collections.Generic.IDictionary Annotations { get; set; } + System.Collections.Generic.IDictionary Metadata { get; set; } } public interface IOpenApiElement { } public interface IOpenApiExtensible : Microsoft.OpenApi.Interfaces.IOpenApiElement @@ -706,17 +706,17 @@ namespace Microsoft.OpenApi.Models public void SerializeAsV3(Microsoft.OpenApi.Writers.IOpenApiWriter writer) { } public void SerializeAsV31(Microsoft.OpenApi.Writers.IOpenApiWriter writer) { } } - public class OpenApiDocument : Microsoft.OpenApi.Interfaces.IOpenApiAnnotatable, Microsoft.OpenApi.Interfaces.IOpenApiElement, Microsoft.OpenApi.Interfaces.IOpenApiExtensible, Microsoft.OpenApi.Interfaces.IOpenApiSerializable + public class OpenApiDocument : Microsoft.OpenApi.Interfaces.IMetadataContainer, Microsoft.OpenApi.Interfaces.IOpenApiElement, Microsoft.OpenApi.Interfaces.IOpenApiExtensible, Microsoft.OpenApi.Interfaces.IOpenApiSerializable { public OpenApiDocument() { } public OpenApiDocument(Microsoft.OpenApi.Models.OpenApiDocument? document) { } - public System.Collections.Generic.IDictionary? Annotations { get; set; } public System.Uri BaseUri { get; } public Microsoft.OpenApi.Models.OpenApiComponents? Components { get; set; } public System.Collections.Generic.IDictionary? Extensions { get; set; } public Microsoft.OpenApi.Models.OpenApiExternalDocs? ExternalDocs { get; set; } public Microsoft.OpenApi.Models.OpenApiInfo Info { get; set; } public System.Uri? JsonSchemaDialect { get; set; } + public System.Collections.Generic.IDictionary? Metadata { get; set; } public Microsoft.OpenApi.Models.OpenApiPaths Paths { get; set; } public System.Collections.Generic.IList? Security { get; set; } public System.Collections.Generic.IList? Servers { get; set; } @@ -894,17 +894,17 @@ namespace Microsoft.OpenApi.Models public void SerializeAsV3(Microsoft.OpenApi.Writers.IOpenApiWriter writer) { } public void SerializeAsV31(Microsoft.OpenApi.Writers.IOpenApiWriter writer) { } } - public class OpenApiOperation : Microsoft.OpenApi.Interfaces.IOpenApiAnnotatable, Microsoft.OpenApi.Interfaces.IOpenApiElement, Microsoft.OpenApi.Interfaces.IOpenApiExtensible, Microsoft.OpenApi.Interfaces.IOpenApiSerializable + public class OpenApiOperation : Microsoft.OpenApi.Interfaces.IMetadataContainer, Microsoft.OpenApi.Interfaces.IOpenApiElement, Microsoft.OpenApi.Interfaces.IOpenApiExtensible, Microsoft.OpenApi.Interfaces.IOpenApiSerializable { public const bool DeprecatedDefault = false; public OpenApiOperation() { } public OpenApiOperation(Microsoft.OpenApi.Models.OpenApiOperation operation) { } - public System.Collections.Generic.IDictionary? Annotations { get; set; } public System.Collections.Generic.IDictionary? Callbacks { get; set; } public bool Deprecated { get; set; } public string? Description { get; set; } public System.Collections.Generic.IDictionary? Extensions { get; set; } public Microsoft.OpenApi.Models.OpenApiExternalDocs? ExternalDocs { get; set; } + public System.Collections.Generic.IDictionary? Metadata { get; set; } public string? OperationId { get; set; } public System.Collections.Generic.IList? Parameters { get; set; } public Microsoft.OpenApi.Models.Interfaces.IOpenApiRequestBody? RequestBody { get; set; }