puppet 0.22.4 → 0.23.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- 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/types/package.rb
CHANGED
@@ -4,6 +4,7 @@ $:.unshift("../../lib") if __FILE__ =~ /\.rb$/
|
|
4
4
|
|
5
5
|
require 'puppettest'
|
6
6
|
require 'facter'
|
7
|
+
require 'mocha'
|
7
8
|
|
8
9
|
$platform = Facter["operatingsystem"].value
|
9
10
|
|
@@ -11,7 +12,6 @@ class TestPackages < Test::Unit::TestCase
|
|
11
12
|
include PuppetTest::FileTesting
|
12
13
|
def setup
|
13
14
|
super
|
14
|
-
#@list = Puppet.type(:package).getpkglist
|
15
15
|
Puppet.type(:package).clear
|
16
16
|
@type = Puppet::Type.type(:package)
|
17
17
|
end
|
@@ -21,7 +21,7 @@ class TestPackages < Test::Unit::TestCase
|
|
21
21
|
@type.provide :fake, :parent => PuppetTest::FakeProvider do
|
22
22
|
apimethods :ensure
|
23
23
|
def install
|
24
|
-
self.ensure = @
|
24
|
+
self.ensure = @resource.should(:ensure)
|
25
25
|
end
|
26
26
|
|
27
27
|
def uninstall
|
@@ -43,11 +43,13 @@ class TestPackages < Test::Unit::TestCase
|
|
43
43
|
end
|
44
44
|
assert(pkg, "did not create package")
|
45
45
|
|
46
|
+
current_values = nil
|
46
47
|
assert_nothing_raised do
|
47
|
-
pkg.retrieve
|
48
|
+
current_values = pkg.retrieve
|
48
49
|
end
|
49
50
|
|
50
|
-
assert_equal(:absent, pkg.
|
51
|
+
assert_equal(:absent, current_values[pkg.property(:ensure)],
|
52
|
+
"package not considered missing")
|
51
53
|
assert_equal(:present, pkg.should(:ensure),
|
52
54
|
"package did not default to installed")
|
53
55
|
|
@@ -80,6 +82,61 @@ class TestPackages < Test::Unit::TestCase
|
|
80
82
|
"Incorrect default package format")
|
81
83
|
end
|
82
84
|
end
|
85
|
+
|
86
|
+
# Make sure we can prefetch and retrieve packages
|
87
|
+
def test_package_instances
|
88
|
+
providers = []
|
89
|
+
@type.instances.each do |resource|
|
90
|
+
# Just do one of each type
|
91
|
+
next if providers.include?(resource.provider.class)
|
92
|
+
providers << resource.provider.class
|
93
|
+
|
94
|
+
# We should have data on the resource
|
95
|
+
assert(resource.exists?, "Listed resource thinks it's absent")
|
96
|
+
|
97
|
+
# Now flush the resource and make sure it clears the property_hash
|
98
|
+
assert_nothing_raised("Could not flush package") do
|
99
|
+
resource.flush
|
100
|
+
end
|
101
|
+
|
102
|
+
assert_equal(:absent, resource.provider.get(:ensure), "Flushing did not empty property hash")
|
103
|
+
|
104
|
+
# And query anew
|
105
|
+
props = nil
|
106
|
+
assert_nothing_raised("Could not retrieve package again") do
|
107
|
+
props = resource.retrieve
|
108
|
+
end
|
109
|
+
provider_props = resource.provider.send(:instance_variable_get, "@property_hash")
|
110
|
+
props.each do |prop, value|
|
111
|
+
assert_equal(value, provider_props[prop.name], "Query did not return same result as the property_hash for %s" % prop.name)
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
# Make sure we can prefetch package information, rather than getting it one package at a time.
|
117
|
+
def test_prefetch
|
118
|
+
@type.providers_by_source.each do |provider|
|
119
|
+
# First get a list of packages
|
120
|
+
list = provider.instances
|
121
|
+
|
122
|
+
packages = {}
|
123
|
+
list.each do |package|
|
124
|
+
packages[package.name] = @type.create(:name => package.name, :ensure => :installed)
|
125
|
+
break if packages.length > 4
|
126
|
+
end
|
127
|
+
|
128
|
+
# Now prefetch using that list of packages
|
129
|
+
assert_nothing_raised("Could not prefetch with %s" % provider.name) do
|
130
|
+
provider.prefetch(packages)
|
131
|
+
end
|
132
|
+
|
133
|
+
# And make sure each package is marked as existing, without calling query
|
134
|
+
packages.each do |name, package|
|
135
|
+
assert(package.exists?, "Package of type %s not marked present" % provider.name)
|
136
|
+
package.provider.expects(:query).never
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
83
140
|
end
|
84
141
|
|
85
|
-
# $Id: package.rb
|
142
|
+
# $Id: package.rb 2555 2007-06-08 17:20:00Z luke $
|
data/test/ral/types/parameter.rb
CHANGED
@@ -20,7 +20,7 @@ class TestParameter < Test::Unit::TestCase
|
|
20
20
|
|
21
21
|
def newinst(param)
|
22
22
|
assert_nothing_raised {
|
23
|
-
return param.new(:
|
23
|
+
return param.new(:resource => "yay")
|
24
24
|
}
|
25
25
|
end
|
26
26
|
|
@@ -169,4 +169,4 @@ class TestParameter < Test::Unit::TestCase
|
|
169
169
|
end
|
170
170
|
end
|
171
171
|
|
172
|
-
# $Id: parameter.rb
|
172
|
+
# $Id: parameter.rb 2500 2007-05-09 22:05:32Z luke $
|
data/test/ral/types/property.rb
CHANGED
@@ -7,14 +7,18 @@ require 'puppettest'
|
|
7
7
|
class TestProperty < Test::Unit::TestCase
|
8
8
|
include PuppetTest
|
9
9
|
|
10
|
-
def newinst(property,
|
10
|
+
def newinst(property, resource = nil)
|
11
11
|
inst = nil
|
12
|
-
unless
|
13
|
-
|
14
|
-
|
12
|
+
unless resource
|
13
|
+
resource = "fakeresource"
|
14
|
+
resource.meta_def(:pathbuilder) do [self.to_s] end
|
15
|
+
resource.meta_def(:provider) do nil end
|
16
|
+
resource.meta_def(:fakeproperty) do '' end
|
15
17
|
end
|
16
18
|
assert_nothing_raised {
|
17
|
-
|
19
|
+
newinst = property.new(:resource => resource)
|
20
|
+
def newinst.retrieve(); return @fakeprovidervalue; end;
|
21
|
+
return newinst
|
18
22
|
}
|
19
23
|
end
|
20
24
|
|
@@ -104,13 +108,13 @@ class TestProperty < Test::Unit::TestCase
|
|
104
108
|
# These are bogus because they don't define events. :/
|
105
109
|
assert_nothing_raised {
|
106
110
|
property.newvalue(:one) do
|
107
|
-
@
|
111
|
+
@fakeprovidervalue = 1
|
108
112
|
end
|
109
113
|
}
|
110
114
|
|
111
115
|
assert_nothing_raised {
|
112
116
|
property.newvalue("two") do
|
113
|
-
@
|
117
|
+
@fakeprovidervalue = 2
|
114
118
|
end
|
115
119
|
}
|
116
120
|
|
@@ -127,7 +131,7 @@ class TestProperty < Test::Unit::TestCase
|
|
127
131
|
assert_equal(:one, inst.should)
|
128
132
|
ret = nil
|
129
133
|
assert_nothing_raised { inst.set_one }
|
130
|
-
assert_equal(1, inst.
|
134
|
+
assert_equal(1, inst.retrieve)
|
131
135
|
|
132
136
|
assert_nothing_raised {
|
133
137
|
inst.should = :two
|
@@ -135,7 +139,7 @@ class TestProperty < Test::Unit::TestCase
|
|
135
139
|
|
136
140
|
assert_equal(:two, inst.should)
|
137
141
|
assert_nothing_raised { inst.set_two }
|
138
|
-
assert_equal(2, inst.
|
142
|
+
assert_equal(2, inst.retrieve)
|
139
143
|
end
|
140
144
|
|
141
145
|
def test_newpropertyvaluewithregexes
|
@@ -143,7 +147,6 @@ class TestProperty < Test::Unit::TestCase
|
|
143
147
|
|
144
148
|
assert_nothing_raised {
|
145
149
|
property.newvalue(/^\w+$/) do
|
146
|
-
@is = self.should.upcase
|
147
150
|
return :regex_matched
|
148
151
|
end
|
149
152
|
}
|
@@ -160,7 +163,7 @@ class TestProperty < Test::Unit::TestCase
|
|
160
163
|
inst.sync
|
161
164
|
}
|
162
165
|
|
163
|
-
assert_equal("yayness".upcase, inst.
|
166
|
+
assert_equal("yayness".upcase, inst.retrieve)
|
164
167
|
end
|
165
168
|
|
166
169
|
def test_newvalue_event_option
|
@@ -168,10 +171,8 @@ class TestProperty < Test::Unit::TestCase
|
|
168
171
|
|
169
172
|
assert_nothing_raised do
|
170
173
|
property.newvalue(:myvalue, :event => :fake_valued) do
|
171
|
-
@is = :valued
|
172
174
|
end
|
173
175
|
property.newvalue(:other, :event => "fake_other") do
|
174
|
-
@is = :valued
|
175
176
|
end
|
176
177
|
end
|
177
178
|
inst = newinst(property)
|
@@ -221,7 +222,7 @@ class TestProperty < Test::Unit::TestCase
|
|
221
222
|
inst = newinst(property, klassinst)
|
222
223
|
|
223
224
|
# Now make sure we can set the values, they get validated as normal,
|
224
|
-
# and they set the values on the
|
225
|
+
# and they set the values on the resource rather than trying to call
|
225
226
|
# a method
|
226
227
|
{:value => :matched_value, "27" => :matched_number}.each do |value, event|
|
227
228
|
assert_nothing_raised do
|
@@ -254,7 +255,7 @@ class TestProperty < Test::Unit::TestCase
|
|
254
255
|
|
255
256
|
inst = nil
|
256
257
|
assert_nothing_raised do
|
257
|
-
inst = propertyklass.new(:
|
258
|
+
inst = propertyklass.new(:resource => obj)
|
258
259
|
end
|
259
260
|
|
260
261
|
assert_nothing_raised do
|
@@ -263,15 +264,21 @@ class TestProperty < Test::Unit::TestCase
|
|
263
264
|
end
|
264
265
|
|
265
266
|
def test_failure
|
266
|
-
s = Struct.new(:line, :file, :path, :pathbuilder)
|
267
|
-
p = s.new(1, "yay", "rah", "struct")
|
268
|
-
|
267
|
+
s = Struct.new(:line, :file, :path, :pathbuilder, :name)
|
268
|
+
p = s.new(1, "yay", "rah", "struct", "name")
|
269
|
+
|
270
|
+
myprovider = Class.new(Puppet::Provider)
|
271
|
+
|
272
|
+
def p.provider; nil; end;
|
273
|
+
myproperty = Class.new(Puppet::Property) do
|
274
|
+
@name = 'name'
|
275
|
+
end
|
269
276
|
myproperty.initvars
|
270
277
|
|
271
278
|
myproperty.newvalue :mkfailure do
|
272
279
|
raise "It's all broken"
|
273
280
|
end
|
274
|
-
property = myproperty.new(:
|
281
|
+
property = myproperty.new(:resource => p)
|
275
282
|
|
276
283
|
assert_raise(Puppet::Error) do
|
277
284
|
property.set(:mkfailure)
|
@@ -340,4 +347,4 @@ class TestProperty < Test::Unit::TestCase
|
|
340
347
|
end
|
341
348
|
end
|
342
349
|
|
343
|
-
# $Id: property.rb
|
350
|
+
# $Id: property.rb 2500 2007-05-09 22:05:32Z luke $
|
data/test/ral/types/resources.rb
CHANGED
@@ -13,7 +13,7 @@ class TestResources < Test::Unit::TestCase
|
|
13
13
|
def add_purge_lister
|
14
14
|
# Now define the list method
|
15
15
|
class << @purgetype
|
16
|
-
def
|
16
|
+
def instances
|
17
17
|
$purgemembers.values
|
18
18
|
end
|
19
19
|
end
|
@@ -85,21 +85,9 @@ class TestResources < Test::Unit::TestCase
|
|
85
85
|
purger = @type.create :name => "purgetest", :noop => true, :loglevel => :warning
|
86
86
|
end
|
87
87
|
assert(purger, "did not get purger manager")
|
88
|
-
|
89
|
-
# Make sure we throw an error, because the purger type does
|
90
|
-
# not support listing.
|
91
|
-
|
92
|
-
# It should work when we set it to false
|
93
|
-
assert_nothing_raised do
|
94
|
-
purger[:purge] = false
|
95
|
-
end
|
96
|
-
# but not true
|
97
|
-
assert_raise(ArgumentError) do
|
98
|
-
purger[:purge] = true
|
99
|
-
end
|
100
88
|
add_purge_lister()
|
101
89
|
|
102
|
-
assert_equal($purgemembers.values.sort, @purgetype.
|
90
|
+
assert_equal($purgemembers.values.sort, @purgetype.instances.sort)
|
103
91
|
|
104
92
|
# and it should now succeed
|
105
93
|
assert_nothing_raised do
|
@@ -212,10 +200,10 @@ class TestResources < Test::Unit::TestCase
|
|
212
200
|
assert(! list.empty?, "did not get any users")
|
213
201
|
|
214
202
|
bad = list.find_all { |u|
|
215
|
-
%w{root bin nobody}.include?(u[:name]) or (u.retrieve and u.
|
203
|
+
%w{root bin nobody}.include?(u[:name]) or (cv = u.retrieve and cv[u.property(:uid)] < 500)
|
216
204
|
}
|
217
205
|
assert(bad.empty?, "incorrectly passed users %s" % bad.collect { |u| u[:name]}.join(", "))
|
218
206
|
end
|
219
207
|
end
|
220
208
|
|
221
|
-
# $Id: resources.rb
|
209
|
+
# $Id: resources.rb 2551 2007-06-04 20:37:14Z luke $
|
data/test/ral/types/schedule.rb
CHANGED
@@ -94,7 +94,7 @@ class TestSchedule < Test::Unit::TestCase
|
|
94
94
|
#end
|
95
95
|
end
|
96
96
|
|
97
|
-
|
97
|
+
Puppet.err @@times.inspect
|
98
98
|
|
99
99
|
@@times.each { |time|
|
100
100
|
@now = time
|
@@ -354,4 +354,4 @@ class TestSchedule < Test::Unit::TestCase
|
|
354
354
|
end
|
355
355
|
end
|
356
356
|
|
357
|
-
# $Id: schedule.rb
|
357
|
+
# $Id: schedule.rb 2487 2007-05-09 01:51:20Z ballman $
|
data/test/ral/types/service.rb
CHANGED
@@ -23,9 +23,8 @@ class TestServiceType < Test::Unit::TestCase
|
|
23
23
|
|
24
24
|
def test_refresh_normally
|
25
25
|
service = Puppet::Type.type(:service).create :name => "testing",
|
26
|
-
:ensure => :running, :provider => :base
|
26
|
+
:ensure => :running, :provider => :base, :status => "cat /dev/null"
|
27
27
|
|
28
|
-
service.is = [:ensure, :running]
|
29
28
|
service.provider.expects(:restart)
|
30
29
|
|
31
30
|
assert_nothing_raised do
|
@@ -34,4 +33,4 @@ class TestServiceType < Test::Unit::TestCase
|
|
34
33
|
end
|
35
34
|
end
|
36
35
|
|
37
|
-
# $Id: service.rb
|
36
|
+
# $Id: service.rb 2487 2007-05-09 01:51:20Z ballman $
|
data/test/ral/types/sshkey.rb
CHANGED
@@ -59,9 +59,9 @@ class TestSSHKey < Test::Unit::TestCase
|
|
59
59
|
return key
|
60
60
|
end
|
61
61
|
|
62
|
-
def
|
62
|
+
def test_instances
|
63
63
|
assert_nothing_raised {
|
64
|
-
Puppet.type(:sshkey).
|
64
|
+
Puppet.type(:sshkey).instances
|
65
65
|
}
|
66
66
|
|
67
67
|
count = 0
|
@@ -189,4 +189,4 @@ class TestSSHKey < Test::Unit::TestCase
|
|
189
189
|
end
|
190
190
|
end
|
191
191
|
|
192
|
-
# $Id: sshkey.rb
|
192
|
+
# $Id: sshkey.rb 2551 2007-06-04 20:37:14Z luke $
|
data/test/ral/types/tidy.rb
CHANGED
@@ -151,14 +151,10 @@ class TestTidy < Test::Unit::TestCase
|
|
151
151
|
age = tidy.property(:age)
|
152
152
|
|
153
153
|
# Set it to something that should be fine
|
154
|
-
age.
|
155
|
-
|
156
|
-
assert(age.insync?, "Tried to tidy a low age")
|
154
|
+
assert(age.insync?(Time.now.to_i - 5), "Tried to tidy a low age")
|
157
155
|
|
158
156
|
# Now to something that should fail
|
159
|
-
age.
|
160
|
-
|
161
|
-
assert(! age.insync?, "Incorrectly skipped tidy")
|
157
|
+
assert(! age.insync?(Time.now.to_i - 120), "Incorrectly skipped tidy")
|
162
158
|
end
|
163
159
|
|
164
160
|
def test_sizetest
|
@@ -167,14 +163,10 @@ class TestTidy < Test::Unit::TestCase
|
|
167
163
|
size = tidy.property(:size)
|
168
164
|
|
169
165
|
# Set it to something that should be fine
|
170
|
-
size.
|
171
|
-
|
172
|
-
assert(size.insync?, "Tried to tidy a low size")
|
166
|
+
assert(size.insync?(50), "Tried to tidy a low size")
|
173
167
|
|
174
168
|
# Now to something that should fail
|
175
|
-
size.
|
176
|
-
|
177
|
-
assert(! size.insync?, "Incorrectly skipped tidy")
|
169
|
+
assert(! size.insync?(2048), "Incorrectly skipped tidy")
|
178
170
|
end
|
179
171
|
|
180
172
|
# Make sure we can remove different types of files
|
@@ -197,7 +189,6 @@ class TestTidy < Test::Unit::TestCase
|
|
197
189
|
|
198
190
|
# And a directory
|
199
191
|
Dir.mkdir(path)
|
200
|
-
tidy.is = [:ensure, [Time.now - 1024, 1]]
|
201
192
|
tidy[:rmdirs] = true
|
202
193
|
assert_events([:file_tidied], tidy)
|
203
194
|
assert(! FileTest.exists?(path), "File was not removed")
|
@@ -218,7 +209,7 @@ class TestTidy < Test::Unit::TestCase
|
|
218
209
|
File.open(path, "w") { |f| 10.times { f.puts "yayness " } }
|
219
210
|
tidy = Puppet::Type.type(:tidy).create :path => path, :age => "5s"
|
220
211
|
|
221
|
-
|
212
|
+
|
222
213
|
assert_apply(tidy)
|
223
214
|
assert(! FileTest.exists?(path), "file did not get tidied")
|
224
215
|
end
|
@@ -237,4 +228,4 @@ class TestTidy < Test::Unit::TestCase
|
|
237
228
|
end
|
238
229
|
end
|
239
230
|
|
240
|
-
# $Id: tidy.rb
|
231
|
+
# $Id: tidy.rb 2487 2007-05-09 01:51:20Z ballman $
|
data/test/ral/types/user.rb
CHANGED
@@ -13,7 +13,7 @@ class TestUser < Test::Unit::TestCase
|
|
13
13
|
apimethods
|
14
14
|
def create
|
15
15
|
@ensure = :present
|
16
|
-
@
|
16
|
+
@resource.send(:properties).each do |property|
|
17
17
|
next if property.name == :ensure
|
18
18
|
property.sync
|
19
19
|
end
|
@@ -21,7 +21,7 @@ class TestUser < Test::Unit::TestCase
|
|
21
21
|
|
22
22
|
def delete
|
23
23
|
@ensure = :absent
|
24
|
-
@
|
24
|
+
@resource.send(:properties).each do |property|
|
25
25
|
send(property.name.to_s + "=", :absent)
|
26
26
|
end
|
27
27
|
end
|
@@ -305,11 +305,11 @@ class TestUser < Test::Unit::TestCase
|
|
305
305
|
assert(user.provider.groups.is_a?(String),
|
306
306
|
"Incorrectly passed an array to groups")
|
307
307
|
|
308
|
-
user.retrieve
|
308
|
+
currentvalue = user.retrieve
|
309
309
|
|
310
|
-
assert(user.property(:groups)
|
310
|
+
assert(currentvalue[user.property(:groups)], "Did not retrieve group list")
|
311
311
|
|
312
|
-
list = user.property(:groups)
|
312
|
+
list = currentvalue[user.property(:groups)]
|
313
313
|
assert_equal(extra.sort, list.sort, "Group list is not equal")
|
314
314
|
|
315
315
|
# Now set to our main list of groups
|
@@ -319,45 +319,45 @@ class TestUser < Test::Unit::TestCase
|
|
319
319
|
|
320
320
|
assert_equal((main + extra).sort, user.property(:groups).should.split(",").sort)
|
321
321
|
|
322
|
+
currentvalue = nil
|
322
323
|
assert_nothing_raised {
|
323
|
-
user.retrieve
|
324
|
+
currentvalue = user.retrieve
|
324
325
|
}
|
325
326
|
|
326
|
-
assert(!user.insync
|
327
|
+
assert(!user.insync?(currentvalue), "User is incorrectly in sync")
|
327
328
|
|
328
329
|
assert_apply(user)
|
329
330
|
|
330
331
|
assert_nothing_raised {
|
331
|
-
user.retrieve
|
332
|
+
currentvalue = user.retrieve
|
332
333
|
}
|
333
334
|
|
334
335
|
# We're not managing inclusively, so it should keep the old group
|
335
336
|
# memberships and add the new ones
|
336
|
-
list = user.property(:groups)
|
337
|
+
list = currentvalue[user.property(:groups)]
|
337
338
|
assert_equal((main + extra).sort, list.sort, "Group list is not equal")
|
338
339
|
|
339
340
|
assert_nothing_raised {
|
340
341
|
user[:membership] = :inclusive
|
341
342
|
}
|
342
343
|
assert_nothing_raised {
|
343
|
-
user.retrieve
|
344
|
+
currentvalue = user.retrieve
|
344
345
|
}
|
345
346
|
|
346
|
-
assert(!user.insync
|
347
|
+
assert(!user.insync?(currentvalue), "User is incorrectly in sync")
|
347
348
|
|
348
349
|
assert_events([:user_changed], user)
|
349
350
|
assert_nothing_raised {
|
350
|
-
user.retrieve
|
351
|
+
currentvalue = user.retrieve
|
351
352
|
}
|
352
353
|
|
353
|
-
list = user.property(:groups)
|
354
|
+
list = currentvalue[user.property(:groups)]
|
354
355
|
assert_equal(main.sort, list.sort, "Group list is not equal")
|
355
356
|
|
356
357
|
# Set the values a bit differently.
|
357
358
|
user.property(:groups).should = list.sort { |a,b| b <=> a }
|
358
|
-
user.property(:groups).is = list.sort
|
359
359
|
|
360
|
-
assert(user.property(:groups).insync
|
360
|
+
assert(user.property(:groups).insync?(list.sort), "Groups property did not sort groups")
|
361
361
|
|
362
362
|
user.delete(:groups)
|
363
363
|
end
|
@@ -460,7 +460,7 @@ class TestUser < Test::Unit::TestCase
|
|
460
460
|
user.evaluate
|
461
461
|
end
|
462
462
|
|
463
|
-
assert(user.send(:property, :groups).insync
|
463
|
+
assert(user.send(:property, :groups).insync?(nil),
|
464
464
|
"Groups state considered out of sync with no :should value")
|
465
465
|
end
|
466
466
|
|
@@ -490,4 +490,4 @@ class TestUser < Test::Unit::TestCase
|
|
490
490
|
end
|
491
491
|
end
|
492
492
|
|
493
|
-
# $Id: user.rb
|
493
|
+
# $Id: user.rb 2501 2007-05-09 23:08:42Z luke $
|