]> gitweb.michael.orlitzky.com - mailshears.git/blobdiff - test/test_rm.rb
Change the description at the top of the executable.
[mailshears.git] / test / test_rm.rb
index 09ebe2e37c4faefcb5ff68932c92883b6ab6fad8..210ca5daa8cfb2485a1bed7a9ec8d00d415d12f0 100644 (file)
@@ -10,7 +10,7 @@ require 'rm/plugins/dovecot'
 require 'rm/plugins/postfixadmin'
 require 'rm/plugins/roundcube'
 require 'rm/rm_runner'
-require 'rm/rm_dummy_runner'
+
 
 class TestRm < MailshearsTest
 
@@ -26,14 +26,13 @@ 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)
 
@@ -41,12 +40,12 @@ class TestRm < MailshearsTest
 
     arm = AgendavRm.new(cfg)
     actual = arm.list_users()
-    expected = []
+    expected = [User.new('booger@example.com')]
     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)
@@ -63,18 +62,21 @@ class TestRm < MailshearsTest
 
     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.
@@ -97,12 +99,11 @@ class TestRm < MailshearsTest
 
     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"
 
@@ -112,12 +113,12 @@ class TestRm < MailshearsTest
 
     arm = AgendavRm.new(cfg)
     actual = arm.list_users()
-    expected = []
+    expected = [User.new('booger@example.com')]
     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)
@@ -132,14 +133,15 @@ class TestRm < MailshearsTest
 
     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.