X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=test%2Fmailshears_test.rb;h=8e80c063f0a3a07092996d2eab49f82d50db5d8d;hp=aea8dfcff8812d0802f55a3edfa16953f0c1b8b1;hb=a731b98f97194b8882c42d3c2b27de75f60d6b05;hpb=c3d89b5da74b7f9eadd89242150b4d7c3b758212 diff --git a/test/mailshears_test.rb b/test/mailshears_test.rb index aea8dfc..8e80c06 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 = PGconn.connect(db_host, db_port, db_opts, db_tty, + db_name, db_user, db_pass) return connection end @@ -65,33 +60,39 @@ class MailshearsTest < MiniTest::Unit::TestCase # # 1. agendav_test # - # +----------------------------+ - # | prefs | - # +------------------+---------+ - # | username | options | - # +------------------+---------+ - # | adam@example.net | herp | - # +------------------+---------+ + # +------------------------------+ + # | prefs | + # +--------------------+---------+ + # | username | options | + # +--------------------+---------+ + # | adam@example.net | herp | + # +--------------------+---------+ + # | booger@example.com | herp | + # +------------------ +---------+ # # - # +------------------------------------------------------+ - # | shared | - # +-----+------------------+----------+------------------+ - # | sid | user_from | calendar | user_which | - # +-----+------------------+----------+------------------+ - # | 1 | adam@example.net | derp | beth@example.net | - # +-----+------------------+----------+------------------+ + # +---------------------------------------------------------+ + # | shared | + # +-----+--------------------+----------+-------------------+ + # | sid | user_from | calendar | user_which | + # +-----+--------------------+----------+-------------------+ + # | 1 | adam@example.net | derp | beth@example.net | + # +-----+--------------------+----------+-------------------+ + # | 2 | booger@example.com | derp | carol@example.net | + # +-----+--------------------+----------+-------------------+ # # # 2. davical_test # - # +-------------------------------------------------------+ - # | usr | - # +---------+--------+----------------+-------------------+ - # | user_no | active | joined | username | - # +---------+--------+----------------+-------------------+ - # | 17 | t | 2014-01-04 ... | alice@example.com | - # +---------+--------+----------------+-------------------+ + # +--------------------------------------------------------+ + # | usr | + # +---------+--------+----------------+--------------------+ + # | user_no | active | joined | username | + # +---------+--------+----------------+--------------------+ + # | 17 | t | 2014-01-04 ... | alice@example.com | + # +---------+--------+----------------+--------------------+ + # | 18 | t | 2014-01-04 ... | booger@example.com | + # +---------+--------+----------------+--------------------+ # # # +-----------------------------------------+ @@ -101,6 +102,8 @@ class MailshearsTest < MiniTest::Unit::TestCase # +---------+--------------+----------------+ # | 17 | dumb setting | its dumb value | # +---------+--------------+----------------+ + # | 18 | dumb setting | its dumb value | + # +---------+--------------+----------------+ # # # 3. postfixadmin_test @@ -165,13 +168,19 @@ class MailshearsTest < MiniTest::Unit::TestCase # 4. roundcube_test # # - # +---------+-------------------+ - # | user_id | username | - # +---------+-------------------+ - # | 1 | alice@example.com | - # +---------+-------------------+ - # | 2 | adam@example.net | - # +---------+-------------------+ + # +---------+--------------------+ + # | user_id | username | + # +---------+--------------------+ + # | 1 | alice@example.com | + # +---------+--------------------+ + # | 2 | booger@example.com | + # +---------+--------------------+ + # | 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() @@ -197,12 +206,8 @@ 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_conn = PGconn.connect(plugin_dbhost, plugin_dbport, plugin_dbopts, + plugin_dbtty, plugin_dbname, plugin_dbuser, plugin_dbpass) sql = File.open("test/sql/#{plugin}.sql").read() @@ -221,17 +226,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