Added helper method to fill access slotsfor testing
This commit is contained in:
parent
a4f314a7b1
commit
76009824a6
|
@ -37,6 +37,14 @@ namespace AccessQueueServiceTests
|
||||||
_accessService = new AccessService(configuration, accessQueueRepo, logger);
|
_accessService = new AccessService(configuration, accessQueueRepo, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void FillSlots(int usersToAdd = CAP_LIMIT)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < usersToAdd; i++)
|
||||||
|
{
|
||||||
|
_ = _accessService.RequestAccess(Guid.NewGuid().ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task RequestAccess_ShouldGrantAccess_WhenCapacityIsAvailable()
|
public async Task RequestAccess_ShouldGrantAccess_WhenCapacityIsAvailable()
|
||||||
{
|
{
|
||||||
|
@ -71,10 +79,7 @@ namespace AccessQueueServiceTests
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task RequestAccess_ShouldQueueUser_WhenCapacityIsFull()
|
public async Task RequestAccess_ShouldQueueUser_WhenCapacityIsFull()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < CAP_LIMIT * 2; i++) // Fill double capacity
|
FillSlots(CAP_LIMIT * 2);
|
||||||
{
|
|
||||||
await _accessService.RequestAccess(Guid.NewGuid().ToString());
|
|
||||||
}
|
|
||||||
var userId = "user";
|
var userId = "user";
|
||||||
|
|
||||||
var response = await _accessService.RequestAccess(userId);
|
var response = await _accessService.RequestAccess(userId);
|
||||||
|
@ -115,10 +120,7 @@ namespace AccessQueueServiceTests
|
||||||
var userId = "user";
|
var userId = "user";
|
||||||
await _accessService.RequestAccess(userId);
|
await _accessService.RequestAccess(userId);
|
||||||
|
|
||||||
for (int i = 0; i < CAP_LIMIT; i++) // Fill remaining slots
|
FillSlots();
|
||||||
{
|
|
||||||
await _accessService.RequestAccess(Guid.NewGuid().ToString());
|
|
||||||
}
|
|
||||||
|
|
||||||
var response = await _accessService.RequestAccess(userId); // Request access before revoking
|
var response = await _accessService.RequestAccess(userId); // Request access before revoking
|
||||||
Assert.NotNull(response);
|
Assert.NotNull(response);
|
||||||
|
@ -133,10 +135,7 @@ namespace AccessQueueServiceTests
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task RequestAccess_ShouldNotQueueUser_WhenMultipleRequestsForOtherUsersMade()
|
public async Task RequestAccess_ShouldNotQueueUser_WhenMultipleRequestsForOtherUsersMade()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < CAP_LIMIT; i++) // Fill slots without awaiting
|
FillSlots();
|
||||||
{
|
|
||||||
_ = _accessService.RequestAccess(Guid.NewGuid().ToString());
|
|
||||||
}
|
|
||||||
var response = await _accessService.RequestAccess(Guid.NewGuid().ToString()); // Request access before revoking
|
var response = await _accessService.RequestAccess(Guid.NewGuid().ToString()); // Request access before revoking
|
||||||
Assert.NotNull(response);
|
Assert.NotNull(response);
|
||||||
Assert.False(response.HasAccess);
|
Assert.False(response.HasAccess);
|
||||||
|
@ -155,10 +154,7 @@ namespace AccessQueueServiceTests
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task RequestAccess_ShouldGrantAccess_WhenUsersWithAccessInactive()
|
public async Task RequestAccess_ShouldGrantAccess_WhenUsersWithAccessInactive()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < CAP_LIMIT; i++)
|
FillSlots();
|
||||||
{
|
|
||||||
await _accessService.RequestAccess(Guid.NewGuid().ToString());
|
|
||||||
}
|
|
||||||
var userId = "user";
|
var userId = "user";
|
||||||
var response = await _accessService.RequestAccess(userId);
|
var response = await _accessService.RequestAccess(userId);
|
||||||
Assert.False(response.HasAccess);
|
Assert.False(response.HasAccess);
|
||||||
|
@ -174,10 +170,7 @@ namespace AccessQueueServiceTests
|
||||||
var response = await _accessService.RequestAccess(userId);
|
var response = await _accessService.RequestAccess(userId);
|
||||||
Assert.True(response.HasAccess);
|
Assert.True(response.HasAccess);
|
||||||
await Task.Delay(EXP_MILLIS);
|
await Task.Delay(EXP_MILLIS);
|
||||||
for (int i = 0; i < CAP_LIMIT; i++)
|
FillSlots();
|
||||||
{
|
|
||||||
await _accessService.RequestAccess(Guid.NewGuid().ToString());
|
|
||||||
}
|
|
||||||
response = await _accessService.RequestAccess(userId);
|
response = await _accessService.RequestAccess(userId);
|
||||||
Assert.False(response.HasAccess);
|
Assert.False(response.HasAccess);
|
||||||
}
|
}
|
||||||
|
@ -203,10 +196,7 @@ namespace AccessQueueServiceTests
|
||||||
{
|
{
|
||||||
var userId = "user";
|
var userId = "user";
|
||||||
await _accessService.RequestAccess(userId);
|
await _accessService.RequestAccess(userId);
|
||||||
for (int i = 0; i < BULK_COUNT; i++)
|
FillSlots(BULK_COUNT);
|
||||||
{
|
|
||||||
_ = _accessService.RequestAccess(Guid.NewGuid().ToString());
|
|
||||||
}
|
|
||||||
var response = await _accessService.RequestAccess(userId);
|
var response = await _accessService.RequestAccess(userId);
|
||||||
Assert.NotNull(response);
|
Assert.NotNull(response);
|
||||||
Assert.True(response.HasAccess);
|
Assert.True(response.HasAccess);
|
||||||
|
@ -246,10 +236,7 @@ namespace AccessQueueServiceTests
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task RequestAccess_ShouldShowCorrectRequestsAhead_WhenAccessRerequested()
|
public async Task RequestAccess_ShouldShowCorrectRequestsAhead_WhenAccessRerequested()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < CAP_LIMIT; i++)
|
FillSlots();
|
||||||
{
|
|
||||||
await _accessService.RequestAccess(Guid.NewGuid().ToString());
|
|
||||||
}
|
|
||||||
|
|
||||||
var id1 = "user1";
|
var id1 = "user1";
|
||||||
var id2 = "user2";
|
var id2 = "user2";
|
||||||
|
@ -275,15 +262,8 @@ namespace AccessQueueServiceTests
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task Status_ShouldReturnCorrectCounts()
|
public async Task Status_ShouldReturnCorrectCounts()
|
||||||
{
|
{
|
||||||
|
FillSlots();
|
||||||
// Fill up the queue to force a user into the queue
|
|
||||||
for (int i = 0; i < CAP_LIMIT; i++)
|
|
||||||
{
|
|
||||||
await _accessService.RequestAccess(Guid.NewGuid().ToString());
|
|
||||||
}
|
|
||||||
// Add an additional user
|
|
||||||
await _accessService.RequestAccess("user");
|
await _accessService.RequestAccess("user");
|
||||||
|
|
||||||
var status = _accessService.Status;
|
var status = _accessService.Status;
|
||||||
|
|
||||||
Assert.NotNull(status);
|
Assert.NotNull(status);
|
||||||
|
|
Loading…
Reference in New Issue