From c586d6fe23b9fe7fe8fe54111bcb22c73c820a67 Mon Sep 17 00:00:00 2001 From: Josh Barker Date: Sat, 16 Jun 2018 21:02:42 +1000 Subject: [PATCH] Fix missing_method deprecation from Cheffish::MergedConfig --- .../provisioning/vsphere_driver/driver.rb | 3 +- spec/unit_tests/VsphereDriver_spec.rb | 38 +++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/lib/chef/provisioning/vsphere_driver/driver.rb b/lib/chef/provisioning/vsphere_driver/driver.rb index abfd4cb..b45458e 100644 --- a/lib/chef/provisioning/vsphere_driver/driver.rb +++ b/lib/chef/provisioning/vsphere_driver/driver.rb @@ -56,7 +56,8 @@ def self.symbolize_keys(h) # # @param [Object] hash_like converts to key:value def deep_symbolize(hash_like) - return {} if hash_like.nil? || hash_like.empty? + return {} if hash_like.nil? + r = {} hash_like.each do |key, value| value = deep_symbolize(value) if value.respond_to?(:values) diff --git a/spec/unit_tests/VsphereDriver_spec.rb b/spec/unit_tests/VsphereDriver_spec.rb index 1e86d16..f73d7a7 100644 --- a/spec/unit_tests/VsphereDriver_spec.rb +++ b/spec/unit_tests/VsphereDriver_spec.rb @@ -220,4 +220,42 @@ end end end + + context "#merge_options!" do + let(:metal_config) { {} } + + it "Add tupple with string key" do + subject.merge_options! "string_key" => "some string" + expect(subject.config).to eq machine_options: { + string_key: "some string", + } + end + + it "Add tupple with symbol key" do + subject.merge_options! symbol_key: "some other string" + expect(subject.config).to eq machine_options: { + symbol_key: "some other string", + } + end + + it "Add empty MergedConfig" do + expect($stderr).not_to receive(:puts) + + item = Cheffish::MergedConfig.new() + subject.merge_options! item + + expect(subject.config).to eq machine_options: {} + end + + it "Add MergedConfig with 1 tupple" do + expect($stderr).not_to receive(:puts) + + item = Cheffish::MergedConfig.new(merged_config: "some merged value") + subject.merge_options! item + + expect(subject.config).to eq machine_options: { + merged_config: "some merged value", + } + end + end end