diff --git a/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj b/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj
index ecd6f19f5..2c745fd70 100644
--- a/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj
+++ b/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj
@@ -15,13 +15,13 @@
Microsoft.OpenApi.Hidi
hidi
./../../artifacts
- 0.5.0-preview4
+ 0.6.0-preview1
OpenAPI.NET CLI tool for slicing OpenAPI documents
© Microsoft Corporation. All rights reserved.
OpenAPI .NET
https://github.com/Microsoft/OpenAPI.NET
-- Publish symbols.
+- Upgrades Microsoft.OpenApi.OData to 1.0.10-preview1
Microsoft.OpenApi.Hidi
Microsoft.OpenApi.Hidi
@@ -37,7 +37,7 @@
-
+
diff --git a/src/Microsoft.OpenApi.Hidi/OpenApiService.cs b/src/Microsoft.OpenApi.Hidi/OpenApiService.cs
index d7a4f4298..e04fa4f3c 100644
--- a/src/Microsoft.OpenApi.Hidi/OpenApiService.cs
+++ b/src/Microsoft.OpenApi.Hidi/OpenApiService.cs
@@ -92,7 +92,7 @@ string filterbycollection
version ??= OpenApiSpecVersion.OpenApi3_0;
stream = await GetStream(csdl, logger);
- document = ConvertCsdlToOpenApi(stream);
+ document = await ConvertCsdlToOpenApi(stream);
}
else
{
@@ -198,16 +198,20 @@ string filterbycollection
///
/// The CSDL stream.
/// An OpenAPI document.
- public static OpenApiDocument ConvertCsdlToOpenApi(Stream csdl)
+ public static async Task ConvertCsdlToOpenApi(Stream csdl)
{
using var reader = new StreamReader(csdl);
- var csdlText = reader.ReadToEndAsync().GetAwaiter().GetResult();
+ var csdlText = await reader.ReadToEndAsync();
var edmModel = CsdlReader.Parse(XElement.Parse(csdlText).CreateReader());
var settings = new OpenApiConvertSettings()
{
+ AddSingleQuotesForStringParameters = true,
+ AddEnumDescriptionExtension = true,
+ DeclarePathParametersOnPathItem = true,
EnableKeyAsSegment = true,
EnableOperationId = true,
+ ErrorResponsesAsDefault = false,
PrefixEntityTypeNameBeforeKey = true,
TagDepth = 2,
EnablePagination = true,
diff --git a/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt b/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
index f700fee15..263e5dd12 100755
--- a/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
+++ b/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
@@ -358,6 +358,7 @@ namespace Microsoft.OpenApi.Models
public const string AuthorizationUrl = "authorizationUrl";
public const string BasePath = "basePath";
public const string Basic = "basic";
+ public const string Bearer = "bearer";
public const string BearerFormat = "bearerFormat";
public const string BodyName = "x-bodyName";
public const string Callbacks = "callbacks";
@@ -400,6 +401,7 @@ namespace Microsoft.OpenApi.Models
public const string In = "in";
public const string Info = "info";
public const string Items = "items";
+ public const string Jwt = "JWT";
public const string License = "license";
public const string Links = "links";
public const string Mapping = "mapping";
@@ -1206,7 +1208,7 @@ namespace Microsoft.OpenApi.Validations.Rules
public static Microsoft.OpenApi.Validations.ValidationRule ResponsesMustBeIdentifiedByDefaultOrStatusCode { get; }
public static Microsoft.OpenApi.Validations.ValidationRule ResponsesMustContainAtLeastOneResponse { get; }
}
- [System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.All, AllowMultiple=false, Inherited=false)]
+ [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)]
public class OpenApiRuleAttribute : System.Attribute
{
public OpenApiRuleAttribute() { }
diff --git a/test/Microsoft.OpenApi.Tests/Services/OpenApiServiceTests.cs b/test/Microsoft.OpenApi.Tests/Services/OpenApiServiceTests.cs
index 1b94a3557..1c9fd003b 100644
--- a/test/Microsoft.OpenApi.Tests/Services/OpenApiServiceTests.cs
+++ b/test/Microsoft.OpenApi.Tests/Services/OpenApiServiceTests.cs
@@ -3,6 +3,7 @@
using System;
using System.IO;
+using System.Threading.Tasks;
using Microsoft.OpenApi.Hidi;
using Microsoft.OpenApi.Services;
using Xunit;
@@ -12,7 +13,7 @@ namespace Microsoft.OpenApi.Tests.Services
public class OpenApiServiceTests
{
[Fact]
- public void ReturnConvertedCSDLFile()
+ public async Task ReturnConvertedCSDLFile()
{
// Arrange
var filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "UtilityFiles\\Todo.xml");
@@ -20,20 +21,20 @@ public void ReturnConvertedCSDLFile()
var csdlStream = fileInput.OpenRead();
// Act
- var openApiDoc = OpenApiService.ConvertCsdlToOpenApi(csdlStream);
- var expectedPathCount = 5;
+ var openApiDoc = await OpenApiService.ConvertCsdlToOpenApi(csdlStream);
+ var expectedPathCount = 6;
// Assert
Assert.NotNull(openApiDoc);
Assert.NotEmpty(openApiDoc.Paths);
- Assert.Equal(openApiDoc.Paths.Count, expectedPathCount);
+ Assert.Equal(expectedPathCount, openApiDoc.Paths.Count);
}
[Theory]
[InlineData("Todos.Todo.UpdateTodo",null, 1)]
[InlineData("Todos.Todo.ListTodo",null, 1)]
[InlineData(null, "Todos.Todo", 4)]
- public void ReturnFilteredOpenApiDocBasedOnOperationIdsAndInputCsdlDocument(string operationIds, string tags, int expectedPathCount)
+ public async Task ReturnFilteredOpenApiDocBasedOnOperationIdsAndInputCsdlDocument(string operationIds, string tags, int expectedPathCount)
{
// Arrange
var filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "UtilityFiles\\Todo.xml");
@@ -41,7 +42,7 @@ public void ReturnFilteredOpenApiDocBasedOnOperationIdsAndInputCsdlDocument(stri
var csdlStream = fileInput.OpenRead();
// Act
- var openApiDoc = OpenApiService.ConvertCsdlToOpenApi(csdlStream);
+ var openApiDoc = await OpenApiService.ConvertCsdlToOpenApi(csdlStream);
var predicate = OpenApiFilterService.CreatePredicate(operationIds, tags);
var subsetOpenApiDocument = OpenApiFilterService.CreateFilteredDocument(openApiDoc, predicate);