I am a bit stuck here with a modification to the HPUX user provider module.
What I wrote works fine when running the rspec against it on HP-UX but
fails everywhere else. Part of the problem I is that to find if the system
is trusted I have to run a shell command.
To get the modify command to work correctly for trusted and untrusted
systems, the code needs to be able to add a second program to the command
line to reset password expiration to 0.
In the code I have a call to a routing to check for the system being a
trusted computer. When bundler / rspec runs against it on my Linux test
box, it fails because ther command is HPUX specific, as expected.
How do I stub / mock how to get it to have the rspec not try to make that
call and take the provided return as if it had done so? I tried stubs and
mocks with no success, and I have tried as many ways as I could to figure
this out with no success.
Code in hpux.rb:
def modifycmd(param,value)
cmd = super(param, value)
cmd << "-F"
if self.trusted == "Trusted"
cmd << ";"
cmd << "/usr/lbin/modprpw"
cmd << "-v"
cmd << "-l"
cmd << "#{resource.name}"
end
cmd
end
hpux_spec.rb subset:
it "should add /usr/lbin/modprpw -v -l when modifying user if trusted" do
resource.stubs(:allowdupe?).returns true
provider.expects(:execute).with() { |args|
args.include?('/usr/lbin/modprpw') and args.include?("-v") and
args.include?("-l") }
provider.uid = 1000
end
--
You received this message because you are subscribed to the Google Groups
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-dev/3a21b300-eda7-4168-b1fe-44c28d932d2f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.