云库增加 AI识图,缓存,我的云库收藏增加安全标志
调用外部API 扣费
This commit is contained in:
1 parent
7c29e57623
commit
150e8644b7
49 files changed
+1069
-28
No files matched your search
@@ -145,6 +145,35 @@ public sealed class PersistentSessionTests
|
||||
Assert.NotNull(await service.ValidateTokenAsync(replacement.Token));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Cleanup_RemovesRevokedAndExpiredTokens_AndPreservesActiveTokens()
|
||||
{
|
||||
using var db = Open(":memory:");
|
||||
using var cache = new MemoryCache(new MemoryCacheOptions());
|
||||
var clock = new Clock();
|
||||
var service = new TokenService(db, Options.Create(new TokenAuthOptions()), cache, clock);
|
||||
var active = Issue(service);
|
||||
Assert.NotNull(await service.ValidateTokenAsync(active.Token));
|
||||
var now = DateTime.SpecifyKind(clock.Now.UtcDateTime, DateTimeKind.Unspecified);
|
||||
// 覆盖撤销、闲置到期、绝对到期的等值边界,以及尚差一秒到期的有效记录。
|
||||
db.Insert(new[]
|
||||
{
|
||||
new UserToken { UserName = "same", TokenHash = "revoked", CreatedAt = now, ExpiresAt = now.AddDays(7), Revoked = true },
|
||||
new UserToken { UserName = "same", TokenHash = "idle", CreatedAt = now.AddDays(-7), ExpiresAt = now },
|
||||
new UserToken { UserName = "same", TokenHash = "absolute", CreatedAt = now.AddDays(-30), ExpiresAt = now.AddDays(1) },
|
||||
new UserToken { UserName = "same", TokenHash = "near-expiry", CreatedAt = now.AddDays(-30).AddSeconds(1), ExpiresAt = now.AddSeconds(1) }
|
||||
}).ExecuteAffrows();
|
||||
|
||||
Assert.Equal(3, service.CleanupExpiredTokens());
|
||||
Assert.Equal(2, db.Select<UserToken>().Count());
|
||||
Assert.True(db.Select<UserToken>().Any(t => t.TokenHash == "near-expiry"));
|
||||
Assert.Equal(0, service.CleanupExpiredTokens());
|
||||
Assert.NotNull(await service.ValidateTokenAsync(active.Token));
|
||||
clock.Now = clock.Now.AddSeconds(1);
|
||||
Assert.Equal(1, service.CleanupExpiredTokens());
|
||||
Assert.Single(db.Select<UserToken>().ToList());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task CacheDisabled_ObservesExternalRevocation_AndRejectsIdleExpiry()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user