31 lines
825 B
Go
31 lines
825 B
Go
|
package uidlist_test
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
|
||
|
"ur.gs/crockery/internal/imap/uidlist"
|
||
|
)
|
||
|
|
||
|
func TestParseHeaderValid(t *testing.T) {
|
||
|
valid := " 3 V1275660208 Afortytwo N25022 G3085f01b7f11094c501100008c4a11c1 \r\n"
|
||
|
|
||
|
hdr, err := uidlist.ParseHeader(valid)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
assert.Equal(t, uint64(3), hdr.Version)
|
||
|
assert.Equal(t, uint64(1275660208), hdr.UIDValidity)
|
||
|
assert.Equal(t, uint64(25022), hdr.NextUID)
|
||
|
assert.Equal(t, "3085f01b7f11094c501100008c4a11c1", hdr.GUID)
|
||
|
assert.Equal(t, map[string][]string{"A": []string{"fortytwo"}}, hdr.Extra)
|
||
|
}
|
||
|
|
||
|
func TestParseHeaderEmpty(t *testing.T) {
|
||
|
hdr, err := uidlist.ParseHeader("")
|
||
|
require.Error(t, err, errors.New("Short header"))
|
||
|
assert.Equal(t, uidlist.Header{}, hdr)
|
||
|
}
|