1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/rackspace/requests/monitor_tests.rb
2011-07-28 14:37:21 -04:00

44 lines
1.5 KiB
Ruby

Shindo.tests('Fog::Rackspace::LoadBalancer | monitor', ['rackspace']) do
given_a_load_balancer_service do
given_a_load_balancer do
tests('success') do
@lb.wait_for { ready? }
tests("#get_monitor(#{@lb.id})").formats(HEALTH_MONITOR_FORMAT) do
@service.get_monitor(@lb.id).body
end
@lb.wait_for { ready? }
tests("#set_monitor(#{@lb.id}, 'CONNECT', 5, 5, 5)").succeeds do
@service.set_monitor(@lb.id, 'CONNECT', 5, 5, 5)
end
@lb.wait_for { ready? }
tests("#set_monitor(#{@lb.id}, 'HTTP', 5, 5, 5, :path => '/', :body_regex => '^200$', :status_regex => '^2[0-9][0-9]$')").succeeds do
@service.set_monitor(@lb.id, 'HTTP', 5, 5, 5, :path => '/', :body_regex => '^200$', :status_regex => '2[0-9][0-9]$')
end
@lb.wait_for { ready? }
tests("#get_monitor(#{@lb.id})").formats(HEALTH_MONITOR_FORMAT) do
@service.get_monitor(@lb.id).body
end
@lb.wait_for { ready? }
tests("#remove_monitor()").succeeds do
@service.remove_monitor(@lb.id)
end
end
tests('failure') do
tests("#set_monitor(#{@lb.id}, 'HTP', 5, 5, 5, 5)").raises(Fog::Rackspace::LoadBalancer::BadRequest) do
@service.set_monitor(@lb.id, 5, 5, 5, 5)
end
tests("#remove_monitor(#{@lb.id}) => No Monitor").raises(Fog::Rackspace::LoadBalancer::ServiceError) do
@service.remove_monitor(@lb.id)
end
end
end
end
end