V13-FE-011: finalize search list layout slice
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
using Kbx.Shared.Integrations.Generated;
|
||||
using Xunit;
|
||||
namespace Kbx.Shared.Integrations.Tests;
|
||||
public sealed class KbxDurableIntegrationRetryPlannerTests
|
||||
{
|
||||
[Fact]
|
||||
public void StopsAfterConfiguredDurableAttempts()
|
||||
{
|
||||
var d = KbxIntegrationCatalog.All["integration.oms.wms.dispatch"];
|
||||
var now = new DateTimeOffset(2026,8,8,9,0,0,TimeSpan.Zero);
|
||||
Assert.NotNull(KbxDurableIntegrationRetryPlanner.NextAttemptAt(d, 1, now));
|
||||
Assert.Null(KbxDurableIntegrationRetryPlanner.NextAttemptAt(d, d.LongRetryAttempts + 1, now));
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
using Kbx.Shared.Integrations;
|
||||
using Xunit;
|
||||
namespace Kbx.Shared.Integrations.Tests;
|
||||
public sealed class KbxIntegrationFailureClassifierTests
|
||||
{
|
||||
[Theory]
|
||||
[InlineData(408)] [InlineData(429)] [InlineData(500)] [InlineData(503)]
|
||||
public void TransientHttpStatusesAreRetryable(int status) => Assert.Equal(KbxIntegrationFailureKind.Transient,KbxIntegrationFailureClassifier.ClassifyHttp(status));
|
||||
[Theory]
|
||||
[InlineData(400)] [InlineData(401)] [InlineData(403)] [InlineData(404)] [InlineData(422)]
|
||||
public void ClientOrDomainRejectionsArePermanent(int status) => Assert.Equal(KbxIntegrationFailureKind.Permanent,KbxIntegrationFailureClassifier.ClassifyHttp(status));
|
||||
}
|
||||
Reference in New Issue
Block a user