outbox for gateways

This commit is contained in:
Stephan D
2026-02-18 01:35:28 +01:00
parent 974caf286c
commit 69531cee73
221 changed files with 12172 additions and 782 deletions

View File

@@ -12,6 +12,7 @@ import (
"github.com/tech/sendico/ledger/storage"
"github.com/tech/sendico/ledger/storage/model"
"github.com/tech/sendico/pkg/merrors"
me "github.com/tech/sendico/pkg/messaging/envelope"
pmodel "github.com/tech/sendico/pkg/model"
"github.com/tech/sendico/pkg/model/account_role"
"go.mongodb.org/mongo-driver/v2/bson"
@@ -278,11 +279,20 @@ func TestEnqueueOutbox_CreatesEvent(t *testing.T) {
require.NoError(t, service.enqueueOutbox(ctx, entry, lines))
require.Len(t, producer.created, 1)
event := producer.created[0]
assert.Equal(t, entryID.Hex(), event.EventID)
assert.Equal(t, ledgerOutboxSubject, event.Subject)
assert.Equal(t, "ledger_outbox_sent", event.Subject)
envelope, err := me.Deserialize(event.Payload)
require.NoError(t, err)
assert.Equal(t, outboxPublisherSender, envelope.GetSender())
assert.Equal(t, "ledger_outbox_sent", envelope.GetSignature().ToString())
var wrapped ledgerOutboxMessage
require.NoError(t, json.Unmarshal(envelope.GetData(), &wrapped))
assert.Equal(t, entryID.Hex(), wrapped.EventID)
assert.Equal(t, ledgerOutboxSubject, wrapped.Subject)
var payload outboxJournalPayload
require.NoError(t, json.Unmarshal(event.Payload, &payload))
require.NoError(t, json.Unmarshal(wrapped.Payload, &payload))
assert.Equal(t, entryID.Hex(), payload.JournalEntryRef)
assert.Equal(t, "credit", payload.EntryType)
assert.Len(t, payload.Lines, 1)