6 "github.com/mjl-/mox/imapclient"
9func TestUnsubscribe(t *testing.T) {
13 tc2 := startNoSwitchboard(t, false)
14 defer tc2.closeNoWait()
16 tc.login("mjl@mox.example", password0)
17 tc2.login("mjl@mox.example", password0)
19 tc.transactf("bad", "unsubscribe") // Missing param.
20 tc.transactf("bad", "unsubscribe ") // Missing param.
21 tc.transactf("bad", "unsubscribe fine ") // Leftover data.
23 tc.transactf("no", "unsubscribe a/b") // Does not exist and is not subscribed.
24 tc.transactf("ok", "unsubscribe expungebox") // Does not exist anymore but is still subscribed.
25 tc.transactf("no", "unsubscribe expungebox") // Not subscribed.
26 tc2.transactf("ok", "noop")
27 tc2.xuntagged(imapclient.UntaggedList{Flags: []string{`\NonExistent`}, Separator: '/', Mailbox: "expungebox"})
29 tc.transactf("ok", "create a/b")
30 tc2.transactf("ok", "noop")
31 tc.transactf("ok", "unsubscribe a/b")
32 tc.transactf("ok", "unsubscribe a/b") // Can unsubscribe even if there is no subscription.
33 tc2.transactf("ok", "noop")
34 tc2.xuntagged(imapclient.UntaggedList{Flags: []string(nil), Separator: '/', Mailbox: "a/b"})
36 tc.transactf("ok", "subscribe a/b")
37 tc.transactf("ok", "unsubscribe a/b")