diff --git a/lib/miq_automation_engine/engine/miq_ae_object.rb b/lib/miq_automation_engine/engine/miq_ae_object.rb index 53a18c7caf4..d620539481b 100644 --- a/lib/miq_automation_engine/engine/miq_ae_object.rb +++ b/lib/miq_automation_engine/engine/miq_ae_object.rb @@ -263,7 +263,7 @@ def process_args_array(args, args_key) # process Array::servers => MiqServer::2,MiqServer::3,MiqServer::4 key = args_key.split(CLASS_SEPARATOR).last value = args.delete(args_key) - args[key] = load_array_objects_from_string(value) + args[key.downcase] = load_array_objects_from_string(value) end def process_args_attribute(args, args_key) diff --git a/spec/lib/miq_automation_engine/miq_ae_object_spec.rb b/spec/lib/miq_automation_engine/miq_ae_object_spec.rb index 9b515fc0a3b..14838163dc7 100644 --- a/spec/lib/miq_automation_engine/miq_ae_object_spec.rb +++ b/spec/lib/miq_automation_engine/miq_ae_object_spec.rb @@ -74,6 +74,16 @@ def value_match(value, xml_value) expect(result["vms"].length).to eq(1) end + it "#process_args_as_attributes with mixed types and case insensitive" do + result = @miq_obj.process_args_as_attributes("Array::VMs" => "VmOrTemplate::#{@vm.id}", + "Name" => "fred") + expect(result["vms"]).to be_kind_of(Array) + expect(result["vms"].length).to eq(1) + expect(result["VMs"]).to be_nil + expect(result["name"]).to eq("fred") + expect(result["Name"]).to be_nil + end + it "#process_args_as_attributes with an array" do vm2 = FactoryGirl.create(:vm_vmware) result = @miq_obj.process_args_as_attributes({"Array::vms" => "VmOrTemplate::#{@vm.id},VmOrTemplate::#{vm2.id}"})