~nvalcarcel/ubuntu/lucid/puppet/fix-546677

« back to all changes in this revision

Viewing changes to spec/unit/type/package.rb

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2009-12-23 00:48:10 UTC
  • mfrom: (1.1.10 upstream) (3.1.7 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091223004810-3i4oryds922g5n59
Tags: 0.25.1-3ubuntu1
* Merge from debian testing.  Remaining changes:
  - debian/rules:
    + Don't start puppet when first installing puppet.
  - debian/puppet.conf, lib/puppet/defaults.rb:
    + Move templates to /etc/puppet
  - lib/puppet/defaults.rb:
    + Fix /var/lib/puppet/state ownership.
  - man/man8/puppet.conf.8: 
    + Fix broken URL in manpage.
  - debian/control:
    + Update maintainer accordint to spec.
    + Puppetmaster Recommends -> Suggests
    + Created puppet-testsuite as a seperate. Allow the users to run puppet's 
      testsuite.
  - tests/Rakefile: Fix rakefile so that the testsuite can acutally be ran.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
    end
25
25
 
26
26
    it "should default to being installed" do
27
 
        pkg = Puppet::Type.type(:package).create(:name => "yay")
 
27
        pkg = Puppet::Type.type(:package).new(:name => "yay")
28
28
        pkg.should(:ensure).should == :present
29
29
    end
30
 
 
31
 
    after { Puppet::Type.type(:package).clear }
32
30
end
33
31
 
34
32
describe Puppet::Type.type(:package), "when validating attributes" do
50
48
    end
51
49
 
52
50
    it "should support :present as a value to :ensure" do
53
 
        Puppet::Type.type(:package).create(:name => "yay", :ensure => :present)
 
51
        Puppet::Type.type(:package).new(:name => "yay", :ensure => :present)
54
52
    end
55
53
 
56
54
    it "should alias :installed to :present as a value to :ensure" do
57
 
        pkg = Puppet::Type.type(:package).create(:name => "yay", :ensure => :installed)
 
55
        pkg = Puppet::Type.type(:package).new(:name => "yay", :ensure => :installed)
58
56
        pkg.should(:ensure).should == :present
59
57
    end
60
58
 
61
59
    it "should support :absent as a value to :ensure" do
62
 
        Puppet::Type.type(:package).create(:name => "yay", :ensure => :absent)
 
60
        Puppet::Type.type(:package).new(:name => "yay", :ensure => :absent)
63
61
    end
64
62
 
65
63
    it "should support :purged as a value to :ensure if the provider has the :purgeable feature" do
66
64
        @provider.expects(:satisfies?).with(:purgeable).returns(true)
67
 
        Puppet::Type.type(:package).create(:name => "yay", :ensure => :purged)
 
65
        Puppet::Type.type(:package).new(:name => "yay", :ensure => :purged)
68
66
    end
69
67
 
70
68
    it "should not support :purged as a value to :ensure if the provider does not have the :purgeable feature" do
71
69
        @provider.expects(:satisfies?).with(:purgeable).returns(false)
72
 
        proc { Puppet::Type.type(:package).create(:name => "yay", :ensure => :purged) }.should raise_error(Puppet::Error)
 
70
        proc { Puppet::Type.type(:package).new(:name => "yay", :ensure => :purged) }.should raise_error(Puppet::Error)
73
71
    end
74
72
 
75
73
    it "should support :latest as a value to :ensure if the provider has the :upgradeable feature" do
76
74
        @provider.expects(:satisfies?).with(:upgradeable).returns(true)
77
 
        Puppet::Type.type(:package).create(:name => "yay", :ensure => :latest)
 
75
        Puppet::Type.type(:package).new(:name => "yay", :ensure => :latest)
78
76
    end
79
77
 
80
78
    it "should not support :latest as a value to :ensure if the provider does not have the :upgradeable feature" do
81
79
        @provider.expects(:satisfies?).with(:upgradeable).returns(false)
82
 
        proc { Puppet::Type.type(:package).create(:name => "yay", :ensure => :latest) }.should raise_error(Puppet::Error)
 
80
        proc { Puppet::Type.type(:package).new(:name => "yay", :ensure => :latest) }.should raise_error(Puppet::Error)
83
81
    end
84
82
 
85
83
    it "should support version numbers as a value to :ensure if the provider has the :versionable feature" do
86
84
        @provider.expects(:satisfies?).with(:versionable).returns(true)
87
 
        Puppet::Type.type(:package).create(:name => "yay", :ensure => "1.0")
 
85
        Puppet::Type.type(:package).new(:name => "yay", :ensure => "1.0")
88
86
    end
89
87
 
90
88
    it "should not support version numbers as a value to :ensure if the provider does not have the :versionable feature" do
91
89
        @provider.expects(:satisfies?).with(:versionable).returns(false)
92
 
        proc { Puppet::Type.type(:package).create(:name => "yay", :ensure => "1.0") }.should raise_error(Puppet::Error)
 
90
        proc { Puppet::Type.type(:package).new(:name => "yay", :ensure => "1.0") }.should raise_error(Puppet::Error)
93
91
    end
94
92
 
95
93
    it "should accept any string as an argument to :source" do
96
 
        proc { Puppet::Type.type(:package).create(:name => "yay", :source => "stuff") }.should_not raise_error(Puppet::Error)
 
94
        proc { Puppet::Type.type(:package).new(:name => "yay", :source => "stuff") }.should_not raise_error(Puppet::Error)
97
95
    end
98
 
 
99
 
    after { Puppet::Type.type(:package).clear }
100
96
end
101
97
 
102
98
module PackageEvaluationTesting
110
106
        @provider = stub 'provider', :class => Puppet::Type.type(:package).defaultprovider, :clear => nil, :satisfies? => true, :name => :mock
111
107
        Puppet::Type.type(:package).defaultprovider.stubs(:new).returns(@provider)
112
108
        Puppet::Type.type(:package).defaultprovider.stubs(:instances).returns([])
113
 
        @package = Puppet::Type.type(:package).create(:name => "yay")
 
109
        @package = Puppet::Type.type(:package).new(:name => "yay")
114
110
 
115
 
        @catalog = Puppet::Node::Catalog.new
 
111
        @catalog = Puppet::Resource::Catalog.new
116
112
        @catalog.add_resource(@package)
117
113
    end
118
 
    
119
 
    after :each do
120
 
        @catalog.clear(true)
121
 
        Puppet::Type.type(:package).clear
122
 
    end
123
 
 
124
114
 
125
115
    describe Puppet::Type.type(:package), "when it should be purged" do
126
116
        include PackageEvaluationTesting