1
0
mirror of https://github.com/jhillyerd/inbucket.git synced 2025-12-17 09:37:02 +00:00

extension: Make AfterMessageStored async (#319)

This commit is contained in:
James Hillyerd
2023-01-22 16:26:52 -08:00
committed by GitHub
parent b383fbf9ab
commit e74efbaa77
4 changed files with 24 additions and 7 deletions

View File

@@ -2,6 +2,7 @@ package message_test
import (
"testing"
"time"
"github.com/inbucket/inbucket/pkg/extension"
"github.com/inbucket/inbucket/pkg/extension/event"
@@ -20,11 +21,13 @@ func TestManagerEmitsMessageStoredEvent(t *testing.T) {
}
// Capture message event.
var got *event.MessageMetadata
extHost.Events.MessageStored.AddListener(
gotc := make(chan *event.MessageMetadata)
defer close(gotc)
extHost.Events.AfterMessageStored.AddListener(
"test",
func(msg event.MessageMetadata) *extension.Void {
got = &msg
gotc <- &msg
return nil
})
@@ -39,5 +42,10 @@ func TestManagerEmitsMessageStoredEvent(t *testing.T) {
t.Fatal(err)
}
assert.NotNil(t, got, "No event received, or it was nil")
select {
case got := <-gotc:
assert.NotNil(t, got, "No event received, or it was nil")
case <-time.After(time.Second * 2):
t.Fatal("Timeout waiting for message event")
}
}