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.

Files changed (266) hide show
  1. data/CHANGELOG +156 -0
  2. data/README +2 -2
  3. data/Rakefile +6 -6
  4. data/bin/filebucket +212 -0
  5. data/bin/puppet +2 -0
  6. data/bin/puppetca +2 -4
  7. data/bin/puppetd +16 -15
  8. data/bin/puppetdoc +46 -496
  9. data/bin/puppetmasterd +3 -5
  10. data/bin/puppetrun +8 -3
  11. data/bin/ralsh +271 -0
  12. data/conf/redhat/client.init +1 -1
  13. data/conf/redhat/puppet.spec +13 -2
  14. data/conf/solaris/pkginfo +1 -1
  15. data/ext/puppet-test +374 -0
  16. data/install.rb +40 -31
  17. data/lib/puppet.rb +39 -4
  18. data/lib/puppet/config_stores/rest.rb +60 -0
  19. data/lib/puppet/configuration.rb +312 -17
  20. data/lib/puppet/external/event-loop/event-loop.rb +4 -0
  21. data/lib/puppet/external/gratr/rdot.rb +1 -1
  22. data/lib/puppet/fact_stores/yaml.rb +42 -0
  23. data/lib/puppet/feature/base.rb +4 -1
  24. data/lib/puppet/metatype/attributes.rb +20 -43
  25. data/lib/puppet/metatype/container.rb +1 -36
  26. data/lib/puppet/metatype/evaluation.rb +48 -19
  27. data/lib/puppet/metatype/instances.rb +35 -1
  28. data/lib/puppet/metatype/metaparams.rb +23 -19
  29. data/lib/puppet/metatype/providers.rb +25 -38
  30. data/lib/puppet/network/client/ca.rb +8 -5
  31. data/lib/puppet/network/client/master.rb +59 -17
  32. data/lib/puppet/network/handler.rb +18 -1
  33. data/lib/puppet/network/handler/ca.rb +9 -3
  34. data/lib/puppet/network/handler/facts.rb +70 -0
  35. data/lib/puppet/network/handler/filebucket.rb +4 -1
  36. data/lib/puppet/network/handler/fileserver.rb +65 -21
  37. data/lib/puppet/network/handler/master.rb +6 -3
  38. data/lib/puppet/network/handler/report.rb +12 -26
  39. data/lib/puppet/network/handler/resource.rb +14 -2
  40. data/lib/puppet/network/handler/runner.rb +5 -1
  41. data/lib/puppet/network/handler/status.rb +5 -1
  42. data/lib/puppet/network/server/mongrel.rb +4 -4
  43. data/lib/puppet/network/server/webrick.rb +14 -3
  44. data/lib/puppet/parameter.rb +30 -25
  45. data/lib/puppet/parser/ast.rb +1 -6
  46. data/lib/puppet/parser/ast/component.rb +23 -20
  47. data/lib/puppet/parser/ast/hostclass.rb +7 -11
  48. data/lib/puppet/parser/ast/leaf.rb +4 -1
  49. data/lib/puppet/parser/ast/node.rb +6 -8
  50. data/lib/puppet/parser/functions.rb +7 -4
  51. data/lib/puppet/parser/interpreter.rb +155 -205
  52. data/lib/puppet/parser/lexer.rb +35 -2
  53. data/lib/puppet/parser/parser.rb +705 -612
  54. data/lib/puppet/parser/resource.rb +91 -48
  55. data/lib/puppet/parser/resource/param.rb +52 -29
  56. data/lib/puppet/parser/scope.rb +28 -23
  57. data/lib/puppet/pgraph.rb +26 -21
  58. data/lib/puppet/propertychange.rb +12 -12
  59. data/lib/puppet/provider.rb +102 -31
  60. data/lib/puppet/provider/cron/crontab.rb +7 -8
  61. data/lib/puppet/provider/group/groupadd.rb +4 -4
  62. data/lib/puppet/provider/group/pw.rb +3 -3
  63. data/lib/puppet/provider/mount.rb +8 -8
  64. data/lib/puppet/provider/mount/netinfo.rb +5 -5
  65. data/lib/puppet/provider/mount/parsed.rb +2 -2
  66. data/lib/puppet/provider/nameservice.rb +19 -31
  67. data/lib/puppet/provider/nameservice/netinfo.rb +14 -14
  68. data/lib/puppet/provider/nameservice/objectadd.rb +4 -4
  69. data/lib/puppet/provider/nameservice/pw.rb +4 -4
  70. data/lib/puppet/provider/package.rb +31 -0
  71. data/lib/puppet/provider/package/appdmg.rb +118 -0
  72. data/lib/puppet/provider/package/apple.rb +18 -16
  73. data/lib/puppet/provider/package/apt.rb +13 -15
  74. data/lib/puppet/provider/package/aptitude.rb +5 -3
  75. data/lib/puppet/provider/package/aptrpm.rb +9 -11
  76. data/lib/puppet/provider/package/blastwave.rb +9 -9
  77. data/lib/puppet/provider/package/darwinport.rb +12 -11
  78. data/lib/puppet/provider/package/dpkg.rb +20 -12
  79. data/lib/puppet/provider/package/fink.rb +87 -0
  80. data/lib/puppet/provider/package/freebsd.rb +10 -11
  81. data/lib/puppet/provider/package/gem.rb +15 -15
  82. data/lib/puppet/provider/package/openbsd.rb +12 -17
  83. data/lib/puppet/provider/package/pkgdmg.rb +90 -16
  84. data/lib/puppet/provider/package/portage.rb +20 -14
  85. data/lib/puppet/provider/package/ports.rb +15 -13
  86. data/lib/puppet/provider/package/rpm.rb +20 -23
  87. data/lib/puppet/provider/package/rug.rb +6 -8
  88. data/lib/puppet/provider/package/sun.rb +20 -18
  89. data/lib/puppet/provider/package/sunfreeware.rb +2 -2
  90. data/lib/puppet/provider/package/up2date.rb +6 -10
  91. data/lib/puppet/provider/package/urpmi.rb +51 -0
  92. data/lib/puppet/provider/package/yum.rb +15 -13
  93. data/lib/puppet/provider/parsedfile.rb +53 -63
  94. data/lib/puppet/provider/service/base.rb +13 -15
  95. data/lib/puppet/provider/service/debian.rb +4 -4
  96. data/lib/puppet/provider/service/gentoo.rb +4 -4
  97. data/lib/puppet/provider/service/init.rb +22 -15
  98. data/lib/puppet/provider/service/redhat.rb +6 -6
  99. data/lib/puppet/provider/service/smf.rb +6 -6
  100. data/lib/puppet/provider/user/netinfo.rb +5 -5
  101. data/lib/puppet/provider/user/pw.rb +10 -5
  102. data/lib/puppet/provider/user/useradd.rb +9 -14
  103. data/lib/puppet/provider/zone/solaris.rb +80 -45
  104. data/lib/puppet/rails.rb +3 -34
  105. data/lib/puppet/rails/database/schema.rb +45 -24
  106. data/lib/puppet/rails/fact_value.rb +1 -0
  107. data/lib/puppet/rails/host.rb +69 -40
  108. data/lib/puppet/rails/param_name.rb +3 -8
  109. data/lib/puppet/rails/param_value.rb +2 -1
  110. data/lib/puppet/rails/puppet_class.rb +0 -2
  111. data/lib/puppet/rails/puppet_tag.rb +5 -0
  112. data/lib/puppet/rails/resource.rb +41 -17
  113. data/lib/puppet/rails/resource_tag.rb +4 -0
  114. data/lib/puppet/reference/configuration.rb +149 -0
  115. data/lib/puppet/reference/function.rb +13 -0
  116. data/lib/puppet/reference/network.rb +37 -0
  117. data/lib/puppet/reference/providers.rb +118 -0
  118. data/lib/puppet/reference/report.rb +21 -0
  119. data/lib/puppet/reference/type.rb +152 -0
  120. data/lib/puppet/reports/rrdgraph.rb +21 -7
  121. data/lib/puppet/reports/tagmail.rb +4 -1
  122. data/lib/puppet/sslcertificates.rb +1 -49
  123. data/lib/puppet/sslcertificates/ca.rb +2 -79
  124. data/lib/puppet/sslcertificates/inventory.rb +0 -10
  125. data/lib/puppet/transaction.rb +24 -41
  126. data/lib/puppet/transaction/report.rb +27 -1
  127. data/lib/puppet/type.rb +7 -43
  128. data/lib/puppet/type/component.rb +198 -124
  129. data/lib/puppet/type/cron.rb +51 -42
  130. data/lib/puppet/type/exec.rb +20 -19
  131. data/lib/puppet/type/group.rb +6 -55
  132. data/lib/puppet/type/host.rb +16 -37
  133. data/lib/puppet/type/mount.rb +30 -17
  134. data/lib/puppet/type/notify.rb +7 -8
  135. data/lib/puppet/type/package.rb +44 -80
  136. data/lib/puppet/type/pfile.rb +50 -41
  137. data/lib/puppet/type/pfile/checksum.rb +82 -95
  138. data/lib/puppet/type/pfile/content.rb +21 -25
  139. data/lib/puppet/type/pfile/ensure.rb +32 -30
  140. data/lib/puppet/type/pfile/group.rb +21 -26
  141. data/lib/puppet/type/pfile/mode.rb +25 -32
  142. data/lib/puppet/type/pfile/owner.rb +23 -27
  143. data/lib/puppet/type/pfile/source.rb +42 -33
  144. data/lib/puppet/type/pfile/target.rb +20 -18
  145. data/lib/puppet/type/pfile/type.rb +6 -7
  146. data/lib/puppet/type/pfilebucket.rb +3 -3
  147. data/lib/puppet/type/port.rb +5 -7
  148. data/lib/puppet/type/property.rb +58 -61
  149. data/lib/puppet/type/resources.rb +12 -8
  150. data/lib/puppet/type/schedule.rb +8 -8
  151. data/lib/puppet/type/service.rb +26 -33
  152. data/lib/puppet/type/sshkey.rb +6 -7
  153. data/lib/puppet/type/tidy.rb +41 -35
  154. data/lib/puppet/type/user.rb +34 -67
  155. data/lib/puppet/type/yumrepo.rb +27 -12
  156. data/lib/puppet/type/zone.rb +71 -110
  157. data/lib/puppet/util.rb +46 -61
  158. data/lib/puppet/util/autoload.rb +59 -47
  159. data/lib/puppet/util/config.rb +160 -18
  160. data/lib/puppet/util/config_store.rb +61 -0
  161. data/lib/puppet/util/fact_store.rb +60 -0
  162. data/lib/puppet/util/instance_loader.rb +74 -0
  163. data/lib/puppet/util/loadedfile.rb +5 -8
  164. data/lib/puppet/util/metric.rb +17 -25
  165. data/lib/puppet/util/posix.rb +39 -7
  166. data/lib/puppet/util/provider_features.rb +9 -1
  167. data/lib/puppet/util/rails/collection_merger.rb +16 -1
  168. data/lib/puppet/util/reference.rb +189 -0
  169. data/lib/puppet/util/storage.rb +2 -2
  170. data/lib/puppet/util/subclass_loader.rb +9 -2
  171. data/test/language/ast.rb +4 -148
  172. data/test/language/ast/component.rb +10 -1
  173. data/test/language/collector.rb +1 -191
  174. data/test/language/interpreter.rb +284 -327
  175. data/test/language/lexer.rb +13 -1
  176. data/test/language/node.rb +1 -1
  177. data/test/language/parser.rb +17 -4
  178. data/test/language/resource.rb +67 -101
  179. data/test/language/scope.rb +18 -3
  180. data/test/language/snippets.rb +114 -151
  181. data/test/lib/puppettest.rb +13 -0
  182. data/test/lib/puppettest/exetest.rb +7 -0
  183. data/test/lib/puppettest/fakes.rb +39 -28
  184. data/test/lib/puppettest/railstesting.rb +1 -1
  185. data/test/lib/puppettest/support/assertions.rb +2 -2
  186. data/test/lib/puppettest/support/collection.rb +30 -0
  187. data/test/network/client/ca.rb +27 -1
  188. data/test/network/client/client.rb +3 -3
  189. data/test/network/client/master.rb +102 -1
  190. data/test/network/handler/ca.rb +35 -1
  191. data/test/network/handler/facts.rb +112 -0
  192. data/test/network/handler/fileserver.rb +25 -1
  193. data/test/network/handler/handler.rb +2 -2
  194. data/test/network/handler/master.rb +2 -49
  195. data/test/network/handler/resource.rb +5 -6
  196. data/test/network/server/mongrel_test.rb +65 -0
  197. data/test/network/server/webrick.rb +2 -2
  198. data/test/network/xmlrpc/client.rb +2 -1
  199. data/test/network/xmlrpc/processor.rb +2 -1
  200. data/test/other/pgraph.rb +6 -5
  201. data/test/other/propertychange.rb +11 -12
  202. data/test/other/report.rb +44 -27
  203. data/test/other/transactions.rb +17 -16
  204. data/test/puppet/tc_suidmanager.rb +2 -2
  205. data/test/rails/ast.rb +74 -0
  206. data/test/rails/collection.rb +214 -0
  207. data/test/rails/host.rb +49 -24
  208. data/test/rails/interpreter.rb +91 -0
  209. data/test/rails/railsparameter.rb +22 -11
  210. data/test/rails/railsresource.rb +140 -7
  211. data/test/ral/manager/attributes.rb +37 -13
  212. data/test/ral/manager/instances.rb +82 -0
  213. data/test/ral/manager/provider.rb +60 -22
  214. data/test/ral/manager/type.rb +9 -6
  215. data/test/ral/providers/cron/crontab.rb +59 -7
  216. data/test/ral/providers/group.rb +7 -7
  217. data/test/ral/providers/host/netinfo.rb +5 -6
  218. data/test/ral/providers/host/parsed.rb +4 -4
  219. data/test/ral/providers/mount/parsed.rb +11 -6
  220. data/test/ral/providers/nameservice.rb +2 -2
  221. data/test/ral/providers/package.rb +39 -14
  222. data/test/ral/providers/package/apt.rb +72 -3
  223. data/test/ral/providers/package/aptitude.rb +15 -12
  224. data/test/ral/providers/package/aptrpm.rb +3 -3
  225. data/test/ral/providers/package/dpkg.rb +2 -2
  226. data/test/ral/providers/parsedfile.rb +114 -88
  227. data/test/ral/providers/{parsedport.rb → port/parsed.rb} +1 -1
  228. data/test/ral/providers/provider.rb +93 -13
  229. data/test/ral/providers/service.rb +52 -26
  230. data/test/ral/providers/sshkey/parsed.rb +3 -3
  231. data/test/ral/providers/user.rb +19 -20
  232. data/test/ral/providers/user/useradd.rb +1 -5
  233. data/test/ral/types/cron.rb +49 -36
  234. data/test/ral/types/file.rb +38 -35
  235. data/test/ral/types/file/target.rb +4 -4
  236. data/test/ral/types/filesources.rb +24 -22
  237. data/test/ral/types/group.rb +4 -2
  238. data/test/ral/types/host.rb +17 -10
  239. data/test/ral/types/mount.rb +40 -23
  240. data/test/ral/types/package.rb +62 -5
  241. data/test/ral/types/parameter.rb +2 -2
  242. data/test/ral/types/property.rb +27 -20
  243. data/test/ral/types/resources.rb +4 -16
  244. data/test/ral/types/schedule.rb +2 -2
  245. data/test/ral/types/service.rb +2 -3
  246. data/test/ral/types/sshkey.rb +3 -3
  247. data/test/ral/types/tidy.rb +6 -15
  248. data/test/ral/types/user.rb +17 -17
  249. data/test/ral/types/yumrepo.rb +2 -2
  250. data/test/ral/types/zone.rb +71 -87
  251. data/test/util/autoload.rb +6 -21
  252. data/test/util/config.rb +201 -101
  253. data/test/util/fact_store.rb +67 -0
  254. data/test/util/features.rb +9 -6
  255. data/test/util/instance_loader.rb +53 -0
  256. data/test/util/loadedfile.rb +17 -1
  257. data/test/util/metrics.rb +54 -57
  258. data/test/util/posixtest.rb +8 -11
  259. data/test/util/utiltest.rb +31 -2
  260. metadata +520 -492
  261. data/TODO +0 -4
  262. data/lib/puppet/network/client/logger.rb +0 -6
  263. data/lib/puppet/network/handler/logger.rb +0 -52
  264. data/lib/puppet/rails/database/001_add_indexes.rb +0 -38
  265. data/lib/puppet/type/parsedtype.rb +0 -219
  266. data/test/network/handler/logger.rb +0 -183
@@ -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 = @model.should(: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.is(:ensure), "package not considered missing")
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 2170 2007-02-07 17:21:52Z luke $
142
+ # $Id: package.rb 2555 2007-06-08 17:20:00Z luke $
@@ -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(:parent => "yay")
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 2413 2007-04-25 20:04:59Z luke $
172
+ # $Id: parameter.rb 2500 2007-05-09 22:05:32Z luke $
@@ -7,14 +7,18 @@ require 'puppettest'
7
7
  class TestProperty < Test::Unit::TestCase
8
8
  include PuppetTest
9
9
 
10
- def newinst(property, parent = nil)
10
+ def newinst(property, resource = nil)
11
11
  inst = nil
12
- unless parent
13
- parent = "fakeparent"
14
- parent.meta_def(:pathbuilder) do [self.to_s] end
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
- return property.new(:parent => parent)
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
- @is = 1
111
+ @fakeprovidervalue = 1
108
112
  end
109
113
  }
110
114
 
111
115
  assert_nothing_raised {
112
116
  property.newvalue("two") do
113
- @is = 2
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.is)
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.is)
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.is)
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 parent rathe than trying to call
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(:parent => obj)
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
- myproperty = Class.new(Puppet::Property)
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(:parent => p)
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 2170 2007-02-07 17:21:52Z luke $
350
+ # $Id: property.rb 2500 2007-05-09 22:05:32Z luke $
@@ -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 list
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.list.sort)
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.is(:uid) < 500)
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 2286 2007-03-17 23:16:37Z luke $
209
+ # $Id: resources.rb 2551 2007-06-04 20:37:14Z luke $
@@ -94,7 +94,7 @@ class TestSchedule < Test::Unit::TestCase
94
94
  #end
95
95
  end
96
96
 
97
- Puppet.err @@times.inspect
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 2238 2007-02-28 00:14:27Z luke $
357
+ # $Id: schedule.rb 2487 2007-05-09 01:51:20Z ballman $
@@ -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 2236 2007-02-27 23:57:55Z luke $
36
+ # $Id: service.rb 2487 2007-05-09 01:51:20Z ballman $
@@ -59,9 +59,9 @@ class TestSSHKey < Test::Unit::TestCase
59
59
  return key
60
60
  end
61
61
 
62
- def test_list
62
+ def test_instances
63
63
  assert_nothing_raised {
64
- Puppet.type(:sshkey).defaultprovider.list
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 2170 2007-02-07 17:21:52Z luke $
192
+ # $Id: sshkey.rb 2551 2007-06-04 20:37:14Z luke $
@@ -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.is = Time.now.to_i - 5
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.is = Time.now.to_i - 120
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.is = 50
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.is = 2048
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
- tidy.property(:age).is = "0s"
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 2170 2007-02-07 17:21:52Z luke $
231
+ # $Id: tidy.rb 2487 2007-05-09 01:51:20Z ballman $
@@ -13,7 +13,7 @@ class TestUser < Test::Unit::TestCase
13
13
  apimethods
14
14
  def create
15
15
  @ensure = :present
16
- @model.eachproperty do |property|
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
- @model.eachproperty do |property|
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).is, "Did not retrieve group list")
310
+ assert(currentvalue[user.property(:groups)], "Did not retrieve group list")
311
311
 
312
- list = user.property(:groups).is
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?, "User is incorrectly in sync")
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).is
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?, "User is incorrectly in sync")
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).is
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?, "Groups property did not sort groups")
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 2328 2007-03-19 21:29:08Z luke $
493
+ # $Id: user.rb 2501 2007-05-09 23:08:42Z luke $