From: Sam Rowe <[EMAIL PROTECTED]>
Signed-off-by: Sam Rowe <[EMAIL PROTECTED]>
---
lib/puppet/provider/user/hpux.rb | 29 +++++++++++++++++++++++
spec/unit/provider/user/{useradd.rb => hpux.rb} | 15 +++++------
2 files changed, 36 insertions(+), 8 deletions(-)
create mode 100644 lib/puppet/provider/user/hpux.rb
copy spec/unit/provider/user/{useradd.rb => hpux.rb} (64%)
diff --git a/lib/puppet/provider/user/hpux.rb b/lib/puppet/provider/user/hpux.rb
new file mode 100644
index 0000000..aa5db84
--- /dev/null
+++ b/lib/puppet/provider/user/hpux.rb
@@ -0,0 +1,29 @@
+Puppet::Type.type(:user).provide :hpuxuseradd, :parent => :useradd do
+ desc "User management for hp-ux! Undocumented switch to special usermod
because HP-UX regular usermod is TOO STUPID to change stuff while the user is
logged in."
+
+ defaultfor :operatingsystem => :"hp-ux"
+
+ commands :modify => "/usr/sam/lbin/usermod.sam", :delete =>
"/usr/sam/lbin/userdel.sam", :add => "/usr/sam/lbin/useradd.sam"
+ options :comment, :method => :gecos
+ options :groups, :flag => "-G"
+ options :home, :flag => "-d", :method => :dir
+
+ verify :gid, "GID must be an integer" do |value|
+ value.is_a? Integer
+ end
+
+ verify :groups, "Groups must be comma-separated" do |value|
+ value !~ /\s/
+ end
+
+ has_features :manages_homedir, :allows_duplicates
+
+ def deletecmd
+ super.insert(1,"-F")
+ end
+
+ def modifycmd(param,value)
+ super.insert(1,"-F")
+ end
+
+end
diff --git a/spec/unit/provider/user/useradd.rb
b/spec/unit/provider/user/hpux.rb
similarity index 64%
copy from spec/unit/provider/user/useradd.rb
copy to spec/unit/provider/user/hpux.rb
index 96a7855..42f1696 100755
--- a/spec/unit/provider/user/useradd.rb
+++ b/spec/unit/provider/user/hpux.rb
@@ -2,30 +2,29 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
-provider_class = Puppet::Type.type(:user).provider(:useradd)
+provider_class = Puppet::Type.type(:user).provider(:hpuxuseradd)
describe provider_class do
+ # left from the useradd test... I have no clue what I'm doing.
before do
@resource = stub("resource", :name => "myuser", :managehome? => nil)
@provider = provider_class.new(@resource)
end
- # #1360
- it "should add -o when allowdupe is enabled and the user is being created"
do
+ it "should add -f when modifying a user" do
@resource.stubs(:should).returns "fakeval"
@resource.stubs(:[]).returns "fakeval"
- @resource.expects(:allowdupe?).returns true
- @provider.expects(:execute).with { |args| args.include?("-o") }
+ @provider.expects(:execute).with { |args| args.include?("-F") }
@provider.create
end
- it "should add -o when allowdupe is enabled and the uid is being modified"
do
+ it "should add -f when deleting a user" do
@resource.stubs(:should).returns "fakeval"
@resource.stubs(:[]).returns "fakeval"
- @resource.expects(:allowdupe?).returns true
- @provider.expects(:execute).with { |args| args.include?("-o") }
+ @provider.expects(:execute).with { |args| args.include?("-F") }
+ #?????
@provider.uid = 150
end
end
--
1.5.4.3
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---