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
-~----------~----~----~----~------~----~------~--~---

Reply via email to