summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2016-08-22 14:07:39 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2016-08-22 14:07:39 -0700
commitc1d9c38600f218348ea910b7a3844d15fd9278a3 (patch)
tree7ca42e434dbc0856835914c7f2c247041d85a9e3
parentd2def622dfdabe56ea638bed1a63af81275681c2 (diff)
downloadchef-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.rb63
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