mongo-ruby-driver/test/test_helper.rb

56 lines
1.1 KiB
Ruby
Raw Permalink Normal View History

$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'rubygems' if ENV['C_EXT']
2009-11-30 22:50:54 +00:00
require 'mongo'
require 'test/unit'
begin
require 'rubygems'
2010-02-22 20:49:04 +00:00
require 'shoulda'
require 'mocha'
rescue LoadError
puts <<MSG
2010-02-22 20:49:04 +00:00
This test suite requires shoulda and mocha.
You can install them as follows:
gem install shoulda
gem install mocha
MSG
exit
end
2010-04-05 14:39:55 +00:00
require 'bson_ext/cbson' if ENV['C_EXT']
2010-04-05 19:48:35 +00:00
MONGO_TEST_DB = 'mongo-ruby-test'
class Test::Unit::TestCase
include Mongo
2010-04-05 14:39:55 +00:00
include BSON
2009-11-23 18:13:14 +00:00
# Generic code for rescuing connection failures and retrying operations.
# This could be combined with some timeout functionality.
def rescue_connection_failure
success = false
while !success
begin
yield
success = true
rescue Mongo::ConnectionFailure
puts "Rescuing"
sleep(1)
end
end
end
2010-05-04 20:00:05 +00:00
def assert_raise_error(klass, message)
begin
yield
rescue => e
assert_equal klass, e.class
assert e.message.include?(message), "#{e.message} does not include #{message}."
else
flunk "Expected assertion #{klass} but none was raised."
2010-05-04 20:00:05 +00:00
end
end
end