Skip to content

Commit e89b10d

Browse files
authored
Merge pull request #7048 from microsoft/dependabot/nuget/src/Kiota.Builder/multi-5812bfa265
Bump Microsoft.OpenApi and Microsoft.OpenApi.YamlReader
2 parents 948d526 + a262257 commit e89b10d

File tree

3 files changed

+81
-2
lines changed

3 files changed

+81
-2
lines changed

src/Kiota.Builder/Kiota.Builder.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@
3939
<PackageReference Include="DotNet.Glob" Version="3.1.3" />
4040
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.10" />
4141
<PackageReference Include="Microsoft.Kiota.Bundle" Version="1.20.1" />
42-
<PackageReference Include="Microsoft.OpenApi" Version="2.0.0" />
42+
<PackageReference Include="Microsoft.OpenApi" Version="2.3.7" />
4343
<PackageReference Include="Microsoft.OpenApi.ApiManifest" Version="2.0.0-preview5" />
44-
<PackageReference Include="Microsoft.OpenApi.YamlReader" Version="2.0.0" />
44+
<PackageReference Include="Microsoft.OpenApi.YamlReader" Version="2.3.7" />
4545
<PackageReference Include="Microsoft.DeclarativeAgents.Manifest" Version="4.0.0-rc.2" />
4646
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
4747
<PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.14.15">

src/Kiota.Builder/KiotaBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1203,6 +1203,7 @@ openApiExtension is OpenApiPrimaryErrorMessageExtension primaryErrorMessageExten
12031203
prop.SerializationName = childIdentifier;
12041204
if (kind == CodePropertyKind.Custom &&
12051205
propertySchema?.Default is JsonValue stringDefaultJsonValue &&
1206+
!stringDefaultJsonValue.IsJsonNullSentinel() &&
12061207
stringDefaultJsonValue.TryGetValue<string>(out var stringDefaultValue) &&
12071208
!string.IsNullOrEmpty(stringDefaultValue) &&
12081209
!"null".Equals(stringDefaultValue, StringComparison.OrdinalIgnoreCase))

tests/Kiota.Builder.Tests/KiotaBuilderTests.cs

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6873,6 +6873,84 @@ public void AddReservedPathParameterSymbol()
68736873
Assert.Equal("{+baseurl}/users/{+id}/manager", managerUrlTemplate.DefaultValue.Trim('"'));
68746874
}
68756875
[Fact]
6876+
public void JsonNullSentinelIsNotDefaultValue()
6877+
{
6878+
// Given
6879+
var userSchema = new OpenApiSchema
6880+
{
6881+
Type = JsonSchemaType.Object,
6882+
Properties = new Dictionary<string, IOpenApiSchema> {
6883+
{
6884+
"id", new OpenApiSchema {
6885+
Type = JsonSchemaType.String
6886+
}
6887+
},
6888+
{
6889+
"displayName", new OpenApiSchema {
6890+
Type = JsonSchemaType.String,
6891+
Default = JsonNullSentinel.JsonNull
6892+
}
6893+
}
6894+
},
6895+
};
6896+
var document = new OpenApiDocument
6897+
{
6898+
Paths = new OpenApiPaths
6899+
{
6900+
["users/{id}/manager"] = new OpenApiPathItem
6901+
{
6902+
Parameters = [
6903+
new OpenApiParameter {
6904+
Name = "id",
6905+
In = ParameterLocation.Path,
6906+
Required = true,
6907+
Schema = new OpenApiSchema {
6908+
Type = JsonSchemaType.String
6909+
},
6910+
Extensions = new Dictionary<string, IOpenApiExtension> (){
6911+
["x-ms-reserved-parameter"] = new OpenApiReservedParameterExtension {
6912+
IsReserved = true
6913+
}
6914+
}
6915+
}
6916+
],
6917+
Operations = new()
6918+
{
6919+
[NetHttpMethod.Get] = new OpenApiOperation
6920+
{
6921+
Responses = new OpenApiResponses
6922+
{
6923+
["200"] = new OpenApiResponse
6924+
{
6925+
Content = new Dictionary<string, OpenApiMediaType>()
6926+
{
6927+
["application/json"] = new OpenApiMediaType
6928+
{
6929+
Schema = new OpenApiSchemaReference("microsoft.graph.user")
6930+
}
6931+
}
6932+
}
6933+
}
6934+
}
6935+
}
6936+
},
6937+
},
6938+
};
6939+
document.AddComponent("microsoft.graph.user", userSchema);
6940+
document.SetReferenceHostDocument();
6941+
var mockLogger = new CountLogger<KiotaBuilder>();
6942+
var builder = new KiotaBuilder(mockLogger, new GenerationConfiguration { ClientClassName = "Graph", ApiRootUrl = "https://localhost" }, _httpClient);
6943+
var node = builder.CreateUriSpace(document);
6944+
var codeModel = builder.CreateSourceModel(node);
6945+
// When
6946+
var userModel = codeModel.FindChildByName<CodeClass>("User");
6947+
// Then
6948+
Assert.NotNull(userModel);
6949+
var displayNameProperty = userModel.FindChildByName<CodeProperty>("DisplayName", false);
6950+
Assert.NotNull(displayNameProperty);
6951+
Assert.Empty(displayNameProperty?.DefaultValue);
6952+
}
6953+
[Fact]
68766954
public void DoesNotAddReservedPathParameterSymbol()
68776955
{
68786956
var userSchema = new OpenApiSchema

0 commit comments

Comments
 (0)