Forked the emersion/go-imap v1 project.
This commit is contained in:
39
imapclient/fetch_test.go
Normal file
39
imapclient/fetch_test.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package imapclient_test
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/emersion/go-imap/v2"
|
||||
)
|
||||
|
||||
func TestFetch(t *testing.T) {
|
||||
client, server := newClientServerPair(t, imap.ConnStateSelected)
|
||||
defer client.Close()
|
||||
defer server.Close()
|
||||
|
||||
seqSet := imap.SeqSetNum(1)
|
||||
bodySection := &imap.FetchItemBodySection{}
|
||||
fetchOptions := &imap.FetchOptions{
|
||||
BodySection: []*imap.FetchItemBodySection{bodySection},
|
||||
}
|
||||
messages, err := client.Fetch(seqSet, fetchOptions).Collect()
|
||||
if err != nil {
|
||||
t.Fatalf("failed to fetch first message: %v", err)
|
||||
} else if len(messages) != 1 {
|
||||
t.Fatalf("len(messages) = %v, want 1", len(messages))
|
||||
}
|
||||
|
||||
msg := messages[0]
|
||||
if len(msg.BodySection) != 1 {
|
||||
t.Fatalf("len(msg.BodySection) = %v, want 1", len(msg.BodySection))
|
||||
}
|
||||
b := msg.FindBodySection(bodySection)
|
||||
if b == nil {
|
||||
t.Fatalf("FindBodySection() = nil")
|
||||
}
|
||||
body := strings.ReplaceAll(string(b), "\r\n", "\n")
|
||||
if body != simpleRawMessage {
|
||||
t.Errorf("body mismatch: got \n%v\n but want \n%v", body, simpleRawMessage)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user