Files
git.stella-ops.org/src/__Libraries/__Tests/StellaOps.Cryptography.Kms.Tests/FileKmsClientTests.Revoke.cs

29 lines
938 B
C#

using System.Text;
using StellaOps.Cryptography.Kms;
using StellaOps.TestKit;
using Xunit;
namespace StellaOps.Cryptography.Kms.Tests;
public sealed partial class FileKmsClientTests
{
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task RevokePreventsSigningAsync()
{
using var workspace = new TestWorkspace(nameof(RevokePreventsSigningAsync));
using var client = workspace.CreateClient();
var keyId = "kms-revoke";
await client.RotateAsync(keyId);
await client.RevokeAsync(keyId);
var metadata = await client.GetMetadataAsync(keyId);
Assert.Equal(KmsKeyState.Revoked, metadata.State);
Assert.All(metadata.Versions, v => Assert.Equal(KmsKeyState.Revoked, v.State));
var data = Encoding.UTF8.GetBytes("kms-revoke-data");
await Assert.ThrowsAsync<InvalidOperationException>(() => client.SignAsync(keyId, null, data));
}
}