From 78a54e174afc384b5019834b3bbe00bdc12840d7 Mon Sep 17 00:00:00 2001 From: saitama951 Date: Fri, 4 Oct 2024 08:12:21 +0200 Subject: [PATCH 1/3] fix Extensions.ApiDescription.Client tests * The enumeration of dictionary is undefined according to msdocs. * Sort the values of the expected and the actual in the test cases. --- .../test/GetOpenApiReferenceMetadataTest.cs | 38 ++++++++++++++----- .../test/MetadataSerializerTest.cs | 5 ++- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs b/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs index 3a6fd319472d..d49245e376dd 100644 --- a/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs +++ b/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs @@ -60,7 +60,9 @@ public void Execute_AddsExpectedMetadata() orderedMetadata.Add(key, metadata[key]); } - Assert.Equal(expectedMetadata, orderedMetadata); + expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + Assert.Equal(expectedMetadata, orderedMetadata); } [Fact] @@ -118,7 +120,9 @@ public void Execute_DoesNotOverrideClassName() orderedMetadata.Add(key, metadata[key]); } - Assert.Equal(expectedMetadata, orderedMetadata); + expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + Assert.Equal(expectedMetadata, orderedMetadata); } [Fact] @@ -176,7 +180,9 @@ public void Execute_DoesNotOverrideNamespace() orderedMetadata.Add(key, metadata[key]); } - Assert.Equal(expectedMetadata, orderedMetadata); + expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + Assert.Equal(expectedMetadata, orderedMetadata); } [Fact] @@ -233,8 +239,11 @@ public void Execute_DoesNotOverrideOutputPath_IfRooted() { orderedMetadata.Add(key, metadata[key]); } + // sort the values, since order is undefined for Dictionary + expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - Assert.Equal(expectedMetadata, orderedMetadata); + Assert.Equal>(expectedMetadata, orderedMetadata); } [Fact] @@ -384,7 +393,9 @@ public void Execute_SetsClassName_BasedOnOutputPath() orderedMetadata.Add(key, metadata[key]); } - Assert.Equal(expectedMetadata, orderedMetadata); + expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + Assert.Equal(expectedMetadata, orderedMetadata); } [Theory] @@ -446,8 +457,9 @@ public void Execute_SetsClassName_BasedOnSanitizedOutputPath(string outputPath, { orderedMetadata.Add(key, metadata[key]); } - - Assert.Equal(expectedMetadata, orderedMetadata); + expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + Assert.Equal(expectedMetadata, orderedMetadata); } [Fact] @@ -545,7 +557,9 @@ public void Execute_SetsFirstForGenerator_UsesCorrectExtension() orderedMetadata.Add(key, metadata[key]); } - Assert.Equal(expectedMetadata1, orderedMetadata); + expectedMetadata1["SerializedMetadata"] = string.Join("|", expectedMetadata1["SerializedMetadata"].Split('|').OrderBy(s => s)); + orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + Assert.Equal(expectedMetadata1, orderedMetadata); }, output => { @@ -557,7 +571,9 @@ public void Execute_SetsFirstForGenerator_UsesCorrectExtension() orderedMetadata.Add(key, metadata[key]); } - Assert.Equal(expectedMetadata2, orderedMetadata); + expectedMetadata2["SerializedMetadata"] = string.Join("|", expectedMetadata2["SerializedMetadata"].Split('|').OrderBy(s => s)); + orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + Assert.Equal(expectedMetadata2, orderedMetadata); }, output => { @@ -569,7 +585,9 @@ public void Execute_SetsFirstForGenerator_UsesCorrectExtension() orderedMetadata.Add(key, metadata[key]); } - Assert.Equal(expectedMetadata3, orderedMetadata); + expectedMetadata3["SerializedMetadata"] = string.Join("|", expectedMetadata3["SerializedMetadata"].Split('|').OrderBy(s => s)); + orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); + Assert.Equal(expectedMetadata3, orderedMetadata); }); } } diff --git a/src/Tools/Extensions.ApiDescription.Client/test/MetadataSerializerTest.cs b/src/Tools/Extensions.ApiDescription.Client/test/MetadataSerializerTest.cs index c12361e719cc..da443c935c97 100644 --- a/src/Tools/Extensions.ApiDescription.Client/test/MetadataSerializerTest.cs +++ b/src/Tools/Extensions.ApiDescription.Client/test/MetadataSerializerTest.cs @@ -193,7 +193,10 @@ public void SerializeMetadata_ReturnsExpectedString() // Act var result = MetadataSerializer.SerializeMetadata(input); - // Assert + // sort the values, since order is undefined for Dictionary + expectedResult = string.Join("|", expectedResult.Split('|').OrderBy(s => s)); + result = string.Join("|", result.Split('|').OrderBy(s => s)); + // Assert Assert.Equal(expectedResult, result); } From bbcceb9582eb3e5737700c1b0c4f8fa7a57a7907 Mon Sep 17 00:00:00 2001 From: Sanjam Panda Date: Wed, 4 Jun 2025 05:15:16 +0000 Subject: [PATCH 2/3] * move the sort logic into a function --- .../test/GetOpenApiReferenceMetadataTest.cs | 59 ++++++++++--------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs b/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs index d49245e376dd..1e5baeb0ba36 100644 --- a/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs +++ b/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs @@ -11,6 +11,10 @@ namespace Microsoft.Extensions.ApiDescription.Client; public class GetOpenApiReferenceMetadataTest { + public string SortMetadata(string Metadata) + { + return string.Join("|", Metadata.Split('|').OrderBy(s => s)); + } [Fact] public void Execute_AddsExpectedMetadata() { @@ -60,9 +64,9 @@ public void Execute_AddsExpectedMetadata() orderedMetadata.Add(key, metadata[key]); } - expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - Assert.Equal(expectedMetadata, orderedMetadata); + expectedMetadata["SerializedMetadata"] = SortMetadata(expectedMetadata["SerializedMetadata"]); + orderedMetadata["SerializedMetadata"] = SortMetadata(orderedMetadata["SerializedMetadata"]); + Assert.Equal(expectedMetadata, orderedMetadata); } [Fact] @@ -120,9 +124,9 @@ public void Execute_DoesNotOverrideClassName() orderedMetadata.Add(key, metadata[key]); } - expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - Assert.Equal(expectedMetadata, orderedMetadata); + expectedMetadata["SerializedMetadata"] = SortMetadata(expectedMetadata["SerializedMetadata"]); + orderedMetadata["SerializedMetadata"] = SortMetadata(orderedMetadata["SerializedMetadata"]); + Assert.Equal(expectedMetadata, orderedMetadata); } [Fact] @@ -180,9 +184,9 @@ public void Execute_DoesNotOverrideNamespace() orderedMetadata.Add(key, metadata[key]); } - expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - Assert.Equal(expectedMetadata, orderedMetadata); + expectedMetadata["SerializedMetadata"] = SortMetadata(expectedMetadata["SerializedMetadata"]); + orderedMetadata["SerializedMetadata"] = SortMetadata(orderedMetadata["SerializedMetadata"]); + Assert.Equal(expectedMetadata, orderedMetadata); } [Fact] @@ -240,9 +244,8 @@ public void Execute_DoesNotOverrideOutputPath_IfRooted() orderedMetadata.Add(key, metadata[key]); } // sort the values, since order is undefined for Dictionary - expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - + expectedMetadata["SerializedMetadata"] = SortMetadata(expectedMetadata["SerializedMetadata"]); + orderedMetadata["SerializedMetadata"] = SortMetadata(orderedMetadata["SerializedMetadata"]); Assert.Equal>(expectedMetadata, orderedMetadata); } @@ -392,10 +395,9 @@ public void Execute_SetsClassName_BasedOnOutputPath() { orderedMetadata.Add(key, metadata[key]); } - - expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - Assert.Equal(expectedMetadata, orderedMetadata); + expectedMetadata["SerializedMetadata"] = SortMetadata(expectedMetadata["SerializedMetadata"]); + orderedMetadata["SerializedMetadata"] = SortMetadata(orderedMetadata["SerializedMetadata"]); + Assert.Equal(expectedMetadata, orderedMetadata); } [Theory] @@ -457,9 +459,9 @@ public void Execute_SetsClassName_BasedOnSanitizedOutputPath(string outputPath, { orderedMetadata.Add(key, metadata[key]); } - expectedMetadata["SerializedMetadata"] = string.Join("|", expectedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - Assert.Equal(expectedMetadata, orderedMetadata); + expectedMetadata["SerializedMetadata"] = SortMetadata(expectedMetadata["SerializedMetadata"]); + orderedMetadata["SerializedMetadata"] = SortMetadata(orderedMetadata["SerializedMetadata"]); + Assert.Equal(expectedMetadata, orderedMetadata); } [Fact] @@ -557,9 +559,9 @@ public void Execute_SetsFirstForGenerator_UsesCorrectExtension() orderedMetadata.Add(key, metadata[key]); } - expectedMetadata1["SerializedMetadata"] = string.Join("|", expectedMetadata1["SerializedMetadata"].Split('|').OrderBy(s => s)); - orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - Assert.Equal(expectedMetadata1, orderedMetadata); + expectedMetadata1["SerializedMetadata"] = SortMetadata(expectedMetadata1["SerializedMetadata"]); + orderedMetadata["SerializedMetadata"] = SortMetadata(orderedMetadata["SerializedMetadata"]); + Assert.Equal(expectedMetadata1, orderedMetadata); }, output => { @@ -570,10 +572,9 @@ public void Execute_SetsFirstForGenerator_UsesCorrectExtension() { orderedMetadata.Add(key, metadata[key]); } - - expectedMetadata2["SerializedMetadata"] = string.Join("|", expectedMetadata2["SerializedMetadata"].Split('|').OrderBy(s => s)); - orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - Assert.Equal(expectedMetadata2, orderedMetadata); + expectedMetadata2["SerializedMetadata"] = SortMetadata(expectedMetadata2["SerializedMetadata"]); + orderedMetadata["SerializedMetadata"] = SortMetadata(orderedMetadata["SerializedMetadata"]); + Assert.Equal(expectedMetadata2, orderedMetadata); }, output => { @@ -585,9 +586,9 @@ public void Execute_SetsFirstForGenerator_UsesCorrectExtension() orderedMetadata.Add(key, metadata[key]); } - expectedMetadata3["SerializedMetadata"] = string.Join("|", expectedMetadata3["SerializedMetadata"].Split('|').OrderBy(s => s)); - orderedMetadata["SerializedMetadata"] = string.Join("|", orderedMetadata["SerializedMetadata"].Split('|').OrderBy(s => s)); - Assert.Equal(expectedMetadata3, orderedMetadata); + expectedMetadata3["SerializedMetadata"] = SortMetadata(expectedMetadata3["SerializedMetadata"]); + orderedMetadata["SerializedMetadata"] = SortMetadata(orderedMetadata["SerializedMetadata"]); + Assert.Equal(expectedMetadata3, orderedMetadata); }); } } From 848fbd2b07f35fa72d76197be98df771d1a1f1d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Wed, 4 Jun 2025 19:59:22 +0200 Subject: [PATCH 3/3] Code style fixes --- .../test/GetOpenApiReferenceMetadataTest.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs b/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs index 1e5baeb0ba36..1c8153dc2387 100644 --- a/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs +++ b/src/Tools/Extensions.ApiDescription.Client/test/GetOpenApiReferenceMetadataTest.cs @@ -11,10 +11,11 @@ namespace Microsoft.Extensions.ApiDescription.Client; public class GetOpenApiReferenceMetadataTest { - public string SortMetadata(string Metadata) + string SortMetadata(string metadata) { - return string.Join("|", Metadata.Split('|').OrderBy(s => s)); + return string.Join("|", metadata.Split('|').OrderBy(s => s)); } + [Fact] public void Execute_AddsExpectedMetadata() { @@ -243,10 +244,11 @@ public void Execute_DoesNotOverrideOutputPath_IfRooted() { orderedMetadata.Add(key, metadata[key]); } - // sort the values, since order is undefined for Dictionary + + // sort the values, since order is undefined for Dictionary expectedMetadata["SerializedMetadata"] = SortMetadata(expectedMetadata["SerializedMetadata"]); orderedMetadata["SerializedMetadata"] = SortMetadata(orderedMetadata["SerializedMetadata"]); - Assert.Equal>(expectedMetadata, orderedMetadata); + Assert.Equal(expectedMetadata, orderedMetadata); } [Fact]