diff options
Diffstat (limited to 'spec/unit')
46 files changed, 167 insertions, 209 deletions
diff --git a/spec/unit/application/client_spec.rb b/spec/unit/application/client_spec.rb index d4ed403197..b99f1b0126 100644 --- a/spec/unit/application/client_spec.rb +++ b/spec/unit/application/client_spec.rb @@ -323,7 +323,7 @@ describe Chef::Application::Client, "reconfigure" do it "should terminate with message when interval is given" do Chef::Config[:interval] = 600 - allow(ChefConfig).to receive(:windows?).and_return(false) + allow(ChefUtils).to receive(:windows?).and_return(false) expect(Chef::Application).to receive(:fatal!).with( /Unforked .* interval runs are disabled by default\. Configuration settings: @@ -336,7 +336,7 @@ Enable .* interval runs by setting `:client_fork = true` in your config file or context "when interval is given on windows" do before do Chef::Config[:interval] = 600 - allow(ChefConfig).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) end it "should terminate" do diff --git a/spec/unit/application_spec.rb b/spec/unit/application_spec.rb index 7a787d1f3f..24a453a240 100644 --- a/spec/unit/application_spec.rb +++ b/spec/unit/application_spec.rb @@ -277,7 +277,7 @@ describe Chef::Application do end end - if Chef::Platform.windows? + if ChefUtils.windows? it_behaves_like "sets log_location", :win_evt, Chef::Log::WinEvt it_behaves_like "sets log_location", "win_evt", Chef::Log::WinEvt else diff --git a/spec/unit/chef_fs/file_pattern_spec.rb b/spec/unit/chef_fs/file_pattern_spec.rb index 58cdbb28c2..856be5de0d 100644 --- a/spec/unit/chef_fs/file_pattern_spec.rb +++ b/spec/unit/chef_fs/file_pattern_spec.rb @@ -157,7 +157,7 @@ describe Chef::ChefFS::FilePattern do end end - context 'with simple pattern "a\*\b"', skip: (Chef::Platform.windows?) do + context 'with simple pattern "a\*\b"', skip: (ChefUtils.windows?) do let(:pattern) { Chef::ChefFS::FilePattern.new('a\*\b') } it "match?" do expect(pattern.match?("a*b")).to be_truthy @@ -264,7 +264,7 @@ describe Chef::ChefFS::FilePattern do end end - context 'with star pattern "/abc/d[a-z][0-9]f/ghi"', skip: (Chef::Platform.windows?) do + context 'with star pattern "/abc/d[a-z][0-9]f/ghi"', skip: (ChefUtils.windows?) do let(:pattern) { Chef::ChefFS::FilePattern.new("/abc/d[a-z][0-9]f/ghi") } it "match?" do expect(pattern.match?("/abc/de1f/ghi")).to be_truthy diff --git a/spec/unit/chef_fs/path_util_spec.rb b/spec/unit/chef_fs/path_util_spec.rb index 93205a1815..70679a5d07 100644 --- a/spec/unit/chef_fs/path_util_spec.rb +++ b/spec/unit/chef_fs/path_util_spec.rb @@ -1,6 +1,6 @@ # # Author:: Kartik Null Cating-Subramanian (<ksubramanian@chef.io>) -# Copyright:: Copyright 2015-2016, Chef Software Inc. +# Copyright:: Copyright 2015-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -81,7 +81,7 @@ describe Chef::ChefFS::PathUtils do end it "handles root correctly" do - if Chef::Platform.windows? + if ChefUtils.windows? expect(Chef::ChefFS::PathUtils.realest_path("C:/")).to eq("C:/") else expect(Chef::ChefFS::PathUtils.realest_path("/")).to eq("/") @@ -91,7 +91,7 @@ describe Chef::ChefFS::PathUtils do context "invoking descendant_path" do it "handles paths with various casing on windows" do - allow(Chef::ChefFS).to receive(:windows?) { true } + allow(ChefUtils).to receive(:windows?) { true } expect(Chef::ChefFS::PathUtils.descendant_path("C:/ab/b/c", "C:/AB/B")).to eq("c") expect(Chef::ChefFS::PathUtils.descendant_path("C:/ab/b/c", "c:/ab/B")).to eq("c") end diff --git a/spec/unit/client_spec.rb b/spec/unit/client_spec.rb index 5182717af8..3a400575c0 100644 --- a/spec/unit/client_spec.rb +++ b/spec/unit/client_spec.rb @@ -670,7 +670,7 @@ describe Chef::Client do describe "windows_admin_check" do context "platform is not windows" do before do - allow(ChefConfig).to receive(:windows?).and_return(false) + allow(ChefUtils).to receive(:windows?).and_return(false) end it "shouldn't be called" do @@ -681,7 +681,7 @@ describe Chef::Client do context "platform is windows" do before do - allow(ChefConfig).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) end it "should be called" do diff --git a/spec/unit/cookbook/cookbook_version_loader_spec.rb b/spec/unit/cookbook/cookbook_version_loader_spec.rb index c38af059f5..2cd86877cb 100644 --- a/spec/unit/cookbook/cookbook_version_loader_spec.rb +++ b/spec/unit/cookbook/cookbook_version_loader_spec.rb @@ -20,7 +20,7 @@ require "spec_helper" describe Chef::Cookbook::CookbookVersionLoader do before do - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } end describe "loading a cookbook" do diff --git a/spec/unit/cookbook/syntax_check_spec.rb b/spec/unit/cookbook/syntax_check_spec.rb index a24fa3ab2a..54dfab84b8 100644 --- a/spec/unit/cookbook/syntax_check_spec.rb +++ b/spec/unit/cookbook/syntax_check_spec.rb @@ -1,6 +1,6 @@ # # Author:: Daniel DeLeo (<dan@chef.io>) -# Copyright:: Copyright 2010-2016, Chef Software Inc. +# Copyright:: Copyright 2010-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,7 +21,7 @@ require "chef/cookbook/syntax_check" describe Chef::Cookbook::SyntaxCheck do before do - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } end let(:cookbook_path) { File.join(CHEF_SPEC_DATA, "cookbooks", "openldap") } diff --git a/spec/unit/cookbook_loader_spec.rb b/spec/unit/cookbook_loader_spec.rb index a09bbd043f..f382c5d2dd 100644 --- a/spec/unit/cookbook_loader_spec.rb +++ b/spec/unit/cookbook_loader_spec.rb @@ -20,7 +20,7 @@ require "spec_helper" describe Chef::CookbookLoader do before do - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } end let(:repo_paths) do [ diff --git a/spec/unit/data_bag_spec.rb b/spec/unit/data_bag_spec.rb index 4b0ba42172..a0b6971efe 100644 --- a/spec/unit/data_bag_spec.rb +++ b/spec/unit/data_bag_spec.rb @@ -1,6 +1,6 @@ # # Author:: Adam Jacob (<adam@chef.io>) -# Copyright:: Copyright 2008-2016, Chef Software Inc. +# Copyright:: Copyright 2008-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -22,7 +22,7 @@ require "chef/data_bag" describe Chef::DataBag do before(:each) do @data_bag = Chef::DataBag.new - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } end describe "initialize" do diff --git a/spec/unit/dsl/platform_introspection_spec.rb b/spec/unit/dsl/platform_introspection_spec.rb index 7af233a769..227585a889 100644 --- a/spec/unit/dsl/platform_introspection_spec.rb +++ b/spec/unit/dsl/platform_introspection_spec.rb @@ -1,6 +1,6 @@ # # Author:: Seth Falcon (<seth@chef.io>) -# Copyright:: Copyright 2010-2016, Chef Software Inc. +# Copyright:: Copyright 2010-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -127,3 +127,33 @@ describe Chef::DSL::PlatformIntrospection::PlatformFamilyDependentValue do end end + +describe "ChefHelper functions mixed into classes" do + METHODS = %i{windows? fedora_derived? bsd_based? rhel? aix? gentoo?}.freeze + + METHODS.each do |method| + it "mixes #{method} into Chef::Resource instances" do + expect(Chef::Resource.instance_methods.include?(method)).to be true + end + + it "mixes #{method} into Chef::Resource classes (provides lines, etc)" do + expect(Chef::Resource.respond_to?(method)).to be true + end + + it "mixes #{method} into Chef::Provider instances (actions)" do + expect(Chef::Provider.instance_methods.include?(method)).to be true + end + + it "mixes #{method} into Chef::Provider classes (provides lines, etc)" do + expect(Chef::Provider.respond_to?(method)).to be true + end + + it "mixes #{method} into Chef::Recipe instances (recipe files)" do + expect(Chef::Recipe.instance_methods.include?(method)).to be true + end + + it "mixes #{method} into Chef::Node instances (attribute files)" do + expect(Chef::Recipe.instance_methods.include?(method)).to be true + end + end +end diff --git a/spec/unit/file_content_management/deploy/mv_windows_spec.rb b/spec/unit/file_content_management/deploy/mv_windows_spec.rb index 1aadf89d2d..51c3ff051e 100644 --- a/spec/unit/file_content_management/deploy/mv_windows_spec.rb +++ b/spec/unit/file_content_management/deploy/mv_windows_spec.rb @@ -18,7 +18,7 @@ require "spec_helper" -unless Chef::Platform.windows? +unless ChefUtils.windows? class Chef module ReservedNames module Win32 diff --git a/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb b/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb index 209d987e78..22ff5515f0 100644 --- a/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +++ b/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb @@ -1,6 +1,6 @@ # # Author:: Daniel DeLeo (<dan@chef.io>) -# Copyright:: Copyright 2012-2016, Chef Software Inc. +# Copyright:: Copyright 2012-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/spec/unit/knife/core/gem_glob_loader_spec.rb b/spec/unit/knife/core/gem_glob_loader_spec.rb index c8bd34d4a9..c761216733 100644 --- a/spec/unit/knife/core/gem_glob_loader_spec.rb +++ b/spec/unit/knife/core/gem_glob_loader_spec.rb @@ -23,7 +23,7 @@ describe Chef::Knife::SubcommandLoader::GemGlobLoader do let(:plugin_dir) { File.join(home, ".chef", "plugins", "knife") } before do - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } Chef::Util::PathHelper.class_variable_set(:@@home_dir, home) end diff --git a/spec/unit/knife/core/hashed_command_loader_spec.rb b/spec/unit/knife/core/hashed_command_loader_spec.rb index c463a36fb4..aa2ea3be51 100644 --- a/spec/unit/knife/core/hashed_command_loader_spec.rb +++ b/spec/unit/knife/core/hashed_command_loader_spec.rb @@ -19,7 +19,7 @@ require "spec_helper" describe Chef::Knife::SubcommandLoader::HashedCommandLoader do before do - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } end let(:plugin_manifest) do diff --git a/spec/unit/knife/core/subcommand_loader_spec.rb b/spec/unit/knife/core/subcommand_loader_spec.rb index 5db0bb73e5..3ab24d9a18 100644 --- a/spec/unit/knife/core/subcommand_loader_spec.rb +++ b/spec/unit/knife/core/subcommand_loader_spec.rb @@ -23,7 +23,7 @@ describe Chef::Knife::SubcommandLoader do let(:plugin_dir) { File.join(home, ".chef", "plugins", "knife") } before do - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } Chef::Util::PathHelper.class_variable_set(:@@home_dir, home) end diff --git a/spec/unit/knife/core/ui_spec.rb b/spec/unit/knife/core/ui_spec.rb index e5f19a4837..dfe906fdc1 100644 --- a/spec/unit/knife/core/ui_spec.rb +++ b/spec/unit/knife/core/ui_spec.rb @@ -3,7 +3,7 @@ # Author:: Tim Hinderliter (<tim@chef.io>) # Author:: Daniel DeLeo (<dan@chef.io>) # Author:: John Keiser (<jkeiser@chef.io>) -# Copyright:: Copyright 2008-2017, Chef Software Inc. +# Copyright:: Copyright 2008-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -482,7 +482,7 @@ describe Chef::Knife::UI do before(:each) do stdout = double("StringIO", tty?: true) allow(@ui).to receive(:stdout).and_return(stdout) - allow(ChefConfig).to receive(:windows?) { true } + allow(ChefUtils).to receive(:windows?) { true } Chef::Config.reset end diff --git a/spec/unit/knife/data_bag_from_file_spec.rb b/spec/unit/knife/data_bag_from_file_spec.rb index bc0ca330e8..86a60d858e 100644 --- a/spec/unit/knife/data_bag_from_file_spec.rb +++ b/spec/unit/knife/data_bag_from_file_spec.rb @@ -1,6 +1,6 @@ # # Author:: Seth Falcon (<seth@chef.io>) -# Copyright:: Copyright 2010-2016, Chef Software Inc. +# Copyright:: Copyright 2010-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -26,7 +26,7 @@ Chef::Knife::DataBagFromFile.load_deps describe Chef::Knife::DataBagFromFile do before :each do - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } Chef::Config[:node_name] = "webmonkey.example.com" FileUtils.mkdir_p([db_folder, db_folder2]) db_file.write(Chef::JSONCompat.to_json(plain_data)) diff --git a/spec/unit/knife/environment_from_file_spec.rb b/spec/unit/knife/environment_from_file_spec.rb index 11e05cb922..477db36a4c 100644 --- a/spec/unit/knife/environment_from_file_spec.rb +++ b/spec/unit/knife/environment_from_file_spec.rb @@ -1,7 +1,7 @@ # # Author:: Stephen Delano (<stephen@ospcode.com>) # Author:: Seth Falcon (<seth@ospcode.com>) -# Copyright:: Copyright 2010-2016, Chef Software Inc. +# Copyright:: Copyright 2010-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,7 +23,7 @@ Chef::Knife::EnvironmentFromFile.load_deps describe Chef::Knife::EnvironmentFromFile do before(:each) do - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } @knife = Chef::Knife::EnvironmentFromFile.new @stdout = StringIO.new allow(@knife.ui).to receive(:stdout).and_return(@stdout) diff --git a/spec/unit/knife/supermarket_install_spec.rb b/spec/unit/knife/supermarket_install_spec.rb index 9c969106fc..3a43e78397 100644 --- a/spec/unit/knife/supermarket_install_spec.rb +++ b/spec/unit/knife/supermarket_install_spec.rb @@ -31,7 +31,7 @@ describe Chef::Knife::SupermarketInstall do merge_updates_from: true) end let(:install_path) do - if Chef::Platform.windows? + if ChefUtils.windows? "C:/tmp/chef" else "/var/tmp/chef" diff --git a/spec/unit/mash_spec.rb b/spec/unit/mash_spec.rb deleted file mode 100644 index 0797e80f2c..0000000000 --- a/spec/unit/mash_spec.rb +++ /dev/null @@ -1,51 +0,0 @@ -# -# Author:: Matthew Kent (<mkent@magoazul.com>) -# Copyright:: Copyright 2011-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 "spec_helper" -require "chef/mash" - -describe Mash do - it "should duplicate a simple key/value mash to a new mash" do - data = { x: "one", y: "two", z: "three" } - @orig = Mash.new(data) - @copy = @orig.dup - expect(@copy.to_hash).to eq(Mash.new(data).to_hash) - @copy[:x] = "four" - expect(@orig[:x]).to eq("one") - end - - it "should duplicate a mash with an array to a new mash" do - data = { x: "one", y: "two", z: [1, 2, 3] } - @orig = Mash.new(data) - @copy = @orig.dup - expect(@copy.to_hash).to eq(Mash.new(data).to_hash) - @copy[:z] << 4 - expect(@orig[:z]).to eq([1, 2, 3]) - end - - it "should duplicate a nested mash to a new mash" do - data = { x: "one", y: "two", z: Mash.new({ a: [1, 2, 3] }) } - @orig = Mash.new(data) - @copy = @orig.dup - expect(@copy.to_hash).to eq(Mash.new(data).to_hash) - @copy[:z][:a] << 4 - expect(@orig[:z][:a]).to eq([1, 2, 3]) - end - - # add more! -end diff --git a/spec/unit/mixin/path_sanity_spec.rb b/spec/unit/mixin/path_sanity_spec.rb index c9ed4e2595..ecea92c294 100644 --- a/spec/unit/mixin/path_sanity_spec.rb +++ b/spec/unit/mixin/path_sanity_spec.rb @@ -1,6 +1,6 @@ # # Author:: Seth Chisamore (<schisamo@chef.io>) -# Copyright:: Copyright 2011-2017, Chef Software Inc. +# Copyright:: Copyright 2011-2019, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -35,7 +35,7 @@ describe Chef::Mixin::PathSanity do @gem_bindir = "/some/gem/bin" allow(Gem).to receive(:bindir).and_return(@gem_bindir) allow(RbConfig::CONFIG).to receive(:[]).with("bindir").and_return(@ruby_bindir) - allow(ChefConfig).to receive(:windows?).and_return(false) + allow(ChefUtils).to receive(:windows?).and_return(false) end it "adds all useful PATHs even if environment is an empty hash" do @@ -83,7 +83,7 @@ describe Chef::Mixin::PathSanity do gem_bindir = 'C:\gems\bin' allow(Gem).to receive(:bindir).and_return(gem_bindir) allow(RbConfig::CONFIG).to receive(:[]).with("bindir").and_return(ruby_bindir) - allow(ChefConfig).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) env = { "PATH" => 'C:\Windows\system32;C:\mr\softie' } @sanity.enforce_path_sanity(env) expect(env["PATH"]).to eq("#{gem_bindir};#{ruby_bindir};C:\\Windows\\system32;C:\\mr\\softie") diff --git a/spec/unit/mixin/shell_out_spec.rb b/spec/unit/mixin/shell_out_spec.rb index 1c4f59b50b..afa3687a15 100644 --- a/spec/unit/mixin/shell_out_spec.rb +++ b/spec/unit/mixin/shell_out_spec.rb @@ -24,13 +24,12 @@ require "spec_helper" require "chef/mixin/path_sanity" describe Chef::Mixin::ShellOut do - include Chef::Mixin::PathSanity - + include ChefUtils::DSL::PathSanity let(:shell_out_class) { Class.new { include Chef::Mixin::ShellOut } } subject(:shell_out_obj) { shell_out_class.new } def env_path - if Chef::Platform.windows? + if ChefUtils.windows? "Path" else "PATH" diff --git a/spec/unit/mixin/template_spec.rb b/spec/unit/mixin/template_spec.rb index 04071988ad..f629e7ee0f 100644 --- a/spec/unit/mixin/template_spec.rb +++ b/spec/unit/mixin/template_spec.rb @@ -1,6 +1,6 @@ # # Author:: Adam Jacob (<adam@chef.io>) -# Copyright:: Copyright 2008-2016, Chef Software Inc. +# Copyright:: Copyright 2008-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,7 +21,7 @@ require "spec_helper" require "cgi" describe Chef::Mixin::Template, "render_template" do - let(:sep) { Chef::Platform.windows? ? "\r\n" : "\n" } + let(:sep) { ChefUtils.windows? ? "\r\n" : "\n" } before :each do @context = Chef::Mixin::Template::TemplateContext.new({}) @@ -39,7 +39,7 @@ describe Chef::Mixin::Template, "render_template" do describe "when running on windows" do before do - allow(ChefConfig).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) end it "should render the templates with windows line endings" do @@ -54,7 +54,7 @@ describe Chef::Mixin::Template, "render_template" do describe "when running on unix" do before do - allow(ChefConfig).to receive(:windows?).and_return(false) + allow(ChefUtils).to receive(:windows?).and_return(false) end it "should render the templates with unix line endings" do diff --git a/spec/unit/mixin/user_context_spec.rb b/spec/unit/mixin/user_context_spec.rb index 31e182d042..c8add8a434 100644 --- a/spec/unit/mixin/user_context_spec.rb +++ b/spec/unit/mixin/user_context_spec.rb @@ -1,6 +1,6 @@ # # Author:: Adam Edwards (<adamed@chef.io>) -# Copyright:: Copyright (c) 2015 Chef Software, Inc. +# Copyright:: Copyright (c) 2015-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -39,7 +39,7 @@ describe "a class that mixes in user_context" do context "when running on Windows" do before do - allow(::Chef::Platform).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) allow(::Chef::Util::Windows::LogonSession).to receive(:new).and_return(logon_session) end @@ -97,7 +97,7 @@ describe "a class that mixes in user_context" do context "when not running on Windows" do before do - allow(::Chef::Platform).to receive(:windows?).and_return(false) + allow(ChefUtils).to receive(:windows?).and_return(false) end it "raises a ::Chef::Exceptions::UnsupportedPlatform exception" do diff --git a/spec/unit/node_map_spec.rb b/spec/unit/node_map_spec.rb index 2b38f8cea5..444b297ea0 100644 --- a/spec/unit/node_map_spec.rb +++ b/spec/unit/node_map_spec.rb @@ -104,8 +104,8 @@ describe Chef::NodeMap do end it "returns nil when the platform_family does not match" do - allow(node).to receive(:[]).with(:os).and_return("linux") - allow(node).to receive(:[]).with(:platform_family).and_return("debian") + node.automatic["os"] = "linux" + node.automatic["platform_family"] = "debian" expect(node_map.get(node, :thing)).to eql(nil) end end @@ -174,26 +174,26 @@ describe Chef::NodeMap do end it "returns the value when the node matches" do - allow(node).to receive(:[]).with(:platform_family).and_return("rhel") - allow(node).to receive(:[]).with(:platform_version).and_return("7.0") + node.automatic["platform_family"] = "rhel" + node.automatic["platform_version"] = "7.0" expect(node_map.get(node, :thing)).to eql(:foo) end it "returns nil when the block does not match" do - allow(node).to receive(:[]).with(:platform_family).and_return("rhel") - allow(node).to receive(:[]).with(:platform_version).and_return("6.4") + node.automatic["platform_family"] = "rhel" + node.automatic["platform_version"] = "6.4" expect(node_map.get(node, :thing)).to eql(nil) end it "returns nil when the platform_family filter does not match" do - allow(node).to receive(:[]).with(:platform_family).and_return("debian") - allow(node).to receive(:[]).with(:platform_version).and_return("7.0") + node.automatic["platform_family"] = "debian" + node.automatic["platform_version"] = "7.0" expect(node_map.get(node, :thing)).to eql(nil) end it "returns nil when both do not match" do - allow(node).to receive(:[]).with(:platform_family).and_return("debian") - allow(node).to receive(:[]).with(:platform_version).and_return("6.0") + node.automatic["platform_family"] = "debian" + node.automatic["platform_version"] = "6.0" expect(node_map.get(node, :thing)).to eql(nil) end @@ -203,8 +203,8 @@ describe Chef::NodeMap do end it "returns the value when the node matches" do - allow(node).to receive(:[]).with(:platform_family).and_return("rhel") - allow(node).to receive(:[]).with(:platform_version).and_return("7.0") + node.automatic["platform_family"] = "rhel" + node.automatic["platform_version"] = "7.0" expect(node_map.get(node, :thing)).to eql(:foo) end end diff --git a/spec/unit/platform/query_helpers_spec.rb b/spec/unit/platform/query_helpers_spec.rb index 22bfd150ee..d5e4d09029 100644 --- a/spec/unit/platform/query_helpers_spec.rb +++ b/spec/unit/platform/query_helpers_spec.rb @@ -1,6 +1,6 @@ # # Author:: Bryan McLellan <btm@loftninjas.org> -# Copyright:: Copyright 2014-2016, Chef Software, Inc. +# Copyright:: Copyright 2014-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -43,13 +43,13 @@ describe "Chef::Platform#windows_nano_server?" do end it "returns false early when not on windows" do - allow(ChefConfig).to receive(:windows?).and_return(false) + allow(ChefUtils).to receive(:windows?).and_return(false) expect(Chef::Platform).to_not receive(:require) expect(Chef::Platform.windows_nano_server?).to be false end it "returns true when the registry value is 1" do - allow(ChefConfig).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) allow(Chef::Platform).to receive(:require).with("win32/registry") expect(Win32::Registry::HKEY_LOCAL_MACHINE).to receive(:open) .with(key, access) @@ -59,7 +59,7 @@ describe "Chef::Platform#windows_nano_server?" do end it "returns false when the registry value is not 1" do - allow(ChefConfig).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) allow(Chef::Platform).to receive(:require).with("win32/registry") expect(Win32::Registry::HKEY_LOCAL_MACHINE).to receive(:open) .with(key, access) @@ -69,7 +69,7 @@ describe "Chef::Platform#windows_nano_server?" do end it "returns false when the registry value does not exist" do - allow(ChefConfig).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) allow(Chef::Platform).to receive(:require).with("win32/registry") expect(Win32::Registry::HKEY_LOCAL_MACHINE).to receive(:open) .with(key, access) @@ -80,7 +80,7 @@ describe "Chef::Platform#windows_nano_server?" do end it "returns false when the registry key does not exist" do - allow(ChefConfig).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) allow(Chef::Platform).to receive(:require).with("win32/registry") expect(Win32::Registry::HKEY_LOCAL_MACHINE).to receive(:open) .with(key, access) @@ -114,13 +114,13 @@ describe "Chef::Platform#supports_msi?" do end it "returns false early when not on windows" do - allow(ChefConfig).to receive(:windows?).and_return(false) + allow(ChefUtils).to receive(:windows?).and_return(false) expect(Chef::Platform).to_not receive(:require) expect(Chef::Platform.supports_msi?).to be false end it "returns true when the registry key exists" do - allow(ChefConfig).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) allow(Chef::Platform).to receive(:require).with("win32/registry") expect(Win32::Registry::HKEY_LOCAL_MACHINE).to receive(:open) .with(key, access) @@ -129,7 +129,7 @@ describe "Chef::Platform#supports_msi?" do end it "returns false when the registry key does not exist" do - allow(ChefConfig).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) allow(Chef::Platform).to receive(:require).with("win32/registry") expect(Win32::Registry::HKEY_LOCAL_MACHINE).to receive(:open) .with(key, access) diff --git a/spec/unit/provider/execute_spec.rb b/spec/unit/provider/execute_spec.rb index 11eb70e396..60f2070c1c 100644 --- a/spec/unit/provider/execute_spec.rb +++ b/spec/unit/provider/execute_spec.rb @@ -42,7 +42,7 @@ describe Chef::Provider::Execute do before do allow(Chef::EventDispatch::EventsOutputStream).to receive(:new) { @live_stream } - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } @original_log_level = Chef::Log.level Chef::Log.level = :info allow(STDOUT).to receive(:tty?).and_return(false) diff --git a/spec/unit/provider/link_spec.rb b/spec/unit/provider/link_spec.rb index fff2c1ffa8..154197e730 100644 --- a/spec/unit/provider/link_spec.rb +++ b/spec/unit/provider/link_spec.rb @@ -1,7 +1,7 @@ # # Author:: AJ Christensen (<aj@junglist.gen.nz>) # Author:: John Keiser (<jkeiser@chef.io>) -# Copyright:: Copyright 2008-2016, Chef Software Inc. +# Copyright:: Copyright 2008-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,7 +21,7 @@ require "ostruct" require "spec_helper" -if Chef::Platform.windows? +if ChefUtils.windows? require "chef/win32/file" # probably need this in spec_helper end @@ -41,7 +41,7 @@ describe Chef::Resource::Link do end def canonicalize(path) - Chef::Platform.windows? ? path.tr("/", '\\') : path + ChefUtils.windows? ? path.tr("/", '\\') : path end describe "when the target is a symlink" do @@ -359,7 +359,7 @@ describe Chef::Resource::Link do provider.new_resource.name ).and_return(resource_link) allow(resource_link).to receive(:verify_links_supported!) - allow(Chef::Platform).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) end context "soft links" do @@ -389,7 +389,7 @@ describe Chef::Resource::Link do context "on Linux platform" do before(:each) do - allow(Chef::Platform).to receive(:windows?).and_return(false) + allow(ChefUtils).to receive(:windows?).and_return(false) end context "soft links" do diff --git a/spec/unit/provider/package/windows/exe_spec.rb b/spec/unit/provider/package/windows/exe_spec.rb index 6e39ddc78a..2ed4c03905 100644 --- a/spec/unit/provider/package/windows/exe_spec.rb +++ b/spec/unit/provider/package/windows/exe_spec.rb @@ -19,7 +19,7 @@ require "spec_helper" require "chef/provider/package/windows/exe" -unless Chef::Platform.windows? +unless ChefUtils.windows? class Chef module ReservedNames::Win32 class File diff --git a/spec/unit/provider/package/windows_spec.rb b/spec/unit/provider/package/windows_spec.rb index 2fafb3bd0e..ddb2448801 100644 --- a/spec/unit/provider/package/windows_spec.rb +++ b/spec/unit/provider/package/windows_spec.rb @@ -1,6 +1,6 @@ # # Author:: Bryan McLellan <btm@loftninjas.org> -# Copyright:: Copyright 2014-2017, Chef Software Inc. +# Copyright:: Copyright 2014-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -22,7 +22,7 @@ require "chef/provider/package/windows/msi" describe Chef::Provider::Package::Windows, :windows_only do before(:each) do - allow(Chef::Util::PathHelper).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) allow(Chef::FileCache).to receive(:create_cache_path).with("package/").and_return(cache_path) end diff --git a/spec/unit/provider/remote_file/fetcher_spec.rb b/spec/unit/provider/remote_file/fetcher_spec.rb index b110e2c03a..254a9d36ec 100644 --- a/spec/unit/provider/remote_file/fetcher_spec.rb +++ b/spec/unit/provider/remote_file/fetcher_spec.rb @@ -1,6 +1,6 @@ # # Author:: Lamont Granquist (<lamont@chef.io>) -# Copyright:: Copyright 2013-2016, Chef Software Inc. +# Copyright:: Copyright 2013-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -27,7 +27,7 @@ describe Chef::Provider::RemoteFile::Fetcher do describe "when passed a network share" do before do expect(Chef::Provider::RemoteFile::NetworkFile).to receive(:new).and_return(fetcher_instance) - allow(Chef::Platform).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) end context "when host is a name" do diff --git a/spec/unit/provider/remote_file/local_file_spec.rb b/spec/unit/provider/remote_file/local_file_spec.rb index 6dad6a57f2..cfca09ad18 100644 --- a/spec/unit/provider/remote_file/local_file_spec.rb +++ b/spec/unit/provider/remote_file/local_file_spec.rb @@ -31,7 +31,7 @@ describe Chef::Provider::RemoteFile::LocalFile do context "when parsing source path on windows" do before do - allow(Chef::Platform).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) end describe "when given local unix path" do diff --git a/spec/unit/provider/remote_file/network_file_spec.rb b/spec/unit/provider/remote_file/network_file_spec.rb index 1c2bcc5911..5eb8c8e3e5 100644 --- a/spec/unit/provider/remote_file/network_file_spec.rb +++ b/spec/unit/provider/remote_file/network_file_spec.rb @@ -33,7 +33,7 @@ describe Chef::Provider::RemoteFile::NetworkFile do let(:source_file) { double("::File", read: nil) } before do - allow(Chef::Platform).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) end it "stages the local file to a temporary file" do diff --git a/spec/unit/provider/script_spec.rb b/spec/unit/provider/script_spec.rb index 08b19730a7..68d6bdb697 100644 --- a/spec/unit/provider/script_spec.rb +++ b/spec/unit/provider/script_spec.rb @@ -59,7 +59,7 @@ describe Chef::Provider::Script, "action_run" do context "when configuring the script file's security" do context "when not running on Windows" do before do - allow(::Chef::Platform).to receive(:windows?).and_return(false) + allow(ChefUtils).to receive(:windows?).and_return(false) end context "#set_owner_and_group" do it "sets the owner and group for the script file" do @@ -73,7 +73,7 @@ describe Chef::Provider::Script, "action_run" do context "when running on Windows" do before do - allow(::Chef::Platform).to receive(:windows?).and_return(true) + allow(ChefUtils).to receive(:windows?).and_return(true) expect(new_resource.user).to eq(nil) stub_const("Chef::ReservedNames::Win32::API::Security::GENERIC_READ", 1) stub_const("Chef::ReservedNames::Win32::API::Security::GENERIC_EXECUTE", 4) diff --git a/spec/unit/provider/subversion_spec.rb b/spec/unit/provider/subversion_spec.rb index a70b7cd48b..9f5ffacec6 100644 --- a/spec/unit/provider/subversion_spec.rb +++ b/spec/unit/provider/subversion_spec.rb @@ -1,6 +1,6 @@ # # Author:: Daniel DeLeo (<dan@kallistec.com>) -# Copyright:: Copyright 2008-2017, Chef Software Inc. +# Copyright:: Copyright 2008-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -274,7 +274,7 @@ describe Chef::Provider::Subversion do it "selects 'svn' as the binary by default" do @resource.svn_binary nil - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } expect(@provider).to receive(:svn_binary).and_return("svn") expect(@provider.export_command).to eql( "svn export --force -q -r12345 http://svn.example.org/trunk/ /my/deploy/dir" @@ -283,7 +283,7 @@ describe Chef::Provider::Subversion do it "selects an svn binary with an exe extension on windows" do @resource.svn_binary nil - allow(ChefConfig).to receive(:windows?) { true } + allow(ChefUtils).to receive(:windows?) { true } expect(@provider).to receive(:svn_binary).and_return("svn.exe") expect(@provider.export_command).to eql( "svn.exe export --force -q -r12345 http://svn.example.org/trunk/ /my/deploy/dir" diff --git a/spec/unit/provider/user/dscl_spec.rb b/spec/unit/provider/user/dscl_spec.rb index e20873dc92..5ef47170c0 100644 --- a/spec/unit/provider/user/dscl_spec.rb +++ b/spec/unit/provider/user/dscl_spec.rb @@ -21,7 +21,7 @@ require "ostruct" describe Chef::Provider::User::Dscl do before do - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } end let(:shellcmdresult) { Struct.new(:stdout, :stderr, :exitstatus) } diff --git a/spec/unit/provider_resolver_spec.rb b/spec/unit/provider_resolver_spec.rb index 94e0d6074b..c8eb18b5b6 100644 --- a/spec/unit/provider_resolver_spec.rb +++ b/spec/unit/provider_resolver_spec.rb @@ -35,9 +35,8 @@ describe Chef::ProviderResolver do # Root the filesystem under a temp directory so Chef.path_to will point at it when_the_repository "is empty" do before do - allow(Chef).to receive(:path_to) { |path| File.join(path_to(""), path) } + allow(Chef::Resource::DnfPackage).to receive(:which).with("dnf").and_return(nil) end - let(:resource_name) { :service } let(:provider) { nil } let(:action) { :start } @@ -145,51 +144,36 @@ describe Chef::ProviderResolver do describe "resolving service resource" do def stub_service_providers(*services) - services.each do |service| - case service - when :debian - file "usr/sbin/update-rc.d", "" - when :invokercd - file "usr/sbin/invoke-rc.d", "" - when :insserv - file "sbin/insserv", "" - when :upstart - file "sbin/initctl", "" - when :redhat - file "sbin/chkconfig", "" - when :systemd - file "proc/1/comm", "systemd\n" - else - raise ArgumentError, service - end + allowed = %i{debianrcd invokercd insserv upstart redhatrcd systemd} + + (allowed - services).each do |api| + allow(Chef::Provider::Service).to receive(:"#{api}?").and_return(false) + end + + raise ArgumentError unless (services - allowed).empty? + + services.each do |api| + allow(Chef::Provider::Service).to receive(:"#{api}?").and_return(true) end end def stub_service_configs(*configs) - configs.each do |config| - case config - when :initd - file "etc/init.d/#{service_name}", "" - when :upstart - file "etc/init/#{service_name}.conf", "" - when :xinetd - file "etc/xinetd.d/#{service_name}", "" - when :etc_rcd - file "etc/rc.d/#{service_name}", "" - when :usr_local_etc_rcd - file "usr/local/etc/rc.d/#{service_name}", "" - when :systemd - file "proc/1/comm", "systemd\n" - file "etc/systemd/system/#{service_name}.service", "" - else - raise ArgumentError, config - end + allowed = %i{initd upstart xinetd systemd etc_rcd} + + (allowed - configs).each do |type| + allow(Chef::Provider::Service).to receive(:service_script_exist?).with(type, service_name).and_return(false) + end + + raise ArgumentError unless (configs - allowed).empty? + + configs.each do |type| + allow(Chef::Provider::Service).to receive(:service_script_exist?).with(type, service_name).and_return(true) end end shared_examples_for "an ubuntu platform with upstart, update-rc.d and systemd" do before do - stub_service_providers(:debian, :invokercd, :upstart, :systemd) + stub_service_providers(:debianrcd, :invokercd, :upstart, :systemd) end it "when both the SysV init and Systemd script exists, it returns a Service::Debian provider" do @@ -213,12 +197,12 @@ describe Chef::ProviderResolver do end it "when only the SysV init script exists, it returns a Service::Systemd provider" do - stub_service_configs(:initd) + stub_service_configs(:initd, :systemd) expect(resolved_provider).to eql(Chef::Provider::Service::Systemd) end it "when both SysV and Upstart scripts exist, it returns a Service::Systemd provider" do - stub_service_configs(:initd, :upstart) + stub_service_configs(:initd, :systemd, :upstart) expect(resolved_provider).to eql(Chef::Provider::Service::Systemd) end @@ -235,7 +219,7 @@ describe Chef::ProviderResolver do shared_examples_for "an ubuntu platform with upstart and update-rc.d" do before do - stub_service_providers(:debian, :invokercd, :upstart) + stub_service_providers(:debianrcd, :invokercd, :upstart) end # needs to be handled by the highest priority init.d handler @@ -362,7 +346,7 @@ describe Chef::ProviderResolver do shared_examples_for "a debian platform using the insserv provider" do context "with a default install" do before do - stub_service_providers(:debian, :invokercd, :insserv) + stub_service_providers(:debianrcd, :invokercd, :insserv) end it "uses the Service::Insserv Provider to manage sysv init scripts" do @@ -378,7 +362,7 @@ describe Chef::ProviderResolver do context "when the user has installed upstart" do before do - stub_service_providers(:debian, :invokercd, :insserv, :upstart) + stub_service_providers(:debianrcd, :invokercd, :insserv, :upstart) end it "when only the SysV init script exists, it returns an Insserv provider" do @@ -407,8 +391,8 @@ describe Chef::ProviderResolver do it_behaves_like "an ubuntu platform with upstart, update-rc.d and systemd" it "when the unit-files are missing and system-ctl list-unit-files returns an error" do - stub_service_providers(:debian, :invokercd, :upstart, :systemd) - stub_service_configs(:initd, :upstart) + stub_service_providers(:debianrcd, :invokercd, :upstart, :systemd) + stub_service_configs(:initd, :upstart, :systemd) mock_shellout_command("/bin/systemctl list-unit-files", exitstatus: 1) expect(resolved_provider).to eql(Chef::Provider::Service::Systemd) end @@ -445,8 +429,8 @@ describe Chef::ProviderResolver do it "always returns a Solaris provider" do # no matter what we stub on the next two lines we should get a Solaris provider - stub_service_providers(:debian, :invokercd, :insserv, :upstart, :redhat, :systemd) - stub_service_configs(:initd, :upstart, :xinetd, :usr_local_etc_rcd, :systemd) + stub_service_providers(:debianrcd, :invokercd, :insserv, :upstart, :redhatrcd, :systemd) + stub_service_configs(:initd, :upstart, :xinetd, :systemd) expect(resolved_provider).to eql(Chef::Provider::Service::Solaris) end end @@ -460,8 +444,8 @@ describe Chef::ProviderResolver do it "always returns a Windows provider" do # no matter what we stub on the next two lines we should get a Windows provider - stub_service_providers(:debian, :invokercd, :insserv, :upstart, :redhat, :systemd) - stub_service_configs(:initd, :upstart, :xinetd, :usr_local_etc_rcd, :systemd) + stub_service_providers(:debianrcd, :invokercd, :insserv, :upstart, :redhatrcd, :systemd) + stub_service_configs(:initd, :upstart, :xinetd, :systemd) expect(resolved_provider).to eql(Chef::Provider::Service::Windows) end end @@ -475,8 +459,8 @@ describe Chef::ProviderResolver do it "always returns a Macosx provider" do # no matter what we stub on the next two lines we should get a Macosx provider - stub_service_providers(:debian, :invokercd, :insserv, :upstart, :redhat, :systemd) - stub_service_configs(:initd, :upstart, :xinetd, :usr_local_etc_rcd, :systemd) + stub_service_providers(:debianrcd, :invokercd, :insserv, :upstart, :redhatrcd, :systemd) + stub_service_configs(:initd, :upstart, :xinetd, :systemd) expect(resolved_provider).to eql(Chef::Provider::Service::Macosx) end end @@ -484,7 +468,6 @@ describe Chef::ProviderResolver do on_platform "freebsd", os: "freebsd", platform_version: "10.3" do it "returns a Freebsd provider if it finds the /usr/local/etc/rc.d initscript" do stub_service_providers - stub_service_configs(:usr_local_etc_rcd) expect(resolved_provider).to eql(Chef::Provider::Service::Freebsd) end @@ -495,15 +478,14 @@ describe Chef::ProviderResolver do end it "always returns a Freebsd provider if it finds the /usr/local/etc/rc.d initscript" do - # should only care about :usr_local_etc_rcd stub in the service configs - stub_service_providers(:debian, :invokercd, :insserv, :upstart, :redhat, :systemd) - stub_service_configs(:usr_local_etc_rcd, :initd, :upstart, :xinetd, :systemd) + stub_service_providers(:debianrcd, :invokercd, :insserv, :upstart, :redhatrcd, :systemd) + stub_service_configs(:initd, :upstart, :xinetd, :systemd) expect(resolved_provider).to eql(Chef::Provider::Service::Freebsd) end it "always returns a Freebsd provider if it finds the /usr/local/etc/rc.d initscript" do # should only care about :etc_rcd stub in the service configs - stub_service_providers(:debian, :invokercd, :insserv, :upstart, :redhat, :systemd) + stub_service_providers(:debianrcd, :invokercd, :insserv, :upstart, :redhatrcd, :systemd) stub_service_configs(:etc_rcd, :initd, :upstart, :xinetd, :systemd) expect(resolved_provider).to eql(Chef::Provider::Service::Freebsd) end @@ -518,7 +500,6 @@ describe Chef::ProviderResolver do on_platform "netbsd", os: "netbsd", platform_version: "7.0.1" do it "returns a Freebsd provider if it finds the /usr/local/etc/rc.d initscript" do stub_service_providers - stub_service_configs(:usr_local_etc_rcd) expect(resolved_provider).to eql(Chef::Provider::Service::Freebsd) end @@ -529,15 +510,14 @@ describe Chef::ProviderResolver do end it "always returns a Freebsd provider if it finds the /usr/local/etc/rc.d initscript" do - # should only care about :usr_local_etc_rcd stub in the service configs - stub_service_providers(:debian, :invokercd, :insserv, :upstart, :redhat, :systemd) - stub_service_configs(:usr_local_etc_rcd, :initd, :upstart, :xinetd, :systemd) + stub_service_providers(:debianrcd, :invokercd, :insserv, :upstart, :redhatrcd, :systemd) + stub_service_configs(:initd, :upstart, :xinetd, :systemd) expect(resolved_provider).to eql(Chef::Provider::Service::Freebsd) end it "always returns a Freebsd provider if it finds the /usr/local/etc/rc.d initscript" do # should only care about :etc_rcd stub in the service configs - stub_service_providers(:debian, :invokercd, :insserv, :upstart, :redhat, :systemd) + stub_service_providers(:debianrcd, :invokercd, :insserv, :upstart, :redhatrcd, :systemd) stub_service_configs(:etc_rcd, :initd, :upstart, :xinetd, :systemd) expect(resolved_provider).to eql(Chef::Provider::Service::Freebsd) end diff --git a/spec/unit/resource/cookbook_file_spec.rb b/spec/unit/resource/cookbook_file_spec.rb index b35233649d..655cebaf01 100644 --- a/spec/unit/resource/cookbook_file_spec.rb +++ b/spec/unit/resource/cookbook_file_spec.rb @@ -53,7 +53,7 @@ describe Chef::Resource::CookbookFile do describe "when it has a backup number, group, mode, owner, source, checksum, and cookbook on nix or path, rights, deny_rights, checksum on windows" do before do - if Chef::Platform.windows? + if ChefUtils.windows? resource.path("C:/temp/origin/file.txt") resource.rights(:read, "Everyone") resource.deny_rights(:full_control, "Clumsy_Sam") @@ -70,7 +70,7 @@ describe Chef::Resource::CookbookFile do it "describes the state" do state = resource.state_for_resource_reporter - if Chef::Platform.windows? + if ChefUtils.windows? puts state expect(state[:rights]).to eq([{ permissions: :read, principals: "Everyone" }]) expect(state[:deny_rights]).to eq([{ permissions: :full_control, principals: "Clumsy_Sam" }]) @@ -83,7 +83,7 @@ describe Chef::Resource::CookbookFile do end it "returns the path as its identity" do - if Chef::Platform.windows? + if ChefUtils.windows? expect(resource.identity).to eq("C:/temp/origin/file.txt") else expect(resource.identity).to eq("/tmp/origin/file.txt") diff --git a/spec/unit/resource/remote_file_spec.rb b/spec/unit/resource/remote_file_spec.rb index 39d34d9a96..27b889ea9e 100644 --- a/spec/unit/resource/remote_file_spec.rb +++ b/spec/unit/resource/remote_file_spec.rb @@ -181,7 +181,7 @@ describe Chef::Resource::RemoteFile do describe "when it has group, mode, owner, source, and checksum" do before do - if Chef::Platform.windows? + if ChefUtils.windows? resource.path("C:/temp/origin/file.txt") resource.rights(:read, "Everyone") resource.deny_rights(:full_control, "Clumsy_Sam") @@ -197,7 +197,7 @@ describe Chef::Resource::RemoteFile do it "describes its state" do state = resource.state_for_resource_reporter - if Chef::Platform.windows? + if ChefUtils.windows? puts state expect(state[:rights]).to eq([{ permissions: :read, principals: "Everyone" }]) expect(state[:deny_rights]).to eq([{ permissions: :full_control, principals: "Clumsy_Sam" }]) @@ -210,7 +210,7 @@ describe Chef::Resource::RemoteFile do end it "returns the path as its identity" do - if Chef::Platform.windows? + if ChefUtils.windows? expect(resource.identity).to eq("C:/temp/origin/file.txt") else expect(resource.identity).to eq("/this/path/") diff --git a/spec/unit/role_spec.rb b/spec/unit/role_spec.rb index 13932ab3ee..8a67913d60 100644 --- a/spec/unit/role_spec.rb +++ b/spec/unit/role_spec.rb @@ -1,6 +1,6 @@ # # Author:: Adam Jacob (<adam@chef.io>) -# Copyright:: Copyright 2008-2016, Chef Software Inc. +# Copyright:: Copyright 2008-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,7 +21,7 @@ require "chef/role" describe Chef::Role do before(:each) do - allow(ChefConfig).to receive(:windows?) { false } + allow(ChefUtils).to receive(:windows?) { false } @role = Chef::Role.new @role.name("ops_master") end diff --git a/spec/unit/shell_spec.rb b/spec/unit/shell_spec.rb index aa573706b1..6dba848084 100644 --- a/spec/unit/shell_spec.rb +++ b/spec/unit/shell_spec.rb @@ -42,7 +42,7 @@ describe Shell do before do Shell.irb_conf = {} allow(Shell::ShellSession.instance).to receive(:reset!) - allow(ChefConfig).to receive(:windows?).and_return(false) + allow(ChefUtils).to receive(:windows?).and_return(false) allow(Chef::Util::PathHelper).to receive(:home).and_return("/home/foo") end diff --git a/spec/unit/util/selinux_spec.rb b/spec/unit/util/selinux_spec.rb index 0d2d1aeb3f..18774aee2c 100644 --- a/spec/unit/util/selinux_spec.rb +++ b/spec/unit/util/selinux_spec.rb @@ -1,6 +1,6 @@ # # Author:: Serdar Sutay (<serdar@chef.io>) -# Copyright:: Copyright 2013-2018, Chef Software Inc. +# Copyright:: Copyright 2013-2019, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -41,7 +41,7 @@ describe Chef::Util::Selinux do it "each part of ENV['PATH'] should be checked" do expected_paths = ENV["PATH"].split(File::PATH_SEPARATOR) + [ "/bin", "/usr/bin", "/sbin", "/usr/sbin" ] - expected_paths.each do |bin_path| + expected_paths.uniq.each do |bin_path| selinux_path = File.join(bin_path, "selinuxenabled") expect(File).to receive(:executable?).with(selinux_path).and_return(false) end diff --git a/spec/unit/win32/error_spec.rb b/spec/unit/win32/error_spec.rb index 316303ab4f..8980293be7 100644 --- a/spec/unit/win32/error_spec.rb +++ b/spec/unit/win32/error_spec.rb @@ -17,7 +17,7 @@ # require "spec_helper" -if Chef::Platform.windows? +if ChefUtils.windows? require "chef/win32/error" require "chef/win32/api/error" end diff --git a/spec/unit/win32/link_spec.rb b/spec/unit/win32/link_spec.rb index 5f749c034e..de7b165dd0 100644 --- a/spec/unit/win32/link_spec.rb +++ b/spec/unit/win32/link_spec.rb @@ -16,7 +16,7 @@ # require "spec_helper" -if Chef::Platform.windows? +if ChefUtils.windows? require "chef/win32/api/file" require "chef/win32/file" require "chef/win32/version" diff --git a/spec/unit/win32/security_spec.rb b/spec/unit/win32/security_spec.rb index efbb290adf..6dc330dddd 100644 --- a/spec/unit/win32/security_spec.rb +++ b/spec/unit/win32/security_spec.rb @@ -17,7 +17,7 @@ # require "spec_helper" -if Chef::Platform.windows? +if ChefUtils.windows? require "chef/win32/error" require "chef/win32/security" require "chef/win32/api/error" diff --git a/spec/unit/windows_service_spec.rb b/spec/unit/windows_service_spec.rb index 45af0f9d9f..d046b67c5b 100644 --- a/spec/unit/windows_service_spec.rb +++ b/spec/unit/windows_service_spec.rb @@ -16,7 +16,7 @@ # limitations under the License. # require "spec_helper" -if Chef::Platform.windows? +if ChefUtils.windows? require "chef/application/windows_service" end |