Skip to content

Commit a6f3d04

Browse files
committed
Bombardier no longer does replacements
1 parent f5b6dfe commit a6f3d04

File tree

4 files changed

+11
-31
lines changed

4 files changed

+11
-31
lines changed

src/QAToolKit.Engine.Bombardier/BombardierOptions.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,12 @@ public class BombardierOptions
77
internal string CustomerAccessToken { get; set; }
88
internal string AdministratorAccessToken { get; private set; }
99
internal string ApiKey { get; private set; }
10-
internal ReplacementValue[] ReplacementValues { get; private set; }
1110
public int BombardierConcurrentUsers { get; set; }
1211
public int BombardierTimeout { get; set; }
1312
public int BombardierDuration { get; set; }
1413
public int BombardierRateLimit { get; set; }
1514
public bool BombardierUseHttp2 { get; set; }
1615

17-
public BombardierOptions AddReplacementValues(ReplacementValue[] replacementValues)
18-
{
19-
ReplacementValues = replacementValues;
20-
return this;
21-
}
22-
2316
public BombardierOptions AddTokensAndApiKeys(string customerToken, string adminToken, string apiKey)
2417
{
2518
CustomerAccessToken = customerToken;

src/QAToolKit.Engine.Bombardier/BombardierTestsGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ public async Task<IEnumerable<BombardierTest>> Generate(IList<HttpTestRequest> r
4646
_bombardierOptions.AdministratorAccessToken, _bombardierOptions.ApiKey);
4747

4848
scriptBuilder.AppendLine($"{bombardierFullPath} " +
49-
$"-m {request.Method.ToString().ToUpper()} {GeneratorHelper.GenerateUrlParameters(request, _bombardierOptions.ReplacementValues)} " +
49+
$"-m {request.Method.ToString().ToUpper()} {GeneratorHelper.GenerateUrlParameters(request)} " +
5050
$"-c {_bombardierOptions.BombardierConcurrentUsers} " +
5151
$"{authHeader}" +
5252
$"{GeneratorHelper.GenerateContentTypeHeader(request)}" +
53-
$"{GeneratorHelper.GenerateJsonBody(request, _bombardierOptions.ReplacementValues)}" +
53+
$"{GeneratorHelper.GenerateJsonBody(request)}" +
5454
$"--{(Convert.ToBoolean(_bombardierOptions.BombardierUseHttp2) ? "http2" : "http1")} " +
5555
$"--timeout={_bombardierOptions.BombardierTimeout}s " +
5656
$"--duration={_bombardierOptions.BombardierDuration}s " +

src/QAToolKit.Engine.Bombardier/Helpers/GeneratorHelper.cs

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.IO;
66
using System.Linq;
77
using System.Net.Http;
8+
using System.Text.Json;
89

910
namespace 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

src/QAToolKit.Engine.Bombardier/QAToolKit.Engine.Bombardier.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<ItemGroup>
2929
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
3030
<PackageReference Include="QAToolKit.Core" Version="0.1.0" />
31+
<PackageReference Include="System.Text.Json" Version="4.7.2" />
3132
</ItemGroup>
3233

3334
<Import Project="..\..\QAToolKit.Engine.Bombardier.targets" />

0 commit comments

Comments
 (0)