]> gitweb.michael.orlitzky.com - mailshears.git/blobdiff - test/mailshears_test.rb
*/*: drop tty parameters.
[mailshears.git] / test / mailshears_test.rb
index 865bd4a18eefd72b071a45968a4ac90d10fc4ae8..22c634f43b643b41c3764f21ec79fbaf5bc1c186 100644 (file)
@@ -1,6 +1,14 @@
+# Without this, I get...
+#
+#   Warning: you should require 'minitest/autorun' instead.
+#   Warning: or add 'gem "minitest"' before 'require "minitest/autorun"'
+#
+# Whatever.
+gem 'minitest'
+require 'minitest/autorun'
+
 require 'common/configuration'
 require 'fileutils'
-require 'minitest/autorun'
 require 'pg'
 
 class MailshearsTest < MiniTest::Test
@@ -24,16 +32,15 @@ class MailshearsTest < MiniTest::Test
     # Connect to the database (specified in the test configuration) as
     # the superuser. Your local configuration is expected to be such
     # that this "just works."
-    db_host = 'localhost'
-    db_port = 5432
-    db_opts = nil
-    db_tty = nil
-    db_name = 'postgres'
-    db_user = 'postgres'
-    db_pass = nil
-
-    connection = PG::Connection.new(db_host, db_port, db_opts, db_tty,
-                                    db_name, db_user, db_pass)
+    db_hash = {
+      :host     => 'localhost',
+      :port     => 5432,
+      :options  => nil,
+      :dbname   => 'postgres',
+      :user     => 'postgres',
+      :password => nil
+    }
+    connection = PG::Connection.new(db_hash)
 
     return connection
   end
@@ -71,15 +78,15 @@ class MailshearsTest < MiniTest::Test
     #   +------------------  +---------+
     #
     #
-    #   +---------------------------------------------------------+
-    #   |                         shared                          |
-    #   +-----+--------------------+----------+-------------------+
-    #   | sid |     user_from      | calendar |    user_which     |
-    #   +-----+--------------------+----------+-------------------+
-    #   |   1 |  adam@example.net  | derp     | beth@example.net  |
-    #   +-----+--------------------+----------+-------------------+
-    #   |   2 | booger@example.com | derp     | carol@example.net |
-    #   +-----+--------------------+----------+-------------------+
+    #   +---------------------------------------------------------------------------------------------------------------------+
+    #   |                                                       shares                                                        |
+    #   +-----+-----------------------------------+---------------------------------------------------+-----------------------+
+    #   | sid |              owner                |                      calendar                     |          with         |
+    #   +-----+-----------------------------------+---------------------------------------------------+-----------------------+
+    #   |   1 | /caldav.php/adam%40example.net/   | /caldav.php/adam%40example.net/calendar-default   | /beth%40example.net/  |
+    #   +-----+-----------------------------------+---------------------------------------------------+-----------------------+
+    #   |   2 | /caldav.php/booger%40example.com/ | /caldav.php/booger%40example.com/calendar-default | /carol%40example.net/ |
+    #   +-----+-----------------------------------+---------------------------------------------------+-----------------------+
     #
     #
     # 2. davical_test
@@ -200,24 +207,23 @@ class MailshearsTest < MiniTest::Test
       plugin_dbname = cfg.send("#{plugin}_dbname")
       next if plugin_dbname.nil? # Skip the dovecot plugin
       query = "CREATE DATABASE #{plugin_dbname};"
-      connection.query(query)
+      connection.sync_exec(query)
 
-      plugin_dbhost = cfg.send("#{plugin}_dbhost")
-      plugin_dbport = cfg.send("#{plugin}_dbport")
-      plugin_dbopts = cfg.send("#{plugin}_dbopts")
-      plugin_dbtty  = cfg.send("#{plugin}_dbtty")
-      plugin_dbuser = cfg.send("#{plugin}_dbuser")
-      plugin_dbpass = cfg.send("#{plugin}_dbpass")
+      plugin_dbhash = {
+        :host     => cfg.send("#{plugin}_dbhost"),
+        :port     => cfg.send("#{plugin}_dbport"),
+        :options  => cfg.send("#{plugin}_dbopts"),
+        :dbname   => plugin_dbname,
+        :user     => cfg.send("#{plugin}_dbuser"),
+        :password => cfg.send("#{plugin}_dbpass")
+      }
 
-      plugin_conn = PG::Connection.new(plugin_dbhost, plugin_dbport,
-                                       plugin_dbopts, plugin_dbtty,
-                                       plugin_dbname, plugin_dbuser,
-                                       plugin_dbpass)
+      plugin_conn = PG::Connection.new(plugin_dbhash)
 
       sql = File.open("test/sql/#{plugin}.sql").read()
-      plugin_conn.query(sql)
+      plugin_conn.sync_exec(sql)
       sql = File.open("test/sql/#{plugin}-fixtures.sql").read()
-      plugin_conn.query(sql)
+      plugin_conn.sync_exec(sql)
       plugin_conn.close()
     end
 
@@ -238,7 +244,7 @@ class MailshearsTest < MiniTest::Test
       plugin_dbname = cfg.send("#{plugin}_dbname")
       next if plugin_dbname.nil? # Skip the dovecot plugin
       query = "DROP DATABASE IF EXISTS #{plugin_dbname};"
-      connection.query(query)
+      connection.sync_exec(query)
     end
 
     connection.close()