11
11
namespace AutoRest . Swagger . Tests
12
12
{
13
13
/// <summary>
14
- /// This class contains tests for the logic comparing two swagger specifications,
14
+ /// This class contains tests for the logic comparing two swagger specifications,
15
15
/// an older version against newer version.
16
- ///
17
- /// For all but the tests that verify that version checks are done properly, the
16
+ ///
17
+ /// For all but the tests that verify that version checks are done properly, the
18
18
/// old and new specifications have the same version number, which should force
19
19
/// the comparison logic to produce errors rather than warnings for each breaking
20
20
/// change.
21
- ///
21
+ ///
22
22
/// Non-breaking changes are always presented as informational messages, regardless
23
23
/// of whether the version has changed or not.
24
24
/// </summary>
@@ -169,10 +169,10 @@ public void PathRemoved()
169
169
/// </summary>
170
170
[ Fact ]
171
171
public void OperationRemoved ( )
172
- {
172
+ {
173
173
var messages = CompareSwagger ( "removed_operation.json" ) . ToArray ( ) ;
174
174
var missing = messages . Where ( m => m . Id == ComparisonMessages . RemovedOperation . Id ) ;
175
- Assert . Equal ( 1 , missing . Count ( ) ) ;
175
+ Assert . Single ( missing ) ;
176
176
Assert . NotEmpty ( missing . Where ( m => m . Severity == Category . Error && m . Path . ReadablePath == "#/paths/api/Operations" ) ) ;
177
177
}
178
178
@@ -197,11 +197,11 @@ public void AddedPaths()
197
197
{
198
198
var messages = CompareSwagger ( "added_path.json" ) . ToArray ( ) ;
199
199
var missing = messages . Where ( m => m . Id == ComparisonMessages . AddedPath . Id ) ;
200
- Assert . Equal ( 1 , missing . Count ( ) ) ;
200
+ Assert . Single ( missing ) ;
201
201
Assert . NotEmpty ( missing . Where ( m => m . Severity == Category . Info && m . Path . ReadablePath == "#/paths/api/Paths" ) ) ;
202
202
203
203
missing = messages . Where ( m => m . Id == ComparisonMessages . AddedOperation . Id ) ;
204
- Assert . Equal ( 1 , missing . Count ( ) ) ;
204
+ Assert . Single ( missing ) ;
205
205
Assert . NotEmpty ( missing . Where ( m => m . Severity == Category . Info && m . Path . ReadablePath == "#/paths/api/Operations/post" ) ) ;
206
206
}
207
207
@@ -213,7 +213,7 @@ public void RequiredParameterRemoved()
213
213
{
214
214
var messages = CompareSwagger ( "required_parameter.json" ) . ToArray ( ) ;
215
215
var missing = messages . Where ( m => m . Id == ComparisonMessages . RemovedRequiredParameter . Id ) ;
216
- Assert . Equal ( 1 , missing . Count ( ) ) ;
216
+ Assert . Single ( missing ) ;
217
217
Assert . NotEmpty ( missing . Where ( m => m . Severity == Category . Error && m . Path . ReadablePath == "#/paths/api/Parameters/{a}/get/f" ) ) ;
218
218
}
219
219
@@ -253,7 +253,7 @@ public void RequiredParameterAdded()
253
253
{
254
254
var messages = CompareSwagger ( "required_parameter.json" ) . ToArray ( ) ;
255
255
var missing = messages . Where ( m => m . Id == ComparisonMessages . AddingRequiredParameter . Id ) ;
256
- Assert . Equal ( 1 , missing . Count ( ) ) ;
256
+ Assert . Single ( missing ) ;
257
257
Assert . NotEmpty ( missing . Where ( m => m . Severity == Category . Error && m . Path . ReadablePath == "#/paths/api/Parameters/{a}/get/g" ) ) ;
258
258
}
259
259
@@ -265,7 +265,7 @@ public void ReadonlyPropertyInResponse()
265
265
{
266
266
var messages = CompareSwagger ( "readonly_changes.json" ) . ToArray ( ) ;
267
267
var missing = messages . Where ( m => m . Id == ComparisonMessages . AddedReadOnlyPropertyInResponse . Id ) ;
268
- Assert . Equal ( 1 , missing . Count ( ) ) ;
268
+ Assert . Single ( missing ) ;
269
269
Assert . NotEmpty ( missing . Where ( m => m . Severity == Category . Info && m . Path . ReadablePath == "#/paths/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability/post/200/properties" ) ) ;
270
270
}
271
271
@@ -277,13 +277,14 @@ public void AddedPropertyInResponse()
277
277
{
278
278
var messages = CompareSwagger ( "added_property_in_response.json" ) . ToArray ( ) ;
279
279
var missing = messages . Where ( m => m . Id == ComparisonMessages . AddedPropertyInResponse . Id ) ;
280
- Assert . Equal ( 1 , missing . Count ( ) ) ;
280
+ Assert . Single ( missing ) ;
281
281
Assert . NotEmpty ( missing . Where ( m => m . Severity == Category . Error && m . Path . ReadablePath == "#/paths/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability/post/200/properties" ) ) ;
282
282
}
283
283
284
284
/// <summary>
285
285
/// Verifies that rules work on the recurive models
286
286
/// </summary>
287
+ [ Fact ]
287
288
public void RecursiveModels ( )
288
289
{
289
290
var messages = CompareSwagger ( "recursive_model.json" ) . ToArray ( ) ;
@@ -330,7 +331,7 @@ public void ParameterStatusLess()
330
331
{
331
332
var messages = CompareSwagger ( "required_parameter.json" ) . ToArray ( ) ;
332
333
var missing = messages . Where ( m => m . Id == ComparisonMessages . RequiredStatusChange . Id ) ;
333
- Assert . Equal ( 1 , missing . Count ( ) ) ;
334
+ Assert . Single ( missing ) ;
334
335
Assert . NotEmpty ( missing . Where ( m => m . Severity == Category . Error && m . Path . ReadablePath == "#/paths/api/Parameters/{a}/get/e" ) ) ;
335
336
}
336
337
@@ -443,7 +444,7 @@ public void ResponseSchemaChanged()
443
444
{
444
445
var messages = CompareSwagger ( "operation_check_02.json" ) . ToArray ( ) ;
445
446
var removed = messages . Where ( m => m . Id == ComparisonMessages . TypeChanged . Id && m . Path . JsonReference . Contains ( "Responses" ) ) . ToArray ( ) ;
446
- Assert . Equal ( 1 , removed . Length ) ;
447
+ Assert . Single ( removed ) ;
447
448
Assert . Equal ( Category . Error , removed [ 0 ] . Severity ) ;
448
449
Assert . Equal ( "#/paths/~1api~1Responses/get/400/properties/id" , removed [ 0 ] . Path . JsonReference ) ;
449
450
}
@@ -456,7 +457,7 @@ public void ResponseHeaderAdded()
456
457
{
457
458
var messages = CompareSwagger ( "operation_check_03.json" ) . ToArray ( ) ;
458
459
var added = messages . Where ( m => m . Id == ComparisonMessages . AddingHeader . Id ) . ToArray ( ) ;
459
- Assert . Equal ( 1 , added . Length ) ;
460
+ Assert . Single ( added ) ;
460
461
Assert . Equal ( Category . Info , added [ 0 ] . Severity ) ;
461
462
Assert . Equal ( "#/paths/~1api~1Responses/get/200/x-c" , added [ 0 ] . Path . JsonReference ) ;
462
463
}
@@ -469,7 +470,7 @@ public void ResponseHeaderRemoved()
469
470
{
470
471
var messages = CompareSwagger ( "operation_check_03.json" ) . ToArray ( ) ;
471
472
var removed = messages . Where ( m => m . Id == ComparisonMessages . RemovingHeader . Id ) . ToArray ( ) ;
472
- Assert . Equal ( 1 , removed . Length ) ;
473
+ Assert . Single ( removed ) ;
473
474
Assert . Equal ( Category . Error , removed [ 0 ] . Severity ) ;
474
475
Assert . Equal ( "#/paths/~1api~1Responses/get/200/x-a" , removed [ 0 ] . Path . JsonReference ) ;
475
476
}
@@ -482,7 +483,7 @@ public void ResponseHeaderTypeChanged()
482
483
{
483
484
var messages = CompareSwagger ( "operation_check_03.json" ) . ToArray ( ) ;
484
485
var changed = messages . Where ( m => m . Id == ComparisonMessages . TypeChanged . Id && m . Path . JsonReference . Contains ( "Responses" ) ) . ToArray ( ) ;
485
- Assert . Equal ( 1 , changed . Length ) ;
486
+ Assert . Single ( changed ) ;
486
487
Assert . Equal ( Category . Error , changed [ 0 ] . Severity ) ;
487
488
Assert . Equal ( "#/paths/~1api~1Responses/get/200/x-b" , changed [ 0 ] . Path . JsonReference ) ;
488
489
}
@@ -647,7 +648,7 @@ public void GlobalResponseTypeConstraintsChanged()
647
648
public void RemovedPropertyTest ( )
648
649
{
649
650
var messages = CompareSwagger ( "removed_property.json" ) . ToArray ( ) ;
650
- Assert . Equal ( true , messages . Where ( m => m . Id == ComparisonMessages . RemovedProperty . Id ) . Any ( ) ) ;
651
+ Assert . True ( messages . Where ( m => m . Id == ComparisonMessages . RemovedProperty . Id ) . Any ( ) ) ;
651
652
}
652
653
}
653
654
}
0 commit comments