feat(notification-outbox): add NotificationOutboxOptions and delivery adapter abstraction

This commit is contained in:
Joseph Doherty
2026-05-19 01:20:49 -04:00
parent fb589bf1da
commit 8d52890245
5 changed files with 142 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
using ScadaLink.NotificationOutbox.Delivery;
namespace ScadaLink.NotificationOutbox.Tests.Delivery;
public class DeliveryOutcomeTests
{
[Fact]
public void Success_SetsResolvedTargets_AndNoError()
{
var outcome = DeliveryOutcome.Success("targets");
Assert.Equal(DeliveryResult.Success, outcome.Result);
Assert.Equal("targets", outcome.ResolvedTargets);
Assert.Null(outcome.Error);
}
[Fact]
public void Transient_SetsError_AndNoResolvedTargets()
{
var outcome = DeliveryOutcome.Transient("e");
Assert.Equal(DeliveryResult.TransientFailure, outcome.Result);
Assert.Equal("e", outcome.Error);
Assert.Null(outcome.ResolvedTargets);
}
[Fact]
public void Permanent_SetsError_AndNoResolvedTargets()
{
var outcome = DeliveryOutcome.Permanent("e");
Assert.Equal(DeliveryResult.PermanentFailure, outcome.Result);
Assert.Equal("e", outcome.Error);
Assert.Null(outcome.ResolvedTargets);
}
}