mirror of
https://github.com/Fishwaldo/huginn.git
synced 2025-03-17 12:21:31 +00:00
Add initial specs
This commit is contained in:
parent
d841b3e4b5
commit
b8604777b6
2 changed files with 59 additions and 0 deletions
53
spec/models/agents/mqtt_agent_spec.rb
Normal file
53
spec/models/agents/mqtt_agent_spec.rb
Normal file
|
@ -0,0 +1,53 @@
|
|||
require 'spec_helper'
|
||||
require 'mqtt'
|
||||
require './spec/support/fake_mqtt_server'
|
||||
|
||||
require 'pry'
|
||||
|
||||
describe Agents::MqttAgent do
|
||||
before :each do
|
||||
# stub_request(:get, /parse/).to_return(:body => File.read(Rails.root.join("spec/data_fixtures/adioso_parse.json")), :status => 200, :headers => {"Content-Type" => "text/json"})
|
||||
# stub_request(:get, /fares/).to_return(:body => File.read(Rails.root.join("spec/data_fixtures/adioso_fare.json")), :status => 200, :headers => {"Content-Type" => "text/json"})
|
||||
@error_log = StringIO.new
|
||||
@server = MQTT::FakeServer.new(1234, '127.0.0.1')
|
||||
@server.just_one = true
|
||||
@server.logger = Logger.new(@error_log)
|
||||
@server.logger.level = Logger::DEBUG
|
||||
@server.start
|
||||
|
||||
@valid_params = {
|
||||
'uri' => "mqtt://#{@server.address}:#{@server.port}",
|
||||
'topic' => '/#',
|
||||
'max_read_time' => 1
|
||||
}
|
||||
|
||||
@checker = Agents::MqttAgent.new(
|
||||
:name => "somename",
|
||||
:options => @valid_params,
|
||||
:schedule => "midnight",
|
||||
)
|
||||
@checker.user = users(:jane)
|
||||
@checker.save!
|
||||
end
|
||||
|
||||
after :each do
|
||||
@server.stop
|
||||
end
|
||||
|
||||
describe "#check" do
|
||||
it "should check that initial run creates an event" do
|
||||
expect { @checker.check }.to change { Event.count }.by(2)
|
||||
end
|
||||
end
|
||||
|
||||
describe "#working?" do
|
||||
it "checks if its generating events as scheduled" do
|
||||
@checker.should_not be_working
|
||||
@checker.check
|
||||
@checker.reload.should be_working
|
||||
three_days_from_now = 3.days.from_now
|
||||
stub(Time).now { three_days_from_now }
|
||||
@checker.should_not be_working
|
||||
end
|
||||
end
|
||||
end
|
|
@ -108,6 +108,12 @@ class MQTT::FakeServer
|
|||
:payload => "hello #{topic}",
|
||||
:retain => true
|
||||
)
|
||||
client.write MQTT::Packet::Publish.new(
|
||||
:topic => topic,
|
||||
:payload => "did you know about #{topic}",
|
||||
:retain => true
|
||||
)
|
||||
|
||||
when MQTT::Packet::Pingreq
|
||||
client.write MQTT::Packet::Pingresp.new
|
||||
@pings_received += 1
|
||||
|
|
Loading…
Add table
Reference in a new issue