chore(secrets): wire cache invalidation on rotate/delete, drop dead RevealEnabled, remove scaffold leftovers
This commit is contained in:
+27
@@ -57,6 +57,33 @@ public sealed class AddZbSecretsTests
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CacheInvalidator_And_Resolver_AreSameSingletonInstance()
|
||||
{
|
||||
string dbPath = NewTempDbPath();
|
||||
string envVar = $"ZB_TEST_KEY_{Guid.NewGuid():N}";
|
||||
Environment.SetEnvironmentVariable(envVar, Base64Key32());
|
||||
try
|
||||
{
|
||||
var services = new ServiceCollection();
|
||||
services.AddZbSecrets(BuildConfig(dbPath, envVar), "Secrets");
|
||||
using ServiceProvider provider = services.BuildServiceProvider();
|
||||
|
||||
var resolver = provider.GetService<ISecretResolver>();
|
||||
var invalidator = provider.GetService<ISecretCacheInvalidator>();
|
||||
|
||||
Assert.NotNull(resolver);
|
||||
Assert.NotNull(invalidator);
|
||||
// Same object: an invalidation MUST hit the exact cache the resolver reads from.
|
||||
Assert.Same(resolver, invalidator);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Environment.SetEnvironmentVariable(envVar, null);
|
||||
File.Delete(dbPath);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Resolver_Works_EndToEnd_ThroughDi()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user