55using System . Collections . Generic ;
66using System . Globalization ;
77using System . IO ;
8+ using System . Threading . Tasks ;
89using FluentAssertions ;
910using Microsoft . OpenApi . Extensions ;
1011using Microsoft . OpenApi . Models ;
1112using Microsoft . OpenApi . Writers ;
13+ using VerifyXunit ;
1214using Xunit ;
1315using Xunit . Abstractions ;
1416
1517namespace 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