Sha256: 4c6c7530bcb70c1293b9b189dcfd7f8f99a3ca9e0cc3c3d90e3bc612b6120a33

Contents?: true

Size: 1.56 KB

Versions: 1

Compression:

Stored size: 1.56 KB

Contents

#!/usr/bin/env ruby

$:.unshift("../../lib") if __FILE__ =~ /\.rb$/

require 'puppettest'
require 'mocha'

class TestTypeProviders < Test::Unit::TestCase
	include PuppetTest

    # Make sure default providers behave correctly
    def test_defaultproviders
        # Make a fake type
        type = Puppet::Type.newtype(:defaultprovidertest) do
            newparam(:name) do end
        end

        cleanup { Puppet::Type.rmtype(:defaultprovidertest) }

        basic = type.provide(:basic) do
            defaultfor :operatingsystem => :somethingelse,
                :operatingsystemrelease => :yayness
        end

        assert_equal(basic, type.defaultprovider)
        type.defaultprovider = nil

        greater = type.provide(:greater) do
            defaultfor :operatingsystem => Facter.value("operatingsystem")
        end

        assert_equal(greater, type.defaultprovider)
    end

    # Make sure the provider is always the first parameter created.
    def test_provider_sorting
        type = Puppet::Type.newtype(:sorttest) do
            newparam(:name) {}
            ensurable
        end
        cleanup { Puppet::Type.rmtype(:sorttest) }

        should = [:name, :ensure]
        assert_equal(should, type.allattrs.reject { |p| ! should.include?(p) },
            "Got wrong order of parameters")

        type.provide(:yay) { }
        should = [:name, :provider, :ensure]
        assert_equal(should, type.allattrs.reject { |p| ! should.include?(p) },
            "Providify did not reorder parameters")
    end
end

# $Id: provider.rb 2428 2007-04-28 01:18:23Z luke $

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
puppet-0.22.4 test/ral/manager/provider.rb