]> gitweb.michael.orlitzky.com - mailshears.git/blobdiff - test/test_rm.rb
mailshears.gemspec: bump to v0.0.4, update pg library to v1.2.x.
[mailshears.git] / test / test_rm.rb
index 1d424619b76561c054ccd34f86679ab672d19036..02de53d08f5a3b95f18875196f05ef73d7049d10 100644 (file)
@@ -3,7 +3,6 @@
 require 'common/domain'
 require 'common/user'
 require 'mailshears_test'
-require 'minitest/autorun'
 require 'rm/plugins/agendav'
 require 'rm/plugins/davical'
 require 'rm/plugins/dovecot'
@@ -43,6 +42,13 @@ class TestRm < MailshearsTest
     expected = [User.new('booger@example.com')]
     assert_equal(expected, actual)
 
+    # Only try to remove this guy from the agendav database, to ensure
+    # that "nonexistent" users have their shares removed.
+    arm.remove_user('stinky@example.com')
+    expected = 2
+    actual = arm.count_shares()
+    assert_equal(expected, actual)
+
     drm = DavicalRm.new(cfg)
     actual = drm.list_users()
     expected = [User.new('alice@example.com'), User.new('booger@example.com')]
@@ -62,14 +68,17 @@ 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()
@@ -130,10 +139,11 @@ 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()