1
0
mirror of https://github.com/bitwarden/server.git synced 2025-05-09 05:32:24 -05:00
This commit is contained in:
Hinton 2025-05-08 17:50:57 +02:00
parent 933c5c82ca
commit fb28fb60a9
No known key found for this signature in database
GPG Key ID: 5F7295599C5D965C

View File

@ -7,41 +7,33 @@ using Xunit.Abstractions;
namespace Bit.Api.IntegrationTest.AdminConsole.Controllers; namespace Bit.Api.IntegrationTest.AdminConsole.Controllers;
public class OrganizationUsersControllerPerformanceTest public class OrganizationUsersControllerPerformanceTest(ITestOutputHelper testOutputHelper)
{ {
private readonly HttpClient _client; [Theory]
private readonly ApiApplicationFactory _factory;
private readonly ITestOutputHelper _testOutputHelper;
public OrganizationUsersControllerPerformanceTest(ITestOutputHelper testOutputHelper)
{
_factory = new ApiApplicationFactory();
_testOutputHelper = testOutputHelper;
_client = _factory.CreateClient();
}
[Theory(Skip = "Performance test")]
[InlineData(100)] [InlineData(100)]
[InlineData(60000)] [InlineData(60000)]
public async Task GetAsync(int seats) public async Task GetAsync(int seats)
{ {
var db = _factory.GetDatabaseContext(); await using var factory = new ApiApplicationFactory();
var client = factory.CreateClient();
var db = factory.GetDatabaseContext();
var seeder = new OrganizationWithUsersRecipe(db); var seeder = new OrganizationWithUsersRecipe(db);
var orgId = seeder.Seed("Org", seats, "large.test"); var orgId = seeder.Seed("Org", seats, "large.test");
var tokens = await _factory.LoginAsync("admin@large.test", "c55hlJ/cfdvTd4awTXUqow6X3cOQCfGwn11o3HblnPs="); var tokens = await factory.LoginAsync("admin@large.test", "c55hlJ/cfdvTd4awTXUqow6X3cOQCfGwn11o3HblnPs=");
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", tokens.Token); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", tokens.Token);
var stopwatch = System.Diagnostics.Stopwatch.StartNew(); var stopwatch = System.Diagnostics.Stopwatch.StartNew();
var response = await _client.GetAsync($"/organizations/{orgId}/users?includeCollections=true"); var response = await client.GetAsync($"/organizations/{orgId}/users?includeCollections=true");
Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.Equal(HttpStatusCode.OK, response.StatusCode);
var result = await response.Content.ReadAsStringAsync(); var result = await response.Content.ReadAsStringAsync();
Assert.NotEmpty(result); Assert.NotEmpty(result);
stopwatch.Stop(); stopwatch.Stop();
_testOutputHelper.WriteLine($"Seed: {seats}; Request duration: {stopwatch.ElapsedMilliseconds} ms"); testOutputHelper.WriteLine($"Seed: {seats}; Request duration: {stopwatch.ElapsedMilliseconds} ms");
} }
} }