puppet 0.22.4 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +156 -0
- data/README +2 -2
- data/Rakefile +6 -6
- data/bin/filebucket +212 -0
- data/bin/puppet +2 -0
- data/bin/puppetca +2 -4
- data/bin/puppetd +16 -15
- data/bin/puppetdoc +46 -496
- data/bin/puppetmasterd +3 -5
- data/bin/puppetrun +8 -3
- data/bin/ralsh +271 -0
- data/conf/redhat/client.init +1 -1
- data/conf/redhat/puppet.spec +13 -2
- data/conf/solaris/pkginfo +1 -1
- data/ext/puppet-test +374 -0
- data/install.rb +40 -31
- data/lib/puppet.rb +39 -4
- data/lib/puppet/config_stores/rest.rb +60 -0
- data/lib/puppet/configuration.rb +312 -17
- data/lib/puppet/external/event-loop/event-loop.rb +4 -0
- data/lib/puppet/external/gratr/rdot.rb +1 -1
- data/lib/puppet/fact_stores/yaml.rb +42 -0
- data/lib/puppet/feature/base.rb +4 -1
- data/lib/puppet/metatype/attributes.rb +20 -43
- data/lib/puppet/metatype/container.rb +1 -36
- data/lib/puppet/metatype/evaluation.rb +48 -19
- data/lib/puppet/metatype/instances.rb +35 -1
- data/lib/puppet/metatype/metaparams.rb +23 -19
- data/lib/puppet/metatype/providers.rb +25 -38
- data/lib/puppet/network/client/ca.rb +8 -5
- data/lib/puppet/network/client/master.rb +59 -17
- data/lib/puppet/network/handler.rb +18 -1
- data/lib/puppet/network/handler/ca.rb +9 -3
- data/lib/puppet/network/handler/facts.rb +70 -0
- data/lib/puppet/network/handler/filebucket.rb +4 -1
- data/lib/puppet/network/handler/fileserver.rb +65 -21
- data/lib/puppet/network/handler/master.rb +6 -3
- data/lib/puppet/network/handler/report.rb +12 -26
- data/lib/puppet/network/handler/resource.rb +14 -2
- data/lib/puppet/network/handler/runner.rb +5 -1
- data/lib/puppet/network/handler/status.rb +5 -1
- data/lib/puppet/network/server/mongrel.rb +4 -4
- data/lib/puppet/network/server/webrick.rb +14 -3
- data/lib/puppet/parameter.rb +30 -25
- data/lib/puppet/parser/ast.rb +1 -6
- data/lib/puppet/parser/ast/component.rb +23 -20
- data/lib/puppet/parser/ast/hostclass.rb +7 -11
- data/lib/puppet/parser/ast/leaf.rb +4 -1
- data/lib/puppet/parser/ast/node.rb +6 -8
- data/lib/puppet/parser/functions.rb +7 -4
- data/lib/puppet/parser/interpreter.rb +155 -205
- data/lib/puppet/parser/lexer.rb +35 -2
- data/lib/puppet/parser/parser.rb +705 -612
- data/lib/puppet/parser/resource.rb +91 -48
- data/lib/puppet/parser/resource/param.rb +52 -29
- data/lib/puppet/parser/scope.rb +28 -23
- data/lib/puppet/pgraph.rb +26 -21
- data/lib/puppet/propertychange.rb +12 -12
- data/lib/puppet/provider.rb +102 -31
- data/lib/puppet/provider/cron/crontab.rb +7 -8
- data/lib/puppet/provider/group/groupadd.rb +4 -4
- data/lib/puppet/provider/group/pw.rb +3 -3
- data/lib/puppet/provider/mount.rb +8 -8
- data/lib/puppet/provider/mount/netinfo.rb +5 -5
- data/lib/puppet/provider/mount/parsed.rb +2 -2
- data/lib/puppet/provider/nameservice.rb +19 -31
- data/lib/puppet/provider/nameservice/netinfo.rb +14 -14
- data/lib/puppet/provider/nameservice/objectadd.rb +4 -4
- data/lib/puppet/provider/nameservice/pw.rb +4 -4
- data/lib/puppet/provider/package.rb +31 -0
- data/lib/puppet/provider/package/appdmg.rb +118 -0
- data/lib/puppet/provider/package/apple.rb +18 -16
- data/lib/puppet/provider/package/apt.rb +13 -15
- data/lib/puppet/provider/package/aptitude.rb +5 -3
- data/lib/puppet/provider/package/aptrpm.rb +9 -11
- data/lib/puppet/provider/package/blastwave.rb +9 -9
- data/lib/puppet/provider/package/darwinport.rb +12 -11
- data/lib/puppet/provider/package/dpkg.rb +20 -12
- data/lib/puppet/provider/package/fink.rb +87 -0
- data/lib/puppet/provider/package/freebsd.rb +10 -11
- data/lib/puppet/provider/package/gem.rb +15 -15
- data/lib/puppet/provider/package/openbsd.rb +12 -17
- data/lib/puppet/provider/package/pkgdmg.rb +90 -16
- data/lib/puppet/provider/package/portage.rb +20 -14
- data/lib/puppet/provider/package/ports.rb +15 -13
- data/lib/puppet/provider/package/rpm.rb +20 -23
- data/lib/puppet/provider/package/rug.rb +6 -8
- data/lib/puppet/provider/package/sun.rb +20 -18
- data/lib/puppet/provider/package/sunfreeware.rb +2 -2
- data/lib/puppet/provider/package/up2date.rb +6 -10
- data/lib/puppet/provider/package/urpmi.rb +51 -0
- data/lib/puppet/provider/package/yum.rb +15 -13
- data/lib/puppet/provider/parsedfile.rb +53 -63
- data/lib/puppet/provider/service/base.rb +13 -15
- data/lib/puppet/provider/service/debian.rb +4 -4
- data/lib/puppet/provider/service/gentoo.rb +4 -4
- data/lib/puppet/provider/service/init.rb +22 -15
- data/lib/puppet/provider/service/redhat.rb +6 -6
- data/lib/puppet/provider/service/smf.rb +6 -6
- data/lib/puppet/provider/user/netinfo.rb +5 -5
- data/lib/puppet/provider/user/pw.rb +10 -5
- data/lib/puppet/provider/user/useradd.rb +9 -14
- data/lib/puppet/provider/zone/solaris.rb +80 -45
- data/lib/puppet/rails.rb +3 -34
- data/lib/puppet/rails/database/schema.rb +45 -24
- data/lib/puppet/rails/fact_value.rb +1 -0
- data/lib/puppet/rails/host.rb +69 -40
- data/lib/puppet/rails/param_name.rb +3 -8
- data/lib/puppet/rails/param_value.rb +2 -1
- data/lib/puppet/rails/puppet_class.rb +0 -2
- data/lib/puppet/rails/puppet_tag.rb +5 -0
- data/lib/puppet/rails/resource.rb +41 -17
- data/lib/puppet/rails/resource_tag.rb +4 -0
- data/lib/puppet/reference/configuration.rb +149 -0
- data/lib/puppet/reference/function.rb +13 -0
- data/lib/puppet/reference/network.rb +37 -0
- data/lib/puppet/reference/providers.rb +118 -0
- data/lib/puppet/reference/report.rb +21 -0
- data/lib/puppet/reference/type.rb +152 -0
- data/lib/puppet/reports/rrdgraph.rb +21 -7
- data/lib/puppet/reports/tagmail.rb +4 -1
- data/lib/puppet/sslcertificates.rb +1 -49
- data/lib/puppet/sslcertificates/ca.rb +2 -79
- data/lib/puppet/sslcertificates/inventory.rb +0 -10
- data/lib/puppet/transaction.rb +24 -41
- data/lib/puppet/transaction/report.rb +27 -1
- data/lib/puppet/type.rb +7 -43
- data/lib/puppet/type/component.rb +198 -124
- data/lib/puppet/type/cron.rb +51 -42
- data/lib/puppet/type/exec.rb +20 -19
- data/lib/puppet/type/group.rb +6 -55
- data/lib/puppet/type/host.rb +16 -37
- data/lib/puppet/type/mount.rb +30 -17
- data/lib/puppet/type/notify.rb +7 -8
- data/lib/puppet/type/package.rb +44 -80
- data/lib/puppet/type/pfile.rb +50 -41
- data/lib/puppet/type/pfile/checksum.rb +82 -95
- data/lib/puppet/type/pfile/content.rb +21 -25
- data/lib/puppet/type/pfile/ensure.rb +32 -30
- data/lib/puppet/type/pfile/group.rb +21 -26
- data/lib/puppet/type/pfile/mode.rb +25 -32
- data/lib/puppet/type/pfile/owner.rb +23 -27
- data/lib/puppet/type/pfile/source.rb +42 -33
- data/lib/puppet/type/pfile/target.rb +20 -18
- data/lib/puppet/type/pfile/type.rb +6 -7
- data/lib/puppet/type/pfilebucket.rb +3 -3
- data/lib/puppet/type/port.rb +5 -7
- data/lib/puppet/type/property.rb +58 -61
- data/lib/puppet/type/resources.rb +12 -8
- data/lib/puppet/type/schedule.rb +8 -8
- data/lib/puppet/type/service.rb +26 -33
- data/lib/puppet/type/sshkey.rb +6 -7
- data/lib/puppet/type/tidy.rb +41 -35
- data/lib/puppet/type/user.rb +34 -67
- data/lib/puppet/type/yumrepo.rb +27 -12
- data/lib/puppet/type/zone.rb +71 -110
- data/lib/puppet/util.rb +46 -61
- data/lib/puppet/util/autoload.rb +59 -47
- data/lib/puppet/util/config.rb +160 -18
- data/lib/puppet/util/config_store.rb +61 -0
- data/lib/puppet/util/fact_store.rb +60 -0
- data/lib/puppet/util/instance_loader.rb +74 -0
- data/lib/puppet/util/loadedfile.rb +5 -8
- data/lib/puppet/util/metric.rb +17 -25
- data/lib/puppet/util/posix.rb +39 -7
- data/lib/puppet/util/provider_features.rb +9 -1
- data/lib/puppet/util/rails/collection_merger.rb +16 -1
- data/lib/puppet/util/reference.rb +189 -0
- data/lib/puppet/util/storage.rb +2 -2
- data/lib/puppet/util/subclass_loader.rb +9 -2
- data/test/language/ast.rb +4 -148
- data/test/language/ast/component.rb +10 -1
- data/test/language/collector.rb +1 -191
- data/test/language/interpreter.rb +284 -327
- data/test/language/lexer.rb +13 -1
- data/test/language/node.rb +1 -1
- data/test/language/parser.rb +17 -4
- data/test/language/resource.rb +67 -101
- data/test/language/scope.rb +18 -3
- data/test/language/snippets.rb +114 -151
- data/test/lib/puppettest.rb +13 -0
- data/test/lib/puppettest/exetest.rb +7 -0
- data/test/lib/puppettest/fakes.rb +39 -28
- data/test/lib/puppettest/railstesting.rb +1 -1
- data/test/lib/puppettest/support/assertions.rb +2 -2
- data/test/lib/puppettest/support/collection.rb +30 -0
- data/test/network/client/ca.rb +27 -1
- data/test/network/client/client.rb +3 -3
- data/test/network/client/master.rb +102 -1
- data/test/network/handler/ca.rb +35 -1
- data/test/network/handler/facts.rb +112 -0
- data/test/network/handler/fileserver.rb +25 -1
- data/test/network/handler/handler.rb +2 -2
- data/test/network/handler/master.rb +2 -49
- data/test/network/handler/resource.rb +5 -6
- data/test/network/server/mongrel_test.rb +65 -0
- data/test/network/server/webrick.rb +2 -2
- data/test/network/xmlrpc/client.rb +2 -1
- data/test/network/xmlrpc/processor.rb +2 -1
- data/test/other/pgraph.rb +6 -5
- data/test/other/propertychange.rb +11 -12
- data/test/other/report.rb +44 -27
- data/test/other/transactions.rb +17 -16
- data/test/puppet/tc_suidmanager.rb +2 -2
- data/test/rails/ast.rb +74 -0
- data/test/rails/collection.rb +214 -0
- data/test/rails/host.rb +49 -24
- data/test/rails/interpreter.rb +91 -0
- data/test/rails/railsparameter.rb +22 -11
- data/test/rails/railsresource.rb +140 -7
- data/test/ral/manager/attributes.rb +37 -13
- data/test/ral/manager/instances.rb +82 -0
- data/test/ral/manager/provider.rb +60 -22
- data/test/ral/manager/type.rb +9 -6
- data/test/ral/providers/cron/crontab.rb +59 -7
- data/test/ral/providers/group.rb +7 -7
- data/test/ral/providers/host/netinfo.rb +5 -6
- data/test/ral/providers/host/parsed.rb +4 -4
- data/test/ral/providers/mount/parsed.rb +11 -6
- data/test/ral/providers/nameservice.rb +2 -2
- data/test/ral/providers/package.rb +39 -14
- data/test/ral/providers/package/apt.rb +72 -3
- data/test/ral/providers/package/aptitude.rb +15 -12
- data/test/ral/providers/package/aptrpm.rb +3 -3
- data/test/ral/providers/package/dpkg.rb +2 -2
- data/test/ral/providers/parsedfile.rb +114 -88
- data/test/ral/providers/{parsedport.rb → port/parsed.rb} +1 -1
- data/test/ral/providers/provider.rb +93 -13
- data/test/ral/providers/service.rb +52 -26
- data/test/ral/providers/sshkey/parsed.rb +3 -3
- data/test/ral/providers/user.rb +19 -20
- data/test/ral/providers/user/useradd.rb +1 -5
- data/test/ral/types/cron.rb +49 -36
- data/test/ral/types/file.rb +38 -35
- data/test/ral/types/file/target.rb +4 -4
- data/test/ral/types/filesources.rb +24 -22
- data/test/ral/types/group.rb +4 -2
- data/test/ral/types/host.rb +17 -10
- data/test/ral/types/mount.rb +40 -23
- data/test/ral/types/package.rb +62 -5
- data/test/ral/types/parameter.rb +2 -2
- data/test/ral/types/property.rb +27 -20
- data/test/ral/types/resources.rb +4 -16
- data/test/ral/types/schedule.rb +2 -2
- data/test/ral/types/service.rb +2 -3
- data/test/ral/types/sshkey.rb +3 -3
- data/test/ral/types/tidy.rb +6 -15
- data/test/ral/types/user.rb +17 -17
- data/test/ral/types/yumrepo.rb +2 -2
- data/test/ral/types/zone.rb +71 -87
- data/test/util/autoload.rb +6 -21
- data/test/util/config.rb +201 -101
- data/test/util/fact_store.rb +67 -0
- data/test/util/features.rb +9 -6
- data/test/util/instance_loader.rb +53 -0
- data/test/util/loadedfile.rb +17 -1
- data/test/util/metrics.rb +54 -57
- data/test/util/posixtest.rb +8 -11
- data/test/util/utiltest.rb +31 -2
- metadata +520 -492
- data/TODO +0 -4
- data/lib/puppet/network/client/logger.rb +0 -6
- data/lib/puppet/network/handler/logger.rb +0 -52
- data/lib/puppet/rails/database/001_add_indexes.rb +0 -38
- data/lib/puppet/type/parsedtype.rb +0 -219
- data/test/network/handler/logger.rb +0 -183
data/test/ral/providers/group.rb
CHANGED
|
@@ -30,13 +30,13 @@ class TestGroupProvider < Test::Unit::TestCase
|
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
def mkgroup(name, hash = {})
|
|
33
|
-
|
|
33
|
+
fakeresource = fakeresource(:group, name)
|
|
34
34
|
group = nil
|
|
35
35
|
assert_nothing_raised {
|
|
36
|
-
group = @provider.new(
|
|
36
|
+
group = @provider.new(fakeresource)
|
|
37
37
|
}
|
|
38
38
|
hash.each do |name, val|
|
|
39
|
-
|
|
39
|
+
fakeresource[name] = val
|
|
40
40
|
end
|
|
41
41
|
assert(group, "Could not create provider group")
|
|
42
42
|
|
|
@@ -167,9 +167,9 @@ class TestGroupProvider < Test::Unit::TestCase
|
|
|
167
167
|
groupnames().each { |group|
|
|
168
168
|
gobj = nil
|
|
169
169
|
comp = nil
|
|
170
|
-
|
|
170
|
+
fakeresource = fakeresource(:group, group)
|
|
171
171
|
assert_nothing_raised {
|
|
172
|
-
gobj = @provider.new(
|
|
172
|
+
gobj = @provider.new(fakeresource)
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
assert(gobj.gid, "Failed to retrieve gid")
|
|
@@ -223,7 +223,7 @@ class TestGroupProvider < Test::Unit::TestCase
|
|
|
223
223
|
# Not all OSes fail here, so we can't test that it doesn't work with
|
|
224
224
|
# it off, only that it does work with it on.
|
|
225
225
|
assert_nothing_raised {
|
|
226
|
-
group2.
|
|
226
|
+
group2.resource[:allowdupe] = :true
|
|
227
227
|
}
|
|
228
228
|
|
|
229
229
|
# Now create the second group
|
|
@@ -249,4 +249,4 @@ class TestGroupProvider < Test::Unit::TestCase
|
|
|
249
249
|
end
|
|
250
250
|
end
|
|
251
251
|
|
|
252
|
-
# $Id: group.rb
|
|
252
|
+
# $Id: group.rb 2501 2007-05-09 23:08:42Z luke $
|
|
@@ -20,17 +20,16 @@ class TestNetinfoHostProvider < Test::Unit::TestCase
|
|
|
20
20
|
def test_list
|
|
21
21
|
list = nil
|
|
22
22
|
assert_nothing_raised do
|
|
23
|
-
list = @provider.
|
|
23
|
+
list = @provider.instances
|
|
24
24
|
end
|
|
25
25
|
assert(list.length > 0)
|
|
26
|
-
list.each do |
|
|
27
|
-
prov
|
|
28
|
-
assert_instance_of(@host, obj)
|
|
26
|
+
list.each do |prov|
|
|
27
|
+
assert_instance_of(@provider, prov)
|
|
29
28
|
assert(prov.name, "objects do not have names")
|
|
30
29
|
assert(prov.ip, "Did not get value for device in %s" % prov.ip)
|
|
31
30
|
end
|
|
32
31
|
|
|
33
|
-
assert(list.detect { |
|
|
32
|
+
assert(list.detect { |provider| provider.name == "localhost"}, "Could not find localhost")
|
|
34
33
|
end
|
|
35
34
|
|
|
36
35
|
if Process.uid == 0
|
|
@@ -55,4 +54,4 @@ end
|
|
|
55
54
|
end
|
|
56
55
|
end
|
|
57
56
|
|
|
58
|
-
# $Id: netinfo.rb
|
|
57
|
+
# $Id: netinfo.rb 2552 2007-06-05 01:17:00Z luke $
|
|
@@ -53,9 +53,9 @@ class TestParsedHostProvider < Test::Unit::TestCase
|
|
|
53
53
|
def mkhost
|
|
54
54
|
hash = mkhosthash()
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
fakeresource = fakeresource(:host, hash[:name])
|
|
57
57
|
|
|
58
|
-
host = @provider.new(
|
|
58
|
+
host = @provider.new(fakeresource)
|
|
59
59
|
|
|
60
60
|
assert(host, "Could not create provider host")
|
|
61
61
|
hash.each do |name, val|
|
|
@@ -214,7 +214,7 @@ class TestParsedHostProvider < Test::Unit::TestCase
|
|
|
214
214
|
|
|
215
215
|
# And verify that we have data for everything
|
|
216
216
|
hosts.each { |host|
|
|
217
|
-
name = host.
|
|
217
|
+
name = host.resource[:name]
|
|
218
218
|
assert(text.include?(name), "Host %s is not in file" % name)
|
|
219
219
|
hash = host.property_hash
|
|
220
220
|
assert(! hash.empty?, "Could not find host %s" % name)
|
|
@@ -223,4 +223,4 @@ class TestParsedHostProvider < Test::Unit::TestCase
|
|
|
223
223
|
end
|
|
224
224
|
end
|
|
225
225
|
|
|
226
|
-
# $Id: parsed.rb
|
|
226
|
+
# $Id: parsed.rb 2501 2007-05-09 23:08:42Z luke $
|
|
@@ -51,9 +51,9 @@ class TestParsedMounts < Test::Unit::TestCase
|
|
|
51
51
|
hash = mkmountargs()
|
|
52
52
|
#hash[:provider] = @provider.name
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
fakeresource = fakeresource(:mount, hash[:name])
|
|
55
55
|
|
|
56
|
-
mount = @provider.new(
|
|
56
|
+
mount = @provider.new(fakeresource)
|
|
57
57
|
assert(mount, "Could not create provider mount")
|
|
58
58
|
hash[:record_type] = :parsed
|
|
59
59
|
hash[:ensure] = :present
|
|
@@ -122,6 +122,10 @@ class TestParsedMounts < Test::Unit::TestCase
|
|
|
122
122
|
assert(hashes.length > 0, "Did not create any hashes")
|
|
123
123
|
root = hashes.find { |i| i[:name] == "/" }
|
|
124
124
|
assert(root, "Could not retrieve root mount")
|
|
125
|
+
|
|
126
|
+
assert_nothing_raised("Could not rewrite file") do
|
|
127
|
+
@provider.to_file(hashes)
|
|
128
|
+
end
|
|
125
129
|
end
|
|
126
130
|
end
|
|
127
131
|
|
|
@@ -133,12 +137,13 @@ class TestParsedMounts < Test::Unit::TestCase
|
|
|
133
137
|
|
|
134
138
|
assert(FileTest.exists?(@provider.default_target),
|
|
135
139
|
"FSTab %s does not exist" % @provider.default_target)
|
|
140
|
+
|
|
136
141
|
assert_nothing_raised do
|
|
137
|
-
@provider.prefetch
|
|
142
|
+
@provider.prefetch("/" => type)
|
|
138
143
|
end
|
|
139
144
|
|
|
140
|
-
assert_equal(:present, provider.property_hash[:ensure],
|
|
141
|
-
"Could not find root fs with provider %s" % provider.name)
|
|
145
|
+
assert_equal(:present, type.provider.property_hash[:ensure],
|
|
146
|
+
"Could not find root fs with provider %s" % provider.class.name)
|
|
142
147
|
|
|
143
148
|
assert_nothing_raised {
|
|
144
149
|
assert(provider.mounted?, "Root is considered not mounted")
|
|
@@ -220,4 +225,4 @@ class TestParsedMounts < Test::Unit::TestCase
|
|
|
220
225
|
end
|
|
221
226
|
end
|
|
222
227
|
|
|
223
|
-
# $Id: parsed.rb
|
|
228
|
+
# $Id: parsed.rb 2624 2007-06-19 01:49:19Z luke $
|
|
@@ -11,7 +11,7 @@ class TestNameServiceProvider < Test::Unit::TestCase
|
|
|
11
11
|
|
|
12
12
|
def test_option
|
|
13
13
|
klass = Class.new(Puppet::Provider::NameService)
|
|
14
|
-
klass.
|
|
14
|
+
klass.resource_type = Puppet::Type.type(:user)
|
|
15
15
|
|
|
16
16
|
val = nil
|
|
17
17
|
assert_nothing_raised {
|
|
@@ -30,4 +30,4 @@ class TestNameServiceProvider < Test::Unit::TestCase
|
|
|
30
30
|
end
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
# $Id: nameservice.rb
|
|
33
|
+
# $Id: nameservice.rb 2501 2007-05-09 23:08:42Z luke $
|
|
@@ -8,6 +8,11 @@ require 'etc'
|
|
|
8
8
|
class TestPackageProvider < Test::Unit::TestCase
|
|
9
9
|
include PuppetTest
|
|
10
10
|
|
|
11
|
+
def setup
|
|
12
|
+
super
|
|
13
|
+
Puppet.info @method_name
|
|
14
|
+
end
|
|
15
|
+
|
|
11
16
|
# Load the testpackages hash.
|
|
12
17
|
def self.load_test_packages
|
|
13
18
|
require 'yaml'
|
|
@@ -81,7 +86,7 @@ class TestPackageProvider < Test::Unit::TestCase
|
|
|
81
86
|
assert((result == :listed or result.is_a?(Hash)),
|
|
82
87
|
"query did not return hash or :listed")
|
|
83
88
|
if result == :listed
|
|
84
|
-
assert(provider.
|
|
89
|
+
assert(provider.resource.is(:ensure) != :absent, msg)
|
|
85
90
|
else
|
|
86
91
|
assert(result[:ensure] != :absent, msg)
|
|
87
92
|
end
|
|
@@ -150,8 +155,12 @@ class TestPackageProvider < Test::Unit::TestCase
|
|
|
150
155
|
|
|
151
156
|
cleanup do
|
|
152
157
|
if pkg.provider.respond_to?(:uninstall)
|
|
153
|
-
pkg
|
|
154
|
-
|
|
158
|
+
pkg.provider.flush
|
|
159
|
+
if pkg.provider.properties[:ensure] != :absent
|
|
160
|
+
assert_nothing_raised("Could not clean up package") do
|
|
161
|
+
pkg.provider.uninstall
|
|
162
|
+
end
|
|
163
|
+
end
|
|
155
164
|
else
|
|
156
165
|
if cleancmd
|
|
157
166
|
system(cleancmd)
|
|
@@ -159,6 +168,13 @@ class TestPackageProvider < Test::Unit::TestCase
|
|
|
159
168
|
end
|
|
160
169
|
end
|
|
161
170
|
|
|
171
|
+
# Now call 'latest' after the package is installed
|
|
172
|
+
if provider.respond_to?(:latest)
|
|
173
|
+
assert_nothing_raised("Could not call 'latest'") do
|
|
174
|
+
provider.latest
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
|
|
162
178
|
assert_nothing_raised("Could not install package") do
|
|
163
179
|
provider.install
|
|
164
180
|
end
|
|
@@ -168,26 +184,35 @@ class TestPackageProvider < Test::Unit::TestCase
|
|
|
168
184
|
# If there are any remaining files, then test upgrading from there
|
|
169
185
|
unless files.empty?
|
|
170
186
|
pkg[:source] = files.shift
|
|
171
|
-
current = provider.
|
|
187
|
+
current = provider.properties
|
|
172
188
|
assert_nothing_raised("Could not upgrade") do
|
|
173
189
|
provider.update
|
|
174
190
|
end
|
|
175
|
-
|
|
191
|
+
provider.flush
|
|
192
|
+
new = provider.properties
|
|
176
193
|
assert(current != new, "package was not upgraded: %s did not change" %
|
|
177
194
|
current.inspect)
|
|
178
195
|
end
|
|
179
196
|
|
|
180
197
|
unless versions.empty?
|
|
181
198
|
pkg[:ensure] = versions.shift
|
|
182
|
-
current = provider.
|
|
199
|
+
current = provider.properties
|
|
183
200
|
assert_nothing_raised("Could not upgrade") do
|
|
184
201
|
provider.update
|
|
185
202
|
end
|
|
186
|
-
|
|
203
|
+
provider.flush
|
|
204
|
+
new = provider.properties
|
|
187
205
|
assert(current != new, "package was not upgraded: %s did not change" %
|
|
188
206
|
current.inspect)
|
|
189
207
|
end
|
|
190
208
|
|
|
209
|
+
# Now call 'latest' after the package is installed
|
|
210
|
+
if provider.respond_to?(:latest)
|
|
211
|
+
assert_nothing_raised("Could not call 'latest'") do
|
|
212
|
+
provider.latest
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
|
|
191
216
|
# Now remove the package
|
|
192
217
|
if provider.respond_to?(:uninstall)
|
|
193
218
|
assert_nothing_raised do
|
|
@@ -234,20 +259,20 @@ class TestPackageProvider < Test::Unit::TestCase
|
|
|
234
259
|
|
|
235
260
|
# Make sure all of the suitable providers on our platform can successfully
|
|
236
261
|
# list.
|
|
237
|
-
def
|
|
262
|
+
def test_instances
|
|
238
263
|
Puppet::Type.type(:package).suitableprovider.each do |provider|
|
|
239
264
|
result = nil
|
|
240
265
|
assert_nothing_raised("Could not list %s packages" % provider.name) do
|
|
241
|
-
result = provider.
|
|
266
|
+
result = provider.instances
|
|
242
267
|
end
|
|
243
268
|
result.each do |pkg|
|
|
244
|
-
assert_instance_of(
|
|
245
|
-
"%s returned non-
|
|
246
|
-
assert_equal(provider.name, pkg.
|
|
247
|
-
"%s
|
|
269
|
+
assert_instance_of(provider, pkg,
|
|
270
|
+
"%s returned non-provider" % provider.name)
|
|
271
|
+
assert_equal(provider.name, pkg.class.name,
|
|
272
|
+
"Provider %s returned an instance of a different provider" % provider.name)
|
|
248
273
|
end
|
|
249
274
|
end
|
|
250
275
|
end
|
|
251
276
|
end
|
|
252
277
|
|
|
253
|
-
# $Id: package.rb
|
|
278
|
+
# $Id: package.rb 2595 2007-06-17 00:06:46Z luke $
|
|
@@ -28,7 +28,7 @@ class AptPackageProviderTest < PuppetTest::TestCase
|
|
|
28
28
|
'faff'
|
|
29
29
|
).returns(
|
|
30
30
|
"deinstall ok config-files faff 1.2.3-1\n"
|
|
31
|
-
)
|
|
31
|
+
).times(1)
|
|
32
32
|
|
|
33
33
|
pkg.provider.expects(
|
|
34
34
|
:aptget
|
|
@@ -56,7 +56,7 @@ class AptPackageProviderTest < PuppetTest::TestCase
|
|
|
56
56
|
'faff'
|
|
57
57
|
).returns(
|
|
58
58
|
"install ok installed faff 1.2.3-1\n"
|
|
59
|
-
)
|
|
59
|
+
).times(1)
|
|
60
60
|
pkg.provider.expects(
|
|
61
61
|
:aptget
|
|
62
62
|
).with(
|
|
@@ -70,6 +70,75 @@ class AptPackageProviderTest < PuppetTest::TestCase
|
|
|
70
70
|
pkg.evaluate.each { |state| state.transaction = self; state.forward }
|
|
71
71
|
end
|
|
72
72
|
|
|
73
|
+
def test_dont_try_to_purge_if_already_purged
|
|
74
|
+
pkg = @type.create :name => 'faff', :provider => :apt, :ensure => :purged
|
|
75
|
+
|
|
76
|
+
pkg.provider.expects(
|
|
77
|
+
:dpkgquery
|
|
78
|
+
).with(
|
|
79
|
+
'-W',
|
|
80
|
+
'--showformat',
|
|
81
|
+
'${Status} ${Package} ${Version}\n',
|
|
82
|
+
'faff'
|
|
83
|
+
).raises(
|
|
84
|
+
Puppet::ExecutionFailure,
|
|
85
|
+
"No packages found matching faff.\n"
|
|
86
|
+
).times(1)
|
|
87
|
+
pkg.provider.expects(
|
|
88
|
+
:aptget
|
|
89
|
+
).never
|
|
90
|
+
|
|
91
|
+
pkg.evaluate.each { |state| state.transaction = self; state.forward }
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def test_dont_try_to_purge_if_already_purged_and_we_want_it_absent
|
|
95
|
+
pkg = @type.create :name => 'faff', :provider => :apt, :ensure => :absent
|
|
96
|
+
|
|
97
|
+
pkg.provider.expects(
|
|
98
|
+
:dpkgquery
|
|
99
|
+
).with(
|
|
100
|
+
'-W',
|
|
101
|
+
'--showformat',
|
|
102
|
+
'${Status} ${Package} ${Version}\n',
|
|
103
|
+
'faff'
|
|
104
|
+
).raises(
|
|
105
|
+
Puppet::ExecutionFailure,
|
|
106
|
+
"No packages found matching faff.\n"
|
|
107
|
+
).times(1)
|
|
108
|
+
pkg.provider.expects(
|
|
109
|
+
:aptget
|
|
110
|
+
).never
|
|
111
|
+
|
|
112
|
+
pkg.evaluate.each { |state| state.transaction = self; state.forward }
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def test_make_sure_we_purge_if_package_still_has_conffiles
|
|
116
|
+
pkg = @type.create :name => 'faff', :provider => :apt, :ensure => :purged
|
|
117
|
+
|
|
118
|
+
pkg.provider.expects(
|
|
119
|
+
:dpkgquery
|
|
120
|
+
).with(
|
|
121
|
+
'-W',
|
|
122
|
+
'--showformat',
|
|
123
|
+
'${Status} ${Package} ${Version}\n',
|
|
124
|
+
'faff'
|
|
125
|
+
).returns(
|
|
126
|
+
"deinstall ok config-files faff 1.2.3-1\n"
|
|
127
|
+
).times(1)
|
|
128
|
+
pkg.provider.expects(
|
|
129
|
+
:aptget
|
|
130
|
+
).with(
|
|
131
|
+
'-y',
|
|
132
|
+
'-q',
|
|
133
|
+
'remove',
|
|
134
|
+
'--purge',
|
|
135
|
+
'faff'
|
|
136
|
+
).returns(0)
|
|
137
|
+
|
|
138
|
+
pkg.evaluate.each { |state| state.transaction = self; state.forward }
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
|
|
73
142
|
def test_latest
|
|
74
143
|
pkg = @type.create :name => 'base-files', :provider => :apt
|
|
75
144
|
|
|
@@ -86,4 +155,4 @@ class AptPackageProviderTest < PuppetTest::TestCase
|
|
|
86
155
|
end
|
|
87
156
|
end
|
|
88
157
|
|
|
89
|
-
# $Id: apt.rb
|
|
158
|
+
# $Id: apt.rb 2555 2007-06-08 17:20:00Z luke $
|
|
@@ -19,16 +19,16 @@ class AptitudePackageProviderTest < PuppetTest::TestCase
|
|
|
19
19
|
:ensure => :present,
|
|
20
20
|
:source => "/tmp/faff.deb"
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
pkg.provider.expects(
|
|
23
|
+
:dpkgquery
|
|
24
|
+
).with(
|
|
25
|
+
'-W',
|
|
26
|
+
'--showformat',
|
|
27
|
+
'${Status} ${Package} ${Version}\n',
|
|
28
|
+
'faff'
|
|
29
|
+
).returns(
|
|
30
|
+
"deinstall ok config-files faff 1.2.3-1\n"
|
|
31
|
+
).times(1)
|
|
32
32
|
|
|
33
33
|
pkg.provider.expects(
|
|
34
34
|
:aptitude
|
|
@@ -40,7 +40,10 @@ class AptitudePackageProviderTest < PuppetTest::TestCase
|
|
|
40
40
|
'faff'
|
|
41
41
|
).returns(0)
|
|
42
42
|
|
|
43
|
-
pkg.evaluate.each { |state|
|
|
43
|
+
pkg.evaluate.each { |state|
|
|
44
|
+
state.transaction = self
|
|
45
|
+
state.forward
|
|
46
|
+
}
|
|
44
47
|
end
|
|
45
48
|
|
|
46
49
|
def test_purge
|
|
@@ -55,7 +58,7 @@ class AptitudePackageProviderTest < PuppetTest::TestCase
|
|
|
55
58
|
'faff'
|
|
56
59
|
).returns(
|
|
57
60
|
"install ok installed faff 1.2.3-1\n"
|
|
58
|
-
)
|
|
61
|
+
).times(1)
|
|
59
62
|
pkg.provider.expects(
|
|
60
63
|
:aptitude
|
|
61
64
|
).with(
|
|
@@ -28,7 +28,7 @@ class AptrpmPackageProviderTest < PuppetTest::TestCase
|
|
|
28
28
|
'--nodigest',
|
|
29
29
|
'--qf',
|
|
30
30
|
"%{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}\n"
|
|
31
|
-
).raises(Puppet::ExecutionFailure, "couldn't find rpm")
|
|
31
|
+
).raises(Puppet::ExecutionFailure, "couldn't find rpm").times(1)
|
|
32
32
|
|
|
33
33
|
pkg.provider.expects(
|
|
34
34
|
:aptget
|
|
@@ -56,7 +56,7 @@ class AptrpmPackageProviderTest < PuppetTest::TestCase
|
|
|
56
56
|
"%{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}\n"
|
|
57
57
|
).returns(
|
|
58
58
|
"faff-1.2.3-1 1.2.3-1\n"
|
|
59
|
-
)
|
|
59
|
+
).times(1)
|
|
60
60
|
pkg.provider.expects(
|
|
61
61
|
:aptget
|
|
62
62
|
).with(
|
|
@@ -86,4 +86,4 @@ class AptrpmPackageProviderTest < PuppetTest::TestCase
|
|
|
86
86
|
end
|
|
87
87
|
end
|
|
88
88
|
|
|
89
|
-
# $Id: aptrpm.rb
|
|
89
|
+
# $Id: aptrpm.rb 2555 2007-06-08 17:20:00Z luke $
|
|
@@ -27,7 +27,7 @@ class DpkgPackageProviderTest < PuppetTest::TestCase
|
|
|
27
27
|
'faff'
|
|
28
28
|
).returns(
|
|
29
29
|
"deinstall ok config-files faff 1.2.3-1\n"
|
|
30
|
-
)
|
|
30
|
+
).times(1)
|
|
31
31
|
|
|
32
32
|
pkg.provider.expects(
|
|
33
33
|
:dpkg
|
|
@@ -51,7 +51,7 @@ class DpkgPackageProviderTest < PuppetTest::TestCase
|
|
|
51
51
|
'faff'
|
|
52
52
|
).returns(
|
|
53
53
|
"install ok installed faff 1.2.3-1\n"
|
|
54
|
-
)
|
|
54
|
+
).times(1)
|
|
55
55
|
pkg.provider.expects(
|
|
56
56
|
:dpkg
|
|
57
57
|
).with(
|