Skip to content

Commit 505b735

Browse files
committed
Ensure OpenApiSecuritySchemeTests cover terse output
1 parent b68a0a1 commit 505b735

5 files changed

+25
-22
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"type": "openIdConnect",
3+
"description": "description1",
4+
"openIdConnectUrl": "https://example.com/openIdConnect"
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"type":"openIdConnect","description":"description1","openIdConnectUrl":"https://example.com/openIdConnect"}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"sampleSecurityScheme": null
3+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"sampleSecurityScheme":null}

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

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,19 @@
55
using System.Collections.Generic;
66
using System.Globalization;
77
using System.IO;
8+
using System.Threading.Tasks;
89
using FluentAssertions;
910
using Microsoft.OpenApi.Extensions;
1011
using Microsoft.OpenApi.Models;
1112
using Microsoft.OpenApi.Writers;
13+
using VerifyXunit;
1214
using Xunit;
1315
using Xunit.Abstractions;
1416

1517
namespace Microsoft.OpenApi.Tests.Models
1618
{
1719
[Collection("DefaultSettings")]
20+
[UsesVerify]
1821
public class OpenApiSecuritySchemeTests
1922
{
2023
public static OpenApiSecurityScheme ApiKeySecurityScheme = new OpenApiSecurityScheme
@@ -297,16 +300,14 @@ public void SerializeOpenIdConnectSecuritySchemeAsV3JsonWorks()
297300
actual.Should().Be(expected);
298301
}
299302

300-
[Fact]
301-
public void SerializeReferencedSecuritySchemeAsV3JsonWorks()
303+
[Theory]
304+
[InlineData(true)]
305+
[InlineData(false)]
306+
public async Task SerializeReferencedSecuritySchemeAsV3JsonWorksAsync(bool produceTerseOutput)
302307
{
303308
// Arrange
304309
var outputStringWriter = new StringWriter(CultureInfo.InvariantCulture);
305-
var writer = new OpenApiJsonWriter(outputStringWriter);
306-
var expected =
307-
@"{
308-
""sampleSecurityScheme"": null
309-
}";
310+
var writer = new OpenApiJsonWriter(outputStringWriter, new OpenApiJsonWriterSettings { Terse = produceTerseOutput });
310311

311312
// Act
312313
// Add dummy start object, value, and end object to allow SerializeAsV3 to output security scheme
@@ -319,33 +320,25 @@ public void SerializeReferencedSecuritySchemeAsV3JsonWorks()
319320
var actual = outputStringWriter.GetStringBuilder().ToString();
320321

321322
// Assert
322-
actual = actual.MakeLineBreaksEnvironmentNeutral();
323-
expected = expected.MakeLineBreaksEnvironmentNeutral();
324-
actual.Should().Be(expected);
323+
await Verifier.Verify(actual).UseParameters(produceTerseOutput);
325324
}
326325

327-
[Fact]
328-
public void SerializeReferencedSecuritySchemeAsV3JsonWithoutReferenceWorks()
326+
[Theory]
327+
[InlineData(true)]
328+
[InlineData(false)]
329+
public async Task SerializeReferencedSecuritySchemeAsV3JsonWithoutReferenceWorksAsync(bool produceTerseOutput)
329330
{
330331
// Arrange
331332
var outputStringWriter = new StringWriter(CultureInfo.InvariantCulture);
332-
var writer = new OpenApiJsonWriter(outputStringWriter);
333-
var expected =
334-
@"{
335-
""type"": ""openIdConnect"",
336-
""description"": ""description1"",
337-
""openIdConnectUrl"": ""https://example.com/openIdConnect""
338-
}";
333+
var writer = new OpenApiJsonWriter(outputStringWriter, new OpenApiJsonWriterSettings { Terse = produceTerseOutput });
339334

340335
// Act
341336
ReferencedSecurityScheme.SerializeAsV3WithoutReference(writer);
342337
writer.Flush();
343338
var actual = outputStringWriter.GetStringBuilder().ToString();
344339

345340
// Assert
346-
actual = actual.MakeLineBreaksEnvironmentNeutral();
347-
expected = expected.MakeLineBreaksEnvironmentNeutral();
348-
actual.Should().Be(expected);
341+
await Verifier.Verify(actual).UseParameters(produceTerseOutput);
349342
}
350343
}
351344
}

0 commit comments

Comments
 (0)