1package imapserver
2
3import (
4 "testing"
5)
6
7func TestUIDOnly(t *testing.T) {
8 tc := start(t, true)
9 defer tc.close()
10 tc.login("mjl@mox.example", password0)
11 tc.client.Select("inbox")
12
13 tc.transactf("bad", "Fetch 1")
14 tc.xcodeWord("UIDREQUIRED")
15 tc.transactf("bad", "Fetch 1")
16 tc.xcodeWord("UIDREQUIRED")
17 tc.transactf("bad", "Search 1")
18 tc.xcodeWord("UIDREQUIRED")
19 tc.transactf("bad", "Store 1 Flags ()")
20 tc.xcodeWord("UIDREQUIRED")
21 tc.transactf("bad", "Copy 1 Archive")
22 tc.xcodeWord("UIDREQUIRED")
23 tc.transactf("bad", "Move 1 Archive")
24 tc.xcodeWord("UIDREQUIRED")
25
26 // Sequence numbers in search program.
27 tc.transactf("bad", "Uid Search 1")
28 tc.xcodeWord("UIDREQUIRED")
29
30 // Sequence number in last qresync parameter.
31 tc.transactf("ok", "Enable Qresync")
32 tc.transactf("bad", "Select inbox (Qresync (1 5 (1,3,6 1,3,6)))")
33 tc.xcodeWord("UIDREQUIRED")
34 tc.client.Select("inbox") // Select again.
35
36 // Breaks connection.
37 tc.transactf("bad", "replace 1 inbox {1+}\r\nx")
38 tc.xcodeWord("UIDREQUIRED")
39}
40