summaryrefslogtreecommitdiff
path: root/test/support/integration_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/support/integration_test.rb')
-rw-r--r--test/support/integration_test.rb47
1 files changed, 45 insertions, 2 deletions
diff --git a/test/support/integration_test.rb b/test/support/integration_test.rb
index b28c0e1..117fc3f 100644
--- a/test/support/integration_test.rb
+++ b/test/support/integration_test.rb
@@ -1,6 +1,10 @@
module Tapicero
- class IntegrationTest < MiniTest::Unit::TestCase
+ class IntegrationTest < MiniTest::Test
+ #
+ # create a dummy record for the user
+ # so that tapicero will get a new user event
+ #
def create_user(fast = false)
result = database.save_doc :some => :content
raise RuntimeError.new(result.inspect) unless result['ok']
@@ -18,10 +22,12 @@ module Tapicero
def user_database
host.database(config.options[:db_prefix] + @user['_id'])
+ rescue RestClient::ResourceNotFound
+ puts 'failed to find per user db'
end
def database
- @database ||= host.database(database_name)
+ @database ||= host.database!(database_name)
end
def database_name
@@ -35,5 +41,42 @@ module Tapicero
def config
Tapicero.config
end
+
+ def assert_database_exists(db)
+ db.info
+ rescue RestClient::ResourceNotFound
+ assert false, "Database #{db} should exist."
+ end
+
+ def assert_tapicero_running
+ return if $tapicero_running
+ pid_file = '/tmp/tapicero.pid'
+ unless File.exists?(pid_file)
+ puts 'Tapicero must be running. Run `bin/tapicero run -- test/config.yaml`'
+ exit(1)
+ end
+ pid = File.read(pid_file).strip
+ if pid !~ /^\d+/
+ puts "Bad #{pid_file}: Remove the file and try again.";
+ exit(1)
+ else
+ pid = pid.to_i
+ end
+ begin
+ Process.kill(0, pid)
+ puts "OK, tapicero is running with process id #{pid}."
+ $tapicero_running = true
+ rescue Errno::EPERM
+ puts "Failed to test tapicero pid: No permission to query #{pid}!"
+ exit(1)
+ rescue Errno::ESRCH
+ puts "Bad #{pid_file}: #{pid} is NOT running. Remove the file and try again.";
+ exit(1)
+ rescue
+ puts "Unable to determine status for tapicero process #{pid} : #{$!}"
+ exit(1)
+ end
+ end
+
end
end