channelnotifier: let notifier take channel updates

This commit is contained in:
bitromortac committed 2026-02-20 10:43:52 +01:00
1 parent 19860bb9f6
commit a3d87f16b9
2 files changed
+60

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
package channelnotifier
import (
"testing"
"time"
"github.com/lightningnetwork/lnd/channeldb"
"github.com/stretchr/testify/require"
)
// TestChannelUpdateEvent tests that channel update events are properly
// notified to subscribers.
func TestChannelUpdateEvent(t *testing.T) {
// Initialize the notification server.
ntfnServer := New(nil)
require.NoError(t, ntfnServer.Start())
defer func() {
require.NoError(t, ntfnServer.Stop())
}()
// Subscribe to channel events.
sub, err := ntfnServer.SubscribeChannelEvents()
require.NoError(t, err)
defer sub.Cancel()
// Create a mock channel state.
channel := &channeldb.OpenChannel{}
// Notify the server of a channel update event.
ntfnServer.NotifyChannelUpdateEvent(channel)
// Consume the event.
select {
case event := <-sub.Updates():
updateEvent, ok := event.(ChannelUpdateEvent)
require.True(t, ok)
require.Equal(t, channel, updateEvent.Channel)
case <-time.After(time.Second):
t.Fatalf("expected to receive channel update event")
}
}