5
5
using System . Collections . Generic ;
6
6
using System . Globalization ;
7
7
using System . IO ;
8
+ using System . Threading . Tasks ;
8
9
using FluentAssertions ;
9
10
using Microsoft . OpenApi . Extensions ;
10
11
using Microsoft . OpenApi . Models ;
11
12
using Microsoft . OpenApi . Writers ;
13
+ using VerifyXunit ;
12
14
using Xunit ;
13
15
using Xunit . Abstractions ;
14
16
15
17
namespace Microsoft . OpenApi . Tests . Models
16
18
{
17
19
[ Collection ( "DefaultSettings" ) ]
20
+ [ UsesVerify ]
18
21
public class OpenApiSecuritySchemeTests
19
22
{
20
23
public static OpenApiSecurityScheme ApiKeySecurityScheme = new OpenApiSecurityScheme
@@ -297,16 +300,14 @@ public void SerializeOpenIdConnectSecuritySchemeAsV3JsonWorks()
297
300
actual . Should ( ) . Be ( expected ) ;
298
301
}
299
302
300
- [ Fact ]
301
- public void SerializeReferencedSecuritySchemeAsV3JsonWorks ( )
303
+ [ Theory ]
304
+ [ InlineData ( true ) ]
305
+ [ InlineData ( false ) ]
306
+ public async Task SerializeReferencedSecuritySchemeAsV3JsonWorksAsync ( bool produceTerseOutput )
302
307
{
303
308
// Arrange
304
309
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 } ) ;
310
311
311
312
// Act
312
313
// Add dummy start object, value, and end object to allow SerializeAsV3 to output security scheme
@@ -319,33 +320,25 @@ public void SerializeReferencedSecuritySchemeAsV3JsonWorks()
319
320
var actual = outputStringWriter . GetStringBuilder ( ) . ToString ( ) ;
320
321
321
322
// Assert
322
- actual = actual . MakeLineBreaksEnvironmentNeutral ( ) ;
323
- expected = expected . MakeLineBreaksEnvironmentNeutral ( ) ;
324
- actual . Should ( ) . Be ( expected ) ;
323
+ await Verifier . Verify ( actual ) . UseParameters ( produceTerseOutput ) ;
325
324
}
326
325
327
- [ Fact ]
328
- public void SerializeReferencedSecuritySchemeAsV3JsonWithoutReferenceWorks ( )
326
+ [ Theory ]
327
+ [ InlineData ( true ) ]
328
+ [ InlineData ( false ) ]
329
+ public async Task SerializeReferencedSecuritySchemeAsV3JsonWithoutReferenceWorksAsync ( bool produceTerseOutput )
329
330
{
330
331
// Arrange
331
332
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 } ) ;
339
334
340
335
// Act
341
336
ReferencedSecurityScheme . SerializeAsV3WithoutReference ( writer ) ;
342
337
writer . Flush ( ) ;
343
338
var actual = outputStringWriter . GetStringBuilder ( ) . ToString ( ) ;
344
339
345
340
// Assert
346
- actual = actual . MakeLineBreaksEnvironmentNeutral ( ) ;
347
- expected = expected . MakeLineBreaksEnvironmentNeutral ( ) ;
348
- actual . Should ( ) . Be ( expected ) ;
341
+ await Verifier . Verify ( actual ) . UseParameters ( produceTerseOutput ) ;
349
342
}
350
343
}
351
344
}
0 commit comments