X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=test%2Fmailshears_test.rb;h=e46ca11ff4d144c8324030ec170efffe5d87ae17;hp=b4ba814f014e2dd83919f07200ac04dc1804fd18;hb=a2d3dd9ee4838fb99557718b4bcdc11c8d1372fd;hpb=342327326fc5203b34435a7291f5528f214c1717 diff --git a/test/mailshears_test.rb b/test/mailshears_test.rb index b4ba814..e46ca11 100644 --- a/test/mailshears_test.rb +++ b/test/mailshears_test.rb @@ -32,13 +32,8 @@ class MailshearsTest < MiniTest::Unit::TestCase db_user = 'postgres' db_pass = nil - connection = PGconn.connect(db_host, - db_port, - db_opts, - db_tty, - db_name, - db_user, - db_pass) + connection = PG::Connection.new(db_host, db_port, db_opts, db_tty, + db_name, db_user, db_pass) return connection end @@ -143,21 +138,24 @@ class MailshearsTest < MiniTest::Unit::TestCase # +-------------------+-------------+------------+ # # - # +------------------------------------------------------+ - # | alias | - # +-------------------+-------------------+--------------+ - # | address | goto | domain | - # +-------------------+-------------------+--------------+ - # | alice@example.com | alice@example.com | example.com | - # +-------------------+-------------------+--------------+ - # | bob@example.com | bob@example.com | example.com | - # +-------------------+-------------------+--------------+ - # | adam@example.net | adam@example.net | example.net | - # +-------------------+-------------------+--------------+ - # | beth@example.net | beth@example.net | example.net | - # +-------------------+-------------------+--------------+ - # | carol@example.net | carol@example.net | example.net | - # +-------------------+-------------------+--------------+ + # +-------------------------------------------------------+ + # | alias | + # +-------------------+--------------------+--------------+ + # | address | goto | domain | + # +-------------------+--------------------+--------------+ + # | alice@example.com | alice@example.com, | example.com | + # | | adam@example.net, | | + # | | bob@example.com, | | + # | | carol@example.net | | + # +-------------------+--------------------+--------------+ + # | bob@example.com | bob@example.com | example.com | + # +-------------------+--------------------+--------------+ + # | adam@example.net | adam@example.net | example.net | + # +-------------------+--------------------+--------------+ + # | beth@example.net | beth@example.net | example.net | + # +-------------------+--------------------+--------------+ + # | carol@example.net | carol@example.net | example.net | + # +-------------------+--------------------+--------------+ # # # +---------------------------------+ @@ -183,6 +181,10 @@ class MailshearsTest < MiniTest::Unit::TestCase # | 3 | adam@example.net | # +---------+--------------------+ + # First make sure we get rid of everything so we don't get random + # failures from databases and directories that already exist. + teardown() + cfg = configuration() # First create the "mail directories". @@ -207,13 +209,10 @@ class MailshearsTest < MiniTest::Unit::TestCase plugin_dbuser = cfg.send("#{plugin}_dbuser") plugin_dbpass = cfg.send("#{plugin}_dbpass") - plugin_conn = PGconn.connect(plugin_dbhost, - plugin_dbport, - plugin_dbopts, - plugin_dbtty, - plugin_dbname, - plugin_dbuser, - plugin_dbpass) + plugin_conn = PG::Connection.new(plugin_dbhost, plugin_dbport, + plugin_dbopts, plugin_dbtty, + plugin_dbname, plugin_dbuser, + plugin_dbpass) sql = File.open("test/sql/#{plugin}.sql").read() plugin_conn.query(sql) @@ -231,17 +230,21 @@ class MailshearsTest < MiniTest::Unit::TestCase cfg = configuration() connection = connect_superuser() + # Don't emit notices about missing tables. Why this happens when I + # explicitly say IF EXISTS is beyond me. + connection.set_notice_processor{} + cfg.plugins.each do |plugin| plugin_dbname = cfg.send("#{plugin}_dbname") next if plugin_dbname.nil? # Skip the dovecot plugin - query = "DROP DATABASE #{plugin_dbname};" + query = "DROP DATABASE IF EXISTS #{plugin_dbname};" connection.query(query) end connection.close() # Get rid of the maildirs. - FileUtils.rm_r(cfg.dovecot_mail_root()) + FileUtils.rm_rf(cfg.dovecot_mail_root()) end end