| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using Admin.NET.Plugin.AiDOP.DataPlatform.Inbound;
- using Xunit;
- namespace Admin.NET.Plugin.AiDOP.Tests.DataPlatform;
- public class InboundGrantIssuanceTests
- {
- private static string NeverCalled() => throw new InvalidOperationException("不应签发新凭据");
- [Fact]
- public void EmptyKey_CreatesIdentity_AndBothTokens()
- {
- var plan = InboundGrantIssuance.Plan("", 11, 0, false, () => "key-1", () => "secret-1");
- Assert.Equal(InboundGrantIssuanceKind.CreateIdentity, plan.Kind);
- Assert.Equal("key-1", plan.AccessKey);
- Assert.Equal("secret-1", plan.AccessSecret);
- }
- [Fact]
- public void SameTenantKey_ReusesIdentity_WithoutNewSecret()
- {
- var plan = InboundGrantIssuance.Plan("existing", 11, boundTenantId: 11, identityExists: true, NeverCalled, NeverCalled);
- Assert.Equal(InboundGrantIssuanceKind.ReuseIdentity, plan.Kind);
- Assert.Equal("existing", plan.AccessKey);
- Assert.Equal("", plan.AccessSecret);
- }
- [Fact]
- public void OtherTenantKey_IsRejected()
- {
- var plan = InboundGrantIssuance.Plan("existing", 11, boundTenantId: 22, identityExists: true, NeverCalled, NeverCalled);
- Assert.Equal(InboundGrantIssuanceKind.RejectCrossTenant, plan.Kind);
- }
- [Fact]
- public void UnknownKey_IsRejected()
- {
- var plan = InboundGrantIssuance.Plan("missing", 11, boundTenantId: 0, identityExists: false, NeverCalled, NeverCalled);
- Assert.Equal(InboundGrantIssuanceKind.RejectUnknownKey, plan.Kind);
- }
- [Fact]
- public void Reuse_IsIdempotent_AcrossRepeatedPlans()
- {
- var first = InboundGrantIssuance.Plan("existing", 11, 11, true, NeverCalled, NeverCalled);
- var second = InboundGrantIssuance.Plan("existing", 11, 11, true, NeverCalled, NeverCalled);
- Assert.Equal(first, second);
- }
- }
|