summaryrefslogtreecommitdiff
path: root/spec/unit
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit')
-rw-r--r--spec/unit/application/client_spec.rb4
-rw-r--r--spec/unit/application_spec.rb2
-rw-r--r--spec/unit/chef_fs/file_pattern_spec.rb4
-rw-r--r--spec/unit/chef_fs/path_util_spec.rb6
-rw-r--r--spec/unit/client_spec.rb4
-rw-r--r--spec/unit/cookbook/cookbook_version_loader_spec.rb2
-rw-r--r--spec/unit/cookbook/syntax_check_spec.rb4
-rw-r--r--spec/unit/cookbook_loader_spec.rb2
-rw-r--r--spec/unit/data_bag_spec.rb4
-rw-r--r--spec/unit/dsl/platform_introspection_spec.rb32
-rw-r--r--spec/unit/file_content_management/deploy/mv_windows_spec.rb2
-rw-r--r--spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb2
-rw-r--r--spec/unit/knife/core/gem_glob_loader_spec.rb2
-rw-r--r--spec/unit/knife/core/hashed_command_loader_spec.rb2
-rw-r--r--spec/unit/knife/core/subcommand_loader_spec.rb2
-rw-r--r--spec/unit/knife/core/ui_spec.rb4
-rw-r--r--spec/unit/knife/data_bag_from_file_spec.rb4
-rw-r--r--spec/unit/knife/environment_from_file_spec.rb4
-rw-r--r--spec/unit/knife/supermarket_install_spec.rb2
-rw-r--r--spec/unit/mash_spec.rb51
-rw-r--r--spec/unit/mixin/path_sanity_spec.rb6
-rw-r--r--spec/unit/mixin/shell_out_spec.rb5
-rw-r--r--spec/unit/mixin/template_spec.rb8
-rw-r--r--spec/unit/mixin/user_context_spec.rb6
-rw-r--r--spec/unit/node_map_spec.rb24
-rw-r--r--spec/unit/platform/query_helpers_spec.rb18
-rw-r--r--spec/unit/provider/execute_spec.rb2
-rw-r--r--spec/unit/provider/link_spec.rb10
-rw-r--r--spec/unit/provider/package/windows/exe_spec.rb2
-rw-r--r--spec/unit/provider/package/windows_spec.rb4
-rw-r--r--spec/unit/provider/remote_file/fetcher_spec.rb4
-rw-r--r--spec/unit/provider/remote_file/local_file_spec.rb2
-rw-r--r--spec/unit/provider/remote_file/network_file_spec.rb2
-rw-r--r--spec/unit/provider/script_spec.rb4
-rw-r--r--spec/unit/provider/subversion_spec.rb6
-rw-r--r--spec/unit/provider/user/dscl_spec.rb2
-rw-r--r--spec/unit/provider_resolver_spec.rb102
-rw-r--r--spec/unit/resource/cookbook_file_spec.rb6
-rw-r--r--spec/unit/resource/remote_file_spec.rb6
-rw-r--r--spec/unit/role_spec.rb4
-rw-r--r--spec/unit/shell_spec.rb2
-rw-r--r--spec/unit/util/selinux_spec.rb4
-rw-r--r--spec/unit/win32/error_spec.rb2
-rw-r--r--spec/unit/win32/link_spec.rb2
-rw-r--r--spec/unit/win32/security_spec.rb2
-rw-r--r--spec/unit/windows_service_spec.rb2
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