lib/beaker-puppet/helpers/facter_helpers.rb in beaker-puppet-1.1.0 vs lib/beaker-puppet/helpers/facter_helpers.rb in beaker-puppet-1.2.0

- old
+ new

@@ -35,14 +35,20 @@ # @!macro common_opts # # @return String The value of the fact 'name' on the provided host # @raise [FailTest] Raises an exception if call to facter fails def fact_on(host, name, opts = {}) + if opts.kind_of?(Hash) + opts.merge!({json: nil}) + else + opts << ' --json' + end + result = on host, facter(name, opts) if result.kind_of?(Array) - result.map { |res| res.stdout.chomp } + result.map { |res| JSON.parse(res.stdout)[name] } else - result.stdout.chomp + JSON.parse(result.stdout)[name] end end # Get a facter fact from the default host # @see #fact_on