require 'common/domain'
require 'common/user'
require 'mailshears_test'
-require 'minitest/autorun'
-require 'prune/plugins/agendav'
require 'prune/plugins/davical'
require 'prune/plugins/dovecot'
require 'prune/plugins/postfixadmin'
# Both of our tests have the same expected output / results, so
# check them both using the same function.
expected =
- "AgendavPrune - Removed user booger@example.com.\n" +
"DavicalPrune - Removed user booger@example.com (Principal ID: 2).\n" +
"DovecotPrune - Removed user booger@example.com " +
"(#{cfg.dovecot_mail_root()}/example.com/booger).\n" +
# Now make sure the database has what we expect.
- apr = AgendavPrune.new(cfg)
- actual = apr.list_users()
- expected = [User.new('adam@example.net')]
- assert_equal(expected, actual)
-
dpr = DavicalPrune.new(cfg)
actual = dpr.list_users()
expected = [User.new('alice@example.com')]
assert_equal(expected, actual)
actual = pfapr.list_aliases()
- expected = [{'address' => 'alice@example.com',
- 'goto' => 'alice@example.com'},
- {'address' => 'bob@example.com',
- 'goto' => 'bob@example.com'},
- {'address' => 'adam@example.net',
- 'goto' => 'adam@example.net'},
+ expected = [{'address' => 'adam@example.net',
+ 'goto' => 'adam@example.net'},
+ {'address' => 'alice@example.com',
+ 'goto' => 'alice@example.com,' +
+ 'adam@example.net,' +
+ 'bob@example.com,' +
+ 'carol@example.net'},
{'address' => 'beth@example.net',
- 'goto' => 'beth@example.net'},
+ 'goto' => 'beth@example.net'},
+ {'address' => 'bob@example.com',
+ 'goto' => 'bob@example.com'},
{'address' => 'carol@example.net',
- 'goto' => 'carol@example.net'}]
- assert_equal(expected, actual)
+ 'goto' => 'carol@example.net'}]
+ expected.each { |e| assert(actual.include?(e)) } # can't sort dicts
+ actual.each { |a| assert(expected.include?(a)) } # can't sort dicts
rpr = RoundcubePrune.new(cfg)
actual = rpr.list_users()