Skip to content

Commit d71ab6a

Browse files
authored
Fix actual_lrps_by_processes function (#4870)
* check for empty processes and don't call the Diego backend (would result in process_guids must not be empty error)
1 parent e353088 commit d71ab6a

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

lib/cloud_controller/diego/bbs_instances_client.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ def lrp_instances(process)
2121
end
2222

2323
def actual_lrps_by_processes(processes)
24+
return [] if processes.empty?
25+
2426
process_guids = processes.map { |process| ProcessGuid.from_process(process) }
2527
logger.info('actual.lrps.by.processes.request', process_guids:)
2628

spec/unit/lib/cloud_controller/diego/bbs_instances_client_spec.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,16 @@ module VCAP::CloudController::Diego
6262
expect(bbs_client).to have_received(:actual_lrps_by_process_guids).with(process_guids)
6363
end
6464

65+
context 'when the list of processes is empty' do
66+
let(:processes) { [] }
67+
let(:process_guids) { [] }
68+
69+
it 'returns an empty list and does not call diego' do
70+
expect(client.actual_lrps_by_processes(processes)).to eq([])
71+
expect(bbs_client).not_to have_received(:actual_lrps_by_process_guids)
72+
end
73+
end
74+
6575
context 'when a Diego error is thrown' do
6676
before do
6777
allow(bbs_client).to receive(:actual_lrps_by_process_guids).with(process_guids).and_raise(::Diego::Error.new('boom'))

0 commit comments

Comments
 (0)