summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorDean Wilson <dean.wilson@gmail.com>2010-08-27 12:11:31 +0100
committerMarkus Roberts <Markus@reality.com>2010-09-29 12:04:11 -0700
commit34f87cfd74e5c93365da11a5e676f513e8819196 (patch)
treed80155bc83092a96560ee379d67151e20980ade3 /spec
parenta7fb9b112025e328304743c6453ece5d6ae81275 (diff)
downloadpuppet-34f87cfd74e5c93365da11a5e676f513e8819196.tar.gz
puppet-34f87cfd74e5c93365da11a5e676f513e8819196.tar.xz
puppet-34f87cfd74e5c93365da11a5e676f513e8819196.zip
Add user account expiry to the useradd type and provider
Diffstat (limited to 'spec')
-rwxr-xr-xspec/unit/provider/user/useradd_spec.rb9
-rwxr-xr-xspec/unit/type/user_spec.rb16
2 files changed, 24 insertions, 1 deletions
diff --git a/spec/unit/provider/user/useradd_spec.rb b/spec/unit/provider/user/useradd_spec.rb
index 6eb9717b8..9869ba935 100755
--- a/spec/unit/provider/user/useradd_spec.rb
+++ b/spec/unit/provider/user/useradd_spec.rb
@@ -109,6 +109,15 @@ describe provider_class do
@provider.stubs(:command).with(:add).returns("useradd")
@provider.stubs(:add_properties).returns(["-G", "somegroup"])
@resource.stubs(:[]).with(:name).returns("someuser")
+ @resource.stubs(:[]).with(:expiry).returns("somedate")
+ @provider.addcmd.must == ["useradd", "-G", "somegroup", "-o", "-m", '-e somedate', "someuser"]
+ end
+
+ it "should return an array without -e if expery is undefined full command" do
+ @provider.stubs(:command).with(:add).returns("useradd")
+ @provider.stubs(:add_properties).returns(["-G", "somegroup"])
+ @resource.stubs(:[]).with(:name).returns("someuser")
+ @resource.stubs(:[]).with(:expiry).returns nil
@provider.addcmd.must == ["useradd", "-G", "somegroup", "-o", "-m", "someuser"]
end
end
diff --git a/spec/unit/type/user_spec.rb b/spec/unit/type/user_spec.rb
index 4c6eb1150..f978b309c 100755
--- a/spec/unit/type/user_spec.rb
+++ b/spec/unit/type/user_spec.rb
@@ -35,6 +35,10 @@ describe user do
user.provider_feature(:manages_solaris_rbac).should_not be_nil
end
+ it "should have a manages_expiry feature" do
+ user.provider_feature(:manages_expiry).should_not be_nil
+ end
+
describe "instances" do
it "should have a valid provider" do
user.new(:name => "foo").provider.class.ancestors.should be_include(Puppet::Provider)
@@ -47,7 +51,7 @@ describe user do
end
end
- properties = [:ensure, :uid, :gid, :home, :comment, :shell, :password, :groups, :roles, :auths, :profiles, :project, :keys]
+ properties = [:ensure, :uid, :gid, :home, :comment, :shell, :password, :groups, :roles, :auths, :profiles, :project, :keys, :expiry]
properties.each do |property|
it "should have a #{property} property" do
@@ -227,6 +231,16 @@ describe user do
end
end
+ describe "when managing expiry" do
+ before do
+ @expiry = user.attrclass(:expiry).new(:resource => @resource)
+ end
+
+ it "should fail if given an invalid date" do
+ lambda { @expiry.should = "200-20-20" }.should raise_error(Puppet::Error)
+ end
+ end
+
describe "when managing passwords" do
before do
@password = user.attrclass(:password).new(:resource => @resource, :should => "mypass")