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
@@ -55,7 +55,7 @@ class TestLocalService < Test::Unit::TestCase
|
|
55
55
|
}
|
56
56
|
|
57
57
|
comp = newcomp("servicetst", service)
|
58
|
-
service[:ensure] =
|
58
|
+
service[:ensure] = :running
|
59
59
|
|
60
60
|
Puppet.info "Starting %s" % service.name
|
61
61
|
assert_apply(service)
|
@@ -63,10 +63,15 @@ class TestLocalService < Test::Unit::TestCase
|
|
63
63
|
# Some package systems background the work, so we need to give them
|
64
64
|
# time to do their work.
|
65
65
|
sleep(1.5)
|
66
|
+
props = nil
|
66
67
|
assert_nothing_raised() {
|
67
|
-
service.retrieve
|
68
|
+
props = service.retrieve
|
68
69
|
}
|
69
|
-
|
70
|
+
props.each do |prop, value|
|
71
|
+
if prop.name == :ensure
|
72
|
+
assert_equal(:running, value, "Service %s is not running" % service.name)
|
73
|
+
end
|
74
|
+
end
|
70
75
|
|
71
76
|
# test refreshing it
|
72
77
|
assert_nothing_raised() {
|
@@ -77,17 +82,22 @@ class TestLocalService < Test::Unit::TestCase
|
|
77
82
|
assert_nothing_raised() {
|
78
83
|
service[:ensure] = :stopped
|
79
84
|
}
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
85
|
+
props.each do |prop, value|
|
86
|
+
if prop.name == :ensure
|
87
|
+
assert_equal(:running, value, "Service %s is not running" % service.name)
|
88
|
+
end
|
89
|
+
end
|
84
90
|
Puppet.info "stopping %s" % service.name
|
85
91
|
assert_events([:service_stopped], comp)
|
86
92
|
sleep(1.5)
|
87
93
|
assert_nothing_raised() {
|
88
|
-
service.retrieve
|
94
|
+
props = service.retrieve
|
89
95
|
}
|
90
|
-
|
96
|
+
props.each do |prop, value|
|
97
|
+
if prop.name == :ensure
|
98
|
+
assert_equal(:stopped, value, "Service %s is not running" % service.name)
|
99
|
+
end
|
100
|
+
end
|
91
101
|
end
|
92
102
|
|
93
103
|
def cycleenable(service)
|
@@ -104,26 +114,35 @@ class TestLocalService < Test::Unit::TestCase
|
|
104
114
|
# Some package systems background the work, so we need to give them
|
105
115
|
# time to do their work.
|
106
116
|
sleep(1.5)
|
117
|
+
props = nil
|
107
118
|
assert_nothing_raised() {
|
108
|
-
service.retrieve
|
119
|
+
props = service.retrieve
|
109
120
|
}
|
110
|
-
|
121
|
+
props.each do |prop, value|
|
122
|
+
if prop.name == :enable
|
123
|
+
assert_equal(value, :true, "Service %s is not enabled" % service.name)
|
124
|
+
end
|
125
|
+
end
|
111
126
|
|
112
|
-
# now
|
127
|
+
# now disable it
|
113
128
|
assert_nothing_raised() {
|
114
129
|
service[:enable] = false
|
115
130
|
}
|
116
131
|
assert_nothing_raised() {
|
117
|
-
service.retrieve
|
132
|
+
props = service.retrieve
|
118
133
|
}
|
119
|
-
|
134
|
+
props.each do |prop, value|
|
135
|
+
assert_equal(value, :true, "Service %s is already disabled" % service.name)
|
136
|
+
end
|
120
137
|
Puppet.info "disabling %s" % service.name
|
121
138
|
assert_events([:service_disabled], comp)
|
122
139
|
sleep(1.5)
|
123
140
|
assert_nothing_raised() {
|
124
|
-
service.retrieve
|
141
|
+
props = service.retrieve
|
125
142
|
}
|
126
|
-
|
143
|
+
props.each do |prop, value|
|
144
|
+
assert_equal(value, :false, "Service %s is still enabled" % service.name)
|
145
|
+
end
|
127
146
|
end
|
128
147
|
|
129
148
|
def test_status
|
@@ -174,30 +193,37 @@ class TestLocalService < Test::Unit::TestCase
|
|
174
193
|
startenable = nil
|
175
194
|
startensure = nil
|
176
195
|
svc[:check] = [:ensure, :enable]
|
177
|
-
|
196
|
+
properties = nil
|
178
197
|
assert_nothing_raised("Could not get status") {
|
179
|
-
|
180
|
-
startensure = svc.property(:ensure).is
|
198
|
+
properties = svc.retrieve
|
181
199
|
}
|
200
|
+
initial = properties.dup
|
182
201
|
|
183
202
|
svc[:enable] = false
|
184
203
|
svc[:ensure] = :stopped
|
185
204
|
assert_apply(svc)
|
186
205
|
|
187
206
|
sleep 1
|
188
|
-
|
189
|
-
|
207
|
+
assert_nothing_raised("Could not get status") {
|
208
|
+
properties = svc.retrieve
|
209
|
+
}
|
210
|
+
properties.each do |prop, value|
|
211
|
+
assert(prop.insync?(value), "Service did not sync %s property" % prop.name)
|
212
|
+
end
|
190
213
|
|
191
214
|
svc[:enable] = true
|
192
215
|
svc[:ensure] = :running
|
193
216
|
assert_apply(svc)
|
194
217
|
|
195
218
|
sleep 1
|
196
|
-
|
197
|
-
|
219
|
+
assert_nothing_raised("Could not get status") {
|
220
|
+
properties = svc.retrieve
|
221
|
+
}
|
222
|
+
assert(svc.insync?(properties), "Service did not sync both properties")
|
198
223
|
|
199
|
-
|
200
|
-
|
224
|
+
initial.each do |prop, value|
|
225
|
+
svc[prop.name] = value
|
226
|
+
end
|
201
227
|
assert_apply(svc)
|
202
228
|
Puppet.type(:component).clear
|
203
229
|
end
|
@@ -206,4 +232,4 @@ class TestLocalService < Test::Unit::TestCase
|
|
206
232
|
end
|
207
233
|
end
|
208
234
|
|
209
|
-
# $Id: service.rb
|
235
|
+
# $Id: service.rb 2555 2007-06-08 17:20:00Z luke $
|
@@ -38,9 +38,9 @@ class TestParsedSSHKey < Test::Unit::TestCase
|
|
38
38
|
:ensure => :present
|
39
39
|
}
|
40
40
|
|
41
|
-
|
41
|
+
fakeresource = fakeresource(:sshkey, args[:name])
|
42
42
|
|
43
|
-
key = @provider.new(
|
43
|
+
key = @provider.new(fakeresource)
|
44
44
|
args.each do |p,v|
|
45
45
|
key.send(p.to_s + "=", v)
|
46
46
|
end
|
@@ -108,4 +108,4 @@ class TestParsedSSHKey < Test::Unit::TestCase
|
|
108
108
|
end
|
109
109
|
end
|
110
110
|
|
111
|
-
# $Id: parsed.rb
|
111
|
+
# $Id: parsed.rb 2501 2007-05-09 23:08:42Z luke $
|
data/test/ral/providers/user.rb
CHANGED
@@ -128,11 +128,11 @@ class TestUserProvider < Test::Unit::TestCase
|
|
128
128
|
end
|
129
129
|
end
|
130
130
|
|
131
|
-
def
|
132
|
-
|
131
|
+
def fakeresource(*args)
|
132
|
+
resource = super
|
133
133
|
|
134
134
|
# Set boolean methods as necessary.
|
135
|
-
class <<
|
135
|
+
class << resource
|
136
136
|
def allowdupe?
|
137
137
|
self[:allowdupe]
|
138
138
|
end
|
@@ -140,14 +140,14 @@ class TestUserProvider < Test::Unit::TestCase
|
|
140
140
|
self[:managehome]
|
141
141
|
end
|
142
142
|
end
|
143
|
-
|
143
|
+
resource
|
144
144
|
end
|
145
145
|
|
146
146
|
def mkuser(name)
|
147
|
-
|
147
|
+
fakeresource = fakeresource(:user, name)
|
148
148
|
user = nil
|
149
149
|
assert_nothing_raised {
|
150
|
-
user = @provider.new(
|
150
|
+
user = @provider.new(fakeresource)
|
151
151
|
}
|
152
152
|
assert(user, "Could not create provider user")
|
153
153
|
|
@@ -164,29 +164,28 @@ class TestUserProvider < Test::Unit::TestCase
|
|
164
164
|
|
165
165
|
# Now try it by object
|
166
166
|
assert_nothing_raised {
|
167
|
-
names = @provider.
|
167
|
+
names = @provider.instances
|
168
168
|
}
|
169
169
|
assert(names.length > 0, "Listed no users as objects")
|
170
170
|
|
171
171
|
names.each do |obj|
|
172
|
-
assert_instance_of(
|
173
|
-
assert(obj[:provider], "Provider was not set")
|
172
|
+
assert_instance_of(@provider, obj)
|
174
173
|
end
|
175
174
|
end
|
176
175
|
|
177
176
|
def test_infocollection
|
178
|
-
|
177
|
+
fakeresource = fakeresource(:user, @me)
|
179
178
|
|
180
179
|
user = nil
|
181
180
|
assert_nothing_raised {
|
182
|
-
user = @provider.new(
|
181
|
+
user = @provider.new(fakeresource)
|
183
182
|
}
|
184
183
|
assert(user, "Could not create user provider")
|
185
184
|
|
186
185
|
Puppet::Type.type(:user).validproperties.each do |property|
|
187
186
|
next if property == :ensure
|
188
187
|
# This is mostly in place for the 'password' stuff.
|
189
|
-
next unless user.class.supports_parameter?(property)
|
188
|
+
next unless user.class.supports_parameter?(property) and Puppet.features.root?
|
190
189
|
val = nil
|
191
190
|
assert_nothing_raised {
|
192
191
|
val = user.send(property)
|
@@ -392,7 +391,7 @@ class TestUserProvider < Test::Unit::TestCase
|
|
392
391
|
|
393
392
|
# Now add some of them to our user
|
394
393
|
assert_nothing_raised {
|
395
|
-
user.
|
394
|
+
user.resource[:groups] = extra.join(",")
|
396
395
|
}
|
397
396
|
|
398
397
|
# Some tests to verify that groups work correctly startig from nothing
|
@@ -428,7 +427,7 @@ class TestUserProvider < Test::Unit::TestCase
|
|
428
427
|
|
429
428
|
eachproperty do |property|
|
430
429
|
if val = fakedata(user.name, property)
|
431
|
-
user.
|
430
|
+
user.resource[property] = val
|
432
431
|
end
|
433
432
|
end
|
434
433
|
|
@@ -459,7 +458,7 @@ class TestUserProvider < Test::Unit::TestCase
|
|
459
458
|
|
460
459
|
eachproperty do |property|
|
461
460
|
if val = fakedata(user.name, property)
|
462
|
-
user.
|
461
|
+
user.resource[property] = val
|
463
462
|
end
|
464
463
|
end
|
465
464
|
|
@@ -494,7 +493,7 @@ class TestUserProvider < Test::Unit::TestCase
|
|
494
493
|
user1.create
|
495
494
|
user1.uid = 125
|
496
495
|
user2 = mkuser("user2")
|
497
|
-
user2.
|
496
|
+
user2.resource[:uid] = 125
|
498
497
|
|
499
498
|
cleanup do
|
500
499
|
user1.ensure = :absent
|
@@ -504,7 +503,7 @@ class TestUserProvider < Test::Unit::TestCase
|
|
504
503
|
# Not all OSes fail here, so we can't test that it doesn't work with
|
505
504
|
# it off, only that it does work with it on.
|
506
505
|
assert_nothing_raised {
|
507
|
-
user2.
|
506
|
+
user2.resource[:allowdupe] = :true
|
508
507
|
}
|
509
508
|
assert_nothing_raised { user2.create }
|
510
509
|
assert_equal(:present, user2.ensure,
|
@@ -524,8 +523,8 @@ class TestUserProvider < Test::Unit::TestCase
|
|
524
523
|
|
525
524
|
user = nil
|
526
525
|
assert_nothing_raised {
|
527
|
-
|
528
|
-
user = useradd.new(
|
526
|
+
fakeresource = fakeresource(:user, @me)
|
527
|
+
user = useradd.new(fakeresource)
|
529
528
|
}
|
530
529
|
|
531
530
|
assert_equal("-d", user.send(:flag, :home),
|
@@ -564,4 +563,4 @@ class TestUserProvider < Test::Unit::TestCase
|
|
564
563
|
end
|
565
564
|
end
|
566
565
|
|
567
|
-
# $Id: user.rb
|
566
|
+
# $Id: user.rb 2555 2007-06-08 17:20:00Z luke $
|
@@ -29,7 +29,6 @@ class UserAddProviderTest < PuppetTest::TestCase
|
|
29
29
|
|
30
30
|
@vals.each do |name, val|
|
31
31
|
next unless @user.class.validproperty?(name)
|
32
|
-
@user.is = [name, :absent]
|
33
32
|
end
|
34
33
|
@user
|
35
34
|
end
|
@@ -46,7 +45,6 @@ class UserAddProviderTest < PuppetTest::TestCase
|
|
46
45
|
|
47
46
|
@vals.each do |name, val|
|
48
47
|
next unless user.class.validproperty?(name)
|
49
|
-
user.is = [name, :absent]
|
50
48
|
end
|
51
49
|
|
52
50
|
user.expects(:allowdupe?).returns(false)
|
@@ -204,8 +202,6 @@ class UserAddProviderTest < PuppetTest::TestCase
|
|
204
202
|
|
205
203
|
# Now mark the user made, and make sure the right command is called
|
206
204
|
setup_user
|
207
|
-
@user.is = [:ensure, :present]
|
208
|
-
@user.is = [:password, :present]
|
209
205
|
@vals[:password] = "somethingelse"
|
210
206
|
|
211
207
|
@user.provider.expects(:execute).with do |params|
|
@@ -247,4 +243,4 @@ class UserRootAddProviderTest < PuppetTest::TestCase
|
|
247
243
|
end
|
248
244
|
|
249
245
|
|
250
|
-
# $Id: useradd.rb
|
246
|
+
# $Id: useradd.rb 2487 2007-05-09 01:51:20Z ballman $
|
data/test/ral/types/cron.rb
CHANGED
@@ -97,9 +97,9 @@ class TestCron < Test::Unit::TestCase
|
|
97
97
|
|
98
98
|
assert_events([:cron_created], comp)
|
99
99
|
cron.provider.class.prefetch
|
100
|
-
cron.retrieve
|
100
|
+
currentvalue = cron.retrieve
|
101
101
|
|
102
|
-
assert(cron.insync
|
102
|
+
assert(cron.insync?(currentvalue), "Cron is not in sync")
|
103
103
|
|
104
104
|
assert_events([], comp)
|
105
105
|
|
@@ -114,9 +114,9 @@ class TestCron < Test::Unit::TestCase
|
|
114
114
|
assert_events([:cron_removed], comp)
|
115
115
|
|
116
116
|
cron.provider.class.prefetch
|
117
|
-
cron.retrieve
|
117
|
+
currentvalue = cron.retrieve
|
118
118
|
|
119
|
-
assert(cron.insync
|
119
|
+
assert(cron.insync?(currentvalue), "Cron is not in sync")
|
120
120
|
assert_events([], comp)
|
121
121
|
end
|
122
122
|
|
@@ -137,10 +137,12 @@ class TestCron < Test::Unit::TestCase
|
|
137
137
|
}
|
138
138
|
property = cron.send(:property, :command)
|
139
139
|
cron.provider.command = command
|
140
|
+
cron.provider.ensure = :present
|
141
|
+
cron.provider.month = ["4"]
|
140
142
|
cron.provider.class.prefetch
|
141
|
-
cron.retrieve
|
143
|
+
currentvalue = cron.retrieve
|
142
144
|
|
143
|
-
assert(
|
145
|
+
assert(cron.insync?(currentvalue), "command parsing removes trailing whitespace")
|
144
146
|
@crontype.clear
|
145
147
|
end
|
146
148
|
end
|
@@ -230,12 +232,14 @@ class TestCron < Test::Unit::TestCase
|
|
230
232
|
)
|
231
233
|
}
|
232
234
|
|
233
|
-
minute = cron.send(:property, :minute)
|
235
|
+
#minute = cron.send(:property, :minute)
|
236
|
+
cron.provider.ensure = :present
|
237
|
+
cron.provider.command = '/bin/date > /dev/null'
|
234
238
|
cron.provider.minute = %w{0 30}
|
235
239
|
cron.provider.class.prefetch
|
236
|
-
cron.retrieve
|
240
|
+
currentvalue = cron.retrieve
|
237
241
|
|
238
|
-
assert(
|
242
|
+
assert(cron.insync?(currentvalue), "minute is out of sync with %s" % provider.name)
|
239
243
|
@crontype.clear
|
240
244
|
end
|
241
245
|
end
|
@@ -256,11 +260,13 @@ class TestCron < Test::Unit::TestCase
|
|
256
260
|
|
257
261
|
cron[:minute] = :absent
|
258
262
|
assert_events([:cron_changed], cron)
|
263
|
+
|
264
|
+
current_values = nil
|
259
265
|
assert_nothing_raised {
|
260
266
|
cron.provider.class.prefetch
|
261
|
-
cron.retrieve
|
267
|
+
current_values = cron.retrieve
|
262
268
|
}
|
263
|
-
assert_equal(:absent, cron.
|
269
|
+
assert_equal(:absent, current_values[cron.property(:minute)])
|
264
270
|
end
|
265
271
|
|
266
272
|
def test_listing
|
@@ -281,9 +287,11 @@ class TestCron < Test::Unit::TestCase
|
|
281
287
|
# Write it to our file
|
282
288
|
assert_apply(cron)
|
283
289
|
|
290
|
+
@crontype.clear
|
291
|
+
|
284
292
|
crons = []
|
285
293
|
assert_nothing_raised {
|
286
|
-
@crontype.
|
294
|
+
@crontype.instances.each do |cron|
|
287
295
|
crons << cron
|
288
296
|
end
|
289
297
|
}
|
@@ -325,9 +333,9 @@ class TestCron < Test::Unit::TestCase
|
|
325
333
|
assert_apply(cron)
|
326
334
|
|
327
335
|
cron.provider.class.prefetch
|
328
|
-
cron.retrieve
|
336
|
+
currentvalue = cron.retrieve
|
329
337
|
|
330
|
-
assert_equal(["*/5"], cron.
|
338
|
+
assert_equal(["*/5"], currentvalue[cron.property(:minute)])
|
331
339
|
end
|
332
340
|
|
333
341
|
def test_ranges
|
@@ -336,10 +344,22 @@ class TestCron < Test::Unit::TestCase
|
|
336
344
|
|
337
345
|
assert_apply(cron)
|
338
346
|
|
339
|
-
|
340
|
-
|
347
|
+
current_values = nil
|
348
|
+
assert_nothing_raised {
|
349
|
+
cron.provider.class.prefetch
|
350
|
+
current_values = cron.retrieve
|
351
|
+
}
|
341
352
|
|
342
|
-
assert_equal(["2-4"], cron.
|
353
|
+
assert_equal(["2-4"], current_values[cron.property(:minute)])
|
354
|
+
end
|
355
|
+
|
356
|
+
|
357
|
+
def provider_set(cron, param, value)
|
358
|
+
unless param =~ /=$/
|
359
|
+
param = "%s=" % param
|
360
|
+
end
|
361
|
+
|
362
|
+
cron.provider.send(param, value)
|
343
363
|
end
|
344
364
|
|
345
365
|
def test_value
|
@@ -353,22 +373,19 @@ class TestCron < Test::Unit::TestCase
|
|
353
373
|
assert(property, "Did not get %s property" % param)
|
354
374
|
|
355
375
|
assert_nothing_raised {
|
356
|
-
property.is = :absent
|
376
|
+
# property.is = :absent
|
377
|
+
provider_set(cron, param, :absent)
|
357
378
|
}
|
358
379
|
|
359
|
-
val =
|
380
|
+
val = "*"
|
360
381
|
assert_equal(val, cron.value(param))
|
361
382
|
|
362
|
-
# Make sure we correctly get the "is" value if that's all there is
|
363
|
-
cron.is = [param, "1"]
|
364
|
-
assert_equal(%w{1}, cron.value(param))
|
365
|
-
|
366
383
|
# Make sure arrays work, too
|
367
|
-
cron
|
384
|
+
provider_set(cron, param, ["1"])
|
368
385
|
assert_equal(%w{1}, cron.value(param))
|
369
386
|
|
370
387
|
# Make sure values get comma-joined
|
371
|
-
cron
|
388
|
+
provider_set(cron, param, %w{2 3})
|
372
389
|
assert_equal(%w{2 3}, cron.value(param))
|
373
390
|
|
374
391
|
# Make sure "should" values work, too
|
@@ -381,7 +398,7 @@ class TestCron < Test::Unit::TestCase
|
|
381
398
|
cron[param] = ["4", "5"]
|
382
399
|
assert_equal(%w{4 5}, cron.value(param))
|
383
400
|
|
384
|
-
cron
|
401
|
+
provider_set(cron, param, :absent)
|
385
402
|
assert_equal(%w{4 5}, cron.value(param))
|
386
403
|
end
|
387
404
|
|
@@ -393,20 +410,16 @@ class TestCron < Test::Unit::TestCase
|
|
393
410
|
property = cron.property(:command)
|
394
411
|
|
395
412
|
assert_nothing_raised {
|
396
|
-
|
413
|
+
provider_set(cron, :command, :absent)
|
397
414
|
}
|
398
415
|
|
399
416
|
param = :command
|
400
|
-
# Make sure we correctly get the "is" value if that's all there is
|
401
|
-
cron.is = [param, "/bin/echo"]
|
402
|
-
assert_equal("/bin/echo", cron.value(param))
|
403
|
-
|
404
417
|
# Make sure arrays work, too
|
405
|
-
cron
|
418
|
+
provider_set(cron, param, ["/bin/echo"])
|
406
419
|
assert_equal("/bin/echo", cron.value(param))
|
407
420
|
|
408
421
|
# Make sure values are not comma-joined
|
409
|
-
cron
|
422
|
+
provider_set(cron, param, %w{/bin/echo /bin/test})
|
410
423
|
assert_equal("/bin/echo", cron.value(param))
|
411
424
|
|
412
425
|
# Make sure "should" values work, too
|
@@ -419,7 +432,7 @@ class TestCron < Test::Unit::TestCase
|
|
419
432
|
cron[param] = %w{/bin/echo /bin/test}
|
420
433
|
assert_equal("/bin/echo", cron.value(param))
|
421
434
|
|
422
|
-
cron
|
435
|
+
provider_set(cron, param, :absent)
|
423
436
|
assert_equal("/bin/echo", cron.value(param))
|
424
437
|
end
|
425
438
|
|
@@ -455,7 +468,7 @@ class TestCron < Test::Unit::TestCase
|
|
455
468
|
end
|
456
469
|
|
457
470
|
# Make sure the user stuff defaults correctly.
|
458
|
-
def
|
471
|
+
def test_default_user
|
459
472
|
crontab = @crontype.provider(:crontab)
|
460
473
|
if crontab.suitable?
|
461
474
|
inst = @crontype.create(
|
@@ -477,4 +490,4 @@ class TestCron < Test::Unit::TestCase
|
|
477
490
|
end
|
478
491
|
|
479
492
|
|
480
|
-
# $Id: cron.rb
|
493
|
+
# $Id: cron.rb 2551 2007-06-04 20:37:14Z luke $
|