diff --git a/openapi-diff/src/modeler/AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs b/openapi-diff/src/modeler/AutoRest.Swagger.Tests/SwaggerModelerCompareTests.cs index 59d83741..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.Empty(messages.Where(m => m.Id == ComparisonMessages.AddedEnumValue.Id)); + Assert.Equal(2,messages.Where(m => m.Id == ComparisonMessages.AddedEnumValue.Id).ToList().Count()); } [Fact] 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..02dd7317 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}"` +} + /** * @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")) } /**