mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
[rackspace|monitoring] Adding working alarm tests
This commit is contained in:
parent
e829943f3e
commit
0c27b3fd28
1 changed files with 30 additions and 24 deletions
|
@ -1,47 +1,53 @@
|
||||||
Shindo.tests('Fog::Rackspace::Monitoring | check', ['rackspace','rackspace_monitoring']) do
|
Shindo.tests('Fog::Rackspace::Monitoring | alarm', ['rackspace','rackspace_monitoring']) do
|
||||||
service = Fog::Rackspace::Monitoring.new
|
service = Fog::Rackspace::Monitoring.new
|
||||||
|
|
||||||
|
tests('#alarm=') do
|
||||||
tests('#entity=') do
|
tests('should assign alarm id if object is a string') do
|
||||||
tests('should create new entity if object is a string') do
|
alarm = Fog::Rackspace::Monitoring::Alarm.new
|
||||||
check = Fog::Rackspace::Monitoring::Check.new
|
|
||||||
id = "123123"
|
id = "123123"
|
||||||
check.entity = "123123"
|
alarm.id = "123123"
|
||||||
returns(Fog::Rackspace::Monitoring::Entity) { check.entity.class }
|
returns(Fog::Rackspace::Monitoring::Alarm) { alarm.class }
|
||||||
returns(id) { check.entity.id }
|
returns(id) { alarm.id }
|
||||||
end
|
end
|
||||||
tests('should set entity if object is an entity') do
|
tests('should set check if object is a check') do
|
||||||
id = "555"
|
entity_id = "555"
|
||||||
entity = Fog::Rackspace::Monitoring::Entity.new(:id => id)
|
entity = Fog::Rackspace::Monitoring::Entity.new(:id => entity_id)
|
||||||
check = Fog::Rackspace::Monitoring::Check.new
|
check_id = "54321"
|
||||||
|
check = Fog::Rackspace::Monitoring::Check.new(:id => check_id)
|
||||||
check.entity = entity
|
check.entity = entity
|
||||||
returns(Fog::Rackspace::Monitoring::Entity) { check.entity.class }
|
alarm = Fog::Rackspace::Monitoring::Alarm.new
|
||||||
returns(id) { check.entity.id }
|
alarm.check_id = check.id
|
||||||
|
|
||||||
|
returns(Fog::Rackspace::Monitoring::Alarm) { alarm.class }
|
||||||
|
returns(check_id) { alarm.check_id }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
begin
|
begin
|
||||||
@entity = service.entities.create :label => "fog_#{Time.now.to_i.to_s}"
|
@entity = service.entities.create :label => "fog_#{Time.now.to_i.to_s}"
|
||||||
|
@check = service.checks.create(CHECK_CREATE_OPTIONS.merge(
|
||||||
options = CHECK_CREATE_OPTIONS.merge(:label => "fog_#{Time.now.to_i.to_s}", :entity => @entity)
|
:label => "fog_#{Time.now.to_i.to_s}",
|
||||||
collection = service.checks(:entity => @entity)
|
:entity => @entity) )
|
||||||
|
np = "npTechnicalContactsEmail"
|
||||||
|
options = CHECK_CREATE_OPTIONS.merge(
|
||||||
|
:label => "fog_#{Time.now.to_i.to_s}",
|
||||||
|
:entity => @entity,
|
||||||
|
:entity_id => @entity.id,
|
||||||
|
:check => @check,
|
||||||
|
:check_id => @check.id,
|
||||||
|
:notification_plan_id => np
|
||||||
|
)
|
||||||
|
collection = service.alarms(:entity => @entity)
|
||||||
model_tests(collection, options, false) do
|
model_tests(collection, options, false) do
|
||||||
tests('#update').succeeds do
|
tests('#update').succeeds do
|
||||||
new_label = "new_label_#{Time.now.to_i.to_s}"
|
new_label = "new_label_#{Time.now.to_i.to_s}"
|
||||||
@instance.label = new_label
|
@instance.label = new_label
|
||||||
timeout = 2
|
|
||||||
@instance.timeout = 2
|
|
||||||
@instance.save
|
@instance.save
|
||||||
@instance.timeout = -1 # blank out timeout just to make sure
|
|
||||||
@instance.label = nil # blank out label just to make sure
|
@instance.label = nil # blank out label just to make sure
|
||||||
@instance.reload
|
@instance.reload
|
||||||
returns(timeout) { @instance.timeout }
|
|
||||||
returns(new_label) { @instance.label}
|
returns(new_label) { @instance.label}
|
||||||
end
|
end
|
||||||
|
|
||||||
tests('#metrics').succeeds do
|
|
||||||
@instance.metrics
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
ensure
|
ensure
|
||||||
@entity.destroy unless @entity
|
@entity.destroy unless @entity
|
||||||
|
|
Loading…
Add table
Reference in a new issue