mirror of
https://github.com/mjl-/mox.git
synced 2024-12-25 16:03:48 +03:00
bcf737cbec
it needs at least 1 attribute. also make types for those attributes, so its harder to get them wrong. nothing was using this function.
54 lines
1.9 KiB
Go
54 lines
1.9 KiB
Go
package imapserver
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/mjl-/mox/imapclient"
|
|
)
|
|
|
|
func TestQuota1(t *testing.T) {
|
|
tc := start(t)
|
|
defer tc.close()
|
|
|
|
tc.client.Login("mjl@mox.example", password0)
|
|
|
|
// We don't implement setquota.
|
|
tc.transactf("bad", `setquota "" (STORAGE 123)`)
|
|
|
|
tc.transactf("bad", "getquotaroot") // Missing param.
|
|
tc.transactf("bad", "getquotaroot inbox bogus") // Too many params.
|
|
|
|
tc.transactf("bad", "getquota") // Missing param.
|
|
tc.transactf("bad", "getquota a b") // Too many params.
|
|
|
|
// tc does not have a limit.
|
|
tc.transactf("ok", "getquotaroot inbox")
|
|
tc.xuntagged(imapclient.UntaggedQuotaroot([]string{""}))
|
|
|
|
tc.transactf("no", "getquota bogusroot")
|
|
tc.transactf("ok", `getquota ""`)
|
|
tc.xuntagged()
|
|
|
|
// Check that we get a DELETED-STORAGE status attribute with value 0, also if
|
|
// messages are marked deleted. We don't go through the trouble.
|
|
tc.transactf("ok", "status inbox (DELETED-STORAGE)")
|
|
tc.xuntagged(imapclient.UntaggedStatus{Mailbox: "Inbox", Attrs: map[imapclient.StatusAttr]int64{imapclient.StatusDeletedStorage: 0}})
|
|
|
|
// tclimit does have a limit.
|
|
tclimit := startArgs(t, false, false, true, true, "limit")
|
|
defer tclimit.close()
|
|
|
|
tclimit.client.Login("limit@mox.example", password0)
|
|
|
|
tclimit.transactf("ok", "getquotaroot inbox")
|
|
tclimit.xuntagged(
|
|
imapclient.UntaggedQuotaroot([]string{""}),
|
|
imapclient.UntaggedQuota{Root: "", Resources: []imapclient.QuotaResource{{Name: imapclient.QuotaResourceStorage, Usage: 0, Limit: 1}}},
|
|
)
|
|
|
|
tclimit.transactf("ok", `getquota ""`)
|
|
tclimit.xuntagged(imapclient.UntaggedQuota{Root: "", Resources: []imapclient.QuotaResource{{Name: imapclient.QuotaResourceStorage, Usage: 0, Limit: 1}}})
|
|
|
|
tclimit.transactf("ok", "status inbox (DELETED-STORAGE)")
|
|
tclimit.xuntagged(imapclient.UntaggedStatus{Mailbox: "Inbox", Attrs: map[imapclient.StatusAttr]int64{imapclient.StatusDeletedStorage: 0}})
|
|
}
|