37 lines
862 B
Go
37 lines
862 B
Go
package imapclient_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/emersion/go-imap/v2"
|
|
)
|
|
|
|
func TestExpunge(t *testing.T) {
|
|
client, server := newClientServerPair(t, imap.ConnStateSelected)
|
|
defer client.Close()
|
|
defer server.Close()
|
|
|
|
seqNums, err := client.Expunge().Collect()
|
|
if err != nil {
|
|
t.Fatalf("Expunge() = %v", err)
|
|
} else if len(seqNums) != 0 {
|
|
t.Errorf("Expunge().Collect() = %v, want []", seqNums)
|
|
}
|
|
|
|
seqSet := imap.SeqSetNum(1)
|
|
storeFlags := imap.StoreFlags{
|
|
Op: imap.StoreFlagsAdd,
|
|
Flags: []imap.Flag{imap.FlagDeleted},
|
|
}
|
|
if err := client.Store(seqSet, &storeFlags, nil).Close(); err != nil {
|
|
t.Fatalf("Store() = %v", err)
|
|
}
|
|
|
|
seqNums, err = client.Expunge().Collect()
|
|
if err != nil {
|
|
t.Fatalf("Expunge() = %v", err)
|
|
} else if len(seqNums) != 1 || seqNums[0] != 1 {
|
|
t.Errorf("Expunge().Collect() = %v, want [1]", seqNums)
|
|
}
|
|
}
|