spec/unit/config_spec.rb in ohai-8.15.0 vs spec/unit/config_spec.rb in ohai-8.15.1
- old
+ new
@@ -1,168 +1,168 @@
-#
-# Author:: Claire McQuin (<claire@chef.io>)
-# Copyright:: Copyright (c) 2015-2016 Chef Software, Inc.
-# License:: Apache License, Version 2.0
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-require_relative "../spec_helper"
-
-require "ohai/config"
-
-RSpec.describe Ohai::Config do
-
- describe "top-level configuration options" do
- shared_examples_for "option" do
- it "logs a deprecation warning and sets the value" do
- expect(Ohai::Log).to receive(:warn).
- with(/Ohai::Config\[:#{option}\] is deprecated/)
- Ohai::Config[option] = value
- expect(Ohai::Config[option]).to eq(value)
- end
- end
-
- shared_examples_for "appendable option" do
- it "sets the value" do
- expect(Ohai::Log).to_not receive(:warn)
- Ohai::Config[option] << value
- expect(Ohai::Config[option]).to include(value)
- end
- end
-
- describe ":directory" do
- include_examples "option" do
- let(:option) { :directory }
- let(:value) { "/some/fantastic/plugins" }
- end
- end
-
- describe ":disabled_plugins" do
- include_examples "option" do
- let(:option) { :disabled_plugins }
- let(:value) { [ :Foo, :Baz ] }
- end
- end
-
- describe ":hints_path" do
- include_examples "appendable option" do
- let(:option) { :hints_path }
- let(:value) { "/some/helpful/hints" }
- end
- end
-
- describe ":log_level" do
- include_examples "option" do
- let(:option) { :log_level }
- let(:value) { :cheese }
- end
- end
-
- describe ":log_location" do
- include_examples "option" do
- let(:option) { :log_location }
- let(:value) { "/etc/chef/cache/loooogs" }
- end
- end
-
- describe ":plugin_path" do
- include_examples "appendable option" do
- let(:option) { :plugin_path }
- let(:value) { "/some/fantastic/plugins" }
- end
- end
-
- describe ":version" do
- include_examples "option" do
- let(:option) { :version }
- let(:value) { "8.2.0" }
- end
- end
- end
-
- describe "config_context :ohai" do
- describe "option :plugin" do
- it "gets configured with a value" do
- Ohai::Config.ohai[:plugin][:foo] = true
- expect(Ohai::Config.ohai[:plugin]).to have_key(:foo)
- expect(Ohai::Config.ohai[:plugin][:foo]).to be true
- end
-
- it "gets configured with a Hash" do
- value = { :bar => true, :baz => true }
- Ohai::Config.ohai[:plugin][:foo] = value
- expect(Ohai::Config.ohai[:plugin]).to have_key(:foo)
- expect(Ohai::Config.ohai[:plugin][:foo]).to eq(value)
- end
-
- it "raises an error if the plugin name is not a symbol" do
- expect { Ohai::Config.ohai[:plugin]["foo"] = false }.
- to raise_error(Ohai::Exceptions::PluginConfigError, /Expected Symbol/)
- end
-
- it "raises an error if the value Hash has non-Symbol key" do
- value = { :bar => true, "baz" => true }
- expect { Ohai::Config.ohai[:plugin][:foo] = value }.
- to raise_error(Ohai::Exceptions::PluginConfigError, /Expected Symbol/)
- end
- end
- end
-
- describe "::merge_deprecated_config" do
- before(:each) do
- allow(Ohai::Log).to receive(:warn)
- configure_ohai
- end
-
- def configure_ohai
- Ohai::Config[:directory] = "/some/fantastic/plugins"
- Ohai::Config[:disabled_plugins] = [ :Foo, :Baz ]
- Ohai::Config[:log_level] = :debug
- end
-
- it "merges top-level config values into the ohai config context" do
- Ohai::Config.merge_deprecated_config
- expect(Ohai::Config.ohai.configuration).to eq (Ohai::Config.configuration)
- end
-
- shared_examples_for "delayed warn" do
- it "logs a deprecation warning and merges the value" do
- expect(Ohai::Log).to receive(:warn).
- with(/Ohai::Config\[:#{option}\] is deprecated/)
- Ohai::Config[option] << value
- Ohai::Config.merge_deprecated_config
- expect(Ohai::Config.ohai[option]).to include(value)
- end
- end
-
- context "when :hints_path is set" do
- include_examples "delayed warn" do
- let(:option) { :hints_path }
- let(:value) { "/some/helpful/hints" }
- end
- end
-
- context "when :plugin_path is set" do
- include_examples "delayed warn" do
- let(:option) { :plugin_path }
- let(:value) { "/some/fantastic/plugins" }
- end
- end
- end
-
- describe "Ohai.config" do
- it "returns the ohai config context" do
- expect(Ohai.config).to eq(Ohai::Config.ohai)
- end
- end
-end
+#
+# Author:: Claire McQuin (<claire@chef.io>)
+# Copyright:: Copyright (c) 2015-2016 Chef Software, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require_relative "../spec_helper"
+
+require "ohai/config"
+
+RSpec.describe Ohai::Config do
+
+ describe "top-level configuration options" do
+ shared_examples_for "option" do
+ it "logs a deprecation warning and sets the value" do
+ expect(Ohai::Log).to receive(:warn).
+ with(/Ohai::Config\[:#{option}\] is deprecated/)
+ Ohai::Config[option] = value
+ expect(Ohai::Config[option]).to eq(value)
+ end
+ end
+
+ shared_examples_for "appendable option" do
+ it "sets the value" do
+ expect(Ohai::Log).to_not receive(:warn)
+ Ohai::Config[option] << value
+ expect(Ohai::Config[option]).to include(value)
+ end
+ end
+
+ describe ":directory" do
+ include_examples "option" do
+ let(:option) { :directory }
+ let(:value) { "/some/fantastic/plugins" }
+ end
+ end
+
+ describe ":disabled_plugins" do
+ include_examples "option" do
+ let(:option) { :disabled_plugins }
+ let(:value) { [ :Foo, :Baz ] }
+ end
+ end
+
+ describe ":hints_path" do
+ include_examples "appendable option" do
+ let(:option) { :hints_path }
+ let(:value) { "/some/helpful/hints" }
+ end
+ end
+
+ describe ":log_level" do
+ include_examples "option" do
+ let(:option) { :log_level }
+ let(:value) { :cheese }
+ end
+ end
+
+ describe ":log_location" do
+ include_examples "option" do
+ let(:option) { :log_location }
+ let(:value) { "/etc/chef/cache/loooogs" }
+ end
+ end
+
+ describe ":plugin_path" do
+ include_examples "appendable option" do
+ let(:option) { :plugin_path }
+ let(:value) { "/some/fantastic/plugins" }
+ end
+ end
+
+ describe ":version" do
+ include_examples "option" do
+ let(:option) { :version }
+ let(:value) { "8.2.0" }
+ end
+ end
+ end
+
+ describe "config_context :ohai" do
+ describe "option :plugin" do
+ it "gets configured with a value" do
+ Ohai::Config.ohai[:plugin][:foo] = true
+ expect(Ohai::Config.ohai[:plugin]).to have_key(:foo)
+ expect(Ohai::Config.ohai[:plugin][:foo]).to be true
+ end
+
+ it "gets configured with a Hash" do
+ value = { :bar => true, :baz => true }
+ Ohai::Config.ohai[:plugin][:foo] = value
+ expect(Ohai::Config.ohai[:plugin]).to have_key(:foo)
+ expect(Ohai::Config.ohai[:plugin][:foo]).to eq(value)
+ end
+
+ it "raises an error if the plugin name is not a symbol" do
+ expect { Ohai::Config.ohai[:plugin]["foo"] = false }.
+ to raise_error(Ohai::Exceptions::PluginConfigError, /Expected Symbol/)
+ end
+
+ it "raises an error if the value Hash has non-Symbol key" do
+ value = { :bar => true, "baz" => true }
+ expect { Ohai::Config.ohai[:plugin][:foo] = value }.
+ to raise_error(Ohai::Exceptions::PluginConfigError, /Expected Symbol/)
+ end
+ end
+ end
+
+ describe "::merge_deprecated_config" do
+ before(:each) do
+ allow(Ohai::Log).to receive(:warn)
+ configure_ohai
+ end
+
+ def configure_ohai
+ Ohai::Config[:directory] = "/some/fantastic/plugins"
+ Ohai::Config[:disabled_plugins] = [ :Foo, :Baz ]
+ Ohai::Config[:log_level] = :debug
+ end
+
+ it "merges top-level config values into the ohai config context" do
+ Ohai::Config.merge_deprecated_config
+ expect(Ohai::Config.ohai.configuration).to eq (Ohai::Config.configuration)
+ end
+
+ shared_examples_for "delayed warn" do
+ it "logs a deprecation warning and merges the value" do
+ expect(Ohai::Log).to receive(:warn).
+ with(/Ohai::Config\[:#{option}\] is deprecated/)
+ Ohai::Config[option] << value
+ Ohai::Config.merge_deprecated_config
+ expect(Ohai::Config.ohai[option]).to include(value)
+ end
+ end
+
+ context "when :hints_path is set" do
+ include_examples "delayed warn" do
+ let(:option) { :hints_path }
+ let(:value) { "/some/helpful/hints" }
+ end
+ end
+
+ context "when :plugin_path is set" do
+ include_examples "delayed warn" do
+ let(:option) { :plugin_path }
+ let(:value) { "/some/fantastic/plugins" }
+ end
+ end
+ end
+
+ describe "Ohai.config" do
+ it "returns the ohai config context" do
+ expect(Ohai.config).to eq(Ohai::Config.ohai)
+ end
+ end
+end