diff options
author | harikesh-kolekar <harikesh.kolekar@msystechnologies.com> | 2018-01-29 12:55:28 +0000 |
---|---|---|
committer | harikesh-kolekar <harikesh.kolekar@msystechnologies.com> | 2018-01-30 07:41:03 +0000 |
commit | 85ad3ee585ab50d173c083325d106967d2161dab (patch) | |
tree | ab53f9baee15101758272642479ac51b2031d5cd /spec | |
parent | 4b8580ceb864961f77c87e5013eb1bf36463b895 (diff) | |
download | chef-85ad3ee585ab50d173c083325d106967d2161dab.tar.gz |
rename env resource to windows_env
Signed-off-by: harikesh-kolekar <harikesh.kolekar@msystechnologies.com>
Diffstat (limited to 'spec')
-rw-r--r--[-rwxr-xr-x] | spec/functional/resource/windows_env_spec.rb (renamed from spec/functional/resource/env_spec.rb) | 14 | ||||
-rw-r--r-- | spec/unit/exceptions_spec.rb | 2 | ||||
-rw-r--r-- | spec/unit/provider/env/windows_spec.rb | 103 | ||||
-rw-r--r-- | spec/unit/provider/windows_env_spec.rb (renamed from spec/unit/provider/env_spec.rb) | 93 | ||||
-rw-r--r-- | spec/unit/provider_resolver_spec.rb | 2 | ||||
-rw-r--r-- | spec/unit/resource/windows_env_spec.rb (renamed from spec/unit/resource/env_spec.rb) | 16 |
6 files changed, 106 insertions, 124 deletions
diff --git a/spec/functional/resource/env_spec.rb b/spec/functional/resource/windows_env_spec.rb index 4c96b33081..a6c6b39970 100755..100644 --- a/spec/functional/resource/env_spec.rb +++ b/spec/functional/resource/windows_env_spec.rb @@ -18,7 +18,7 @@ require "spec_helper" -describe Chef::Resource::Env, :windows_only do +describe Chef::Resource::WindowsEnv, :windows_only do context "when running on Windows" do let(:chef_env_test_lower_case) { "chefenvtest" } let(:chef_env_test_mixed_case) { "chefENVtest" } @@ -54,18 +54,18 @@ describe Chef::Resource::Env, :windows_only do Chef::RunContext.new(node, {}, empty_events) end let(:test_resource) do - Chef::Resource::Env.new("unknown", test_run_context) + Chef::Resource::WindowsEnv.new("unknown", test_run_context) end before(:each) do - resource_lower = Chef::Resource::Env.new(chef_env_test_lower_case, test_run_context) + resource_lower = Chef::Resource::WindowsEnv.new(chef_env_test_lower_case, test_run_context) resource_lower.run_action(:delete) - resource_lower = Chef::Resource::Env.new(chef_env_test_lower_case, test_run_context) + resource_lower = Chef::Resource::WindowsEnv.new(chef_env_test_lower_case, test_run_context) resource_lower.user(env_user) resource_lower.run_action(:delete) - resource_mixed = Chef::Resource::Env.new(chef_env_test_mixed_case, test_run_context) + resource_mixed = Chef::Resource::WindowsEnv.new(chef_env_test_mixed_case, test_run_context) resource_mixed.run_action(:delete) - resource_mixed = Chef::Resource::Env.new(chef_env_test_mixed_case, test_run_context) + resource_mixed = Chef::Resource::WindowsEnv.new(chef_env_test_mixed_case, test_run_context) resource_lower.user(env_user) resource_mixed.run_action(:delete) end @@ -142,7 +142,7 @@ describe Chef::Resource::Env, :windows_only do expect(ENV[chef_env_test_lower_case]).to eq(nil) test_resource.key_name(chef_env_test_lower_case) test_resource.value(env_value1) - expect { test_resource.run_action(:modify) }.to raise_error(Chef::Exceptions::Env) + expect { test_resource.run_action(:modify) }.to raise_error(Chef::Exceptions::WindowsEnv) end context "when env variable exist with same name" do diff --git a/spec/unit/exceptions_spec.rb b/spec/unit/exceptions_spec.rb index e952a5448a..c892b24f28 100644 --- a/spec/unit/exceptions_spec.rb +++ b/spec/unit/exceptions_spec.rb @@ -25,7 +25,7 @@ describe Chef::Exceptions do exception_to_super_class = { Chef::Exceptions::Application => RuntimeError, Chef::Exceptions::Cron => RuntimeError, - Chef::Exceptions::Env => RuntimeError, + Chef::Exceptions::WindowsEnv => RuntimeError, Chef::Exceptions::Exec => RuntimeError, Chef::Exceptions::FileNotFound => RuntimeError, Chef::Exceptions::Package => RuntimeError, diff --git a/spec/unit/provider/env/windows_spec.rb b/spec/unit/provider/env/windows_spec.rb deleted file mode 100644 index 5ddc1d6f91..0000000000 --- a/spec/unit/provider/env/windows_spec.rb +++ /dev/null @@ -1,103 +0,0 @@ -# -# Author:: Sander van Harmelen <svanharmelen@schubergphilis.com> -# Copyright:: Copyright 2014-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" - -describe Chef::Provider::Env::Windows, :windows_only do - let(:node) { Chef::Node.new } - let(:events) { Chef::EventDispatch::Dispatcher.new } - let(:run_context) { Chef::RunContext.new(node, {}, events) } - - context "when environment variable is not PATH" do - let(:new_resource) do - new_resource = Chef::Resource::Env.new("CHEF_WINDOWS_ENV_TEST") - new_resource.value("foo") - new_resource - end - let(:provider) do - provider = Chef::Provider::Env::Windows.new(new_resource, run_context) - allow(provider).to receive(:env_obj).and_return(double("null object").as_null_object) - provider - end - - describe "action_create" do - before do - ENV.delete("CHEF_WINDOWS_ENV_TEST") - provider.key_exists = false - end - - it "should update the ruby ENV object when it creates the key" do - provider.action_create - expect(ENV["CHEF_WINDOWS_ENV_TEST"]).to eql("foo") - end - end - - describe "action_modify" do - before do - ENV["CHEF_WINDOWS_ENV_TEST"] = "foo" - end - - it "should update the ruby ENV object when it updates the value" do - expect(provider).to receive(:requires_modify_or_create?).and_return(true) - new_resource.value("foobar") - provider.action_modify - expect(ENV["CHEF_WINDOWS_ENV_TEST"]).to eql("foobar") - end - - describe "action_delete" do - before do - ENV["CHEF_WINDOWS_ENV_TEST"] = "foo" - end - - it "should update the ruby ENV object when it deletes the key" do - provider.action_delete - expect(ENV["CHEF_WINDOWS_ENV_TEST"]).to eql(nil) - end - end - end - end - - context "when environment is PATH" do - describe "for PATH" do - let(:system_root) { "%SystemRoot%" } - let(:system_root_value) { 'D:\Windows' } - let(:new_resource) do - new_resource = Chef::Resource::Env.new("PATH") - new_resource.value(system_root) - new_resource - end - let(:provider) do - provider = Chef::Provider::Env::Windows.new(new_resource, run_context) - allow(provider).to receive(:env_obj).and_return(double("null object").as_null_object) - provider - end - - before do - stub_const("ENV", { "PATH" => "" }) - end - - it "replaces Windows system variables" do - expect(provider).to receive(:requires_modify_or_create?).and_return(true) - expect(provider).to receive(:expand_path).with(system_root).and_return(system_root_value) - provider.action_modify - expect(ENV["PATH"]).to eql(system_root_value) - end - end - - end -end diff --git a/spec/unit/provider/env_spec.rb b/spec/unit/provider/windows_env_spec.rb index a213c06fe4..47a06d1d06 100644 --- a/spec/unit/provider/env_spec.rb +++ b/spec/unit/provider/windows_env_spec.rb @@ -18,16 +18,16 @@ require "spec_helper" -describe Chef::Provider::Env do +describe Chef::Provider::WindowsEnv do before do @node = Chef::Node.new @events = Chef::EventDispatch::Dispatcher.new @run_context = Chef::RunContext.new(@node, {}, @events) - @new_resource = Chef::Resource::Env.new("FOO") + @new_resource = Chef::Resource::WindowsEnv.new("FOO") @new_resource.value("bar") @new_resource.user("<System>") - @provider = Chef::Provider::Env.new(@new_resource, @run_context) + @provider = Chef::Provider::WindowsEnv.new(@new_resource, @run_context) end it "assumes the key_name exists by default" do @@ -71,7 +71,7 @@ describe Chef::Provider::Env do end it "should return the current resource" do - expect(@provider.load_current_resource).to be_a_kind_of(Chef::Resource::Env) + expect(@provider.load_current_resource).to be_a_kind_of(Chef::Resource::WindowsEnv) end end @@ -177,15 +177,15 @@ describe Chef::Provider::Env do @provider.action_modify end - it "should raise a Chef::Exceptions::Env if the key doesn't exist" do + it "should raise a Chef::Exceptions::WindowsEnv if the key doesn't exist" do @provider.key_exists = false - expect { @provider.action_modify }.to raise_error(Chef::Exceptions::Env) + expect { @provider.action_modify }.to raise_error(Chef::Exceptions::WindowsEnv) end end describe "delete_element" do before(:each) do - @current_resource = Chef::Resource::Env.new("FOO") + @current_resource = Chef::Resource::WindowsEnv.new("FOO") @new_resource.delim ";" @new_resource.value "C:/bar/bin" @@ -293,7 +293,7 @@ describe Chef::Provider::Env do allow(@provider).to receive(:create_env).and_return(true) @new_resource.delim ";" - @current_resource = Chef::Resource::Env.new("FOO") + @current_resource = Chef::Resource::WindowsEnv.new("FOO") @current_resource.value "C:/foo/bin" @provider.current_resource = @current_resource end @@ -320,4 +320,81 @@ describe Chef::Provider::Env do expect(@new_resource.value).to eq("C:/foo;C:/bar;C:/baz;C:/foo/bar") end end + + context "when environment variable is not PATH" do + let(:new_resource) do + new_resource = Chef::Resource::WindowsEnv.new("CHEF_WINDOWS_ENV_TEST") + new_resource.value("foo") + new_resource + end + let(:provider) do + provider = Chef::Provider::WindowsEnv::Windows.new(new_resource, run_context) + allow(provider).to receive(:env_obj).and_return(double("null object").as_null_object) + provider + end + + describe "action_create" do + before do + ENV.delete("CHEF_WINDOWS_ENV_TEST") + provider.key_exists = false + end + + it "should update the ruby ENV object when it creates the key" do + provider.action_create + expect(ENV["CHEF_WINDOWS_ENV_TEST"]).to eql("foo") + end + end + + describe "action_modify" do + before do + ENV["CHEF_WINDOWS_ENV_TEST"] = "foo" + end + + it "should update the ruby ENV object when it updates the value" do + expect(provider).to receive(:requires_modify_or_create?).and_return(true) + new_resource.value("foobar") + provider.action_modify + expect(ENV["CHEF_WINDOWS_ENV_TEST"]).to eql("foobar") + end + + describe "action_delete" do + before do + ENV["CHEF_WINDOWS_ENV_TEST"] = "foo" + end + + it "should update the ruby ENV object when it deletes the key" do + provider.action_delete + expect(ENV["CHEF_WINDOWS_ENV_TEST"]).to eql(nil) + end + end + end + end + + context "when environment is PATH" do + describe "for PATH" do + let(:system_root) { "%SystemRoot%" } + let(:system_root_value) { 'D:\Windows' } + let(:new_resource) do + new_resource = Chef::Resource::WindowsEnv.new("PATH") + new_resource.value(system_root) + new_resource + end + let(:provider) do + provider = Chef::Provider::WindowsEnv::Windows.new(new_resource, run_context) + allow(provider).to receive(:env_obj).and_return(double("null object").as_null_object) + provider + end + + before do + stub_const("ENV", { "PATH" => "" }) + end + + it "replaces Windows system variables" do + expect(provider).to receive(:requires_modify_or_create?).and_return(true) + expect(provider).to receive(:expand_path).with(system_root).and_return(system_root_value) + provider.action_modify + expect(ENV["PATH"]).to eql(system_root_value) + end + end + end end diff --git a/spec/unit/provider_resolver_spec.rb b/spec/unit/provider_resolver_spec.rb index a331093055..9470bca929 100644 --- a/spec/unit/provider_resolver_spec.rb +++ b/spec/unit/provider_resolver_spec.rb @@ -762,7 +762,7 @@ describe Chef::ProviderResolver do "windows" => { batch: [ Chef::Resource::Batch, Chef::Provider::Batch ], dsc_script: [ Chef::Resource::DscScript, Chef::Provider::DscScript ], - env: [ Chef::Resource::Env, Chef::Provider::Env::Windows ], + windows_env: [ Chef::Resource::WindowsEnv, Chef::Provider::WindowsEnv::Windows ], group: [ Chef::Resource::Group, Chef::Provider::Group::Windows ], mount: [ Chef::Resource::Mount, Chef::Provider::Mount::Windows ], package: [ Chef::Resource::WindowsPackage, Chef::Provider::Package::Windows ], diff --git a/spec/unit/resource/env_spec.rb b/spec/unit/resource/windows_env_spec.rb index 61c40e33e8..b1052f045a 100644 --- a/spec/unit/resource/env_spec.rb +++ b/spec/unit/resource/windows_env_spec.rb @@ -19,11 +19,19 @@ require "spec_helper" -describe Chef::Resource::Env do - let(:resource) { Chef::Resource::Env.new("FOO") } +describe Chef::Resource::WindowsEnv do - it "has a name property" do - expect(resource.name).to eql("FOO") + before(:each) do + @resource = Chef::Resource::WindowsEnv.new("FOO") + end + + it "creates a new Chef::Resource::WindowsEnv" do + expect(@resource).to be_a_kind_of(Chef::Resource) + expect(@resource).to be_a_kind_of(Chef::Resource::WindowsEnv) + end + + it "has a name" do + expect(@resource.name).to eql("FOO") end it "has a default action of 'create'" do |