Add tests
parent
cbeabeea2f
commit
cc00c74361
|
@ -4,7 +4,9 @@ class SendNervesHubInfoJob < ApplicationJob
|
||||||
def perform(device_id:, serial_number:, tags:)
|
def perform(device_id:, serial_number:, tags:)
|
||||||
device = Device.find(device_id)
|
device = Device.find(device_id)
|
||||||
resp_data = NervesHub.maybe_create_or_update(serial_number, tags)
|
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))
|
certs = NervesHub.sign_device(resp_data.fetch(:identifier))
|
||||||
Transport.current.amqp_send(certs.to_json, device_id, "nerves_hub")
|
Transport.current.amqp_send(certs.to_json, device_id, "nerves_hub")
|
||||||
rescue => error
|
rescue => error
|
||||||
|
|
|
@ -19,4 +19,17 @@ describe SendNervesHubInfoJob do
|
||||||
end.to raise_error(params.fetch(:error))
|
end.to raise_error(params.fetch(:error))
|
||||||
ActiveJob::Base.logger = old_logger
|
ActiveJob::Base.logger = old_logger
|
||||||
end
|
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
|
end
|
||||||
|
|
Loading…
Reference in New Issue