@@ -21,28 +21,29 @@ public class OpenApiCallbackTests
21
21
[ Fact ]
22
22
public void ParseBasicCallbackShouldSucceed ( )
23
23
{
24
- using var stream = Resources . GetStream ( Path . Combine ( SampleFolderPath , "basicCallback.yaml" ) ) ;
25
- // Arrange
26
- var yamlStream = new YamlStream ( ) ;
27
- yamlStream . Load ( new StreamReader ( stream ) ) ;
28
- var yamlNode = yamlStream . Documents . First ( ) . RootNode ;
24
+ using ( var stream = Resources . GetStream ( Path . Combine ( SampleFolderPath , "basicCallback.yaml" ) ) )
25
+ {
26
+ // Arrange
27
+ var yamlStream = new YamlStream ( ) ;
28
+ yamlStream . Load ( new StreamReader ( stream ) ) ;
29
+ var yamlNode = yamlStream . Documents . First ( ) . RootNode ;
29
30
30
- var diagnostic = new OpenApiDiagnostic ( ) ;
31
- var context = new ParsingContext ( diagnostic ) ;
31
+ var diagnostic = new OpenApiDiagnostic ( ) ;
32
+ var context = new ParsingContext ( diagnostic ) ;
32
33
33
- var node = new MapNode ( context , ( YamlMappingNode ) yamlNode ) ;
34
+ var node = new MapNode ( context , ( YamlMappingNode ) yamlNode ) ;
34
35
35
- // Act
36
- var callback = OpenApiV3Deserializer . LoadCallback ( node ) ;
36
+ // Act
37
+ var callback = OpenApiV3Deserializer . LoadCallback ( node ) ;
37
38
38
- // Assert
39
- diagnostic . Should ( ) . BeEquivalentTo ( new OpenApiDiagnostic ( ) ) ;
39
+ // Assert
40
+ diagnostic . Should ( ) . BeEquivalentTo ( new OpenApiDiagnostic ( ) ) ;
40
41
41
- callback . Should ( ) . BeEquivalentTo (
42
- new OpenApiCallback
43
- {
44
- PathItems =
42
+ callback . Should ( ) . BeEquivalentTo (
43
+ new OpenApiCallback
45
44
{
45
+ PathItems =
46
+ {
46
47
[ RuntimeExpression . Build ( "$request.body#/url" ) ]
47
48
= new OpenApiPathItem
48
49
{
@@ -68,31 +69,33 @@ public void ParseBasicCallbackShouldSucceed()
68
69
}
69
70
}
70
71
}
71
- }
72
- } ) ;
72
+ }
73
+ } ) ;
74
+ }
73
75
}
74
76
75
77
[ Fact ]
76
78
public void ParseCallbackWithReferenceShouldSucceed ( )
77
79
{
78
- using var stream = Resources . GetStream ( Path . Combine ( SampleFolderPath , "callbackWithReference.yaml" ) ) ;
79
- // Act
80
- var openApiDoc = new OpenApiStreamReader ( ) . Read ( stream , out var diagnostic ) ;
80
+ using ( var stream = Resources . GetStream ( Path . Combine ( SampleFolderPath , "callbackWithReference.yaml" ) ) )
81
+ {
82
+ // Act
83
+ var openApiDoc = new OpenApiStreamReader ( ) . Read ( stream , out var diagnostic ) ;
81
84
82
- // Assert
83
- var path = openApiDoc . Paths . First ( ) . Value ;
84
- var subscribeOperation = path . Operations [ OperationType . Post ] ;
85
+ // Assert
86
+ var path = openApiDoc . Paths . First ( ) . Value ;
87
+ var subscribeOperation = path . Operations [ OperationType . Post ] ;
85
88
86
- var callback = subscribeOperation . Callbacks [ "simpleHook" ] ;
87
- var diagnostic2 = new OpenApiDiagnostic ( ) { SpecificationVersion = OpenApiSpecVersion . OpenApi3_0 } ;
89
+ var callback = subscribeOperation . Callbacks [ "simpleHook" ] ;
88
90
89
- Assert . Equal ( diagnostic . SpecificationVersion , diagnostic2 . SpecificationVersion ) ;
91
+ diagnostic . Should ( ) . BeEquivalentTo (
92
+ new OpenApiDiagnostic ( ) { SpecificationVersion = OpenApiSpecVersion . OpenApi3_0 } ) ;
90
93
91
- callback . Should ( ) . BeEquivalentTo (
92
- new OpenApiCallback
93
- {
94
- PathItems =
94
+ callback . Should ( ) . BeEquivalentTo (
95
+ new OpenApiCallback
95
96
{
97
+ PathItems =
98
+ {
96
99
[ RuntimeExpression . Build ( "$request.body#/url" ) ] = new OpenApiPathItem {
97
100
Operations = {
98
101
[ OperationType . Post ] = new OpenApiOperation ( )
@@ -119,38 +122,39 @@ public void ParseCallbackWithReferenceShouldSucceed()
119
122
}
120
123
}
121
124
}
122
- } ,
123
- Reference = new OpenApiReference
124
- {
125
- Type = ReferenceType . Callback ,
126
- Id = "simpleHook" ,
127
- HostDocument = openApiDoc
128
- }
129
- } ) ;
125
+ } ,
126
+ Reference = new OpenApiReference
127
+ {
128
+ Type = ReferenceType . Callback ,
129
+ Id = "simpleHook" ,
130
+ HostDocument = openApiDoc
131
+ }
132
+ } ) ;
133
+ }
130
134
}
131
135
132
136
[ Fact ]
133
137
public void ParseMultipleCallbacksWithReferenceShouldSucceed ( )
134
138
{
135
- using var stream = Resources . GetStream ( Path . Combine ( SampleFolderPath , "multipleCallbacksWithReference.yaml" ) ) ;
136
- // Act
137
- var openApiDoc = new OpenApiStreamReader ( ) . Read ( stream , out var diagnostic ) ;
138
-
139
- // Assert
140
- var path = openApiDoc . Paths . First ( ) . Value ;
141
- var subscribeOperation = path . Operations [ OperationType . Post ] ;
139
+ using ( var stream = Resources . GetStream ( Path . Combine ( SampleFolderPath , "multipleCallbacksWithReference.yaml" ) ) )
140
+ {
141
+ // Act
142
+ var openApiDoc = new OpenApiStreamReader ( ) . Read ( stream , out var diagnostic ) ;
142
143
143
- var diagnostic2 = new OpenApiDiagnostic ( ) { SpecificationVersion = OpenApiSpecVersion . OpenApi3_0 } ;
144
+ // Assert
145
+ var path = openApiDoc . Paths . First ( ) . Value ;
146
+ var subscribeOperation = path . Operations [ OperationType . Post ] ;
144
147
145
- Assert . Equal ( diagnostic . SpecificationVersion , diagnostic2 . SpecificationVersion ) ;
148
+ diagnostic . Should ( ) . BeEquivalentTo (
149
+ new OpenApiDiagnostic ( ) { SpecificationVersion = OpenApiSpecVersion . OpenApi3_0 } ) ;
146
150
147
- var callback1 = subscribeOperation . Callbacks [ "simpleHook" ] ;
151
+ var callback1 = subscribeOperation . Callbacks [ "simpleHook" ] ;
148
152
149
- callback1 . Should ( ) . BeEquivalentTo (
150
- new OpenApiCallback
151
- {
152
- PathItems =
153
+ callback1 . Should ( ) . BeEquivalentTo (
154
+ new OpenApiCallback
153
155
{
156
+ PathItems =
157
+ {
154
158
[ RuntimeExpression . Build ( "$request.body#/url" ) ] = new OpenApiPathItem {
155
159
Operations = {
156
160
[ OperationType . Post ] = new OpenApiOperation ( )
@@ -177,21 +181,21 @@ public void ParseMultipleCallbacksWithReferenceShouldSucceed()
177
181
}
178
182
}
179
183
}
180
- } ,
181
- Reference = new OpenApiReference
182
- {
183
- Type = ReferenceType . Callback ,
184
- Id = "simpleHook" ,
185
- HostDocument = openApiDoc
186
- }
187
- } ) ;
184
+ } ,
185
+ Reference = new OpenApiReference
186
+ {
187
+ Type = ReferenceType . Callback ,
188
+ Id = "simpleHook" ,
189
+ HostDocument = openApiDoc
190
+ }
191
+ } ) ;
188
192
189
- var callback2 = subscribeOperation . Callbacks [ "callback2" ] ;
190
- callback2 . Should ( ) . BeEquivalentTo (
191
- new OpenApiCallback
192
- {
193
- PathItems =
193
+ var callback2 = subscribeOperation . Callbacks [ "callback2" ] ;
194
+ callback2 . Should ( ) . BeEquivalentTo (
195
+ new OpenApiCallback
194
196
{
197
+ PathItems =
198
+ {
195
199
[ RuntimeExpression . Build ( "/simplePath" ) ] = new OpenApiPathItem {
196
200
Operations = {
197
201
[ OperationType . Post ] = new OpenApiOperation ( )
@@ -219,15 +223,15 @@ public void ParseMultipleCallbacksWithReferenceShouldSucceed()
219
223
}
220
224
} ,
221
225
}
222
- }
223
- } ) ;
226
+ }
227
+ } ) ;
224
228
225
- var callback3 = subscribeOperation . Callbacks [ "callback3" ] ;
226
- callback3 . Should ( ) . BeEquivalentTo (
227
- new OpenApiCallback
228
- {
229
- PathItems =
229
+ var callback3 = subscribeOperation . Callbacks [ "callback3" ] ;
230
+ callback3 . Should ( ) . BeEquivalentTo (
231
+ new OpenApiCallback
230
232
{
233
+ PathItems =
234
+ {
231
235
[ RuntimeExpression . Build ( @"http://example.com?transactionId={$request.body#/id}&email={$request.body#/email}" ) ] = new OpenApiPathItem {
232
236
Operations = {
233
237
[ OperationType . Post ] = new OpenApiOperation ( )
@@ -262,8 +266,9 @@ public void ParseMultipleCallbacksWithReferenceShouldSucceed()
262
266
}
263
267
}
264
268
}
265
- }
266
- } ) ;
269
+ }
270
+ } ) ;
271
+ }
267
272
}
268
273
}
269
274
}
0 commit comments