X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=test%2Ftest_rm.rb;h=02de53d08f5a3b95f18875196f05ef73d7049d10;hp=fbb14f9dbc0b68eca3f452d77e5f18b974a1ded8;hb=8c8de47c1e648b175032e88facf27c26a8e2e7d5;hpb=c3d89b5da74b7f9eadd89242150b4d7c3b758212 diff --git a/test/test_rm.rb b/test/test_rm.rb index fbb14f9..02de53d 100644 --- a/test/test_rm.rb +++ b/test/test_rm.rb @@ -3,14 +3,13 @@ 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 @@ -32,7 +31,7 @@ class TestRm < MailshearsTest "DovecotRm - Removed user adam@example.net " + "(#{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) @@ -40,12 +39,19 @@ class TestRm < MailshearsTest arm = AgendavRm.new(cfg) actual = arm.list_users() - expected = [] + 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')] + expected = [User.new('alice@example.com'), User.new('booger@example.com')] assert_equal(expected, actual) pfarm = PostfixadminRm.new(cfg) @@ -62,18 +68,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. @@ -110,12 +119,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) @@ -130,14 +139,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.