user.rb

David Schmitt, 12/06/2007 10:02 am

Download (1.4 kB)

 
1
#!/usr/bin/env ruby
2

    
3
require File.dirname(__FILE__) + '/../../../spec_helper'
4

    
5
require 'puppet/type/user'
6

    
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
21

    
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
32

    
33
describe Puppet::Type::User do
34

    
35
    include UserTestFunctions
36

    
37
    it "should have a default provider inheriting from Puppet::Provider" do
38
        test_provider_class Puppet::Type::User.defaultprovider
39
    end
40

    
41
    it "should be able to create a instance" do
42
        mkuser "123testuser1"
43
    end
44
end
45

    
46
describe Puppet::Type::User, "instances" do
47

    
48
    include UserTestFunctions
49

    
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
55

    
56
end
57

    
58