From 5eeefe93cb9bcf8b26a0c40bf8307251073ab860 Mon Sep 17 00:00:00 2001 From: tylercloke Date: Mon, 8 Jul 2013 15:37:52 -0700 Subject: Change error description sections elements to be hashes. It is much easier for erlang to validate the json that chef-client sends up if exception_data.description.sections is of structure: [{"str1" => "value1"}, ... ] As opposed to current structure of: [["str1", "value1"], ... ] This change was achieved by updating error_description.rb. I also updated relevant test. --- lib/chef/formatters/error_descriptor.rb | 9 +++++---- spec/unit/resource_reporter_spec.rb | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/chef/formatters/error_descriptor.rb b/lib/chef/formatters/error_descriptor.rb index abf10076be..3f0756df73 100644 --- a/lib/chef/formatters/error_descriptor.rb +++ b/lib/chef/formatters/error_descriptor.rb @@ -31,7 +31,7 @@ class Chef end def section(heading, text) - @sections << [heading, text] + @sections << {heading => text} end def display(out) @@ -40,7 +40,9 @@ class Chef out.puts "=" * 80 out.puts "\n" sections.each do |section| - display_section(section, out) + section.each do |heading, text| + display_section(heading, text, out) + end end end @@ -53,8 +55,7 @@ class Chef private - def display_section(section, out) - heading, text = section + def display_section(heading, text, out) out.puts heading out.puts "-" * heading.size out.puts text diff --git a/spec/unit/resource_reporter_spec.rb b/spec/unit/resource_reporter_spec.rb index c4a1de9f13..715b724be8 100644 --- a/spec/unit/resource_reporter_spec.rb +++ b/spec/unit/resource_reporter_spec.rb @@ -408,7 +408,7 @@ describe Chef::ResourceReporter do it "includes the error inspector output in the event data" do @report["data"]["exception"].should have_key("description") - @report["data"]["exception"]["description"].should include({"title"=>"Error expanding the run_list:", "sections"=>[["Unexpected Error:", "RSpec::Mocks::Mock: Object not found"]]}) + @report["data"]["exception"]["description"].should include({"title"=>"Error expanding the run_list:", "sections"=>[{"Unexpected Error:" => "RSpec::Mocks::Mock: Object not found"}]}) end end -- cgit v1.2.1