Files
imap-copier/internal/imapx/messagekey_test.go
T

33 lines
739 B
Go

package imapx
import (
"testing"
"time"
"github.com/emersion/go-imap/v2"
)
func TestMessageKeyPrefersMessageID(t *testing.T) {
env := &imap.Envelope{MessageID: "<abc@host>"}
if got := MessageKey(env, 100); got != "<abc@host>" {
t.Fatalf("got %q, want <abc@host>", got)
}
}
func TestMessageKeyFallbackStable(t *testing.T) {
env := &imap.Envelope{
Subject: "Hi",
Date: time.Unix(1700000000, 0).UTC(),
From: []imap.Address{{Mailbox: "a", Host: "x.com"}},
To: []imap.Address{{Mailbox: "b", Host: "y.com"}},
}
k1 := MessageKey(env, 42)
k2 := MessageKey(env, 42)
if k1 != k2 {
t.Fatal("fallback key must be deterministic")
}
if MessageKey(env, 43) == k1 {
t.Fatal("different size must change key")
}
}