55using System . IO ;
66using System . Linq ;
77using System . Net . Http ;
8+ using System . Text . Json ;
89
910namespace QAToolKit . Engine . Bombardier . Helpers
1011{
@@ -49,29 +50,16 @@ internal static string GenerateContentTypeHeader(HttpTestRequest request)
4950 /// <param name="request"></param>
5051 /// <param name="replacementValues"></param>
5152 /// <returns></returns>
52- internal static string GenerateUrlParameters ( HttpTestRequest request , ReplacementValue [ ] replacementValues )
53+ internal static string GenerateUrlParameters ( HttpTestRequest request )
5354 {
5455 var path = request . Path ;
55- foreach ( var value in replacementValues )
56- {
57- path = path . Replace ( "{" + value . Key + "}" , value . Value ) ;
58- }
5956
6057 var queryParameters = new Dictionary < string , string > ( ) ;
6158
6259 //add query parameters
63- foreach ( var parameter in request . Parameters )
60+ foreach ( var parameter in request . Parameters . Where ( p => p . Value != null ) )
6461 {
65- foreach ( var value in replacementValues )
66- {
67- if ( parameter . Name == value . Key )
68- {
69- if ( ! queryParameters . ContainsKey ( parameter . Name ) && ! path . Contains ( value . Value ) )
70- {
71- queryParameters . Add ( parameter . Name , value . Value ) ;
72- }
73- }
74- }
62+ queryParameters . Add ( parameter . Name , parameter . Value ) ;
7563 }
7664
7765 return new Uri ( new Uri ( request . BasePath ) , QueryHelpers . AddQueryString ( path , queryParameters ) ) . ToString ( ) ;
@@ -83,20 +71,18 @@ internal static string GenerateUrlParameters(HttpTestRequest request, Replacemen
8371 /// <param name="request"></param>
8472 /// <param name="replacementValues"></param>
8573 /// <returns></returns>
86- internal static string GenerateJsonBody ( HttpTestRequest request , ReplacementValue [ ] replacementValues )
74+ internal static string GenerateJsonBody ( HttpTestRequest request )
8775 {
8876 if ( request . Method == HttpMethod . Get )
8977 {
9078 return String . Empty ;
9179 }
9280 else
9381 {
94- var replacementValue = replacementValues . FirstOrDefault ( r => r . Key == request . RequestBody . Name ) ;
95-
96- File . WriteAllText ( $ "{ request . RequestBody . Name } .json", replacementValue . Value ) ;
97-
98- if ( replacementValue != null )
82+ if ( request . RequestBody . Properties . Count > 0 )
9983 {
84+ File . WriteAllText ( $ "{ request . RequestBody . Name } .json", JsonSerializer . Serialize ( request . RequestBody . Properties ) ) ;
85+
10086 return $ "-f \" { request . RequestBody . Name } .json\" ";
10187 }
10288 else
0 commit comments