summaryrefslogtreecommitdiff
path: root/spec/support
diff options
context:
space:
mode:
authorChris Aumann <me@chr4.org>2014-07-08 16:58:06 +0200
committerChris Aumann <me@chr4.org>2014-07-08 16:58:06 +0200
commit8002809642c3e6ede964fabac45d4e17137852f4 (patch)
tree44fb96445f04a308f6c056eab91898efcb7a8644 /spec/support
parente51545d4af1d1d152bbf651a9898a96dab46c51d (diff)
downloadchef-8002809642c3e6ede964fabac45d4e17137852f4.tar.gz
Add "force" attribute to resource/user, passing "-f" to userdel
This allows removal of logged in users.
Diffstat (limited to 'spec/support')
-rw-r--r--spec/support/shared/unit/provider/useradd_based_user_provider.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/spec/support/shared/unit/provider/useradd_based_user_provider.rb b/spec/support/shared/unit/provider/useradd_based_user_provider.rb
index a95d19d33c..42f948d494 100644
--- a/spec/support/shared/unit/provider/useradd_based_user_provider.rb
+++ b/spec/support/shared/unit/provider/useradd_based_user_provider.rb
@@ -33,6 +33,7 @@ shared_examples_for "a useradd-based user provider" do |supported_useradd_option
@new_resource.password "abracadabra"
@new_resource.system false
@new_resource.manage_home false
+ @new_resource.force false
@new_resource.non_unique false
@current_resource = Chef::Resource::User.new("adam", @run_context)
@current_resource.comment "Adam Jacob"
@@ -43,6 +44,7 @@ shared_examples_for "a useradd-based user provider" do |supported_useradd_option
@current_resource.password "abracadabra"
@current_resource.system false
@current_resource.manage_home false
+ @current_resource.force false
@current_resource.non_unique false
@current_resource.supports({:manage_home => false, :non_unique => false})
end
@@ -71,6 +73,7 @@ shared_examples_for "a useradd-based user provider" do |supported_useradd_option
it "should set the option for #{attribute} if the new resources #{attribute} is not nil, without homedir management (using real attributes)" do
@new_resource.stub(:manage_home).and_return(false)
@new_resource.stub(:non_unique).and_return(false)
+ @new_resource.stub(:non_unique).and_return(false)
@new_resource.stub(attribute).and_return("hola")
provider.universal_options.should eql([option, 'hola'])
end
@@ -255,6 +258,12 @@ shared_examples_for "a useradd-based user provider" do |supported_useradd_option
provider.should_receive(:shell_out!).with("userdel", @new_resource.username).and_return(true)
provider.remove_user
end
+
+ it "should run userdel with the new resources user name and -f if force is true" do
+ @new_resource.force(true)
+ provider.should_receive(:shell_out!).with("userdel", "-f", @new_resource.username).and_return(true)
+ provider.remove_user
+ end
end
describe "when checking the lock" do
@@ -344,7 +353,7 @@ shared_examples_for "a useradd-based user provider" do |supported_useradd_option
and_return(passwd_status)
Chef::Config[:why_run] = true
end
-
+
it "should return false if the user does not exist" do
provider.check_lock.should eql(false)
end