40 lines
1.0 KiB
Go
40 lines
1.0 KiB
Go
package backendutil
|
|
|
|
import (
|
|
"reflect"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/emersion/go-imap"
|
|
"github.com/emersion/go-message"
|
|
)
|
|
|
|
var testEnvelope = &imap.Envelope{
|
|
Date: testDate,
|
|
Subject: "Your Name.",
|
|
From: []*imap.Address{{PersonalName: "Mitsuha Miyamizu", MailboxName: "mitsuha.miyamizu", HostName: "example.org"}},
|
|
Sender: []*imap.Address{},
|
|
ReplyTo: []*imap.Address{},
|
|
To: []*imap.Address{{PersonalName: "Taki Tachibana", MailboxName: "taki.tachibana", HostName: "example.org"}},
|
|
Cc: []*imap.Address{},
|
|
Bcc: []*imap.Address{},
|
|
InReplyTo: "",
|
|
MessageId: "42@example.org",
|
|
}
|
|
|
|
func TestFetchEnvelope(t *testing.T) {
|
|
e, err := message.Read(strings.NewReader(testMailString))
|
|
if err != nil {
|
|
t.Fatal("Expected no error while reading mail, got:", err)
|
|
}
|
|
|
|
env, err := FetchEnvelope(e.Header)
|
|
if err != nil {
|
|
t.Fatal("Expected no error while fetching envelope, got:", err)
|
|
}
|
|
|
|
if !reflect.DeepEqual(env, testEnvelope) {
|
|
t.Errorf("Expected envelope \n%+v\n but got \n%+v", testEnvelope, env)
|
|
}
|
|
}
|