require 'common/domain'
require 'common/user'
require 'mailshears_test'
-require 'minitest/autorun'
-require 'rm/plugins/agendav'
require 'rm/plugins/davical'
require 'rm/plugins/dovecot'
require 'rm/plugins/postfixadmin'
require 'rm/plugins/roundcube'
require 'rm/rm_runner'
-require 'rm/rm_dummy_runner'
+
class TestRm < MailshearsTest
actual = output_buffer.string()
- mail_root = cfg.send('mail_root')
expected =
- "AgendavRm - Removed user adam@example.net.\n" +
"DavicalRm - User adam@example.net not found.\n" +
"DovecotRm - Removed user adam@example.net " +
- "(#{mail_root}/example.net/adam).\n" +
+ "(#{cfg.dovecot_mail_root}/example.net/adam).\n" +
"PostfixadminRm - Removed user adam@example.net.\n" +
- "RoundcubeRm - Removed user adam@example.net (User ID: 2).\n"
+ "RoundcubeRm - Removed user adam@example.net (User ID: 3).\n"
assert_equal(expected, actual)
# Now make sure the database has what we expect.
- arm = AgendavRm.new(cfg)
- actual = arm.list_users()
- expected = []
- assert_equal(expected, actual)
-
drm = DavicalRm.new(cfg)
actual = drm.list_users()
- expected = [User.new('alice@example.com')]
+ expected = [User.new('alice@example.com'), User.new('booger@example.com')]
assert_equal(expected, actual)
pfarm = PostfixadminRm.new(cfg)
actual = pfarm.list_aliases()
expected = [{'address' => 'alice@example.com',
- 'goto' => 'alice@example.com'},
- {'address' => 'bob@example.com',
- 'goto' => 'bob@example.com'},
+ 'goto' => 'alice@example.com,' +
+ '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
rrm = RoundcubeRm.new(cfg)
actual = rrm.list_users()
- expected = [User.new('alice@example.com')]
+ expected = [User.new('alice@example.com'), User.new('booger@example.com')]
assert_equal(expected, actual)
# Check that adam's directory is gone but that the rest remain.
actual = output_buffer.string()
- mail_root = cfg.send('mail_root')
expected =
- "AgendavRm - Removed domain example.net.\n" +
"DavicalRm - Domain example.net not found.\n" +
"DovecotRm - Removed domain example.net " +
- "(#{mail_root}/example.net).\n" +
+ "(#{cfg.dovecot_mail_root}/example.net).\n" +
"PostfixadminRm - Removed domain example.net.\n" +
"RoundcubeRm - Removed domain example.net.\n"
# Now make sure the database has what we expect.
- arm = AgendavRm.new(cfg)
- actual = arm.list_users()
- expected = []
- assert_equal(expected, actual)
-
drm = DavicalRm.new(cfg)
actual = drm.list_users()
- expected = [User.new('alice@example.com')]
+ expected = [User.new('alice@example.com'), User.new('booger@example.com')]
assert_equal(expected, actual)
pfarm = PostfixadminRm.new(cfg)
actual = pfarm.list_aliases()
expected = [{'address' => 'alice@example.com',
- 'goto' => 'alice@example.com'},
+ 'goto' => 'alice@example.com,bob@example.com'},
{'address' => 'bob@example.com',
- 'goto' => 'bob@example.com'}]
- assert_equal(expected, actual)
+ 'goto' => 'bob@example.com'}]
+ expected.each { |e| assert(actual.include?(e)) } # can't sort dicts
+ actual.each { |a| assert(expected.include?(a)) } # can't sort dicts
rrm = RoundcubeRm.new(cfg)
actual = rrm.list_users()
- expected = [User.new('alice@example.com')]
+ expected = [User.new('alice@example.com'), User.new('booger@example.com')]
assert_equal(expected, actual)
# Check that example.net's directory is gone but that the rest remain.