From e23a708dd1d50008ed8a604f0e150932ba26181a Mon Sep 17 00:00:00 2001 From: jianyexi Date: Thu, 10 Nov 2022 17:19:09 +0800 Subject: [PATCH 1/6] fix adding enum value & command line exception --- .../modeler/AutoRest.Swagger/Model/SwaggerObject.cs | 5 +---- package.json | 2 +- src/lib/validators/openApiDiff.ts | 12 ++++++++---- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/openapi-diff/src/modeler/AutoRest.Swagger/Model/SwaggerObject.cs b/openapi-diff/src/modeler/AutoRest.Swagger/Model/SwaggerObject.cs index 01ad683c..6c17e087 100644 --- a/openapi-diff/src/modeler/AutoRest.Swagger/Model/SwaggerObject.cs +++ b/openapi-diff/src/modeler/AutoRest.Swagger/Model/SwaggerObject.cs @@ -187,7 +187,6 @@ private void CompareEnums(ComparisonContext context, T prior) CompareXmsEnum(context,prior); bool relaxes = (prior.Enum != null && this.Enum == null); bool constrains = (prior.Enum == null && this.Enum != null); - bool isEnumModelAsString = (this.XmsEnum != null && this.XmsEnum.ModelAsString == true); if (!relaxes && !constrains) { // It was enum and it is still enum i.e check for addition/removal @@ -213,9 +212,7 @@ private void CompareEnums(ComparisonContext context, T prior) IEnumerable addedEnums = this.Enum.Except(prior.Enum); if (addedEnums.Any()) { - if (!isEnumModelAsString) { - context.LogBreakingChange(ComparisonMessages.AddedEnumValue, String.Join(", ", addedEnums.ToList())); - } + context.LogBreakingChange(ComparisonMessages.AddedEnumValue, String.Join(", ", addedEnums.ToList())); } } } diff --git a/package.json b/package.json index 819a11b3..80bcf2c7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@azure/oad", - "version": "0.10.2", + "version": "0.10.3", "author": { "name": "Microsoft Corporation", "email": "azsdkteam@microsoft.com", diff --git a/src/lib/validators/openApiDiff.ts b/src/lib/validators/openApiDiff.ts index 6860ff76..644b08be 100644 --- a/src/lib/validators/openApiDiff.ts +++ b/src/lib/validators/openApiDiff.ts @@ -82,6 +82,10 @@ const updateChangeProperties = (change: ChangeProperties, pf: ProcessedFile): Ch } } +function escape(filePath:string) { + return filePath.replace(/(\s+)/g, "\\$1") +} + /** * @class * Open API Diff class. @@ -154,7 +158,7 @@ export class OpenApiDiff { const result = path.join(__dirname, "..", "..", "..", "node_modules", "autorest", "dist", "app.js") if (fs.existsSync(result)) { log.silly(`Found autoRest:${result} `) - return `node ${result}` + return `node ${escape(result)}` } } @@ -163,7 +167,7 @@ export class OpenApiDiff { const result = path.join(__dirname, "..", "..", "..", "..", "..", "autorest", "dist", "app.js") if (fs.existsSync(result)) { log.silly(`Found autoRest:${result} `) - return `node ${result}` + return `node ${escape(result)}` } } @@ -172,7 +176,7 @@ export class OpenApiDiff { const result = path.resolve("node_modules/.bin/autorest") if (fs.existsSync(result)) { log.silly(`Found autoRest:${result} `) - return result + return escape(result) } } @@ -188,7 +192,7 @@ export class OpenApiDiff { public openApiDiffDllPath(): string { log.silly(`openApiDiffDllPath is being called`) - return path.join(__dirname, "..", "..", "..", "dlls", "OpenApiDiff.dll") + return escape(path.join(__dirname, "..", "..", "..", "dlls", "OpenApiDiff.dll")) } /** From 4c3084ee15346967526cc83ca6118e9f77e590bc Mon Sep 17 00:00:00 2001 From: jianyexi Date: Thu, 10 Nov 2022 18:12:28 +0800 Subject: [PATCH 2/6] fix lint error --- src/lib/validators/openApiDiff.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/validators/openApiDiff.ts b/src/lib/validators/openApiDiff.ts index 644b08be..70b3ce1f 100644 --- a/src/lib/validators/openApiDiff.ts +++ b/src/lib/validators/openApiDiff.ts @@ -82,7 +82,7 @@ const updateChangeProperties = (change: ChangeProperties, pf: ProcessedFile): Ch } } -function escape(filePath:string) { +function escape(filePath: string) { return filePath.replace(/(\s+)/g, "\\$1") } From 295a1fd202373d63ae948bb49076c29e05838402 Mon Sep 17 00:00:00 2001 From: jianyexi Date: Thu, 10 Nov 2022 18:17:17 +0800 Subject: [PATCH 3/6] fix test --- .../AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi-diff/src/modeler/AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs b/openapi-diff/src/modeler/AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs index 59d83741..3797747f 100644 --- a/openapi-diff/src/modeler/AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs +++ b/openapi-diff/src/modeler/AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs @@ -878,7 +878,7 @@ public void CommonParameterWithRef() public void XmsEnumModelAsString() { var messages = CompareSwagger("enum_as_string.json").ToArray(); - Assert.Empty(messages.Where(m => m.Id == ComparisonMessages.AddedEnumValue.Id)); + Assert.Equal(1,messages.Where(m => m.Id == ComparisonMessages.AddedEnumValue.Id).ToList().Count()); } [Fact] From 170254a5079da3797056cb5c3965128a4f56cf12 Mon Sep 17 00:00:00 2001 From: jianyexi Date: Thu, 10 Nov 2022 18:23:33 +0800 Subject: [PATCH 4/6] fix test --- .../AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi-diff/src/modeler/AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs b/openapi-diff/src/modeler/AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs index 3797747f..5ac2f97e 100644 --- a/openapi-diff/src/modeler/AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs +++ b/openapi-diff/src/modeler/AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs @@ -878,7 +878,7 @@ public void CommonParameterWithRef() public void XmsEnumModelAsString() { var messages = CompareSwagger("enum_as_string.json").ToArray(); - Assert.Equal(1,messages.Where(m => m.Id == ComparisonMessages.AddedEnumValue.Id).ToList().Count()); + Assert.Equal(2,messages.Where(m => m.Id == ComparisonMessages.AddedEnumValue.Id).ToList().Count()); } [Fact] From fcc964749d186e01099f7be5fa2e928c67167e4d Mon Sep 17 00:00:00 2001 From: jianyexi Date: Thu, 10 Nov 2022 19:06:02 +0800 Subject: [PATCH 5/6] fix file path contains space --- src/lib/validators/openApiDiff.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/validators/openApiDiff.ts b/src/lib/validators/openApiDiff.ts index 70b3ce1f..23fc42d0 100644 --- a/src/lib/validators/openApiDiff.ts +++ b/src/lib/validators/openApiDiff.ts @@ -83,7 +83,7 @@ const updateChangeProperties = (change: ChangeProperties, pf: ProcessedFile): Ch } function escape(filePath: string) { - return filePath.replace(/(\s+)/g, "\\$1") + return `"${filePath}"`; } /** From 51ce7538aa9eaf5a4b7c79e7136f3c433b09703e Mon Sep 17 00:00:00 2001 From: jianyexi Date: Fri, 11 Nov 2022 13:26:46 +0800 Subject: [PATCH 6/6] fix lint error --- src/lib/validators/openApiDiff.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/validators/openApiDiff.ts b/src/lib/validators/openApiDiff.ts index 23fc42d0..02dd7317 100644 --- a/src/lib/validators/openApiDiff.ts +++ b/src/lib/validators/openApiDiff.ts @@ -83,7 +83,7 @@ const updateChangeProperties = (change: ChangeProperties, pf: ProcessedFile): Ch } function escape(filePath: string) { - return `"${filePath}"`; + return `"${filePath}"` } /**