Skip to content

Commit 5a56988

Browse files
authored
Release v0.2.0 retry 3
* ci fix * nuget pack fix, small updates and tests
1 parent 163806b commit 5a56988

File tree

3 files changed

+53
-17
lines changed

3 files changed

+53
-17
lines changed

.github/workflows/dotnet-core.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- name: Setup .NET Core
2222
uses: actions/setup-dotnet@v1
2323
with:
24-
dotnet-version: 3.1.301
24+
dotnet-version: 3.1.403
2525
- name: Install dependencies
2626
run: dotnet restore
2727
- name: Build

src/QAToolKit.Engine.Bombardier.Test/BombardierTestsRunnerTests.cs

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,5 +115,53 @@ public async Task BombardierPostTestWithOptionsTest_Successfull()
115115
Assert.True(bombardierResults.FirstOrDefault().TestStop.AddMinutes(60) > DateTime.Now);
116116
Assert.True(bombardierResults.FirstOrDefault().TestStop.Subtract(bombardierResults.FirstOrDefault().TestStart).TotalSeconds == bombardierResults.FirstOrDefault().Duration);
117117
}
118+
119+
[IgnoreOnGithubFact]
120+
public async Task BombardierPostTestWithBodyAndOptionsTest_Successfull()
121+
{
122+
123+
var bombardierTestsGenerator = new BombardierTestsGenerator(options =>
124+
{
125+
options.BombardierConcurrentUsers = 1;
126+
options.BombardierDuration = 1;
127+
options.BombardierTimeout = 30;
128+
options.BombardierUseHttp2 = true;
129+
options.AddReplacementValues(new Dictionary<string, object> {
130+
{"Bicycle",@"{""id"":66,""name"":""my bike"",""brand"":""cannondale"",""BicycleType"":1}"}
131+
});
132+
});
133+
134+
var content = File.ReadAllText("Assets/AddBike.json");
135+
var httpRequest = JsonConvert.DeserializeObject<IList<HttpRequest>>(content);
136+
137+
var bombardierTests = await bombardierTestsGenerator.Generate(httpRequest);
138+
139+
//Run Bombardier Tests
140+
var bombardierTestsRunner = new BombardierTestsRunner(bombardierTests.ToList(), options =>
141+
{
142+
options.ObfuscateAuthenticationHeader = true;
143+
});
144+
var bombardierResults = await bombardierTestsRunner.Run();
145+
146+
_logger.LogInformation(JsonConvert.SerializeObject(bombardierResults, Formatting.Indented));
147+
148+
Assert.NotNull(bombardierResults);
149+
Assert.Single(bombardierResults);
150+
Assert.Equal("-m POST https://qatoolkitapi.azurewebsites.net/api/bicycles?api-version=1 -c 1 -H \"Content-Type: application/json\" -b \"{\\\"id\\\":66,\\\"name\\\":\\\"my bike\\\",\\\"brand\\\":\\\"cannondale\\\",\\\"BicycleType\\\":1}\" --http2 --timeout=30s --duration=1s", bombardierResults.FirstOrDefault().Command);
151+
Assert.True(bombardierResults.FirstOrDefault().Counter1xx == 0);
152+
Assert.True(bombardierResults.FirstOrDefault().Counter2xx > 0);
153+
Assert.True(bombardierResults.FirstOrDefault().Counter3xx == 0);
154+
Assert.True(bombardierResults.FirstOrDefault().Counter4xx == 0);
155+
Assert.True(bombardierResults.FirstOrDefault().Counter5xx == 0);
156+
Assert.True(bombardierResults.FirstOrDefault().AverageLatency >= 0);
157+
Assert.True(bombardierResults.FirstOrDefault().MaxLatency >= 0);
158+
Assert.True(bombardierResults.FirstOrDefault().StdevLatency >= 0);
159+
Assert.True(bombardierResults.FirstOrDefault().AverageRequestsPerSecond >= 0);
160+
Assert.True(bombardierResults.FirstOrDefault().MaxRequestsPerSecond >= 0);
161+
Assert.True(bombardierResults.FirstOrDefault().StdevRequestsPerSecond >= 0);
162+
Assert.True(bombardierResults.FirstOrDefault().TestStart.AddMinutes(60) > DateTime.Now);
163+
Assert.True(bombardierResults.FirstOrDefault().TestStop.AddMinutes(60) > DateTime.Now);
164+
Assert.True(bombardierResults.FirstOrDefault().TestStop.Subtract(bombardierResults.FirstOrDefault().TestStart).TotalSeconds == bombardierResults.FirstOrDefault().Duration);
165+
}
118166
}
119167
}

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

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<IsPackable>true</IsPackable>
99
<PackageVersion>$(Version)</PackageVersion>
1010
<PackageId>QAToolKit.Engine.Bombardier</PackageId>
11-
<Authors>QAToolKit</Authors>
11+
<Authors>Miha Jakovac</Authors>
1212
<Description>
1313
QAToolKit Bombardier library for running load tests.
1414
</Description>
@@ -29,6 +29,9 @@
2929
<None Include="..\..\qatoolkit-64x64.png" Pack="true" PackagePath="\" />
3030
<None Include="..\..\LICENSE" Pack="true" PackagePath="" />
3131
<None Include="..\..\README.md" Pack="false" PackagePath="" />
32+
<None Include="..\..\QAToolKit.Engine.Bombardier.targets" Pack="true" PackagePath="build" />
33+
<None Include="$(ProjectDir)..\..\bombardier\linux\bombardier" Pack="true" PackagePath="build\bombardier\linux" />
34+
<None Include="$(ProjectDir)..\..\bombardier\win\bombardier.exe" Pack="true" PackagePath="build\bombardier\win" />
3235
</ItemGroup>
3336

3437
<ItemGroup>
@@ -38,19 +41,4 @@
3841
</ItemGroup>
3942

4043
<Import Project="..\..\QAToolKit.Engine.Bombardier.targets" />
41-
42-
<ItemGroup>
43-
<None Include="$(SolutionDir)bombardier\linux\bombardier">
44-
<Pack>true</Pack>
45-
<PackagePath>build\bombardier\linux</PackagePath>
46-
</None>
47-
<None Include="$(SolutionDir)bombardier\win\bombardier.exe">
48-
<Pack>true</Pack>
49-
<PackagePath>build\bombardier\win</PackagePath>
50-
</None>
51-
<None Include="..\..\QAToolKit.Engine.Bombardier.targets">
52-
<Pack>true</Pack>
53-
<PackagePath>build</PackagePath>
54-
</None>
55-
</ItemGroup>
5644
</Project>

0 commit comments

Comments
 (0)