package imapclient_test import ( "testing" "github.com/emersion/go-imap/v2" ) func TestStore(t *testing.T) { client, server := newClientServerPair(t, imap.ConnStateSelected) defer client.Close() defer server.Close() seqSet := imap.SeqSetNum(1) storeFlags := imap.StoreFlags{ Op: imap.StoreFlagsAdd, Flags: []imap.Flag{imap.FlagDeleted}, } msgs, err := client.Store(seqSet, &storeFlags, nil).Collect() if err != nil { t.Fatalf("Store().Collect() = %v", err) } else if len(msgs) != 1 { t.Fatalf("len(msgs) = %v, want %v", len(msgs), 1) } msg := msgs[0] if msg.SeqNum != 1 { t.Errorf("msg.SeqNum = %v, want %v", msg.SeqNum, 1) } found := false for _, f := range msg.Flags { if f == imap.FlagDeleted { found = true break } } if !found { t.Errorf("msg.Flags is missing deleted flag: %v", msg.Flags) } }