summaryrefslogtreecommitdiffstats
path: root/test/ral/providers/mailalias/aliases.rb
blob: ec8b84684b5aa775be6ab932df99ae0863a7309e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/env ruby

require File.dirname(__FILE__) + '/../../../lib/puppettest'

require 'puppettest'
require 'puppettest/fileparsing'

class TestMailaliasAliasesProvider < Test::Unit::TestCase
	include PuppetTest
	include PuppetTest::FileParsing

    def setup
        super
        @provider = Puppet.type(:mailalias).provider(:aliases)

        @oldfiletype = @provider.filetype

        @alias = mkalias
    end

    def teardown
        Puppet::Util::FileType.filetype(:ram).clear
        @provider.filetype = @oldfiletype
        @provider.clear
        super
    end
    
    def mkalias(name = "me")
        if defined? @pcount
            @pcount += 1
        else
            @pcount = 1
        end
        args = {
            :name => name,
            :recipient => %w{here there}
        }

        fakeresource = fakeresource(:mailalias, args[:name])

        key = @provider.new(fakeresource)
        args.each do |p,v|
            key.send(p.to_s + "=", v)
        end

        return key
    end

    def test_data_parsing_and_generating
        fakedata("data/types/mailalias").each { |file|
            fakedataparse(file)
        }
    end
end