spec/spec_helper.rb in ohai-8.5.1 vs spec/spec_helper.rb in ohai-8.6.0.alpha.0
- old
+ new
@@ -1,123 +1,127 @@
-require 'rspec'
-require 'rspec/collection_matchers'
-
-# require 'pry-debugger'
-# require 'pry-stack_explorer'
-
-$:.unshift(File.expand_path("../..", __FILE__))
-$:.unshift(File.dirname(__FILE__) + '/../lib')
-
-require 'spec/support/platform_helpers'
-require 'spec/support/integration_helper'
-require 'wmi-lite'
-require 'ohai'
-Ohai::Config[:log_level] = :error
-
-PLUGIN_PATH = File.expand_path("../../lib/ohai/plugins", __FILE__)
-SPEC_PLUGIN_PATH = File.expand_path("../data/plugins", __FILE__)
-
-RSpec.configure do |config|
- config.before(:each) { @object_pristine = Object.clone }
- config.after(:each) { remove_constants }
-end
-
-include Ohai::Mixin::ConstantHelper
-
-if Ohai::Mixin::OS.collect_os == /mswin|mingw32|windows/
- ENV["PATH"] = ""
-end
-
-def get_plugin(plugin, ohai = Ohai::System.new, path = PLUGIN_PATH)
- loader = Ohai::Loader.new(ohai)
- loader.load_plugin(File.join(path, "#{plugin}.rb"))
-end
-
-def convert_windows_output(stdout)
- stdout.gsub("\n", "\r\n")
-end
-
-def it_should_check_from(plugin, attribute, from, value)
- it "should set the #{attribute} to the value from '#{from}'" do
- @plugin.run
- expect(@plugin[attribute]).to eq(value)
- end
-end
-
-def it_should_check_from_mash(plugin, attribute, from, value)
- it "should get the #{plugin}[:#{attribute}] value from '#{from}'" do
- expect(@plugin).to receive(:shell_out).with(from).and_return(mock_shell_out(value[0], value[1], value[2]))
- @plugin.run
- end
-
- it "should set the #{plugin}[:#{attribute}] to the value from '#{from}'" do
- @plugin.run
- expect(@plugin[plugin][attribute]).to eq(value[1].split($/)[0])
- end
-end
-
-def mock_shell_out(exitstatus, stdout, stderr)
- shell_out = double("mixlib_shell_out")
- allow(shell_out).to receive(:exitstatus).and_return(exitstatus)
- allow(shell_out).to receive(:stdout).and_return(stdout)
- allow(shell_out).to receive(:stderr).and_return(stderr)
- shell_out
-end
-
-# the mash variable may be an array listing multiple levels of Mash hierarchy
-def it_should_check_from_deep_mash(plugin, mash, attribute, from, value)
- it "should get the #{mash.inspect}[:#{attribute}] value from '#{from}'" do
- expect(@plugin).to receive(:shell_out).with(from).and_return(mock_shell_out(value[0], value[1], value[2]))
- @plugin.run
- end
-
- it "should set the #{mash.inspect}[:#{attribute}] to the value from '#{from}'" do
- @plugin.run
- value = value[1].split($/)[0]
- if mash.is_a?(String)
- expect(@plugin[mash][attribute]).to eq(value)
- elsif mash.is_a?(Array)
- if mash.length == 2
- expect(@plugin[mash[0]][mash[1]][attribute]).to eq value
- elsif mash.length == 3
- expect(@plugin[mash[0]][mash[1]][mash[2]][attribute]).to eq value
- else
- return nil
- end
- else
- return nil
- end
- end
-end
-
-RSpec.configure do |config|
-
- # Not worth addressing warnings in Ohai until upstream ones in ffi-yajl are
- # fixed.
- # config.warnings = true
-
- config.raise_errors_for_deprecations!
-
- # `expect` should be preferred for new tests or when refactoring old tests,
- # but we're not going to do a "big bang" change at this time.
- config.expect_with :rspec do |c|
- c.syntax = :expect
- end
- config.mock_with :rspec do |c|
- c.syntax = :expect
- end
-
- config.filter_run :focus => true
-
- config.filter_run_excluding :windows_only => true unless windows?
- config.filter_run_excluding :unix_only => true unless unix?
- config.filter_run_excluding :ruby_18_only => true unless ruby_18?
- config.filter_run_excluding :ruby_19_only => true unless ruby_19?
- config.filter_run_excluding :requires_root => true unless ENV['USER'] == 'root'
- config.filter_run_excluding :requires_unprivileged_user => true if ENV['USER'] == 'root'
-
- config.run_all_when_everything_filtered = true
-
- config.before :each do
- Ohai::Config.reset
- end
-end
+require 'rspec'
+require 'rspec/collection_matchers'
+
+# require 'pry-debugger'
+# require 'pry-stack_explorer'
+
+$:.unshift(File.expand_path("../..", __FILE__))
+$:.unshift(File.dirname(__FILE__) + '/../lib')
+
+require 'spec/support/platform_helpers'
+require 'spec/support/integration_helper'
+require 'wmi-lite'
+require 'ohai'
+Ohai.config[:log_level] = :error
+
+PLUGIN_PATH = File.expand_path("../../lib/ohai/plugins", __FILE__)
+SPEC_PLUGIN_PATH = File.expand_path("../data/plugins", __FILE__)
+
+RSpec.configure do |config|
+ config.before(:each) { @object_pristine = Object.clone }
+ config.after(:each) { remove_constants }
+end
+
+include Ohai::Mixin::ConstantHelper
+
+if Ohai::Mixin::OS.collect_os == /mswin|mingw32|windows/
+ ENV["PATH"] = ""
+end
+
+def get_plugin(plugin, ohai = Ohai::System.new, path = PLUGIN_PATH)
+ loader = Ohai::Loader.new(ohai)
+ loader.load_plugin(File.join(path, "#{plugin}.rb"))
+end
+
+def convert_windows_output(stdout)
+ stdout.gsub("\n", "\r\n")
+end
+
+def it_should_check_from(plugin, attribute, from, value)
+ it "should set the #{attribute} to the value from '#{from}'" do
+ @plugin.run
+ expect(@plugin[attribute]).to eq(value)
+ end
+end
+
+def it_should_check_from_mash(plugin, attribute, from, value)
+ it "should get the #{plugin}[:#{attribute}] value from '#{from}'" do
+ expect(@plugin).to receive(:shell_out).with(from).and_return(mock_shell_out(value[0], value[1], value[2]))
+ @plugin.run
+ end
+
+ it "should set the #{plugin}[:#{attribute}] to the value from '#{from}'" do
+ @plugin.run
+ expect(@plugin[plugin][attribute]).to eq(value[1].split($/)[0])
+ end
+end
+
+def mock_shell_out(exitstatus, stdout, stderr)
+ shell_out = double("mixlib_shell_out")
+ allow(shell_out).to receive(:exitstatus).and_return(exitstatus)
+ allow(shell_out).to receive(:stdout).and_return(stdout)
+ allow(shell_out).to receive(:stderr).and_return(stderr)
+ shell_out
+end
+
+# the mash variable may be an array listing multiple levels of Mash hierarchy
+def it_should_check_from_deep_mash(plugin, mash, attribute, from, value)
+ it "should get the #{mash.inspect}[:#{attribute}] value from '#{from}'" do
+ expect(@plugin).to receive(:shell_out).with(from).and_return(mock_shell_out(value[0], value[1], value[2]))
+ @plugin.run
+ end
+
+ it "should set the #{mash.inspect}[:#{attribute}] to the value from '#{from}'" do
+ @plugin.run
+ value = value[1].split($/)[0]
+ if mash.is_a?(String)
+ expect(@plugin[mash][attribute]).to eq(value)
+ elsif mash.is_a?(Array)
+ if mash.length == 2
+ expect(@plugin[mash[0]][mash[1]][attribute]).to eq value
+ elsif mash.length == 3
+ expect(@plugin[mash[0]][mash[1]][mash[2]][attribute]).to eq value
+ else
+ return nil
+ end
+ else
+ return nil
+ end
+ end
+end
+
+RSpec.configure do |config|
+
+ # Not worth addressing warnings in Ohai until upstream ones in ffi-yajl are
+ # fixed.
+ # config.warnings = true
+
+ config.raise_errors_for_deprecations!
+
+ # `expect` should be preferred for new tests or when refactoring old tests,
+ # but we're not going to do a "big bang" change at this time.
+ config.expect_with :rspec do |c|
+ c.syntax = :expect
+ end
+ config.mock_with :rspec do |c|
+ c.syntax = :expect
+ end
+
+ config.filter_run :focus => true
+
+ config.filter_run_excluding :windows_only => true unless windows?
+ config.filter_run_excluding :unix_only => true unless unix?
+ config.filter_run_excluding :ruby_18_only => true unless ruby_18?
+ config.filter_run_excluding :ruby_19_only => true unless ruby_19?
+ config.filter_run_excluding :requires_root => true unless ENV['USER'] == 'root'
+ config.filter_run_excluding :requires_unprivileged_user => true if ENV['USER'] == 'root'
+
+ config.run_all_when_everything_filtered = true
+
+ config.before :each do
+ # TODO: Change to Ohai.config once Ohai::Config is deprecated fully. Needs
+ # to stay Ohai::Config for now so that top-level attributes will get cleared
+ # out between tests (config_spec should be the only place where top-level
+ # config attributes are set).
+ Ohai::Config.reset
+ end
+end