@@ -75,7 +75,7 @@ public void ValidateExampleShouldNotHaveDataTypeMismatchForSimpleSchema()
7575 var validator = new OpenApiValidator ( ValidationRuleSet . GetDefaultRuleSet ( ) ) ;
7676 validator . Enter ( "{parameter1}" ) ;
7777 var walker = new OpenApiWalker ( validator ) ;
78- walker . Walk ( parameter ) ;
78+ walker . Walk ( ( IOpenApiParameter ) parameter ) ;
7979
8080 warnings = validator . Warnings ;
8181 var result = ! warnings . Any ( ) ;
@@ -203,13 +203,78 @@ public void PathParameterInThePathShouldBeOk()
203203 validator . Enter ( "1" ) ;
204204
205205 var walker = new OpenApiWalker ( validator ) ;
206- walker . Walk ( parameter ) ;
206+ walker . Walk ( ( IOpenApiParameter ) parameter ) ;
207207
208208 errors = validator . Errors ;
209209 var result = errors . Any ( ) ;
210210
211211 // Assert
212212 Assert . False ( result ) ;
213213 }
214+
215+ [ Fact ]
216+ public void PathParameterInThePathShouldBeOkWithSlashInParameterName ( )
217+ {
218+ // Arrange
219+ IEnumerable < OpenApiError > errors ;
220+
221+ var parameter = new OpenApiParameter
222+ {
223+ Name = "parameter/1" ,
224+ In = ParameterLocation . Path ,
225+ Required = true ,
226+ Schema = new OpenApiSchema ( )
227+ {
228+ Type = JsonSchemaType . String ,
229+ }
230+ } ;
231+
232+ // Act
233+ var validator = new OpenApiValidator ( ValidationRuleSet . GetDefaultRuleSet ( ) ) ;
234+ validator . Enter ( "paths" ) ;
235+ validator . Enter ( "/{parameter/1}" ) ;
236+ validator . Enter ( "get" ) ;
237+ validator . Enter ( "parameters" ) ;
238+ validator . Enter ( "1" ) ;
239+
240+ var walker = new OpenApiWalker ( validator ) ;
241+ walker . Walk ( ( IOpenApiParameter ) parameter ) ;
242+
243+ errors = validator . Errors ;
244+ var result = errors . Any ( ) ;
245+
246+ // Assert
247+ Assert . False ( result ) ;
248+ }
249+
250+ [ Fact ]
251+ public void PathParameterValidationShouldNotThrowWithEmptyParameterName ( )
252+ {
253+ // Arrange
254+ var parameter = new OpenApiParameter
255+ {
256+ Name = string . Empty ,
257+ In = ParameterLocation . Path ,
258+ Required = true ,
259+ Schema = new OpenApiSchema ( )
260+ {
261+ Type = JsonSchemaType . String ,
262+ }
263+ } ;
264+
265+ // Act
266+ var validator = new OpenApiValidator ( ValidationRuleSet . GetDefaultRuleSet ( ) ) ;
267+ validator . Enter ( "paths" ) ;
268+ validator . Enter ( "/{}" ) ;
269+ validator . Enter ( "get" ) ;
270+ validator . Enter ( "parameters" ) ;
271+ validator . Enter ( "1" ) ;
272+
273+ var walker = new OpenApiWalker ( validator ) ;
274+ var exception = Record . Exception ( ( ) => walker . Walk ( ( IOpenApiParameter ) parameter ) ) ;
275+
276+ // Assert
277+ Assert . Null ( exception ) ;
278+ }
214279 }
215280}
0 commit comments