1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- require 'spec_helper'
- describe Agents::GrowlAgent do
- before do
- @checker = Agents::GrowlAgent.new(:name => 'a growl agent',
- :options => { :growlserver => 'localhost',
- :growlappname => 'HuginnGrowlApp',
- :growlnotificationname => 'Notification',
- :expected_receive_period_in_days => '1' })
- @checker.user = users(:bob)
- @checker.save!
-
- class Agents::GrowlAgent
- def notify_growl(message,subject)
- end
- end
- @event = Event.new
- @event.agent = agents(:bob_weather_agent)
- @event.payload = { :subject => 'Weather Alert!', :message => 'Looks like its going to rain' }
- @event.save!
- end
- describe "#working?" do
- it "checks if events have been received within the expected receive period" do
- @checker.should_not be_working
- Agents::GrowlAgent.async_receive @checker.id, [@event.id]
- @checker.reload.should be_working
- two_days_from_now = 2.days.from_now
- stub(Time).now { two_days_from_now }
- @checker.reload.should_not be_working
- end
- end
- describe "validation" do
- before do
- @checker.should be_valid
- end
- it "should validate presence of of growlserver" do
- @checker.options[:growlserver] = ""
- @checker.should_not be_valid
- end
- it "should validate presence of expected_receive_period_in_days" do
- @checker.options[:expected_receive_period_in_days] = ""
- @checker.should_not be_valid
- end
- end
- end
|