diff --git a/tests/rackspace/models/monitoring/alarm_example_tests.rb b/tests/rackspace/models/monitoring/alarm_example_tests.rb new file mode 100644 index 000000000..a20394617 --- /dev/null +++ b/tests/rackspace/models/monitoring/alarm_example_tests.rb @@ -0,0 +1,48 @@ +Shindo.tests('Fog::Rackspace::Monitoring | alarm_example', ['rackspace','rackspacemonitoring']) do + service = Fog::Rackspace::Monitoring.new + + tests('#entity=') do + tests('should create new entity if object is a string') do + check = Fog::Rackspace::Monitoring::Check.new + id = "123123" + check.entity = "123123" + returns(Fog::Rackspace::Monitoring::Entity) { check.entity.class } + returns(id) { check.entity.id } + end + tests('should set entity if object is an entity') do + id = "555" + entity = Fog::Rackspace::Monitoring::Entity.new(:id => id) + check = Fog::Rackspace::Monitoring::Check.new + check.entity = entity + returns(Fog::Rackspace::Monitoring::Entity) { check.entity.class } + returns(id) { check.entity.id } + end + end + + begin + @entity = service.entities.create :label => "fog_#{Time.now.to_i.to_s}" + + options = CHECK_CREATE_OPTIONS.merge(:label => "fog_#{Time.now.to_i.to_s}", :entity => @entity) + collection = service.checks(:entity => @entity) + model_tests(collection, options, false) do + tests('#update').succeeds do + new_label = "new_label_#{Time.now.to_i.to_s}" + @instance.label = new_label + timeout = 2 + @instance.timeout = 2 + @instance.save + @instance.timeout = -1 # blank out timeout just to make sure + @instance.label = nil # blank out label just to make sure + @instance.reload + returns(timeout) { @instance.timeout } + returns(new_label) { @instance.label} + end + + tests('#metrics').succeeds do + @instance.metrics + end + end + ensure + @entity.destroy unless @entity + end +end