Add tests
parent
cbeabeea2f
commit
cc00c74361
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue