Skip to content

Commit 5842eff

Browse files
Merge pull request #1776 from microsoft/vnext
Master Refresh
2 parents ccd4a43 + c345fc7 commit 5842eff

File tree

5 files changed

+82
-55
lines changed

5 files changed

+82
-55
lines changed

.azure-pipelines/ci-build.yml

Lines changed: 41 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,18 @@ extends:
7878
projects: '$(Build.SourcesDirectory)\Microsoft.OpenApi.sln'
7979
arguments: '--configuration $(BuildConfiguration) --no-build'
8080

81-
- task: EsrpCodeSigning@2
82-
displayName: 'ESRP CodeSigning'
81+
- task: EsrpCodeSigning@5
8382
inputs:
84-
ConnectedServiceName: 'microsoftgraph ESRP CodeSign DLL and NuGet (AKV)'
85-
FolderPath: src
86-
signConfigType: inlineSignParams
83+
ConnectedServiceName: 'Federated DevX ESRP Managed Identity Connection'
84+
AppRegistrationClientId: '65035b7f-7357-4f29-bf25-c5ee5c3949f8'
85+
AppRegistrationTenantId: 'cdc5aeea-15c5-4db6-b079-fcadd2505dc2'
86+
AuthAKVName: 'akv-prod-eastus'
87+
AuthCertName: 'ReferenceLibraryPrivateCert'
88+
AuthSignCertName: 'ReferencePackagePublisherCertificate'
89+
FolderPath: '$(Build.SourcesDirectory)\src'
90+
Pattern: '*.dll'
8791
UseMinimatch: true
88-
Pattern: |
89-
**\*.exe
90-
**\*.dll
92+
signConfigType: 'inlineSignParams'
9193
inlineOperation: |
9294
[
9395
{
@@ -126,7 +128,10 @@ extends:
126128
"toolVersion": "1.0"
127129
}
128130
]
129-
SessionTimeout: 20
131+
SessionTimeout: '20'
132+
MaxConcurrency: '50'
133+
MaxRetryAttempts: '5'
134+
PendingAnalysisWaitTimeoutMinutes: '5'
130135

131136
# Pack core lib
132137
- pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --include-symbols --include-source /p:SymbolPackageFormat=snupkg
@@ -140,32 +145,38 @@ extends:
140145
- pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --include-symbols --include-source /p:SymbolPackageFormat=snupkg
141146
displayName: 'pack Hidi'
142147

143-
- task: EsrpCodeSigning@2
144-
displayName: 'ESRP CodeSigning Nuget Packages'
148+
- task: EsrpCodeSigning@5
145149
inputs:
146-
ConnectedServiceName: 'microsoftgraph ESRP CodeSign DLL and NuGet (AKV)'
150+
ConnectedServiceName: 'Federated DevX ESRP Managed Identity Connection'
151+
AppRegistrationClientId: '65035b7f-7357-4f29-bf25-c5ee5c3949f8'
152+
AppRegistrationTenantId: 'cdc5aeea-15c5-4db6-b079-fcadd2505dc2'
153+
AuthAKVName: 'akv-prod-eastus'
154+
AuthCertName: 'ReferenceLibraryPrivateCert'
155+
AuthSignCertName: 'ReferencePackagePublisherCertificate'
147156
FolderPath: '$(Build.ArtifactStagingDirectory)'
148157
Pattern: '*.nupkg'
149-
signConfigType: inlineSignParams
150-
UseMinimatch: true
158+
signConfigType: 'inlineSignParams'
151159
inlineOperation: |
152160
[
153-
{
154-
"keyCode": "CP-401405",
155-
"operationSetCode": "NuGetSign",
156-
"parameters": [ ],
157-
"toolName": "sign",
158-
"toolVersion": "1.0"
159-
},
160-
{
161-
"keyCode": "CP-401405",
162-
"operationSetCode": "NuGetVerify",
163-
"parameters": [ ],
164-
"toolName": "sign",
165-
"toolVersion": "1.0"
166-
}
167-
]
168-
SessionTimeout: 20
161+
{
162+
"keyCode": "CP-401405",
163+
"operationSetCode": "NuGetSign",
164+
"parameters": [ ],
165+
"toolName": "sign",
166+
"toolVersion": "1.0"
167+
},
168+
{
169+
"keyCode": "CP-401405",
170+
"operationSetCode": "NuGetVerify",
171+
"parameters": [ ],
172+
"toolName": "sign",
173+
"toolVersion": "1.0"
174+
}
175+
]
176+
SessionTimeout: '60'
177+
MaxConcurrency: '50'
178+
MaxRetryAttempts: '5'
179+
PendingAnalysisWaitTimeoutMinutes: '5'
169180

170181
- task: PowerShell@2
171182
displayName: "Get Hidi's version-number from .csproj"

src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<TargetFramework>netstandard2.0</TargetFramework>
44
<LangVersion>latest</LangVersion>
55
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
6-
<Version>1.6.17</Version>
6+
<Version>1.6.18</Version>
77
<Description>OpenAPI.NET Readers for JSON and YAML documents</Description>
88
<SignAssembly>true</SignAssembly>
99
<!-- https://github.com/dotnet/sourcelink/blob/main/docs/README.md#embeduntrackedsources -->

src/Microsoft.OpenApi/Microsoft.OpenApi.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<TargetFramework>netstandard2.0</TargetFramework>
44
<LangVersion>Latest</LangVersion>
55
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
6-
<Version>1.6.17</Version>
6+
<Version>1.6.18</Version>
77
<Description>.NET models with JSON and YAML writers for OpenAPI specification</Description>
88
<SignAssembly>true</SignAssembly>
99
<!-- https://github.com/dotnet/sourcelink/blob/main/docs/README.md#embeduntrackedsources -->

src/Microsoft.OpenApi/Models/OpenApiMediaType.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,10 @@ public void SerializeAsV3(IOpenApiWriter writer)
7777
writer.WriteOptionalObject(OpenApiConstants.Example, Example, (w, e) => w.WriteAny(e));
7878

7979
// examples
80-
SerializeExamples(writer, Examples);
80+
if (Examples != null && Examples.Any())
81+
{
82+
SerializeExamples(writer, Examples);
83+
}
8184

8285
// encoding
8386
writer.WriteOptionalMap(OpenApiConstants.Encoding, Encoding, (w, e) => e.SerializeAsV3(w));

test/Microsoft.OpenApi.Tests/Models/OpenApiDocumentTests.cs

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT license.
33

4+
using System;
45
using System.Collections.Generic;
56
using System.Globalization;
67
using System.IO;
@@ -1670,27 +1671,6 @@ private static OpenApiDocument ParseInputFile(string filePath)
16701671
return openApiDoc;
16711672
}
16721673

1673-
//[Fact]
1674-
//public void CopyConstructorForAdvancedDocumentWorks()
1675-
//{
1676-
// // Arrange & Act
1677-
// var doc = new OpenApiDocument(AdvancedDocument);
1678-
1679-
// var docOpId = doc.Paths["/pets"].Operations[OperationType.Get].OperationId = "findAllMyPets";
1680-
// var advancedDocOpId = AdvancedDocument.Paths["/pets"].Operations[OperationType.Get].OperationId;
1681-
// var responseSchemaTypeCopy = doc.Paths["/pets"].Operations[OperationType.Get].Responses["200"].Content["application/json"].Schema.Type = "object";
1682-
// var advancedDocResponseSchemaType = AdvancedDocument.Paths["/pets"].Operations[OperationType.Get].Responses["200"].Content["application/json"].Schema.Type;
1683-
1684-
// // Assert
1685-
// Assert.NotNull(doc.Info);
1686-
// Assert.NotNull(doc.Servers);
1687-
// Assert.NotNull(doc.Paths);
1688-
// Assert.Equal(2, doc.Paths.Count);
1689-
// Assert.NotNull(doc.Components);
1690-
// Assert.NotEqual(docOpId, advancedDocOpId);
1691-
// Assert.NotEqual(responseSchemaTypeCopy, advancedDocResponseSchemaType);
1692-
//}
1693-
16941674
[Fact]
16951675
public void SerializeV2DocumentWithNonArraySchemaTypeDoesNotWriteOutCollectionFormat()
16961676
{
@@ -1858,5 +1838,38 @@ public void OpenApiDocumentCopyConstructorWithAnnotationsSucceeds()
18581838

18591839
Assert.NotEqual(baseDocument.Annotations["key1"], actualDocument.Annotations["key1"]);
18601840
}
1861-
}
1841+
1842+
[Fact]
1843+
public void SerializeExamplesDoesNotThrowNullReferenceException()
1844+
{
1845+
OpenApiDocument doc = new OpenApiDocument
1846+
{
1847+
Paths = new OpenApiPaths
1848+
{
1849+
["test"] = new OpenApiPathItem()
1850+
{
1851+
Operations = new Dictionary<OperationType, OpenApiOperation>()
1852+
{
1853+
[OperationType.Post] = new OpenApiOperation
1854+
{
1855+
RequestBody = new OpenApiRequestBody()
1856+
{
1857+
Content =
1858+
{
1859+
["application/json"] = new OpenApiMediaType()
1860+
{
1861+
Examples = null,
1862+
},
1863+
}
1864+
}
1865+
},
1866+
}
1867+
},
1868+
}
1869+
};
1870+
1871+
OpenApiJsonWriter apiWriter = new OpenApiJsonWriter(new StringWriter());
1872+
doc.Invoking(d => d.SerializeAsV3(apiWriter)).Should().NotThrow();
1873+
}
1874+
}
18621875
}

0 commit comments

Comments
 (0)