pairing with luke, nagios_command provider skeleton
[vinpup.git] / spec / unit / ral / types / user.rb
blob4e43a8ceb0b1e7e8567d7a92c38962facd88750c
1 #!/usr/bin/env ruby
3 require File.dirname(__FILE__) + '/../../../spec_helper'
5 require 'puppet/type/user'
7 module UserTestFunctions
8     def mkuser(name)
9         user = nil;
10         lambda {
11             user = Puppet::Type::User.create(
12                 :name => name,
13                 :comment => "Puppet Testing User",
14                 :gid => Puppet::Util::SUIDManager.gid,
15                 :shell => "/bin/sh",
16                 :home => "/home/%s" % name
17         ) }.should_not raise_error
18         user.should_not be_nil
19         user
20     end
22     def test_provider_class(klass)
23         klass.should_not be_nil
24         klass.should be_an_instance_of(Class)
25         superclasses = []
26         while klass = klass.superclass
27             superclasses << klass
28         end
29         superclasses.should include(Puppet::Provider)
30     end
31 end
33 describe Puppet::Type::User do
35     include UserTestFunctions
37     it "should have a default provider inheriting from Puppet::Provider" do
38         test_provider_class Puppet::Type::User.defaultprovider
39     end
41     it "should be able to create a instance" do
42         mkuser "123testuser1"
43     end
44 end
46 describe Puppet::Type::User, "instances" do
48     include UserTestFunctions
50     it "should have a valid provider" do
51         user = mkuser "123testuser2"
52         user.provider.should_not be_nil
53         test_provider_class user.provider.class
54     end
56 end