diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2016-08-22 14:07:39 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2016-08-22 14:07:39 -0700 |
commit | c1d9c38600f218348ea910b7a3844d15fd9278a3 (patch) | |
tree | 7ca42e434dbc0856835914c7f2c247041d85a9e3 | |
parent | d2def622dfdabe56ea638bed1a63af81275681c2 (diff) | |
download | chef-c1d9c38600f218348ea910b7a3844d15fd9278a3.tar.gz |
use provider resolver to get right resource
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
-rw-r--r-- | spec/functional/resource/user/useradd_spec.rb | 63 |
1 files changed, 30 insertions, 33 deletions
diff --git a/spec/functional/resource/user/useradd_spec.rb b/spec/functional/resource/user/useradd_spec.rb index 43c26ac006..4783511531 100644 --- a/spec/functional/resource/user/useradd_spec.rb +++ b/spec/functional/resource/user/useradd_spec.rb @@ -21,19 +21,16 @@ require "spec_helper" require "functional/resource/base" require "chef/mixin/shell_out" -def user_provider_for_platform - case ohai[:platform] - when "aix" - Chef::Provider::User::Aix - else - Chef::Provider::User::Useradd - end +def resource_for_platform(username, run_context, &block) + usr = Chef::Resource.resource_for_node(:user, node).new(username, run_context) + usr.instance_eval(&block) if block_given? + usr end -metadata = { :unix_only => true, - :requires_root => true, - :not_supported_on_mac_osx => true, - :provider => { :user => user_provider_for_platform }, +metadata = { + :unix_only => true, + :requires_root => true, + :not_supported_on_mac_osx => true, } describe Chef::Provider::User::Useradd, metadata do @@ -86,9 +83,9 @@ describe Chef::Provider::User::Useradd, metadata do end ["cf-test"].each do |u| - r = Chef::Resource::User.new("DELETE USER", run_context) - r.username("cf-test") - r.run_action(:remove) + resource_for_platform("DELETE USER", run_context) do + username("cf-test") + end.run_action(:remove) end end @@ -146,15 +143,15 @@ describe Chef::Provider::User::Useradd, metadata do let(:comment) { nil } let(:user_resource) do - r = Chef::Resource::User.new("TEST USER RESOURCE", run_context) - r.username(username) - r.uid(uid) - r.home(home) - r.comment(comment) - r.manage_home(manage_home) - r.password(password) - r.system(system) - r + resource_for_platform("TEST USER RESOURCE", run_context) do + username(username) + uid(uid) + home(home) + comment(comment) + manage_home(manage_home) + password(password) + system(system) + end end let(:expected_shadow) do @@ -310,16 +307,16 @@ describe Chef::Provider::User::Useradd, metadata do let(:existing_comment) { nil } let(:existing_user) do - r = Chef::Resource::User.new("TEST USER RESOURCE", run_context) - # username is identity attr, must match. - r.username(username) - r.uid(existing_uid) - r.home(existing_home) - r.comment(existing_comment) - r.manage_home(existing_manage_home) - r.password(existing_password) - r.system(existing_system) - r + resource_for_platform("TEST USER RESOURCE", run_context) do + # username is identity attr, must match. + username(username) + uid(existing_uid) + home(existing_home) + comment(existing_comment) + manage_home(existing_manage_home) + password(existing_password) + system(existing_system) + end end before do |