Blackbox tests suite for go-imap server backends
MIT License
Blackbox tests for go-imap backends.
The main intention of suite is to test for basic RFC 3501 conformance. Tests are developed in parallel with go-imap-sql so they reflect its conformance.
You can disable some tests by setting Whitelist or Blacklist slices before calling RunTests.
If Whitelistis not nil, only tests that have name starting with any listed string will be run.
If Blacklistis not nil, tests that have name starting with any listed string will not be run. Blacklist is still checked if Whitelistis set.
Excluded tests will be skipped using testing/T.SkipNow function.
For strings, use full name of test, as printed by go test -v
, but unescaped.
As this suite reflects state of go-imap-sql implementation, it may not test for all requirements of IMAP specification. There are known ignored cases:
Tested backend must implement IMAPUsersDB interface.
Just call testsuite.RunTests(t, newBackend, closeBackend)
from your backend (or
backend_test
) package. Each invocation of newBackend callback should provide
clean instance of backend (e.g. with empty storage, etc). closeBackend will be
called for backend after usage. New instance is created for each test.