+# 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
# 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
#
# == Databases ==
#
- # 1. agendav_test
- #
- # +------------------------------+
- # | 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 |
- # +-----+--------------------+----------+-------------------+
- # | 2 | booger@example.com | derp | carol@example.net |
- # +-----+--------------------+----------+-------------------+
- #
- #
- # 2. davical_test
+ # 1. davical_test
#
# +--------------------------------------------------------+
# | usr |
# +---------+--------------+----------------+
#
#
- # 3. postfixadmin_test
+ # 2. postfixadmin_test
#
# +-------------+
# | domain |
# | admin@example.com | example.net |
# +-------------------+-------------+
#
- # 4. roundcube_test
+ # 3. roundcube_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
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()