@@ -46,7 +46,7 @@ public async Task GenerateBombardierTestWithOptionsVariation1Test_Successfull()
4646 Assert . Single ( bombardierTests ) ;
4747 Assert . Contains ( " -m GET https://petstore3.swagger.io/api/v3/pet/10 -c 1 --http2 --timeout=30s --duration=1s" , bombardierTests . FirstOrDefault ( ) . Command ) ;
4848 Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
49- Assert . Equal ( "/pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
49+ Assert . Equal ( "https://petstore3.swagger.io/api/v3 /pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
5050 }
5151
5252 [ Fact ]
@@ -81,7 +81,7 @@ public async Task GenerateBombardierTestWithOptionsVariation2Test_Successfull()
8181 Assert . Single ( bombardierTests ) ;
8282 Assert . Contains ( " -m GET https://petstore3.swagger.io/api/v3/pet/10 -c 1 --http2 --timeout=30s --duration=10s --insecure" , bombardierTests . FirstOrDefault ( ) . Command ) ;
8383 Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
84- Assert . Equal ( "/pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
84+ Assert . Equal ( "https://petstore3.swagger.io/api/v3 /pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
8585 }
8686
8787 [ Fact ]
@@ -105,7 +105,7 @@ public async Task GenerateBombardierTestWithOptionsVariation3Test_Successfull()
105105 Assert . Single ( bombardierTests ) ;
106106 Assert . Contains ( " -m GET https://petstore3.swagger.io/api/v3/pet/10 -c 1 --http1 --timeout=30s --duration=1s" , bombardierTests . FirstOrDefault ( ) . Command ) ;
107107 Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
108- Assert . Equal ( "/pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
108+ Assert . Equal ( "https://petstore3.swagger.io/api/v3 /pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
109109 }
110110
111111 [ Fact ]
@@ -130,7 +130,7 @@ public async Task GenerateBombardierTestWithOptionsVariation4Test_Successfull()
130130 Assert . Single ( bombardierTests ) ;
131131 Assert . Contains ( " -m GET https://petstore3.swagger.io/api/v3/pet/10 -c 1 --http2 --timeout=30s --duration=1s --rate=20" , bombardierTests . FirstOrDefault ( ) . Command ) ;
132132 Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
133- Assert . Equal ( "/pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
133+ Assert . Equal ( "https://petstore3.swagger.io/api/v3 /pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
134134 }
135135
136136 [ Fact ]
@@ -156,7 +156,7 @@ public async Task GenerateBombardierTestWithOptionsVariation5Test_Successfull()
156156 Assert . Single ( bombardierTests ) ;
157157 Assert . Contains ( " -m GET https://petstore3.swagger.io/api/v3/pet/10 -c 1 --http2 --timeout=30s --duration=1s --rate=20 --requests=22" , bombardierTests . FirstOrDefault ( ) . Command ) ;
158158 Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
159- Assert . Equal ( "/pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
159+ Assert . Equal ( "https://petstore3.swagger.io/api/v3 /pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
160160 }
161161
162162 [ Fact ]
@@ -183,7 +183,7 @@ public async Task GenerateBombardierTestWithOptionsApiKeyTest_Successfull()
183183 Assert . Single ( bombardierTests ) ;
184184 Assert . Contains ( " -m GET https://petstore3.swagger.io/api/v3/pet/10 -c 1 -H \" ApiKey: 1234\" --http2 --timeout=30s --duration=1s --rate=20 --requests=22" , bombardierTests . FirstOrDefault ( ) . Command ) ;
185185 Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
186- Assert . Equal ( "/pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
186+ Assert . Equal ( "https://petstore3.swagger.io/api/v3 /pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
187187 }
188188
189189 [ Fact ]
@@ -212,7 +212,7 @@ public async Task GenerateBombardierTestWithOptionsBasicAuthTest_Successfull()
212212 Assert . Single ( bombardierTests ) ;
213213 Assert . Contains ( $ " -m GET https://petstore3.swagger.io/api/v3/pet/10 -c 1 -H \" Authorization: Basic { authHeader } \" --http2 --timeout=30s --duration=1s --rate=20 --requests=22", bombardierTests . FirstOrDefault ( ) . Command ) ;
214214 Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
215- Assert . Equal ( "/pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
215+ Assert . Equal ( "https://petstore3.swagger.io/api/v3 /pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
216216 }
217217
218218 [ Fact ]
@@ -239,7 +239,7 @@ public async Task GenerateBombardierTestWithOptionsOAuth2Test_Successfull()
239239 Assert . Single ( bombardierTests ) ;
240240 Assert . Contains ( $ " -m GET https://petstore3.swagger.io/api/v3/pet/10 -c 1 -H \" Authorization: Bearer 1234567890\" --http2 --timeout=30s --duration=1s --rate=20 --requests=22", bombardierTests . FirstOrDefault ( ) . Command ) ;
241241 Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
242- Assert . Equal ( "/pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
242+ Assert . Equal ( "https://petstore3.swagger.io/api/v3 /pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
243243 }
244244
245245 [ Fact ]
@@ -257,7 +257,7 @@ public async Task GenerateBombardierTestDefaultBombardierOptionsTest_Successfull
257257 Assert . Single ( bombardierTests ) ;
258258 Assert . Contains ( $ " -m GET https://petstore3.swagger.io/api/v3/pet/10 -c 3 --http2 --timeout=30s --duration=5s", bombardierTests . FirstOrDefault ( ) . Command ) ;
259259 Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
260- Assert . Equal ( "/pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
260+ Assert . Equal ( "https://petstore3.swagger.io/api/v3 /pet/10" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
261261 }
262262
263263 [ Fact ]
@@ -287,7 +287,7 @@ public async Task GenerateBombardierTestPostTest_Successfull()
287287 Assert . Single ( bombardierTests ) ;
288288 Assert . Contains ( $@ " -m POST https://petstore3.swagger.io/api/v3/pet -c 3 -H ""Content-Type: application/json"" -b ""{{\""id\"":1000,\""name\"":\""MJ\""}}"" --http2 --timeout=30s --duration=5s", bombardierTests . FirstOrDefault ( ) . Command ) ;
289289 Assert . Equal ( HttpMethod . Post , bombardierTests . FirstOrDefault ( ) . Method ) ;
290- Assert . Equal ( "/pet" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
290+ Assert . Equal ( "https://petstore3.swagger.io/api/v3 /pet" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
291291 }
292292
293293 [ Fact ]
@@ -317,7 +317,78 @@ public async Task GenerateBombardierTestPostWithExampleValuesTest_Successfull()
317317 Assert . Single ( bombardierTests ) ;
318318 Assert . Contains ( $@ " -m POST https://petstore3.swagger.io/api/v3/pet -c 3 -H ""Content-Type: application/json"" -b ""{{\""id\"":999,\""name\"":\""my pet 999\""}}"" --http2 --timeout=30s --duration=5s", bombardierTests . FirstOrDefault ( ) . Command ) ;
319319 Assert . Equal ( HttpMethod . Post , bombardierTests . FirstOrDefault ( ) . Method ) ;
320- Assert . Equal ( "/pet" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
320+ Assert . Equal ( "https://petstore3.swagger.io/api/v3/pet" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
321+ }
322+
323+ [ Fact ]
324+ public async Task GenerateBombardierTestGetBikesReplacementTest_Successfull ( )
325+ {
326+ var bombardierTestsGenerator = new BombardierTestsGenerator ( options =>
327+ {
328+ options . AddReplacementValues ( new ReplacementValue [ ] {
329+ new ReplacementValue ( ) {
330+ Key = "api-version" ,
331+ Value = "2"
332+ }
333+ } ) ;
334+ } ) ;
335+
336+ var content = File . ReadAllText ( "Assets/GetAllBikes.json" ) ;
337+ var httpRequest = JsonConvert . DeserializeObject < IList < HttpRequest > > ( content ) ;
338+
339+ var bombardierTests = await bombardierTestsGenerator . Generate ( httpRequest ) ;
340+
341+ Assert . NotNull ( bombardierTests ) ;
342+ Assert . Single ( bombardierTests ) ;
343+ Assert . Contains ( $@ " -m GET https://qatoolkitapi.azurewebsites.net/api/bicycles?api-version=2 -c 3 --http2 --timeout=30s --duration=5s", bombardierTests . FirstOrDefault ( ) . Command ) ;
344+ Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
345+ Assert . Equal ( "https://qatoolkitapi.azurewebsites.net/api/bicycles?api-version=2" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
346+ }
347+
348+ [ Fact ]
349+ public async Task GenerateBombardierTestGetBikesExampleTest_Successfull ( )
350+ {
351+ var bombardierTestsGenerator = new BombardierTestsGenerator ( ) ;
352+
353+ var content = File . ReadAllText ( "Assets/GetAllBikes.json" ) ;
354+ var httpRequest = JsonConvert . DeserializeObject < IList < HttpRequest > > ( content ) ;
355+
356+ var bombardierTests = await bombardierTestsGenerator . Generate ( httpRequest ) ;
357+
358+ Assert . NotNull ( bombardierTests ) ;
359+ Assert . Single ( bombardierTests ) ;
360+ Assert . Contains ( $@ " -m GET https://qatoolkitapi.azurewebsites.net/api/bicycles?api-version=1 -c 3 --http2 --timeout=30s --duration=5s", bombardierTests . FirstOrDefault ( ) . Command ) ;
361+ Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
362+ Assert . Equal ( "https://qatoolkitapi.azurewebsites.net/api/bicycles?api-version=1" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
363+ }
364+
365+ [ Fact ]
366+ public async Task GenerateBombardierTestGetBikesExampleWithFilterTest_Successfull ( )
367+ {
368+ var bombardierTestsGenerator = new BombardierTestsGenerator ( options =>
369+ {
370+ options . AddReplacementValues ( new ReplacementValue [ ] {
371+ new ReplacementValue ( ) {
372+ Key = "api-version" ,
373+ Value = "2"
374+ } ,
375+ new ReplacementValue ( ) {
376+ Key = "bicycleType" ,
377+ Value = "1"
378+ }
379+ } ) ;
380+ } ) ;
381+
382+ var content = File . ReadAllText ( "Assets/GetAllBikes.json" ) ;
383+ var httpRequest = JsonConvert . DeserializeObject < IList < HttpRequest > > ( content ) ;
384+
385+ var bombardierTests = await bombardierTestsGenerator . Generate ( httpRequest ) ;
386+
387+ Assert . NotNull ( bombardierTests ) ;
388+ Assert . Single ( bombardierTests ) ;
389+ Assert . Contains ( $@ " -m GET https://qatoolkitapi.azurewebsites.net/api/bicycles?bicycleType=1&api-version=2 -c 3 --http2 --timeout=30s --duration=5s", bombardierTests . FirstOrDefault ( ) . Command ) ;
390+ Assert . Equal ( HttpMethod . Get , bombardierTests . FirstOrDefault ( ) . Method ) ;
391+ Assert . Equal ( "https://qatoolkitapi.azurewebsites.net/api/bicycles?bicycleType=1&api-version=2" , bombardierTests . FirstOrDefault ( ) . Url . ToString ( ) ) ;
321392 }
322393 }
323394}
0 commit comments