Skip to content

Commit

Permalink
Add unit test for ForFileAsync method to verify timeout behavior
Browse files Browse the repository at this point in the history
  • Loading branch information
lennartdohmann committed Feb 17, 2025
1 parent c10686e commit 5a77035
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions dotnet/Vaas/test/Vaas.Test/VaasTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1250,4 +1250,36 @@ await _vaas
.Should()
.ThrowAsync<OperationCanceledException>();
}

[Fact]
public async Task ForFile_WithTimeout_ThrowsException()
{
var authenticator = new ClientCredentialsGrantAuthenticator(
AuthenticationEnvironment.ClientId,
AuthenticationEnvironment.ClientSecret,
AuthenticationEnvironment.TokenUrl
);
var options = new VaasOptions
{
Timeout = 1,
UseCache = false,
UseHashLookup = false,
VaasUrl = new Uri("https://gateway.staging.vaas.gdatasecurity.de"),
};
var vaas = new Vaas(authenticator, options);

try
{
var random100Mb = new byte[1000 * 1024 * 1024];
new Random().NextBytes(random100Mb);
await File.WriteAllBytesAsync("file.txt", random100Mb);
await vaas.Invoking(async v => await v.ForFileAsync("file.txt", CancellationToken.None))
.Should()
.ThrowAsync<TaskCanceledException>();
}
finally
{
File.Delete("file.txt");
}
}
}

0 comments on commit 5a77035

Please sign in to comment.