Files
server/plugin/messagehandler_test.go

32 lines
1002 B
Go

package plugin
import (
"testing"
"github.com/gotify/server/v3/plugin/compat"
"github.com/stretchr/testify/assert"
)
func TestRedirectToChannel_SendMessage_rejectsMissingApplication(t *testing.T) {
messages := make(chan MessageWithUserID, 1)
handler := redirectToChannel{ApplicationID: 0, UserID: 1, Messages: messages}
err := handler.SendMessage(compat.Message{Message: "orphan"})
assert.Error(t, err)
assert.Empty(t, messages, "no message should be queued when the internal application is missing")
}
func TestRedirectToChannel_SendMessage_forwardsWithApplication(t *testing.T) {
messages := make(chan MessageWithUserID, 1)
handler := redirectToChannel{ApplicationID: 7, UserID: 3, Messages: messages}
assert.NoError(t, handler.SendMessage(compat.Message{Message: "hi", Title: "t"}))
got := <-messages
assert.Equal(t, uint(7), got.Message.ApplicationID)
assert.Equal(t, uint(3), got.UserID)
assert.Equal(t, "hi", got.Message.Message)
assert.Equal(t, "t", got.Message.Title)
}