Add tests

pull/1127/head
Rick Carlino 2019-03-08 09:06:25 -06:00
parent cbeabeea2f
commit cc00c74361
2 changed files with 16 additions and 1 deletions

View File

@ -4,7 +4,9 @@ class SendNervesHubInfoJob < ApplicationJob
def perform(device_id:, serial_number:, tags:)
device = Device.find(device_id)
resp_data = NervesHub.maybe_create_or_update(serial_number, tags)
return unless resp_data # Probably has bad tags if nil
unless resp_data # Probably has bad tags if nil
return
end
certs = NervesHub.sign_device(resp_data.fetch(:identifier))
Transport.current.amqp_send(certs.to_json, device_id, "nerves_hub")
rescue => error

View File

@ -19,4 +19,17 @@ describe SendNervesHubInfoJob do
end.to raise_error(params.fetch(:error))
ActiveJob::Base.logger = old_logger
end
it "returns early if create/update is nil" do
params = { device_id: device.id,
serial_number: "xyz",
tags: [],
error: StandardError.new("Hello!") }
return_nil = receive(:maybe_create_or_update)
.with(any_args)
.and_return(nil)
expect(NervesHub).to return_nil
expect(NervesHub).not_to receive(:sign_device)
SendNervesHubInfoJob.perform_now(**params.except(:error))
end
end