aboutsummaryrefslogtreecommitdiffstats
path: root/worker/imap/imap_test.go
blob: 6a0615cbdcb3d915e7a628cb78abe20c1952abc0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package imap

import (
	"testing"
	"time"

	"git.sr.ht/~rjarry/aerc/models"
	"github.com/emersion/go-message/mail"

	"github.com/emersion/go-imap"
	"github.com/stretchr/testify/assert"
)

func TestTranslateEnvelope(t *testing.T) {
	date, _ := time.Parse("2010-01-31", "1992-10-24")
	givenAddress := imap.Address{
		PersonalName: "PERSONAL_NAME",
		AtDomainList: "AT_DOMAIN_LIST",
		MailboxName:  "MAILBOX_NAME",
		HostName:     "HOST_NAME",
	}
	givenMessageID := " \r\n\r  \t <initial-message-id@with-leading-space>\t\r"
	given := imap.Envelope{
		Date:      date,
		Subject:   "Test Subject",
		From:      []*imap.Address{&givenAddress},
		ReplyTo:   []*imap.Address{&givenAddress},
		To:        []*imap.Address{&givenAddress},
		Cc:        []*imap.Address{&givenAddress},
		Bcc:       []*imap.Address{&givenAddress},
		MessageId: givenMessageID,
		InReplyTo: givenMessageID,
	}
	expectedMessageID := "initial-message-id@with-leading-space"
	expectedAddress := mail.Address{
		Name:    "PERSONAL_NAME",
		Address: "MAILBOX_NAME@HOST_NAME",
	}
	expected := models.Envelope{
		Date:      date,
		Subject:   "Test Subject",
		From:      []*mail.Address{&expectedAddress},
		ReplyTo:   []*mail.Address{&expectedAddress},
		To:        []*mail.Address{&expectedAddress},
		Cc:        []*mail.Address{&expectedAddress},
		Bcc:       []*mail.Address{&expectedAddress},
		MessageId: expectedMessageID,
		InReplyTo: expectedMessageID,
	}
	assert.Equal(t, &expected, translateEnvelope(&given))
}