-
Notifications
You must be signed in to change notification settings - Fork 4
/
test_base.rb
50 lines (40 loc) · 1.08 KB
/
test_base.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
require 'rubygems'
require 'test/unit'
require 'yaml'
require 'uber_config'
unless Hash.instance_methods.include?(:default_proc=)
class Hash
def default_proc=(proc)
end
end
end
begin
require File.join(File.dirname(__FILE__), '../lib/iron_cache')
rescue Exception => ex
puts "Could NOT load current iron_cache: " + ex.message
raise ex
end
class TestBase < Test::Unit::TestCase
def setup
puts 'setup'
# check multiple config locations
@config = UberConfig.load
puts "config=" + @config.inspect
@client = IronCache::Client.new(@config['iron'])
@client.logger.level = Logger::DEBUG
@client.cache_name = 'iron_cache_ruby_tests'
end
def clear_cache(cache_name=nil)
cache_name ||= @client.cache_name
puts "clearing cache #{cache_name}"
cache = @client.cache(cache_name)
cache.clear
puts 'cleared.'
end
def assert_performance(time)
start_time = Time.now
yield
execution_time = Time.now - start_time
assert execution_time < time, "Execution time too big #{execution_time.round(2)}, should be #{time}"
end
end