puppet 0.25.5 → 2.6.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 (1474) hide show
  1. data/CHANGELOG +667 -0
  2. data/LICENSE +2 -2
  3. data/README +5 -1
  4. data/README.queueing +1 -1
  5. data/README.rst +7 -4
  6. data/Rakefile +6 -18
  7. data/bin/filebucket +0 -94
  8. data/bin/pi +2 -47
  9. data/bin/puppet +2 -69
  10. data/bin/puppetca +2 -100
  11. data/bin/puppetd +2 -158
  12. data/bin/puppetdoc +2 -63
  13. data/bin/puppetmasterd +2 -64
  14. data/bin/puppetqd +2 -51
  15. data/bin/puppetrun +2 -127
  16. data/bin/ralsh +2 -87
  17. data/conf/epm.list +2 -2
  18. data/conf/osx/PackageInfo.plist +1 -1
  19. data/conf/redhat/client.init +11 -8
  20. data/conf/redhat/puppet.conf +1 -1
  21. data/conf/redhat/puppet.spec +1 -1
  22. data/conf/redhat/rundir-perms.patch +13 -13
  23. data/conf/redhat/server.init +11 -5
  24. data/conf/solaris/pkginfo +2 -2
  25. data/conf/solaris/smf/puppetd.xml +3 -3
  26. data/conf/solaris/smf/puppetmasterd.xml +3 -3
  27. data/conf/suse/client.init +3 -2
  28. data/conf/suse/puppet.spec +22 -18
  29. data/conf/suse/server.init +12 -11
  30. data/examples/modules/sample-module/README.txt +3 -3
  31. data/examples/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +4 -4
  32. data/ext/extlookup.rb +94 -96
  33. data/ext/nagios/check_puppet.rb +94 -88
  34. data/ext/nagios/naggen +3 -3
  35. data/ext/puppet-test +27 -3
  36. data/ext/puppetlisten/puppetlisten.rb +39 -39
  37. data/ext/puppetlisten/puppetrun.rb +6 -6
  38. data/ext/puppetstoredconfigclean.rb +49 -43
  39. data/ext/pure_ruby_dsl/dsl_test.rb +7 -0
  40. data/ext/regexp_nodes/regexp_nodes.rb +133 -133
  41. data/ext/yaml_nodes.rb +99 -0
  42. data/install.rb +109 -118
  43. data/lib/puppet.rb +118 -131
  44. data/lib/puppet/agent.rb +86 -119
  45. data/lib/puppet/agent/locker.rb +28 -30
  46. data/lib/puppet/application.rb +276 -184
  47. data/lib/puppet/application/agent.rb +266 -0
  48. data/lib/puppet/application/apply.rb +165 -0
  49. data/lib/puppet/application/cert.rb +85 -0
  50. data/lib/puppet/application/describe.rb +203 -0
  51. data/lib/puppet/application/doc.rb +215 -0
  52. data/lib/puppet/application/filebucket.rb +73 -73
  53. data/lib/puppet/application/kick.rb +212 -0
  54. data/lib/puppet/application/master.rb +156 -0
  55. data/lib/puppet/application/queue.rb +91 -0
  56. data/lib/puppet/application/resource.rb +118 -0
  57. data/lib/puppet/configurer.rb +214 -197
  58. data/lib/puppet/configurer/downloader.rb +63 -63
  59. data/lib/puppet/configurer/fact_handler.rb +51 -51
  60. data/lib/puppet/configurer/plugin_handler.rb +19 -19
  61. data/lib/puppet/daemon.rb +100 -103
  62. data/lib/puppet/defaults.rb +793 -796
  63. data/lib/puppet/dsl.rb +5 -269
  64. data/lib/puppet/dsl/resource_api.rb +120 -0
  65. data/lib/puppet/dsl/resource_type_api.rb +40 -0
  66. data/lib/puppet/error.rb +34 -36
  67. data/lib/puppet/external/base64.rb +8 -8
  68. data/lib/puppet/external/dot.rb +262 -262
  69. data/lib/puppet/external/event-loop/better-definers.rb +297 -297
  70. data/lib/puppet/external/event-loop/event-loop.rb +264 -272
  71. data/lib/puppet/external/event-loop/signal-system.rb +161 -163
  72. data/lib/puppet/external/lock.rb +41 -41
  73. data/lib/puppet/external/nagios.rb +32 -32
  74. data/lib/puppet/external/nagios/base.rb +453 -458
  75. data/lib/puppet/external/nagios/parser.rb +264 -287
  76. data/lib/puppet/external/pson/common.rb +8 -5
  77. data/lib/puppet/external/pson/pure/generator.rb +26 -26
  78. data/lib/puppet/external/pson/pure/parser.rb +43 -48
  79. data/lib/puppet/feature/base.rb +21 -1
  80. data/lib/puppet/feature/pson.rb +4 -4
  81. data/lib/puppet/feature/rack.rb +14 -14
  82. data/lib/puppet/feature/rails.rb +23 -25
  83. data/lib/puppet/file_bucket.rb +4 -0
  84. data/lib/puppet/file_bucket/dipper.rb +99 -0
  85. data/lib/puppet/file_bucket/file.rb +136 -0
  86. data/lib/puppet/file_bucket/file/indirection_hooks.rb +9 -0
  87. data/lib/puppet/file_collection.rb +20 -20
  88. data/lib/puppet/file_collection/lookup.rb +11 -11
  89. data/lib/puppet/file_serving/base.rb +67 -71
  90. data/lib/puppet/file_serving/configuration.rb +84 -86
  91. data/lib/puppet/file_serving/configuration/parser.rb +103 -102
  92. data/lib/puppet/file_serving/content.rb +34 -33
  93. data/lib/puppet/file_serving/fileset.rb +131 -133
  94. data/lib/puppet/file_serving/indirection_hooks.rb +17 -17
  95. data/lib/puppet/file_serving/metadata.rb +98 -95
  96. data/lib/puppet/file_serving/mount.rb +22 -22
  97. data/lib/puppet/file_serving/mount/file.rb +101 -106
  98. data/lib/puppet/file_serving/mount/modules.rb +15 -15
  99. data/lib/puppet/file_serving/mount/plugins.rb +15 -16
  100. data/lib/puppet/file_serving/terminus_helper.rb +13 -13
  101. data/lib/puppet/indirector.rb +48 -49
  102. data/lib/puppet/indirector/active_record.rb +19 -19
  103. data/lib/puppet/indirector/catalog/active_record.rb +25 -25
  104. data/lib/puppet/indirector/catalog/compiler.rb +134 -145
  105. data/lib/puppet/indirector/catalog/rest.rb +1 -1
  106. data/lib/puppet/indirector/catalog/yaml.rb +13 -13
  107. data/lib/puppet/indirector/certificate/ca.rb +3 -3
  108. data/lib/puppet/indirector/certificate/file.rb +3 -3
  109. data/lib/puppet/indirector/certificate/rest.rb +8 -8
  110. data/lib/puppet/indirector/certificate_request/ca.rb +7 -7
  111. data/lib/puppet/indirector/certificate_request/file.rb +2 -2
  112. data/lib/puppet/indirector/certificate_request/rest.rb +3 -3
  113. data/lib/puppet/indirector/certificate_revocation_list/ca.rb +2 -2
  114. data/lib/puppet/indirector/certificate_revocation_list/file.rb +2 -2
  115. data/lib/puppet/indirector/certificate_revocation_list/rest.rb +3 -3
  116. data/lib/puppet/indirector/couch.rb +76 -0
  117. data/lib/puppet/indirector/direct_file_server.rb +11 -11
  118. data/lib/puppet/indirector/envelope.rb +4 -4
  119. data/lib/puppet/indirector/exec.rb +38 -42
  120. data/lib/puppet/indirector/facts/active_record.rb +24 -24
  121. data/lib/puppet/indirector/facts/couch.rb +31 -0
  122. data/lib/puppet/indirector/facts/facter.rb +63 -61
  123. data/lib/puppet/indirector/facts/memory.rb +4 -4
  124. data/lib/puppet/indirector/facts/rest.rb +1 -1
  125. data/lib/puppet/indirector/facts/yaml.rb +2 -2
  126. data/lib/puppet/indirector/file.rb +67 -46
  127. data/lib/puppet/indirector/file_bucket_file/file.rb +146 -0
  128. data/lib/puppet/indirector/file_bucket_file/rest.rb +8 -0
  129. data/lib/puppet/indirector/file_content/file.rb +1 -1
  130. data/lib/puppet/indirector/file_content/file_server.rb +1 -1
  131. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  132. data/lib/puppet/indirector/file_metadata/file.rb +11 -11
  133. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -1
  134. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  135. data/lib/puppet/indirector/file_server.rb +44 -44
  136. data/lib/puppet/indirector/indirection.rb +249 -260
  137. data/lib/puppet/indirector/key/ca.rb +5 -5
  138. data/lib/puppet/indirector/key/file.rb +29 -29
  139. data/lib/puppet/indirector/ldap.rb +62 -64
  140. data/lib/puppet/indirector/memory.rb +13 -13
  141. data/lib/puppet/indirector/node/active_record.rb +6 -6
  142. data/lib/puppet/indirector/node/exec.rb +40 -44
  143. data/lib/puppet/indirector/node/ldap.rb +246 -212
  144. data/lib/puppet/indirector/node/memory.rb +5 -5
  145. data/lib/puppet/indirector/node/plain.rb +12 -12
  146. data/lib/puppet/indirector/node/rest.rb +2 -2
  147. data/lib/puppet/indirector/node/yaml.rb +2 -2
  148. data/lib/puppet/indirector/plain.rb +4 -4
  149. data/lib/puppet/indirector/queue.rb +49 -51
  150. data/lib/puppet/indirector/report/processor.rb +34 -37
  151. data/lib/puppet/indirector/report/rest.rb +3 -3
  152. data/lib/puppet/indirector/request.rb +171 -157
  153. data/lib/puppet/indirector/resource/ral.rb +48 -0
  154. data/lib/puppet/indirector/resource/rest.rb +5 -0
  155. data/lib/puppet/indirector/resource_type.rb +5 -0
  156. data/lib/puppet/indirector/resource_type/parser.rb +27 -0
  157. data/lib/puppet/indirector/resource_type/rest.rb +7 -0
  158. data/lib/puppet/indirector/rest.rb +83 -79
  159. data/lib/puppet/indirector/run/local.rb +8 -0
  160. data/lib/puppet/indirector/run/rest.rb +6 -0
  161. data/lib/puppet/indirector/ssl_file.rb +165 -165
  162. data/lib/puppet/indirector/status.rb +3 -0
  163. data/lib/puppet/indirector/status/local.rb +7 -0
  164. data/lib/puppet/indirector/status/rest.rb +5 -0
  165. data/lib/puppet/indirector/terminus.rb +129 -133
  166. data/lib/puppet/indirector/yaml.rb +47 -49
  167. data/lib/puppet/metatype/manager.rb +120 -114
  168. data/lib/puppet/module.rb +182 -124
  169. data/lib/puppet/network/authconfig.rb +146 -156
  170. data/lib/puppet/network/authorization.rb +63 -70
  171. data/lib/puppet/network/authstore.rb +226 -232
  172. data/lib/puppet/network/client.rb +141 -152
  173. data/lib/puppet/network/client/ca.rb +47 -49
  174. data/lib/puppet/network/client/file.rb +3 -3
  175. data/lib/puppet/network/client/proxy.rb +19 -19
  176. data/lib/puppet/network/client/report.rb +17 -21
  177. data/lib/puppet/network/client/runner.rb +5 -7
  178. data/lib/puppet/network/client/status.rb +1 -1
  179. data/lib/puppet/network/client_request.rb +20 -22
  180. data/lib/puppet/network/format.rb +79 -81
  181. data/lib/puppet/network/format_handler.rb +135 -130
  182. data/lib/puppet/network/formats.rb +128 -154
  183. data/lib/puppet/network/handler.rb +43 -46
  184. data/lib/puppet/network/handler/ca.rb +129 -135
  185. data/lib/puppet/network/handler/filebucket.rb +39 -170
  186. data/lib/puppet/network/handler/fileserver.rb +624 -656
  187. data/lib/puppet/network/handler/master.rb +62 -75
  188. data/lib/puppet/network/handler/report.rb +60 -67
  189. data/lib/puppet/network/handler/runner.rb +20 -20
  190. data/lib/puppet/network/handler/status.rb +9 -9
  191. data/lib/puppet/network/http.rb +12 -12
  192. data/lib/puppet/network/http/api/v1.rb +49 -44
  193. data/lib/puppet/network/http/compression.rb +111 -0
  194. data/lib/puppet/network/http/handler.rb +183 -183
  195. data/lib/puppet/network/http/mongrel.rb +46 -48
  196. data/lib/puppet/network/http/mongrel/rest.rb +73 -66
  197. data/lib/puppet/network/http/rack.rb +45 -45
  198. data/lib/puppet/network/http/rack/httphandler.rb +7 -7
  199. data/lib/puppet/network/http/rack/rest.rb +84 -61
  200. data/lib/puppet/network/http/rack/xmlrpc.rb +49 -49
  201. data/lib/puppet/network/http/webrick.rb +108 -112
  202. data/lib/puppet/network/http/webrick/rest.rb +60 -57
  203. data/lib/puppet/network/http_pool.rb +95 -83
  204. data/lib/puppet/network/http_server/mongrel.rb +90 -90
  205. data/lib/puppet/network/http_server/webrick.rb +139 -148
  206. data/lib/puppet/network/rest_authconfig.rb +76 -71
  207. data/lib/puppet/network/rest_authorization.rb +11 -13
  208. data/lib/puppet/network/rights.rb +217 -226
  209. data/lib/puppet/network/server.rb +147 -151
  210. data/lib/puppet/network/xmlrpc/client.rb +197 -205
  211. data/lib/puppet/network/xmlrpc/processor.rb +68 -72
  212. data/lib/puppet/network/xmlrpc/server.rb +10 -10
  213. data/lib/puppet/network/xmlrpc/webrick_servlet.rb +94 -100
  214. data/lib/puppet/node.rb +99 -107
  215. data/lib/puppet/node/environment.rb +109 -62
  216. data/lib/puppet/node/facts.rb +48 -43
  217. data/lib/puppet/parameter.rb +246 -498
  218. data/lib/puppet/parameter/value.rb +63 -0
  219. data/lib/puppet/parameter/value_collection.rb +143 -0
  220. data/lib/puppet/parser.rb +4 -0
  221. data/lib/puppet/parser/ast.rb +81 -67
  222. data/lib/puppet/parser/ast/arithmetic_operator.rb +27 -29
  223. data/lib/puppet/parser/ast/astarray.rb +50 -50
  224. data/lib/puppet/parser/ast/asthash.rb +37 -0
  225. data/lib/puppet/parser/ast/boolean_operator.rb +33 -35
  226. data/lib/puppet/parser/ast/branch.rb +29 -31
  227. data/lib/puppet/parser/ast/caseopt.rb +50 -56
  228. data/lib/puppet/parser/ast/casestatement.rb +30 -30
  229. data/lib/puppet/parser/ast/collection.rb +43 -37
  230. data/lib/puppet/parser/ast/collexpr.rb +66 -69
  231. data/lib/puppet/parser/ast/comparison_operator.rb +32 -35
  232. data/lib/puppet/parser/ast/else.rb +13 -13
  233. data/lib/puppet/parser/ast/function.rb +34 -43
  234. data/lib/puppet/parser/ast/ifstatement.rb +23 -27
  235. data/lib/puppet/parser/ast/in_operator.rb +24 -0
  236. data/lib/puppet/parser/ast/leaf.rb +173 -156
  237. data/lib/puppet/parser/ast/match_operator.rb +16 -19
  238. data/lib/puppet/parser/ast/minus.rb +13 -13
  239. data/lib/puppet/parser/ast/nop.rb +6 -6
  240. data/lib/puppet/parser/ast/not.rb +9 -9
  241. data/lib/puppet/parser/ast/relationship.rb +60 -0
  242. data/lib/puppet/parser/ast/resource.rb +58 -57
  243. data/lib/puppet/parser/ast/resource_defaults.rb +16 -16
  244. data/lib/puppet/parser/ast/resource_override.rb +51 -51
  245. data/lib/puppet/parser/ast/resource_reference.rb +17 -72
  246. data/lib/puppet/parser/ast/resourceparam.rb +20 -17
  247. data/lib/puppet/parser/ast/selector.rb +30 -34
  248. data/lib/puppet/parser/ast/tag.rb +16 -16
  249. data/lib/puppet/parser/ast/vardef.rb +20 -16
  250. data/lib/puppet/parser/collector.rb +181 -189
  251. data/lib/puppet/parser/compiler.rb +395 -364
  252. data/lib/puppet/parser/files.rb +65 -69
  253. data/lib/puppet/parser/functions.rb +85 -97
  254. data/lib/puppet/parser/functions/defined.rb +23 -23
  255. data/lib/puppet/parser/functions/fail.rb +2 -2
  256. data/lib/puppet/parser/functions/file.rb +21 -19
  257. data/lib/puppet/parser/functions/fqdn_rand.rb +7 -7
  258. data/lib/puppet/parser/functions/generate.rb +24 -26
  259. data/lib/puppet/parser/functions/include.rb +16 -18
  260. data/lib/puppet/parser/functions/inline_template.rb +16 -17
  261. data/lib/puppet/parser/functions/realize.rb +8 -8
  262. data/lib/puppet/parser/functions/regsubst.rb +74 -59
  263. data/lib/puppet/parser/functions/require.rb +35 -33
  264. data/lib/puppet/parser/functions/search.rb +5 -5
  265. data/lib/puppet/parser/functions/sha1.rb +3 -4
  266. data/lib/puppet/parser/functions/shellquote.rb +31 -33
  267. data/lib/puppet/parser/functions/split.rb +8 -8
  268. data/lib/puppet/parser/functions/sprintf.rb +10 -9
  269. data/lib/puppet/parser/functions/tag.rb +3 -3
  270. data/lib/puppet/parser/functions/tagged.rb +13 -13
  271. data/lib/puppet/parser/functions/template.rb +18 -19
  272. data/lib/puppet/parser/functions/versioncmp.rb +17 -14
  273. data/lib/puppet/parser/grammar.ra +485 -422
  274. data/lib/puppet/parser/lexer.rb +500 -442
  275. data/lib/puppet/parser/parser.rb +1438 -1084
  276. data/lib/puppet/parser/parser_support.rb +227 -502
  277. data/lib/puppet/parser/relationship.rb +43 -0
  278. data/lib/puppet/parser/resource.rb +280 -375
  279. data/lib/puppet/parser/resource/param.rb +18 -18
  280. data/lib/puppet/parser/scope.rb +450 -447
  281. data/lib/puppet/parser/templatewrapper.rb +92 -94
  282. data/lib/puppet/parser/type_loader.rb +146 -0
  283. data/lib/puppet/parser/yaml_trimmer.rb +6 -8
  284. data/lib/puppet/property.rb +290 -453
  285. data/lib/puppet/property/ensure.rb +92 -0
  286. data/lib/puppet/property/keyvalue.rb +74 -82
  287. data/lib/puppet/property/list.rb +71 -81
  288. data/lib/puppet/property/ordered_list.rb +15 -15
  289. data/lib/puppet/provider.rb +229 -241
  290. data/lib/puppet/provider/augeas/augeas.rb +318 -320
  291. data/lib/puppet/provider/computer/computer.rb +13 -13
  292. data/lib/puppet/provider/confine.rb +63 -63
  293. data/lib/puppet/provider/confine/exists.rb +14 -14
  294. data/lib/puppet/provider/confine/false.rb +12 -12
  295. data/lib/puppet/provider/confine/feature.rb +10 -10
  296. data/lib/puppet/provider/confine/true.rb +13 -13
  297. data/lib/puppet/provider/confine/variable.rb +51 -54
  298. data/lib/puppet/provider/confine_collection.rb +38 -38
  299. data/lib/puppet/provider/confiner.rb +10 -14
  300. data/lib/puppet/provider/cron/crontab.rb +172 -173
  301. data/lib/puppet/provider/file/posix.rb +99 -0
  302. data/lib/puppet/provider/file/win32.rb +74 -0
  303. data/lib/puppet/provider/group/directoryservice.rb +6 -6
  304. data/lib/puppet/provider/group/groupadd.rb +18 -20
  305. data/lib/puppet/provider/group/ldap.rb +40 -43
  306. data/lib/puppet/provider/group/pw.rb +23 -23
  307. data/lib/puppet/provider/host/parsed.rb +51 -50
  308. data/lib/puppet/provider/ldap.rb +121 -123
  309. data/lib/puppet/provider/macauthorization/macauthorization.rb +263 -272
  310. data/lib/puppet/provider/mailalias/aliases.rb +34 -31
  311. data/lib/puppet/provider/maillist/mailman.rb +87 -93
  312. data/lib/puppet/provider/mcx/mcxcontent.rb +155 -151
  313. data/lib/puppet/provider/mount.rb +36 -40
  314. data/lib/puppet/provider/mount/parsed.rb +28 -26
  315. data/lib/puppet/provider/naginator.rb +46 -48
  316. data/lib/puppet/provider/nameservice.rb +215 -257
  317. data/lib/puppet/provider/nameservice/directoryservice.rb +455 -471
  318. data/lib/puppet/provider/nameservice/objectadd.rb +21 -21
  319. data/lib/puppet/provider/nameservice/pw.rb +13 -13
  320. data/lib/puppet/provider/package.rb +18 -20
  321. data/lib/puppet/provider/package/aix.rb +128 -0
  322. data/lib/puppet/provider/package/appdmg.rb +78 -82
  323. data/lib/puppet/provider/package/apple.rb +39 -40
  324. data/lib/puppet/provider/package/apt.rb +95 -104
  325. data/lib/puppet/provider/package/aptitude.rb +19 -21
  326. data/lib/puppet/provider/package/aptrpm.rb +70 -72
  327. data/lib/puppet/provider/package/blastwave.rb +88 -94
  328. data/lib/puppet/provider/package/darwinport.rb +67 -69
  329. data/lib/puppet/provider/package/dpkg.rb +123 -97
  330. data/lib/puppet/provider/package/fink.rb +66 -68
  331. data/lib/puppet/provider/package/freebsd.rb +38 -40
  332. data/lib/puppet/provider/package/gem.rb +98 -102
  333. data/lib/puppet/provider/package/hpux.rb +37 -39
  334. data/lib/puppet/provider/package/nim.rb +35 -0
  335. data/lib/puppet/provider/package/openbsd.rb +100 -75
  336. data/lib/puppet/provider/package/pkg.rb +108 -0
  337. data/lib/puppet/provider/package/pkgdmg.rb +95 -87
  338. data/lib/puppet/provider/package/portage.rb +101 -104
  339. data/lib/puppet/provider/package/ports.rb +71 -73
  340. data/lib/puppet/provider/package/portupgrade.rb +251 -0
  341. data/lib/puppet/provider/package/rpm.rb +113 -115
  342. data/lib/puppet/provider/package/rug.rb +46 -46
  343. data/lib/puppet/provider/package/sun.rb +135 -151
  344. data/lib/puppet/provider/package/sunfreeware.rb +5 -5
  345. data/lib/puppet/provider/package/up2date.rb +31 -31
  346. data/lib/puppet/provider/package/urpmi.rb +51 -51
  347. data/lib/puppet/provider/package/yum.rb +90 -98
  348. data/lib/puppet/provider/package/zypper.rb +52 -0
  349. data/lib/puppet/provider/parsedfile.rb +306 -329
  350. data/lib/puppet/provider/port/parsed.rb +5 -5
  351. data/lib/puppet/provider/selboolean/getsetsebool.rb +34 -34
  352. data/lib/puppet/provider/selmodule/semodule.rb +103 -111
  353. data/lib/puppet/provider/service/base.rb +134 -139
  354. data/lib/puppet/provider/service/bsd.rb +48 -0
  355. data/lib/puppet/provider/service/daemontools.rb +158 -162
  356. data/lib/puppet/provider/service/debian.rb +36 -36
  357. data/lib/puppet/provider/service/freebsd.rb +118 -38
  358. data/lib/puppet/provider/service/gentoo.rb +33 -39
  359. data/lib/puppet/provider/service/init.rb +125 -125
  360. data/lib/puppet/provider/service/launchd.rb +234 -254
  361. data/lib/puppet/provider/service/redhat.rb +58 -58
  362. data/lib/puppet/provider/service/runit.rb +74 -74
  363. data/lib/puppet/provider/service/smf.rb +81 -85
  364. data/lib/puppet/provider/service/src.rb +87 -0
  365. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +73 -81
  366. data/lib/puppet/provider/sshkey/parsed.rb +24 -21
  367. data/lib/puppet/provider/user/directoryservice.rb +71 -71
  368. data/lib/puppet/provider/user/hpux.rb +20 -20
  369. data/lib/puppet/provider/user/ldap.rb +106 -110
  370. data/lib/puppet/provider/user/pw.rb +33 -37
  371. data/lib/puppet/provider/user/user_role_add.rb +168 -183
  372. data/lib/puppet/provider/user/useradd.rb +50 -51
  373. data/lib/puppet/provider/zfs/solaris.rb +35 -35
  374. data/lib/puppet/provider/zone/solaris.rb +206 -205
  375. data/lib/puppet/provider/zpool/solaris.rb +95 -97
  376. data/lib/puppet/rails.rb +115 -122
  377. data/lib/puppet/rails/benchmark.rb +43 -49
  378. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +8 -12
  379. data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +8 -12
  380. data/lib/puppet/rails/database/003_add_environment_to_host.rb +6 -10
  381. data/lib/puppet/rails/database/schema.rb +100 -97
  382. data/lib/puppet/rails/fact_name.rb +1 -1
  383. data/lib/puppet/rails/fact_value.rb +5 -5
  384. data/lib/puppet/rails/host.rb +252 -249
  385. data/lib/puppet/rails/param_name.rb +15 -15
  386. data/lib/puppet/rails/param_value.rb +55 -55
  387. data/lib/puppet/rails/puppet_tag.rb +4 -4
  388. data/lib/puppet/rails/resource.rb +189 -203
  389. data/lib/puppet/rails/resource_tag.rb +19 -19
  390. data/lib/puppet/rails/source_file.rb +5 -5
  391. data/lib/puppet/reference/configuration.rb +53 -56
  392. data/lib/puppet/reference/function.rb +1 -1
  393. data/lib/puppet/reference/indirection.rb +13 -13
  394. data/lib/puppet/reference/metaparameter.rb +40 -40
  395. data/lib/puppet/reference/network.rb +16 -16
  396. data/lib/puppet/reference/providers.rb +97 -98
  397. data/lib/puppet/reference/report.rb +1 -1
  398. data/lib/puppet/reference/type.rb +67 -70
  399. data/lib/puppet/relationship.rb +65 -67
  400. data/lib/puppet/reports.rb +32 -34
  401. data/lib/puppet/reports/http.rb +22 -0
  402. data/lib/puppet/reports/log.rb +7 -6
  403. data/lib/puppet/reports/rrdgraph.rb +105 -114
  404. data/lib/puppet/reports/store.rb +53 -56
  405. data/lib/puppet/reports/tagmail.rb +149 -157
  406. data/lib/puppet/resource.rb +428 -194
  407. data/lib/puppet/resource/catalog.rb +496 -512
  408. data/lib/puppet/resource/status.rb +58 -0
  409. data/lib/puppet/resource/type.rb +311 -0
  410. data/lib/puppet/resource/type_collection.rb +217 -0
  411. data/lib/puppet/resource/type_collection_helper.rb +7 -0
  412. data/lib/puppet/run.rb +77 -0
  413. data/lib/puppet/simple_graph.rb +381 -413
  414. data/lib/puppet/ssl.rb +2 -1
  415. data/lib/puppet/ssl/base.rb +60 -43
  416. data/lib/puppet/ssl/certificate.rb +21 -21
  417. data/lib/puppet/ssl/certificate_authority.rb +215 -229
  418. data/lib/puppet/ssl/certificate_authority/interface.rb +84 -68
  419. data/lib/puppet/ssl/certificate_factory.rb +119 -119
  420. data/lib/puppet/ssl/certificate_request.rb +52 -45
  421. data/lib/puppet/ssl/certificate_revocation_list.rb +78 -78
  422. data/lib/puppet/ssl/host.rb +230 -228
  423. data/lib/puppet/ssl/inventory.rb +33 -33
  424. data/lib/puppet/ssl/key.rb +37 -37
  425. data/lib/puppet/sslcertificates.rb +124 -123
  426. data/lib/puppet/sslcertificates/ca.rb +327 -344
  427. data/lib/puppet/sslcertificates/certificate.rb +197 -224
  428. data/lib/puppet/sslcertificates/inventory.rb +27 -29
  429. data/lib/puppet/sslcertificates/support.rb +113 -119
  430. data/lib/puppet/status.rb +28 -0
  431. data/lib/puppet/transaction.rb +349 -696
  432. data/lib/puppet/transaction/change.rb +80 -85
  433. data/lib/puppet/transaction/event.rb +54 -14
  434. data/lib/puppet/transaction/event_manager.rb +99 -0
  435. data/lib/puppet/transaction/report.rb +121 -59
  436. data/lib/puppet/transaction/resource_harness.rb +150 -0
  437. data/lib/puppet/transportable.rb +215 -226
  438. data/lib/puppet/type.rb +1644 -1849
  439. data/lib/puppet/type/augeas.rb +153 -134
  440. data/lib/puppet/type/component.rb +63 -65
  441. data/lib/puppet/type/computer.rb +44 -44
  442. data/lib/puppet/type/cron.rb +364 -384
  443. data/lib/puppet/type/exec.rb +583 -521
  444. data/lib/puppet/type/file.rb +786 -823
  445. data/lib/puppet/type/file/checksum.rb +23 -240
  446. data/lib/puppet/type/file/content.rb +193 -129
  447. data/lib/puppet/type/file/ensure.rb +149 -153
  448. data/lib/puppet/type/file/group.rb +94 -104
  449. data/lib/puppet/type/file/mode.rb +109 -122
  450. data/lib/puppet/type/file/owner.rb +39 -131
  451. data/lib/puppet/type/file/selcontext.rb +69 -73
  452. data/lib/puppet/type/file/source.rb +165 -153
  453. data/lib/puppet/type/file/target.rb +56 -60
  454. data/lib/puppet/type/file/type.rb +18 -18
  455. data/lib/puppet/type/filebucket.rb +91 -92
  456. data/lib/puppet/type/group.rb +77 -82
  457. data/lib/puppet/type/host.rb +85 -85
  458. data/lib/puppet/type/k5login.rb +65 -65
  459. data/lib/puppet/type/macauthorization.rb +141 -143
  460. data/lib/puppet/type/mailalias.rb +37 -37
  461. data/lib/puppet/type/maillist.rb +51 -51
  462. data/lib/puppet/type/mcx.rb +62 -62
  463. data/lib/puppet/type/mount.rb +199 -193
  464. data/lib/puppet/type/notify.rb +33 -33
  465. data/lib/puppet/type/package.rb +301 -298
  466. data/lib/puppet/type/port.rb +4 -4
  467. data/lib/puppet/type/resources.rb +107 -123
  468. data/lib/puppet/type/schedule.rb +317 -326
  469. data/lib/puppet/type/selboolean.rb +19 -19
  470. data/lib/puppet/type/selmodule.rb +34 -34
  471. data/lib/puppet/type/service.rb +152 -152
  472. data/lib/puppet/type/ssh_authorized_key.rb +74 -78
  473. data/lib/puppet/type/sshkey.rb +52 -56
  474. data/lib/puppet/type/stage.rb +18 -0
  475. data/lib/puppet/type/tidy.rb +289 -300
  476. data/lib/puppet/type/user.rb +300 -312
  477. data/lib/puppet/type/yumrepo.rb +300 -335
  478. data/lib/puppet/type/zfs.rb +36 -36
  479. data/lib/puppet/type/zone.rb +376 -347
  480. data/lib/puppet/type/zpool.rb +71 -77
  481. data/lib/puppet/util.rb +383 -387
  482. data/lib/puppet/util/autoload.rb +125 -143
  483. data/lib/puppet/util/autoload/file_cache.rb +78 -101
  484. data/lib/puppet/util/backups.rb +66 -66
  485. data/lib/puppet/util/cacher.rb +112 -120
  486. data/lib/puppet/util/checksums.rb +119 -84
  487. data/lib/puppet/util/classgen.rb +157 -167
  488. data/lib/puppet/util/command_line.rb +95 -0
  489. data/lib/puppet/util/command_line/filebucket +97 -0
  490. data/lib/puppet/util/command_line/pi +48 -0
  491. data/lib/puppet/util/command_line/puppet +69 -0
  492. data/lib/puppet/util/command_line/puppetca +110 -0
  493. data/lib/puppet/util/command_line/puppetd +186 -0
  494. data/lib/puppet/util/command_line/puppetdoc +67 -0
  495. data/lib/puppet/util/command_line/puppetmasterd +65 -0
  496. data/lib/puppet/util/command_line/puppetqd +53 -0
  497. data/lib/puppet/util/command_line/puppetrun +128 -0
  498. data/lib/puppet/util/command_line/ralsh +89 -0
  499. data/lib/puppet/util/constant_inflector.rb +7 -7
  500. data/lib/puppet/util/diff.rb +59 -56
  501. data/lib/puppet/util/docs.rb +97 -99
  502. data/lib/puppet/util/errors.rb +53 -44
  503. data/lib/puppet/util/execution.rb +15 -15
  504. data/lib/puppet/util/feature.rb +62 -72
  505. data/lib/puppet/util/file_locking.rb +33 -33
  506. data/lib/puppet/util/fileparsing.rb +292 -318
  507. data/lib/puppet/util/filetype.rb +246 -263
  508. data/lib/puppet/util/graph.rb +16 -18
  509. data/lib/puppet/util/inifile.rb +170 -184
  510. data/lib/puppet/util/inline_docs.rb +26 -0
  511. data/lib/puppet/util/instance_loader.rb +58 -58
  512. data/lib/puppet/util/ldap/connection.rb +57 -59
  513. data/lib/puppet/util/ldap/generator.rb +31 -31
  514. data/lib/puppet/util/ldap/manager.rb +233 -235
  515. data/lib/puppet/util/loadedfile.rb +49 -51
  516. data/lib/puppet/util/log.rb +210 -494
  517. data/lib/puppet/util/log/destination.rb +49 -0
  518. data/lib/puppet/util/log/destinations.rb +217 -0
  519. data/lib/puppet/util/log_paths.rb +15 -17
  520. data/lib/puppet/util/logging.rb +34 -13
  521. data/lib/puppet/util/metaid.rb +15 -15
  522. data/lib/puppet/util/methodhelper.rb +24 -26
  523. data/lib/puppet/util/metric.rb +123 -125
  524. data/lib/puppet/util/monkey_patches.rb +21 -20
  525. data/lib/puppet/util/nagios_maker.rb +41 -41
  526. data/lib/puppet/util/package.rb +24 -26
  527. data/lib/puppet/util/pidlock.rb +49 -49
  528. data/lib/puppet/util/posix.rb +115 -115
  529. data/lib/puppet/util/provider_features.rb +147 -155
  530. data/lib/puppet/util/pson.rb +5 -5
  531. data/lib/puppet/util/queue.rb +55 -55
  532. data/lib/puppet/util/queue/stomp.rb +27 -27
  533. data/lib/puppet/util/rails/cache_accumulator.rb +49 -49
  534. data/lib/puppet/util/rails/collection_merger.rb +13 -13
  535. data/lib/puppet/util/rails/reference_serializer.rb +26 -26
  536. data/lib/puppet/util/rdoc.rb +77 -74
  537. data/lib/puppet/util/rdoc/code_objects.rb +235 -217
  538. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +732 -676
  539. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +38 -12
  540. data/lib/puppet/util/rdoc/parser.rb +418 -392
  541. data/lib/puppet/util/reference.rb +168 -174
  542. data/lib/puppet/util/resource_template.rb +17 -17
  543. data/lib/puppet/util/run_mode.rb +81 -0
  544. data/lib/puppet/util/selinux.rb +184 -200
  545. data/lib/puppet/util/settings.rb +886 -919
  546. data/lib/puppet/util/settings/boolean_setting.rb +20 -23
  547. data/lib/puppet/util/settings/file_setting.rb +98 -99
  548. data/lib/puppet/util/settings/setting.rb +71 -87
  549. data/lib/puppet/util/storage.rb +73 -84
  550. data/lib/puppet/util/subclass_loader.rb +59 -66
  551. data/lib/puppet/util/suidmanager.rb +87 -84
  552. data/lib/puppet/util/tagging.rb +37 -39
  553. data/lib/puppet/util/user_attr.rb +14 -14
  554. data/lib/puppet/util/warnings.rb +20 -20
  555. data/lib/puppet/util/zaml.rb +242 -241
  556. data/man/man5/puppet.conf.5 +148 -76
  557. data/man/man8/filebucket.8 +6 -6
  558. data/man/man8/pi.8 +5 -5
  559. data/man/man8/puppet.8 +2 -73
  560. data/man/man8/puppetca.8 +47 -32
  561. data/man/man8/puppetd.8 +118 -76
  562. data/man/man8/puppetdoc.8 +16 -12
  563. data/man/man8/puppetmasterd.8 +4 -4
  564. data/man/man8/puppetqd.8 +4 -4
  565. data/man/man8/puppetrun.8 +23 -22
  566. data/man/man8/ralsh.8 +16 -17
  567. data/spec/fixtures/yaml/test.local.yaml +16 -0
  568. data/spec/integration/application/apply_spec.rb +33 -0
  569. data/spec/integration/configurer_spec.rb +35 -0
  570. data/spec/integration/defaults_spec.rb +258 -0
  571. data/spec/integration/file_serving/content_spec.rb +20 -0
  572. data/spec/integration/file_serving/fileset_spec.rb +14 -0
  573. data/spec/integration/file_serving/metadata_spec.rb +21 -0
  574. data/spec/integration/file_serving/terminus_helper_spec.rb +22 -0
  575. data/spec/integration/indirector/bucket_file/rest_spec.rb +68 -0
  576. data/spec/integration/indirector/catalog/compiler_spec.rb +68 -0
  577. data/spec/integration/indirector/catalog/queue_spec.rb +61 -0
  578. data/spec/integration/indirector/certificate/rest_spec.rb +68 -0
  579. data/spec/integration/indirector/certificate_request/rest_spec.rb +88 -0
  580. data/spec/integration/indirector/certificate_revocation_list/rest_spec.rb +76 -0
  581. data/spec/integration/indirector/direct_file_server_spec.rb +73 -0
  582. data/spec/integration/indirector/file_content/file_server_spec.rb +94 -0
  583. data/spec/integration/indirector/file_metadata/file_server_spec.rb +18 -0
  584. data/spec/integration/indirector/node/ldap_spec.rb +15 -0
  585. data/spec/integration/indirector/report/rest_spec.rb +96 -0
  586. data/spec/integration/indirector/rest_spec.rb +524 -0
  587. data/spec/integration/network/client_spec.rb +19 -0
  588. data/spec/integration/network/formats_spec.rb +110 -0
  589. data/spec/integration/network/handler_spec.rb +25 -0
  590. data/spec/integration/network/server/mongrel_spec.rb +66 -0
  591. data/spec/integration/network/server/webrick_spec.rb +85 -0
  592. data/spec/integration/node/environment_spec.rb +58 -0
  593. data/spec/integration/node/facts_spec.rb +47 -0
  594. data/spec/integration/node_spec.rb +93 -0
  595. data/spec/integration/parser/collector_spec.rb +38 -0
  596. data/spec/integration/parser/compiler_spec.rb +29 -0
  597. data/spec/integration/parser/functions/require_spec.rb +44 -0
  598. data/spec/integration/parser/parser_spec.rb +113 -0
  599. data/spec/integration/provider/mailalias/aliases_spec.rb +25 -0
  600. data/spec/integration/provider/package_spec.rb +26 -0
  601. data/spec/integration/provider/service/init_spec.rb +32 -0
  602. data/spec/integration/reference/providers_spec.rb +17 -0
  603. data/spec/integration/reports_spec.rb +18 -0
  604. data/spec/integration/resource/catalog_spec.rb +61 -0
  605. data/spec/integration/resource/type_collection_spec.rb +96 -0
  606. data/spec/integration/ssl/certificate_authority_spec.rb +135 -0
  607. data/spec/integration/ssl/certificate_request_spec.rb +61 -0
  608. data/spec/integration/ssl/certificate_revocation_list_spec.rb +42 -0
  609. data/spec/integration/ssl/host_spec.rb +90 -0
  610. data/spec/integration/transaction/report_spec.rb +29 -0
  611. data/spec/integration/transaction_spec.rb +284 -0
  612. data/spec/integration/type/file_spec.rb +506 -0
  613. data/spec/integration/type/package_spec.rb +25 -0
  614. data/spec/integration/type/tidy_spec.rb +32 -0
  615. data/spec/integration/type_spec.rb +22 -0
  616. data/spec/integration/util/autoload_spec.rb +114 -0
  617. data/spec/integration/util/feature_spec.rb +54 -0
  618. data/spec/integration/util/file_locking_spec.rb +37 -0
  619. data/spec/integration/util/rdoc/parser_spec.rb +59 -0
  620. data/spec/integration/util/settings_spec.rb +30 -0
  621. data/spec/lib/puppet_spec/files.rb +16 -6
  622. data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +27 -27
  623. data/spec/monkey_patches/alias_should_to_must.rb +4 -4
  624. data/spec/shared_behaviours/file_server_terminus.rb +28 -28
  625. data/spec/shared_behaviours/file_serving.rb +53 -53
  626. data/spec/shared_behaviours/memory_terminus.rb +22 -22
  627. data/spec/spec.opts +1 -0
  628. data/spec/spec_helper.rb +61 -18
  629. data/spec/spec_specs/runnable_spec.rb +95 -0
  630. data/spec/unit/agent/locker_spec.rb +100 -0
  631. data/spec/unit/agent_spec.rb +281 -0
  632. data/spec/unit/application/agent_spec.rb +588 -0
  633. data/spec/unit/application/apply_spec.rb +387 -0
  634. data/spec/unit/application/cert_spec.rb +194 -0
  635. data/spec/unit/application/describe_spec.rb +84 -0
  636. data/spec/unit/application/doc_spec.rb +368 -0
  637. data/spec/unit/application/filebucket_spec.rb +223 -0
  638. data/spec/unit/application/kick_spec.rb +313 -0
  639. data/spec/unit/application/master_spec.rb +453 -0
  640. data/spec/unit/application/queue_spec.rb +186 -0
  641. data/spec/unit/application/resource_spec.rb +233 -0
  642. data/spec/unit/application_spec.rb +531 -0
  643. data/spec/unit/configurer/downloader_spec.rb +188 -0
  644. data/spec/unit/configurer/fact_handler_spec.rb +164 -0
  645. data/spec/unit/configurer/plugin_handler_spec.rb +112 -0
  646. data/spec/unit/configurer_spec.rb +494 -0
  647. data/spec/unit/daemon_spec.rb +306 -0
  648. data/spec/unit/dsl/resource_api_spec.rb +181 -0
  649. data/spec/unit/dsl/resource_type_api_spec.rb +46 -0
  650. data/spec/unit/file_bucket/dipper_spec.rb +122 -0
  651. data/spec/unit/file_bucket/file_spec.rb +230 -0
  652. data/spec/unit/file_collection/lookup_spec.rb +46 -0
  653. data/spec/unit/file_collection_spec.rb +53 -0
  654. data/spec/unit/file_serving/base_spec.rb +132 -0
  655. data/spec/unit/file_serving/configuration/parser_spec.rb +181 -0
  656. data/spec/unit/file_serving/configuration_spec.rb +249 -0
  657. data/spec/unit/file_serving/content_spec.rb +118 -0
  658. data/spec/unit/file_serving/fileset_spec.rb +347 -0
  659. data/spec/unit/file_serving/indirection_hooks_spec.rb +63 -0
  660. data/spec/unit/file_serving/metadata_spec.rb +286 -0
  661. data/spec/unit/file_serving/mount/file_spec.rb +196 -0
  662. data/spec/unit/file_serving/mount/modules_spec.rb +63 -0
  663. data/spec/unit/file_serving/mount/plugins_spec.rb +61 -0
  664. data/spec/unit/file_serving/mount_spec.rb +32 -0
  665. data/spec/unit/file_serving/terminus_helper_spec.rb +98 -0
  666. data/spec/unit/indirector/active_record_spec.rb +76 -0
  667. data/spec/unit/indirector/catalog/active_record_spec.rb +141 -0
  668. data/spec/unit/indirector/catalog/compiler_spec.rb +275 -0
  669. data/spec/unit/indirector/catalog/queue_spec.rb +20 -0
  670. data/spec/unit/indirector/catalog/rest_spec.rb +11 -0
  671. data/spec/unit/indirector/catalog/yaml_spec.rb +25 -0
  672. data/spec/unit/indirector/certificate/ca_spec.rb +28 -0
  673. data/spec/unit/indirector/certificate/file_spec.rb +28 -0
  674. data/spec/unit/indirector/certificate/rest_spec.rb +58 -0
  675. data/spec/unit/indirector/certificate_request/ca_spec.rb +19 -0
  676. data/spec/unit/indirector/certificate_request/file_spec.rb +19 -0
  677. data/spec/unit/indirector/certificate_request/rest_spec.rb +23 -0
  678. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +21 -0
  679. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +20 -0
  680. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +23 -0
  681. data/spec/unit/indirector/code_spec.rb +33 -0
  682. data/spec/unit/indirector/direct_file_server_spec.rb +84 -0
  683. data/spec/unit/indirector/envelope_spec.rb +47 -0
  684. data/spec/unit/indirector/exec_spec.rb +56 -0
  685. data/spec/unit/indirector/facts/active_record_spec.rb +104 -0
  686. data/spec/unit/indirector/facts/couch_spec.rb +98 -0
  687. data/spec/unit/indirector/facts/facter_spec.rb +143 -0
  688. data/spec/unit/indirector/facts/rest_spec.rb +11 -0
  689. data/spec/unit/indirector/facts/yaml_spec.rb +26 -0
  690. data/spec/unit/indirector/file_bucket_file/file_spec.rb +290 -0
  691. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +11 -0
  692. data/spec/unit/indirector/file_content/file_server_spec.rb +18 -0
  693. data/spec/unit/indirector/file_content/file_spec.rb +18 -0
  694. data/spec/unit/indirector/file_content/rest_spec.rb +11 -0
  695. data/spec/unit/indirector/file_metadata/file_server_spec.rb +18 -0
  696. data/spec/unit/indirector/file_metadata/file_spec.rb +52 -0
  697. data/spec/unit/indirector/file_metadata/rest_spec.rb +9 -0
  698. data/spec/unit/indirector/file_server_spec.rb +267 -0
  699. data/spec/unit/indirector/file_spec.rb +181 -0
  700. data/spec/unit/indirector/indirection_spec.rb +795 -0
  701. data/spec/unit/indirector/key/ca_spec.rb +28 -0
  702. data/spec/unit/indirector/key/file_spec.rb +104 -0
  703. data/spec/unit/indirector/ldap_spec.rb +143 -0
  704. data/spec/unit/indirector/memory_spec.rb +29 -0
  705. data/spec/unit/indirector/node/active_record_spec.rb +41 -0
  706. data/spec/unit/indirector/node/exec_spec.rb +70 -0
  707. data/spec/unit/indirector/node/ldap_spec.rb +456 -0
  708. data/spec/unit/indirector/node/memory_spec.rb +19 -0
  709. data/spec/unit/indirector/node/plain_spec.rb +19 -0
  710. data/spec/unit/indirector/node/rest_spec.rb +13 -0
  711. data/spec/unit/indirector/node/yaml_spec.rb +25 -0
  712. data/spec/unit/indirector/plain_spec.rb +29 -0
  713. data/spec/unit/indirector/queue_spec.rb +123 -0
  714. data/spec/unit/indirector/report/processor_spec.rb +81 -0
  715. data/spec/unit/indirector/report/rest_spec.rb +28 -0
  716. data/spec/unit/indirector/request_spec.rb +304 -0
  717. data/spec/unit/indirector/resource/ral_spec.rb +129 -0
  718. data/spec/unit/indirector/resource/rest_spec.rb +11 -0
  719. data/spec/unit/indirector/resource_type/parser_spec.rb +75 -0
  720. data/spec/unit/indirector/resource_type/rest_spec.rb +15 -0
  721. data/spec/unit/indirector/rest_spec.rb +455 -0
  722. data/spec/unit/indirector/run/local_spec.rb +20 -0
  723. data/spec/unit/indirector/run/rest_spec.rb +11 -0
  724. data/spec/unit/indirector/ssl_file_spec.rb +281 -0
  725. data/spec/unit/indirector/status/rest_spec.rb +11 -0
  726. data/spec/unit/indirector/terminus_spec.rb +245 -0
  727. data/spec/unit/indirector/yaml_spec.rb +146 -0
  728. data/spec/unit/indirector_spec.rb +157 -0
  729. data/spec/unit/module_spec.rb +547 -0
  730. data/spec/unit/network/authconfig_spec.rb +292 -0
  731. data/spec/unit/network/authstore_spec.rb +370 -0
  732. data/spec/unit/network/client_spec.rb +45 -0
  733. data/spec/unit/network/format_handler_spec.rb +336 -0
  734. data/spec/unit/network/format_spec.rb +198 -0
  735. data/spec/unit/network/formats_spec.rb +337 -0
  736. data/spec/unit/network/handler/fileserver_spec.rb +172 -0
  737. data/spec/unit/network/http/api/v1_spec.rb +122 -0
  738. data/spec/unit/network/http/compression_spec.rb +199 -0
  739. data/spec/unit/network/http/handler_spec.rb +455 -0
  740. data/spec/unit/network/http/mongrel/rest_spec.rb +249 -0
  741. data/spec/unit/network/http/mongrel/{xmlrpc.rb → xmlrpc_spec.rb} +0 -0
  742. data/spec/unit/network/http/mongrel_spec.rb +131 -0
  743. data/spec/unit/network/http/rack/rest_spec.rb +249 -0
  744. data/spec/unit/network/http/rack/xmlrpc_spec.rb +157 -0
  745. data/spec/unit/network/http/rack_spec.rb +102 -0
  746. data/spec/unit/network/http/webrick/rest_spec.rb +180 -0
  747. data/spec/unit/network/http/webrick/{xmlrpc.rb → xmlrpc_spec.rb} +0 -0
  748. data/spec/unit/network/http/webrick_spec.rb +339 -0
  749. data/spec/unit/network/http_pool_spec.rb +206 -0
  750. data/spec/unit/network/http_spec.rb +35 -0
  751. data/spec/unit/network/rest_authconfig_spec.rb +148 -0
  752. data/spec/unit/network/rest_authorization_spec.rb +43 -0
  753. data/spec/unit/network/rights_spec.rb +519 -0
  754. data/spec/unit/network/server_spec.rb +534 -0
  755. data/spec/unit/network/xmlrpc/client_spec.rb +171 -0
  756. data/spec/unit/node/environment_spec.rb +248 -0
  757. data/spec/unit/node/facts_spec.rb +102 -0
  758. data/spec/unit/node_spec.rb +210 -0
  759. data/spec/unit/other/selinux_spec.rb +94 -0
  760. data/spec/unit/other/transbucket_spec.rb +188 -0
  761. data/spec/unit/other/transobject_spec.rb +112 -0
  762. data/spec/unit/parameter/value_collection_spec.rb +167 -0
  763. data/spec/unit/parameter/value_spec.rb +88 -0
  764. data/spec/unit/parameter_spec.rb +172 -0
  765. data/spec/unit/parser/ast/arithmetic_operator_spec.rb +73 -0
  766. data/spec/unit/parser/ast/astarray_spec.rb +72 -0
  767. data/spec/unit/parser/ast/asthash_spec.rb +98 -0
  768. data/spec/unit/parser/ast/boolean_operator_spec.rb +53 -0
  769. data/spec/unit/parser/ast/casestatement_spec.rb +161 -0
  770. data/spec/unit/parser/ast/collection_spec.rb +63 -0
  771. data/spec/unit/parser/ast/collexpr_spec.rb +115 -0
  772. data/spec/unit/parser/ast/comparison_operator_spec.rb +116 -0
  773. data/spec/unit/parser/ast/function_spec.rb +83 -0
  774. data/spec/unit/parser/ast/ifstatement_spec.rb +76 -0
  775. data/spec/unit/parser/ast/in_operator_spec.rb +60 -0
  776. data/spec/unit/parser/ast/leaf_spec.rb +362 -0
  777. data/spec/unit/parser/ast/match_operator_spec.rb +50 -0
  778. data/spec/unit/parser/ast/minus_spec.rb +36 -0
  779. data/spec/unit/parser/ast/nop_spec.rb +20 -0
  780. data/spec/unit/parser/ast/not_spec.rb +30 -0
  781. data/spec/unit/parser/ast/relationship_spec.rb +88 -0
  782. data/spec/unit/parser/ast/resource_defaults_spec.rb +22 -0
  783. data/spec/unit/parser/ast/resource_override_spec.rb +51 -0
  784. data/spec/unit/parser/ast/resource_reference_spec.rb +46 -0
  785. data/spec/unit/parser/ast/resource_spec.rb +120 -0
  786. data/spec/unit/parser/ast/selector_spec.rb +139 -0
  787. data/spec/unit/parser/ast/vardef_spec.rb +60 -0
  788. data/spec/unit/parser/ast_spec.rb +111 -0
  789. data/spec/unit/parser/collector_spec.rb +559 -0
  790. data/spec/unit/parser/compiler_spec.rb +754 -0
  791. data/spec/unit/parser/files_spec.rb +201 -0
  792. data/spec/unit/parser/functions/defined_spec.rb +50 -0
  793. data/spec/unit/parser/functions/fqdn_rand_spec.rb +62 -0
  794. data/spec/unit/parser/functions/generate_spec.rb +41 -0
  795. data/spec/unit/parser/functions/inline_template_spec.rb +59 -0
  796. data/spec/unit/parser/functions/realize_spec.rb +51 -0
  797. data/spec/unit/parser/functions/regsubst_spec.rb +192 -0
  798. data/spec/unit/parser/functions/require_spec.rb +74 -0
  799. data/spec/unit/parser/functions/shellquote_spec.rb +81 -0
  800. data/spec/unit/parser/functions/split_spec.rb +49 -0
  801. data/spec/unit/parser/functions/sprintf_spec.rb +41 -0
  802. data/spec/unit/parser/functions/tag_spec.rb +24 -0
  803. data/spec/unit/parser/functions/template_spec.rb +62 -0
  804. data/spec/unit/parser/functions/versioncmp_spec.rb +29 -0
  805. data/spec/unit/parser/functions_spec.rb +102 -0
  806. data/spec/unit/parser/lexer_spec.rb +646 -0
  807. data/spec/unit/parser/parser_spec.rb +412 -0
  808. data/spec/unit/parser/relationship_spec.rb +70 -0
  809. data/spec/unit/parser/resource_spec.rb +564 -0
  810. data/spec/unit/parser/scope_spec.rb +629 -0
  811. data/spec/unit/parser/templatewrapper_spec.rb +144 -0
  812. data/spec/unit/parser/type_loader_spec.rb +201 -0
  813. data/spec/unit/property/ensure_spec.rb +13 -0
  814. data/spec/unit/property/keyvalue_spec.rb +168 -0
  815. data/spec/unit/property/list_spec.rb +166 -0
  816. data/spec/unit/property/ordered_list_spec.rb +64 -0
  817. data/spec/unit/property_spec.rb +410 -0
  818. data/spec/unit/provider/augeas/augeas_spec.rb +413 -0
  819. data/spec/unit/provider/confine/exists_spec.rb +81 -0
  820. data/spec/unit/provider/confine/false_spec.rb +53 -0
  821. data/spec/unit/provider/confine/feature_spec.rb +60 -0
  822. data/spec/unit/provider/confine/true_spec.rb +53 -0
  823. data/spec/unit/provider/confine/variable_spec.rb +107 -0
  824. data/spec/unit/provider/confine_collection_spec.rb +134 -0
  825. data/spec/unit/provider/confine_spec.rb +78 -0
  826. data/spec/unit/provider/confiner_spec.rb +63 -0
  827. data/spec/unit/provider/group/groupadd_spec.rb +31 -0
  828. data/spec/unit/provider/group/ldap_spec.rb +105 -0
  829. data/spec/unit/provider/ldap_spec.rb +248 -0
  830. data/spec/unit/provider/macauthorization_spec.rb +147 -0
  831. data/spec/unit/provider/mcx/mcxcontent_spec.rb +175 -0
  832. data/spec/unit/provider/mount/parsed_spec.rb +193 -0
  833. data/spec/unit/provider/mount_spec.rb +130 -0
  834. data/spec/unit/provider/naginator_spec.rb +58 -0
  835. data/spec/unit/provider/package/aix_spec.rb +66 -0
  836. data/spec/unit/provider/package/apt_spec.rb +145 -0
  837. data/spec/unit/provider/package/dpkg_spec.rb +225 -0
  838. data/spec/unit/provider/package/gem_spec.rb +87 -0
  839. data/spec/unit/provider/package/hpux_spec.rb +52 -0
  840. data/spec/unit/provider/package/nim_spec.rb +42 -0
  841. data/spec/unit/provider/package/pkg_spec.rb +63 -0
  842. data/spec/unit/provider/package/pkgdmg_spec.rb +84 -0
  843. data/spec/unit/provider/package/zypper_spec.rb +81 -0
  844. data/spec/unit/provider/parsedfile_spec.rb +95 -0
  845. data/spec/unit/provider/selboolean_spec.rb +37 -0
  846. data/spec/unit/provider/selmodule_spec.rb +66 -0
  847. data/spec/unit/provider/service/daemontools_spec.rb +166 -0
  848. data/spec/unit/provider/service/debian_spec.rb +89 -0
  849. data/spec/unit/provider/service/init_spec.rb +168 -0
  850. data/spec/unit/provider/service/launchd_spec.rb +200 -0
  851. data/spec/unit/provider/service/redhat_spec.rb +121 -0
  852. data/spec/unit/provider/service/runit_spec.rb +140 -0
  853. data/spec/unit/provider/service/src_spec.rb +97 -0
  854. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +228 -0
  855. data/spec/unit/provider/sshkey/parsed_spec.rb +38 -0
  856. data/spec/unit/provider/user/hpux_spec.rb +25 -0
  857. data/spec/unit/provider/user/ldap_spec.rb +279 -0
  858. data/spec/unit/provider/user/user_role_add_spec.rb +249 -0
  859. data/spec/unit/provider/user/useradd_spec.rb +115 -0
  860. data/spec/unit/provider/zfs/solaris_spec.rb +99 -0
  861. data/spec/unit/provider/zone/solaris_spec.rb +55 -0
  862. data/spec/unit/provider/zpool/solaris_spec.rb +179 -0
  863. data/spec/unit/provider_spec.rb +31 -0
  864. data/spec/unit/puppet_spec.rb +12 -0
  865. data/spec/unit/rails/host_spec.rb +163 -0
  866. data/spec/unit/rails/param_value_spec.rb +49 -0
  867. data/spec/unit/rails/resource_spec.rb +123 -0
  868. data/spec/unit/rails_spec.rb +258 -0
  869. data/spec/unit/relationship_spec.rb +236 -0
  870. data/spec/unit/reports/http_spec.rb +56 -0
  871. data/spec/unit/reports/tagmail_spec.rb +94 -0
  872. data/spec/unit/reports_spec.rb +61 -0
  873. data/spec/unit/resource/catalog_spec.rb +1078 -0
  874. data/spec/unit/resource/status_spec.rb +103 -0
  875. data/spec/unit/resource/type_collection_helper_spec.rb +25 -0
  876. data/spec/unit/resource/type_collection_spec.rb +432 -0
  877. data/spec/unit/resource/type_spec.rb +722 -0
  878. data/spec/unit/resource_spec.rb +818 -0
  879. data/spec/unit/run_spec.rb +137 -0
  880. data/spec/unit/simple_graph_spec.rb +544 -0
  881. data/spec/unit/ssl/base_spec.rb +43 -0
  882. data/spec/unit/ssl/certificate_authority/interface_spec.rb +333 -0
  883. data/spec/unit/ssl/certificate_authority_spec.rb +772 -0
  884. data/spec/unit/ssl/certificate_factory_spec.rb +107 -0
  885. data/spec/unit/ssl/certificate_request_spec.rb +220 -0
  886. data/spec/unit/ssl/certificate_revocation_list_spec.rb +168 -0
  887. data/spec/unit/ssl/certificate_spec.rb +124 -0
  888. data/spec/unit/ssl/host_spec.rb +707 -0
  889. data/spec/unit/ssl/inventory_spec.rb +180 -0
  890. data/spec/unit/ssl/key_spec.rb +198 -0
  891. data/spec/unit/status_spec.rb +31 -0
  892. data/spec/unit/transaction/change_spec.rb +193 -0
  893. data/spec/unit/transaction/event_manager_spec.rb +260 -0
  894. data/spec/unit/transaction/event_spec.rb +108 -0
  895. data/spec/unit/transaction/report_spec.rb +234 -0
  896. data/spec/unit/transaction/resource_harness_spec.rb +401 -0
  897. data/spec/unit/transaction_spec.rb +452 -0
  898. data/spec/unit/transportable_spec.rb +0 -0
  899. data/spec/unit/type/augeas_spec.rb +122 -0
  900. data/spec/unit/type/component_spec.rb +63 -0
  901. data/spec/unit/type/computer_spec.rb +81 -0
  902. data/spec/unit/type/cron_spec.rb +33 -0
  903. data/spec/unit/type/exec_spec.rb +162 -0
  904. data/spec/unit/type/file/checksum_spec.rb +73 -0
  905. data/spec/unit/type/file/content_spec.rb +460 -0
  906. data/spec/unit/type/file/ensure_spec.rb +84 -0
  907. data/spec/unit/type/file/group_spec.rb +123 -0
  908. data/spec/unit/type/file/owner_spec.rb +150 -0
  909. data/spec/unit/type/file/selinux_spec.rb +83 -0
  910. data/spec/unit/type/file/source_spec.rb +272 -0
  911. data/spec/unit/type/file_spec.rb +1070 -0
  912. data/spec/unit/type/filebucket_spec.rb +74 -0
  913. data/spec/unit/type/group_spec.rb +57 -0
  914. data/spec/unit/type/macauthorization_spec.rb +111 -0
  915. data/spec/unit/type/maillist_spec.rb +42 -0
  916. data/spec/unit/type/mcx_spec.rb +100 -0
  917. data/spec/unit/type/mount_spec.rb +261 -0
  918. data/spec/unit/type/nagios_spec.rb +63 -0
  919. data/spec/unit/type/noop_metaparam_spec.rb +37 -0
  920. data/spec/unit/type/package_spec.rb +240 -0
  921. data/spec/unit/type/resources_spec.rb +102 -0
  922. data/spec/unit/type/schedule_spec.rb +333 -0
  923. data/spec/unit/type/selboolean_spec.rb +45 -0
  924. data/spec/unit/type/selmodule_spec.rb +18 -0
  925. data/spec/unit/type/service_spec.rb +222 -0
  926. data/spec/unit/type/ssh_authorized_key_spec.rb +152 -0
  927. data/spec/unit/type/stage_spec.rb +9 -0
  928. data/spec/unit/type/tidy_spec.rb +424 -0
  929. data/spec/unit/type/user_spec.rb +281 -0
  930. data/spec/unit/type/zfs_spec.rb +45 -0
  931. data/spec/unit/type/zone_spec.rb +60 -0
  932. data/spec/unit/type/zpool_spec.rb +110 -0
  933. data/spec/unit/type_spec.rb +566 -0
  934. data/spec/unit/util/autoload/file_cache_spec.rb +159 -0
  935. data/spec/unit/util/autoload_spec.rb +120 -0
  936. data/spec/unit/util/backups_spec.rb +159 -0
  937. data/spec/unit/util/cache_accumulator_spec.rb +75 -0
  938. data/spec/unit/util/cacher_spec.rb +185 -0
  939. data/spec/unit/util/checksums_spec.rb +153 -0
  940. data/spec/unit/util/command_line_spec.rb +108 -0
  941. data/spec/unit/util/constant_inflector_spec.rb +70 -0
  942. data/spec/unit/util/errors_spec.rb +38 -0
  943. data/spec/unit/util/feature_spec.rb +72 -0
  944. data/spec/unit/util/file_locking_spec.rb +156 -0
  945. data/spec/unit/util/filetype_spec.rb +100 -0
  946. data/spec/unit/util/inline_docs_spec.rb +32 -0
  947. data/spec/unit/util/json_spec.rb +21 -0
  948. data/spec/unit/util/ldap/connection_spec.rb +169 -0
  949. data/spec/unit/util/ldap/generator_spec.rb +54 -0
  950. data/spec/unit/util/ldap/manager_spec.rb +654 -0
  951. data/spec/unit/util/loadedfile_spec.rb +65 -0
  952. data/spec/unit/util/log/destinations_spec.rb +24 -0
  953. data/spec/unit/util/log_spec.rb +215 -0
  954. data/spec/unit/util/logging_spec.rb +95 -0
  955. data/spec/unit/util/metric_spec.rb +95 -0
  956. data/spec/unit/util/monkey_patches_spec.rb +7 -0
  957. data/spec/unit/util/nagios_maker_spec.rb +126 -0
  958. data/spec/unit/util/package_spec.rb +21 -0
  959. data/spec/unit/util/posix_spec.rb +256 -0
  960. data/spec/unit/util/queue/stomp_spec.rb +140 -0
  961. data/spec/unit/util/queue_spec.rb +96 -0
  962. data/spec/unit/util/rdoc/parser_spec.rb +540 -0
  963. data/spec/unit/util/rdoc_spec.rb +165 -0
  964. data/spec/unit/util/reference_serializer_spec.rb +52 -0
  965. data/spec/unit/util/resource_template_spec.rb +58 -0
  966. data/spec/unit/util/run_mode_spec.rb +51 -0
  967. data/spec/unit/util/selinux_spec.rb +278 -0
  968. data/spec/unit/util/settings/file_setting_spec.rb +256 -0
  969. data/spec/unit/util/settings_spec.rb +1099 -0
  970. data/spec/unit/util/storage_spec.rb +235 -0
  971. data/spec/unit/util/tagging_spec.rb +102 -0
  972. data/spec/unit/util/user_attr_spec.rb +47 -0
  973. data/spec/unit/util/warnings_spec.rb +39 -0
  974. data/spec/unit/util/zaml_spec.rb +38 -0
  975. data/tasks/rake/git_workflow.rake +1 -1
  976. data/tasks/rake/sign.rake +2 -2
  977. data/test/certmgr/ca.rb +61 -61
  978. data/test/certmgr/certmgr.rb +292 -283
  979. data/test/certmgr/inventory.rb +44 -42
  980. data/test/certmgr/support.rb +78 -77
  981. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +1 -1
  982. data/test/data/snippets/hash.pp +33 -0
  983. data/test/language/ast.rb +68 -117
  984. data/test/language/ast/variable.rb +14 -15
  985. data/test/language/functions.rb +404 -463
  986. data/test/language/parser.rb +670 -1135
  987. data/test/language/scope.rb +198 -402
  988. data/test/language/snippets.rb +439 -447
  989. data/test/language/transportable.rb +67 -66
  990. data/test/lib/puppettest.rb +260 -268
  991. data/test/lib/puppettest/certificates.rb +51 -53
  992. data/test/lib/puppettest/exetest.rb +107 -111
  993. data/test/lib/puppettest/fakes.rb +153 -158
  994. data/test/lib/puppettest/fileparsing.rb +17 -17
  995. data/test/lib/puppettest/filetesting.rb +204 -213
  996. data/test/lib/puppettest/parsertesting.rb +382 -365
  997. data/test/lib/puppettest/railstesting.rb +49 -50
  998. data/test/lib/puppettest/reporttesting.rb +10 -10
  999. data/test/lib/puppettest/resourcetesting.rb +45 -36
  1000. data/test/lib/puppettest/runnable_test.rb +36 -28
  1001. data/test/lib/puppettest/servertest.rb +54 -51
  1002. data/test/lib/puppettest/support/assertions.rb +48 -55
  1003. data/test/lib/puppettest/support/helpers.rb +12 -16
  1004. data/test/lib/puppettest/support/resources.rb +23 -25
  1005. data/test/lib/puppettest/support/utils.rb +138 -148
  1006. data/test/lib/puppettest/testcase.rb +15 -17
  1007. data/test/lib/rake/puppet_test_loader.rb +1 -3
  1008. data/test/lib/rake/puppet_testtask.rb +10 -10
  1009. data/test/network/authconfig.rb +48 -50
  1010. data/test/network/authorization.rb +114 -113
  1011. data/test/network/authstore.rb +454 -406
  1012. data/test/network/client/ca.rb +46 -48
  1013. data/test/network/client/dipper.rb +22 -22
  1014. data/test/network/client_request.rb +20 -20
  1015. data/test/network/handler/ca.rb +251 -252
  1016. data/test/network/handler/fileserver.rb +1071 -1001
  1017. data/test/network/handler/master.rb +58 -58
  1018. data/test/network/handler/report.rb +64 -64
  1019. data/test/network/handler/runner.rb +8 -8
  1020. data/test/network/rights.rb +22 -19
  1021. data/test/network/server/mongrel_test.rb +87 -87
  1022. data/test/network/server/webrick.rb +99 -87
  1023. data/test/network/xmlrpc/client.rb +30 -30
  1024. data/test/network/xmlrpc/processor.rb +52 -53
  1025. data/test/network/xmlrpc/server.rb +10 -11
  1026. data/test/network/xmlrpc/webrick_servlet.rb +21 -18
  1027. data/test/other/provider.rb +69 -84
  1028. data/test/other/puppet.rb +61 -76
  1029. data/test/other/relationships.rb +73 -65
  1030. data/test/other/report.rb +88 -187
  1031. data/test/other/transactions.rb +363 -885
  1032. data/test/puppet/defaults.rb +51 -54
  1033. data/test/puppet/errortest.rb +8 -8
  1034. data/test/puppet/tc_suidmanager.rb +106 -103
  1035. data/test/rails/rails.rb +8 -9
  1036. data/test/rails/railsparameter.rb +60 -54
  1037. data/test/ral/manager/attributes.rb +262 -260
  1038. data/test/ral/manager/instances.rb +77 -78
  1039. data/test/ral/manager/manager.rb +36 -36
  1040. data/test/ral/manager/provider.rb +56 -79
  1041. data/test/ral/manager/type.rb +308 -449
  1042. data/test/ral/providers/cron/crontab.rb +561 -545
  1043. data/test/ral/providers/group.rb +203 -212
  1044. data/test/ral/providers/host/parsed.rb +189 -180
  1045. data/test/ral/providers/mailalias/aliases.rb +40 -40
  1046. data/test/ral/providers/nameservice.rb +21 -21
  1047. data/test/ral/providers/package.rb +207 -214
  1048. data/test/ral/providers/package/aptitude.rb +75 -63
  1049. data/test/ral/providers/package/aptrpm.rb +84 -72
  1050. data/test/ral/providers/parsedfile.rb +510 -509
  1051. data/test/ral/providers/port/parsed.rb +5 -5
  1052. data/test/ral/providers/provider.rb +421 -421
  1053. data/test/ral/providers/service/base.rb +59 -53
  1054. data/test/ral/providers/sshkey/parsed.rb +86 -83
  1055. data/test/ral/providers/user.rb +471 -451
  1056. data/test/ral/providers/user/useradd.rb +168 -177
  1057. data/test/ral/type/cron.rb +406 -393
  1058. data/test/ral/type/exec.rb +721 -641
  1059. data/test/ral/type/file.rb +827 -896
  1060. data/test/ral/type/file/target.rb +295 -251
  1061. data/test/ral/type/fileignoresource.rb +232 -205
  1062. data/test/ral/type/filesources.rb +446 -485
  1063. data/test/ral/type/host.rb +124 -153
  1064. data/test/ral/type/mailalias.rb +28 -31
  1065. data/test/ral/type/port.rb +7 -7
  1066. data/test/ral/type/resources.rb +88 -93
  1067. data/test/ral/type/service.rb +19 -19
  1068. data/test/ral/type/sshkey.rb +120 -160
  1069. data/test/ral/type/user.rb +132 -414
  1070. data/test/ral/type/yumrepo.rb +95 -92
  1071. data/test/ral/type/zone.rb +316 -287
  1072. data/test/test +1 -1
  1073. data/test/util/classgen.rb +182 -167
  1074. data/test/util/execution.rb +18 -18
  1075. data/test/util/fileparsing.rb +580 -540
  1076. data/test/util/inifile.rb +117 -106
  1077. data/test/util/instance_loader.rb +29 -29
  1078. data/test/util/log.rb +202 -198
  1079. data/test/util/metrics.rb +51 -51
  1080. data/test/util/package.rb +11 -12
  1081. data/test/util/pidlock.rb +115 -115
  1082. data/test/util/settings.rb +613 -557
  1083. data/test/util/storage.rb +71 -88
  1084. data/test/util/subclass_loader.rb +69 -72
  1085. data/test/util/utiltest.rb +204 -203
  1086. metadata +493 -395
  1087. data/lib/puppet/agent/runner.rb +0 -65
  1088. data/lib/puppet/application/pi.rb +0 -214
  1089. data/lib/puppet/application/puppet.rb +0 -181
  1090. data/lib/puppet/application/puppetca.rb +0 -71
  1091. data/lib/puppet/application/puppetd.rb +0 -250
  1092. data/lib/puppet/application/puppetdoc.rb +0 -224
  1093. data/lib/puppet/application/puppetmasterd.rb +0 -168
  1094. data/lib/puppet/application/puppetqd.rb +0 -96
  1095. data/lib/puppet/application/puppetrun.rb +0 -210
  1096. data/lib/puppet/application/ralsh.rb +0 -152
  1097. data/lib/puppet/checksum.rb +0 -57
  1098. data/lib/puppet/indirector/checksum/file.rb +0 -33
  1099. data/lib/puppet/indirector/runner/rest.rb +0 -7
  1100. data/lib/puppet/network/client/dipper.rb +0 -85
  1101. data/lib/puppet/network/client/resource.rb +0 -38
  1102. data/lib/puppet/network/handler/resource.rb +0 -190
  1103. data/lib/puppet/parser/ast/definition.rb +0 -207
  1104. data/lib/puppet/parser/ast/hostclass.rb +0 -95
  1105. data/lib/puppet/parser/ast/node.rb +0 -42
  1106. data/lib/puppet/parser/interpreter.rb +0 -84
  1107. data/lib/puppet/parser/loaded_code.rb +0 -119
  1108. data/lib/puppet/parser/resource/reference.rb +0 -99
  1109. data/lib/puppet/resource/reference.rb +0 -90
  1110. data/lib/puppet/util/config_store.rb +0 -61
  1111. data/spec/integration/application/puppet.rb +0 -33
  1112. data/spec/integration/bin/puppetmasterd.rb +0 -122
  1113. data/spec/integration/checksum.rb +0 -48
  1114. data/spec/integration/configurer.rb +0 -18
  1115. data/spec/integration/defaults.rb +0 -230
  1116. data/spec/integration/file_serving/content.rb +0 -20
  1117. data/spec/integration/file_serving/fileset.rb +0 -14
  1118. data/spec/integration/file_serving/metadata.rb +0 -21
  1119. data/spec/integration/file_serving/terminus_helper.rb +0 -22
  1120. data/spec/integration/indirector/catalog/compiler.rb +0 -67
  1121. data/spec/integration/indirector/catalog/queue.rb +0 -61
  1122. data/spec/integration/indirector/certificate/rest.rb +0 -70
  1123. data/spec/integration/indirector/certificate_request/rest.rb +0 -88
  1124. data/spec/integration/indirector/certificate_revocation_list/rest.rb +0 -76
  1125. data/spec/integration/indirector/direct_file_server.rb +0 -73
  1126. data/spec/integration/indirector/file_content/file_server.rb +0 -94
  1127. data/spec/integration/indirector/file_metadata/file_server.rb +0 -18
  1128. data/spec/integration/indirector/node/ldap.rb +0 -15
  1129. data/spec/integration/indirector/report/rest.rb +0 -94
  1130. data/spec/integration/indirector/rest.rb +0 -523
  1131. data/spec/integration/network/client.rb +0 -19
  1132. data/spec/integration/network/formats.rb +0 -110
  1133. data/spec/integration/network/handler.rb +0 -25
  1134. data/spec/integration/network/server/mongrel.rb +0 -66
  1135. data/spec/integration/network/server/webrick.rb +0 -86
  1136. data/spec/integration/node.rb +0 -93
  1137. data/spec/integration/node/environment.rb +0 -58
  1138. data/spec/integration/node/facts.rb +0 -47
  1139. data/spec/integration/parser/compiler.rb +0 -29
  1140. data/spec/integration/parser/functions/require.rb +0 -86
  1141. data/spec/integration/provider/mailalias/aliases.rb +0 -25
  1142. data/spec/integration/provider/package.rb +0 -26
  1143. data/spec/integration/provider/service/init.rb +0 -32
  1144. data/spec/integration/reference/providers.rb +0 -17
  1145. data/spec/integration/reports.rb +0 -18
  1146. data/spec/integration/resource/catalog.rb +0 -61
  1147. data/spec/integration/ssl/certificate_authority.rb +0 -135
  1148. data/spec/integration/ssl/certificate_request.rb +0 -61
  1149. data/spec/integration/ssl/certificate_revocation_list.rb +0 -42
  1150. data/spec/integration/ssl/host.rb +0 -90
  1151. data/spec/integration/transaction.rb +0 -66
  1152. data/spec/integration/transaction/report.rb +0 -29
  1153. data/spec/integration/type.rb +0 -22
  1154. data/spec/integration/type/file.rb +0 -477
  1155. data/spec/integration/type/package.rb +0 -25
  1156. data/spec/integration/type/tidy.rb +0 -27
  1157. data/spec/integration/util/autoload.rb +0 -114
  1158. data/spec/integration/util/feature.rb +0 -54
  1159. data/spec/integration/util/file_locking.rb +0 -37
  1160. data/spec/integration/util/settings.rb +0 -27
  1161. data/spec/unit/agent.rb +0 -259
  1162. data/spec/unit/agent/locker.rb +0 -100
  1163. data/spec/unit/agent/runner.rb +0 -118
  1164. data/spec/unit/application.rb +0 -420
  1165. data/spec/unit/application/filebucket.rb +0 -220
  1166. data/spec/unit/application/pi.rb +0 -84
  1167. data/spec/unit/application/puppet.rb +0 -399
  1168. data/spec/unit/application/puppetca.rb +0 -142
  1169. data/spec/unit/application/puppetd.rb +0 -502
  1170. data/spec/unit/application/puppetdoc.rb +0 -360
  1171. data/spec/unit/application/puppetmasterd.rb +0 -457
  1172. data/spec/unit/application/puppetqd.rb +0 -186
  1173. data/spec/unit/application/puppetrun.rb +0 -289
  1174. data/spec/unit/application/ralsh.rb +0 -254
  1175. data/spec/unit/configurer.rb +0 -339
  1176. data/spec/unit/configurer/downloader.rb +0 -188
  1177. data/spec/unit/configurer/fact_handler.rb +0 -164
  1178. data/spec/unit/configurer/plugin_handler.rb +0 -112
  1179. data/spec/unit/daemon.rb +0 -287
  1180. data/spec/unit/file_collection.rb +0 -53
  1181. data/spec/unit/file_collection/lookup.rb +0 -46
  1182. data/spec/unit/file_serving/base.rb +0 -132
  1183. data/spec/unit/file_serving/configuration.rb +0 -249
  1184. data/spec/unit/file_serving/configuration/parser.rb +0 -181
  1185. data/spec/unit/file_serving/content.rb +0 -110
  1186. data/spec/unit/file_serving/fileset.rb +0 -347
  1187. data/spec/unit/file_serving/indirection_hooks.rb +0 -63
  1188. data/spec/unit/file_serving/metadata.rb +0 -286
  1189. data/spec/unit/file_serving/mount.rb +0 -32
  1190. data/spec/unit/file_serving/mount/file.rb +0 -196
  1191. data/spec/unit/file_serving/mount/modules.rb +0 -63
  1192. data/spec/unit/file_serving/mount/plugins.rb +0 -61
  1193. data/spec/unit/file_serving/terminus_helper.rb +0 -98
  1194. data/spec/unit/indirector.rb +0 -157
  1195. data/spec/unit/indirector/active_record.rb +0 -76
  1196. data/spec/unit/indirector/catalog/active_record.rb +0 -141
  1197. data/spec/unit/indirector/catalog/compiler.rb +0 -261
  1198. data/spec/unit/indirector/catalog/queue.rb +0 -20
  1199. data/spec/unit/indirector/catalog/rest.rb +0 -11
  1200. data/spec/unit/indirector/catalog/yaml.rb +0 -25
  1201. data/spec/unit/indirector/certificate/ca.rb +0 -28
  1202. data/spec/unit/indirector/certificate/file.rb +0 -28
  1203. data/spec/unit/indirector/certificate/rest.rb +0 -57
  1204. data/spec/unit/indirector/certificate_request/ca.rb +0 -19
  1205. data/spec/unit/indirector/certificate_request/file.rb +0 -19
  1206. data/spec/unit/indirector/certificate_request/rest.rb +0 -23
  1207. data/spec/unit/indirector/certificate_revocation_list/ca.rb +0 -21
  1208. data/spec/unit/indirector/certificate_revocation_list/file.rb +0 -20
  1209. data/spec/unit/indirector/certificate_revocation_list/rest.rb +0 -23
  1210. data/spec/unit/indirector/checksum/file.rb +0 -139
  1211. data/spec/unit/indirector/code.rb +0 -33
  1212. data/spec/unit/indirector/direct_file_server.rb +0 -84
  1213. data/spec/unit/indirector/envelope.rb +0 -47
  1214. data/spec/unit/indirector/exec.rb +0 -56
  1215. data/spec/unit/indirector/facts/active_record.rb +0 -104
  1216. data/spec/unit/indirector/facts/facter.rb +0 -142
  1217. data/spec/unit/indirector/facts/rest.rb +0 -11
  1218. data/spec/unit/indirector/facts/yaml.rb +0 -26
  1219. data/spec/unit/indirector/file.rb +0 -161
  1220. data/spec/unit/indirector/file_content/file.rb +0 -18
  1221. data/spec/unit/indirector/file_content/file_server.rb +0 -18
  1222. data/spec/unit/indirector/file_content/rest.rb +0 -11
  1223. data/spec/unit/indirector/file_metadata/file.rb +0 -52
  1224. data/spec/unit/indirector/file_metadata/file_server.rb +0 -18
  1225. data/spec/unit/indirector/file_metadata/rest.rb +0 -9
  1226. data/spec/unit/indirector/file_server.rb +0 -267
  1227. data/spec/unit/indirector/indirection.rb +0 -795
  1228. data/spec/unit/indirector/key/ca.rb +0 -28
  1229. data/spec/unit/indirector/key/file.rb +0 -104
  1230. data/spec/unit/indirector/ldap.rb +0 -143
  1231. data/spec/unit/indirector/memory.rb +0 -29
  1232. data/spec/unit/indirector/node/active_record.rb +0 -34
  1233. data/spec/unit/indirector/node/exec.rb +0 -69
  1234. data/spec/unit/indirector/node/ldap.rb +0 -458
  1235. data/spec/unit/indirector/node/memory.rb +0 -19
  1236. data/spec/unit/indirector/node/plain.rb +0 -19
  1237. data/spec/unit/indirector/node/rest.rb +0 -13
  1238. data/spec/unit/indirector/node/yaml.rb +0 -25
  1239. data/spec/unit/indirector/plain.rb +0 -29
  1240. data/spec/unit/indirector/queue.rb +0 -123
  1241. data/spec/unit/indirector/report/processor.rb +0 -81
  1242. data/spec/unit/indirector/report/rest.rb +0 -28
  1243. data/spec/unit/indirector/request.rb +0 -308
  1244. data/spec/unit/indirector/rest.rb +0 -403
  1245. data/spec/unit/indirector/runner/rest.rb +0 -11
  1246. data/spec/unit/indirector/ssl_file.rb +0 -280
  1247. data/spec/unit/indirector/terminus.rb +0 -245
  1248. data/spec/unit/indirector/yaml.rb +0 -145
  1249. data/spec/unit/module.rb +0 -247
  1250. data/spec/unit/network/authconfig.rb +0 -292
  1251. data/spec/unit/network/authstore.rb +0 -370
  1252. data/spec/unit/network/client.rb +0 -45
  1253. data/spec/unit/network/client/dipper.rb +0 -16
  1254. data/spec/unit/network/format.rb +0 -191
  1255. data/spec/unit/network/format_handler.rb +0 -327
  1256. data/spec/unit/network/formats.rb +0 -365
  1257. data/spec/unit/network/handler/fileserver.rb +0 -176
  1258. data/spec/unit/network/http.rb +0 -35
  1259. data/spec/unit/network/http/api/v1.rb +0 -122
  1260. data/spec/unit/network/http/handler.rb +0 -458
  1261. data/spec/unit/network/http/mongrel.rb +0 -131
  1262. data/spec/unit/network/http/mongrel/rest.rb +0 -232
  1263. data/spec/unit/network/http/rack.rb +0 -102
  1264. data/spec/unit/network/http/rack/rest.rb +0 -199
  1265. data/spec/unit/network/http/rack/xmlrpc.rb +0 -157
  1266. data/spec/unit/network/http/webrick.rb +0 -339
  1267. data/spec/unit/network/http/webrick/rest.rb +0 -157
  1268. data/spec/unit/network/http_pool.rb +0 -206
  1269. data/spec/unit/network/rest_authconfig.rb +0 -146
  1270. data/spec/unit/network/rest_authorization.rb +0 -43
  1271. data/spec/unit/network/rights.rb +0 -519
  1272. data/spec/unit/network/server.rb +0 -534
  1273. data/spec/unit/network/xmlrpc/client.rb +0 -171
  1274. data/spec/unit/node.rb +0 -200
  1275. data/spec/unit/node/environment.rb +0 -187
  1276. data/spec/unit/node/facts.rb +0 -97
  1277. data/spec/unit/other/checksum.rb +0 -92
  1278. data/spec/unit/other/selinux.rb +0 -85
  1279. data/spec/unit/other/transbucket.rb +0 -188
  1280. data/spec/unit/other/transobject.rb +0 -112
  1281. data/spec/unit/parameter.rb +0 -405
  1282. data/spec/unit/parser/ast.rb +0 -41
  1283. data/spec/unit/parser/ast/arithmetic_operator.rb +0 -73
  1284. data/spec/unit/parser/ast/astarray.rb +0 -72
  1285. data/spec/unit/parser/ast/boolean_operator.rb +0 -53
  1286. data/spec/unit/parser/ast/casestatement.rb +0 -135
  1287. data/spec/unit/parser/ast/collection.rb +0 -63
  1288. data/spec/unit/parser/ast/collexpr.rb +0 -115
  1289. data/spec/unit/parser/ast/comparison_operator.rb +0 -92
  1290. data/spec/unit/parser/ast/definition.rb +0 -213
  1291. data/spec/unit/parser/ast/function.rb +0 -83
  1292. data/spec/unit/parser/ast/hostclass.rb +0 -148
  1293. data/spec/unit/parser/ast/ifstatement.rb +0 -76
  1294. data/spec/unit/parser/ast/leaf.rb +0 -298
  1295. data/spec/unit/parser/ast/match_operator.rb +0 -50
  1296. data/spec/unit/parser/ast/minus.rb +0 -36
  1297. data/spec/unit/parser/ast/node.rb +0 -145
  1298. data/spec/unit/parser/ast/nop.rb +0 -20
  1299. data/spec/unit/parser/ast/not.rb +0 -30
  1300. data/spec/unit/parser/ast/resource.rb +0 -103
  1301. data/spec/unit/parser/ast/resource_override.rb +0 -51
  1302. data/spec/unit/parser/ast/resource_reference.rb +0 -69
  1303. data/spec/unit/parser/ast/selector.rb +0 -155
  1304. data/spec/unit/parser/ast/vardef.rb +0 -47
  1305. data/spec/unit/parser/collector.rb +0 -556
  1306. data/spec/unit/parser/compiler.rb +0 -604
  1307. data/spec/unit/parser/files.rb +0 -190
  1308. data/spec/unit/parser/functions.rb +0 -83
  1309. data/spec/unit/parser/functions/fqdn_rand.rb +0 -62
  1310. data/spec/unit/parser/functions/generate.rb +0 -41
  1311. data/spec/unit/parser/functions/inline_template.rb +0 -59
  1312. data/spec/unit/parser/functions/realize.rb +0 -51
  1313. data/spec/unit/parser/functions/regsubst.rb +0 -168
  1314. data/spec/unit/parser/functions/require.rb +0 -69
  1315. data/spec/unit/parser/functions/shellquote.rb +0 -92
  1316. data/spec/unit/parser/functions/split.rb +0 -51
  1317. data/spec/unit/parser/functions/sprintf.rb +0 -42
  1318. data/spec/unit/parser/functions/template.rb +0 -62
  1319. data/spec/unit/parser/functions/versioncmp.rb +0 -29
  1320. data/spec/unit/parser/interpreter.rb +0 -147
  1321. data/spec/unit/parser/lexer.rb +0 -731
  1322. data/spec/unit/parser/loaded_code.rb +0 -215
  1323. data/spec/unit/parser/parser.rb +0 -423
  1324. data/spec/unit/parser/resource.rb +0 -529
  1325. data/spec/unit/parser/resource/reference.rb +0 -111
  1326. data/spec/unit/parser/scope.rb +0 -387
  1327. data/spec/unit/parser/templatewrapper.rb +0 -134
  1328. data/spec/unit/property.rb +0 -305
  1329. data/spec/unit/property/keyvalue.rb +0 -168
  1330. data/spec/unit/property/list.rb +0 -166
  1331. data/spec/unit/property/ordered_list.rb +0 -64
  1332. data/spec/unit/provider.rb +0 -31
  1333. data/spec/unit/provider/augeas/augeas.rb +0 -413
  1334. data/spec/unit/provider/confine.rb +0 -78
  1335. data/spec/unit/provider/confine/exists.rb +0 -81
  1336. data/spec/unit/provider/confine/false.rb +0 -53
  1337. data/spec/unit/provider/confine/feature.rb +0 -60
  1338. data/spec/unit/provider/confine/true.rb +0 -53
  1339. data/spec/unit/provider/confine/variable.rb +0 -107
  1340. data/spec/unit/provider/confine_collection.rb +0 -134
  1341. data/spec/unit/provider/confiner.rb +0 -63
  1342. data/spec/unit/provider/group/groupadd.rb +0 -31
  1343. data/spec/unit/provider/group/ldap.rb +0 -105
  1344. data/spec/unit/provider/ldap.rb +0 -248
  1345. data/spec/unit/provider/macauthorization.rb +0 -147
  1346. data/spec/unit/provider/mcx/mcxcontent.rb +0 -175
  1347. data/spec/unit/provider/mount.rb +0 -130
  1348. data/spec/unit/provider/mount/parsed.rb +0 -194
  1349. data/spec/unit/provider/naginator.rb +0 -58
  1350. data/spec/unit/provider/package/apt.rb +0 -138
  1351. data/spec/unit/provider/package/dpkg.rb +0 -170
  1352. data/spec/unit/provider/package/gem.rb +0 -87
  1353. data/spec/unit/provider/package/hpux.rb +0 -52
  1354. data/spec/unit/provider/package/pkgdmg.rb +0 -73
  1355. data/spec/unit/provider/parsedfile.rb +0 -95
  1356. data/spec/unit/provider/selboolean.rb +0 -37
  1357. data/spec/unit/provider/selmodule.rb +0 -66
  1358. data/spec/unit/provider/service/daemontools.rb +0 -166
  1359. data/spec/unit/provider/service/debian.rb +0 -89
  1360. data/spec/unit/provider/service/init.rb +0 -121
  1361. data/spec/unit/provider/service/launchd.rb +0 -200
  1362. data/spec/unit/provider/service/redhat.rb +0 -96
  1363. data/spec/unit/provider/service/runit.rb +0 -140
  1364. data/spec/unit/provider/ssh_authorized_key/parsed.rb +0 -206
  1365. data/spec/unit/provider/sshkey/parsed.rb +0 -38
  1366. data/spec/unit/provider/user/hpux.rb +0 -25
  1367. data/spec/unit/provider/user/ldap.rb +0 -279
  1368. data/spec/unit/provider/user/user_role_add.rb +0 -249
  1369. data/spec/unit/provider/user/useradd.rb +0 -115
  1370. data/spec/unit/provider/zfs/solaris.rb +0 -99
  1371. data/spec/unit/provider/zone/solaris.rb +0 -42
  1372. data/spec/unit/provider/zpool/solaris.rb +0 -179
  1373. data/spec/unit/rails.rb +0 -133
  1374. data/spec/unit/rails/host.rb +0 -163
  1375. data/spec/unit/rails/param_value.rb +0 -49
  1376. data/spec/unit/rails/resource.rb +0 -107
  1377. data/spec/unit/relationship.rb +0 -236
  1378. data/spec/unit/reports.rb +0 -61
  1379. data/spec/unit/resource.rb +0 -495
  1380. data/spec/unit/resource/catalog.rb +0 -1053
  1381. data/spec/unit/resource/reference.rb +0 -111
  1382. data/spec/unit/simple_graph.rb +0 -551
  1383. data/spec/unit/ssl/certificate.rb +0 -124
  1384. data/spec/unit/ssl/certificate_authority.rb +0 -741
  1385. data/spec/unit/ssl/certificate_authority/interface.rb +0 -269
  1386. data/spec/unit/ssl/certificate_factory.rb +0 -107
  1387. data/spec/unit/ssl/certificate_request.rb +0 -193
  1388. data/spec/unit/ssl/certificate_revocation_list.rb +0 -168
  1389. data/spec/unit/ssl/host.rb +0 -704
  1390. data/spec/unit/ssl/inventory.rb +0 -180
  1391. data/spec/unit/ssl/key.rb +0 -198
  1392. data/spec/unit/transaction.rb +0 -146
  1393. data/spec/unit/transaction/change.rb +0 -187
  1394. data/spec/unit/transaction/event.rb +0 -25
  1395. data/spec/unit/transaction/report.rb +0 -40
  1396. data/spec/unit/type.rb +0 -426
  1397. data/spec/unit/type/augeas.rb +0 -106
  1398. data/spec/unit/type/component.rb +0 -63
  1399. data/spec/unit/type/computer.rb +0 -78
  1400. data/spec/unit/type/cron.rb +0 -33
  1401. data/spec/unit/type/exec.rb +0 -116
  1402. data/spec/unit/type/file.rb +0 -810
  1403. data/spec/unit/type/file/checksum.rb +0 -28
  1404. data/spec/unit/type/file/content.rb +0 -297
  1405. data/spec/unit/type/file/ensure.rb +0 -84
  1406. data/spec/unit/type/file/group.rb +0 -123
  1407. data/spec/unit/type/file/owner.rb +0 -143
  1408. data/spec/unit/type/file/selinux.rb +0 -84
  1409. data/spec/unit/type/file/source.rb +0 -264
  1410. data/spec/unit/type/filebucket.rb +0 -74
  1411. data/spec/unit/type/group.rb +0 -39
  1412. data/spec/unit/type/macauthorization.rb +0 -111
  1413. data/spec/unit/type/maillist.rb +0 -42
  1414. data/spec/unit/type/mcx.rb +0 -100
  1415. data/spec/unit/type/mount.rb +0 -211
  1416. data/spec/unit/type/nagios.rb +0 -63
  1417. data/spec/unit/type/noop_metaparam.rb +0 -37
  1418. data/spec/unit/type/package.rb +0 -236
  1419. data/spec/unit/type/resources.rb +0 -89
  1420. data/spec/unit/type/schedule.rb +0 -333
  1421. data/spec/unit/type/selboolean.rb +0 -45
  1422. data/spec/unit/type/selmodule.rb +0 -18
  1423. data/spec/unit/type/service.rb +0 -230
  1424. data/spec/unit/type/ssh_authorized_key.rb +0 -140
  1425. data/spec/unit/type/tidy.rb +0 -422
  1426. data/spec/unit/type/user.rb +0 -285
  1427. data/spec/unit/type/zfs.rb +0 -45
  1428. data/spec/unit/type/zone.rb +0 -20
  1429. data/spec/unit/type/zpool.rb +0 -110
  1430. data/spec/unit/util/autoload.rb +0 -133
  1431. data/spec/unit/util/autoload/file_cache.rb +0 -183
  1432. data/spec/unit/util/backups.rb +0 -159
  1433. data/spec/unit/util/cache_accumulator.rb +0 -69
  1434. data/spec/unit/util/cacher.rb +0 -185
  1435. data/spec/unit/util/checksums.rb +0 -113
  1436. data/spec/unit/util/constant_inflector.rb +0 -70
  1437. data/spec/unit/util/feature.rb +0 -72
  1438. data/spec/unit/util/file_locking.rb +0 -115
  1439. data/spec/unit/util/filetype.rb +0 -100
  1440. data/spec/unit/util/json.rb +0 -21
  1441. data/spec/unit/util/ldap/connection.rb +0 -169
  1442. data/spec/unit/util/ldap/generator.rb +0 -54
  1443. data/spec/unit/util/ldap/manager.rb +0 -654
  1444. data/spec/unit/util/loadedfile.rb +0 -65
  1445. data/spec/unit/util/log.rb +0 -202
  1446. data/spec/unit/util/metric.rb +0 -95
  1447. data/spec/unit/util/monkey_patches.rb +0 -103
  1448. data/spec/unit/util/nagios_maker.rb +0 -126
  1449. data/spec/unit/util/package.rb +0 -21
  1450. data/spec/unit/util/posix.rb +0 -256
  1451. data/spec/unit/util/queue.rb +0 -96
  1452. data/spec/unit/util/queue/stomp.rb +0 -140
  1453. data/spec/unit/util/reference_serializer.rb +0 -52
  1454. data/spec/unit/util/resource_template.rb +0 -58
  1455. data/spec/unit/util/selinux.rb +0 -280
  1456. data/spec/unit/util/settings.rb +0 -1058
  1457. data/spec/unit/util/settings/file_setting.rb +0 -248
  1458. data/spec/unit/util/storage.rb +0 -248
  1459. data/spec/unit/util/tagging.rb +0 -102
  1460. data/spec/unit/util/user_attr.rb +0 -47
  1461. data/spec/unit/util/warnings.rb +0 -39
  1462. data/spec/unit/util/zaml.rb +0 -38
  1463. data/test/language/ast/casestatement.rb +0 -103
  1464. data/test/language/ast/resource.rb +0 -58
  1465. data/test/language/ast/resource_reference.rb +0 -77
  1466. data/test/language/ast/selector.rb +0 -61
  1467. data/test/language/resource.rb +0 -172
  1468. data/test/lib/puppettest/support/collection.rb +0 -29
  1469. data/test/network/client/resource.rb +0 -52
  1470. data/test/network/handler/bucket.rb +0 -313
  1471. data/test/network/handler/resource.rb +0 -250
  1472. data/test/other/dsl.rb +0 -215
  1473. data/test/other/events.rb +0 -124
  1474. data/test/ral/type/group.rb +0 -170
@@ -5,67 +5,79 @@ require File.dirname(__FILE__) + '/../../../lib/puppettest'
5
5
  require 'mocha'
6
6
 
7
7
  class AptitudePackageProviderTest < PuppetTest::TestCase
8
- confine "Aptitude package provider missing" =>
9
- Puppet::Type.type(:package).provider(:aptitude).suitable?
10
-
11
- def setup
12
- super
13
- @type = Puppet::Type.type(:package)
14
- end
15
-
16
- def test_install
17
- pkg = @type.new :name => 'faff',
18
- :provider => :aptitude,
19
- :ensure => :present,
20
- :source => "/tmp/faff.deb"
21
-
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
-
33
- pkg.provider.expects(
34
- :aptitude
35
- ).with(
36
- '-y',
37
- '-o',
38
- 'DPkg::Options::=--force-confold',
39
- :install,
40
- 'faff'
41
- ).returns(0)
42
-
43
- pkg.evaluate.each { |state|
44
- state.forward
45
- }
46
- end
47
-
48
- def test_purge
49
- pkg = @type.new :name => 'faff', :provider => :aptitude, :ensure => :purged
50
-
51
- pkg.provider.expects(
52
- :dpkgquery
53
- ).with(
54
- '-W',
55
- '--showformat',
56
- '${Status} ${Package} ${Version}\n',
57
- 'faff'
58
- ).returns(
59
- "install ok installed faff 1.2.3-1\n"
60
- ).times(1)
61
- pkg.provider.expects(
62
- :aptitude
63
- ).with(
64
- '-y',
65
- 'purge',
66
- 'faff'
67
- ).returns(0)
68
-
69
- pkg.evaluate.each { |state| state.forward }
70
- end
8
+ include PuppetTest
9
+
10
+ confine "Aptitude package provider missing" =>
11
+ Puppet::Type.type(:package).provider(:aptitude).suitable?
12
+
13
+ def setup
14
+ super
15
+ @type = Puppet::Type.type(:package)
16
+ end
17
+
18
+ def test_install
19
+ pkg = @type.new :name => 'faff',
20
+ :provider => :aptitude,
21
+ :ensure => :present,
22
+ :source => "/tmp/faff.deb"
23
+
24
+ pkg.provider.expects(
25
+ :dpkgquery
26
+
27
+ ).with(
28
+
29
+ '-W',
30
+ '--showformat',
31
+ '${Status} ${Package} ${Version}\n',
32
+
33
+ 'faff'
34
+ ).returns(
35
+ "deinstall ok config-files faff 1.2.3-1\n"
36
+ ).times(1)
37
+
38
+ pkg.provider.expects(
39
+ :aptitude
40
+
41
+ ).with(
42
+
43
+ '-y',
44
+ '-o',
45
+ 'DPkg::Options::=--force-confold',
46
+ :install,
47
+
48
+ 'faff'
49
+ ).returns(0)
50
+
51
+ assert_apply( pkg )
52
+ end
53
+
54
+ def test_purge
55
+ pkg = @type.new :name => 'faff', :provider => :aptitude, :ensure => :purged
56
+
57
+ pkg.provider.expects(
58
+ :dpkgquery
59
+
60
+ ).with(
61
+
62
+ '-W',
63
+ '--showformat',
64
+ '${Status} ${Package} ${Version}\n',
65
+
66
+ 'faff'
67
+ ).returns(
68
+ "install ok installed faff 1.2.3-1\n"
69
+ ).times(1)
70
+ pkg.provider.expects(
71
+ :aptitude
72
+
73
+ ).with(
74
+
75
+ '-y',
76
+ 'purge',
77
+
78
+ 'faff'
79
+ ).returns(0)
80
+
81
+ assert_apply( pkg )
82
+ end
71
83
  end
@@ -5,84 +5,96 @@ require File.dirname(__FILE__) + '/../../../lib/puppettest'
5
5
  require 'mocha'
6
6
 
7
7
  class AptrpmPackageProviderTest < PuppetTest::TestCase
8
- confine "Apt package provider missing" =>
9
- Puppet::Type.type(:package).provider(:aptrpm).suitable?
8
+ confine "Apt package provider missing" =>
9
+ Puppet::Type.type(:package).provider(:aptrpm).suitable?
10
10
 
11
- def setup
12
- super
13
- @type = Puppet::Type.type(:package)
14
- end
11
+ def setup
12
+ super
13
+ @type = Puppet::Type.type(:package)
14
+ end
15
15
 
16
- def test_install
17
- pkg = @type.new :name => 'faff',
18
- :provider => :aptrpm,
19
- :ensure => :present,
20
- :source => "/tmp/faff.rpm"
21
-
22
- pkg.provider.expects(
23
- :rpm
24
- ).with(
25
- '-q',
26
- 'faff',
27
- '--nosignature',
28
- '--nodigest',
29
- '--qf',
30
- "%{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}\n"
31
- ).raises(Puppet::ExecutionFailure, "couldn't find rpm").times(1)
32
-
33
- pkg.provider.expects(
34
- :aptget
35
- ).with(
36
- '-q',
37
- '-y',
38
- "install",
39
- 'faff'
40
- ).returns(0)
41
-
42
- pkg.evaluate.each { |state| state.forward }
43
- end
16
+ def test_install
17
+ pkg = @type.new :name => 'faff',
18
+ :provider => :aptrpm,
19
+ :ensure => :present,
20
+ :source => "/tmp/faff.rpm"
44
21
 
45
- def test_uninstall
46
- pkg = @type.new :name => 'faff', :provider => :aptrpm, :ensure => :absent
47
-
48
- pkg.provider.expects(
49
- :rpm
50
- ).with(
51
- '-q',
52
- 'faff',
53
- '--nosignature',
54
- '--nodigest',
55
- '--qf',
56
- "%{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}\n"
57
- ).returns(
58
- "faff-1.2.3-1 1.2.3-1\n"
59
- ).times(1)
60
- pkg.provider.expects(
61
- :aptget
62
- ).with(
63
- '-y',
64
- '-q',
65
- 'remove',
66
- 'faff'
67
- ).returns(0)
68
-
69
- pkg.evaluate.each { |state| state.forward }
70
- end
22
+ pkg.provider.expects(
23
+ :rpm
24
+
25
+ ).with(
26
+
27
+ '-q',
28
+ 'faff',
29
+ '--nosignature',
30
+ '--nodigest',
31
+ '--qf',
32
+
33
+ "%{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}\n"
34
+ ).raises(Puppet::ExecutionFailure, "couldn't find rpm").times(1)
35
+
36
+ pkg.provider.expects(
37
+ :aptget
38
+
39
+ ).with(
40
+
41
+ '-q',
42
+ '-y',
43
+ "install",
44
+
45
+ 'faff'
46
+ ).returns(0)
47
+
48
+ pkg.evaluate.each { |state| state.forward }
49
+ end
50
+
51
+ def test_uninstall
52
+ pkg = @type.new :name => 'faff', :provider => :aptrpm, :ensure => :absent
53
+
54
+ pkg.provider.expects(
55
+ :rpm
56
+
57
+ ).with(
58
+
59
+ '-q',
60
+ 'faff',
61
+ '--nosignature',
62
+ '--nodigest',
63
+ '--qf',
64
+
65
+ "%{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}\n"
66
+ ).returns(
67
+ "faff-1.2.3-1 1.2.3-1\n"
68
+ ).times(1)
69
+ pkg.provider.expects(
70
+ :aptget
71
+
72
+ ).with(
73
+
74
+ '-y',
75
+ '-q',
76
+ 'remove',
77
+
78
+ 'faff'
79
+ ).returns(0)
80
+
81
+ pkg.evaluate.each { |state| state.forward }
82
+ end
71
83
 
72
- # LAK: I don't know where this test will ever return true..
73
- def disabled_test_latest
74
- pkg = @type.new :name => 'ssh', :provider => :aptrpm
84
+ # LAK: I don't know where this test will ever return true..
85
+ def disabled_test_latest
86
+ pkg = @type.new :name => 'ssh', :provider => :aptrpm
75
87
 
76
- assert(pkg, "did not create pkg")
77
- status = pkg.provider.query
78
- assert(status, "ssh is not installed")
79
- assert(status[:ensure] != :absent, "ssh is not installed")
88
+ assert(pkg, "did not create pkg")
89
+ status = pkg.provider.query
90
+ assert(status, "ssh is not installed")
91
+ assert(status[:ensure] != :absent, "ssh is not installed")
80
92
 
81
- latest = nil
82
- assert_nothing_raised("Could not call latest") do
83
- latest = pkg.provider.latest
84
- end
85
- assert(latest, "Could not get latest value from apt")
93
+ latest = nil
94
+ assert_nothing_raised("Could not call latest") do
95
+ latest = pkg.provider.latest
86
96
  end
97
+ assert(latest, "Could not get latest value from apt")
98
+ end
87
99
  end
88
100
 
@@ -10,685 +10,686 @@ require 'puppet/provider/parsedfile'
10
10
  require 'facter'
11
11
 
12
12
  class TestParsedFile < Test::Unit::TestCase
13
- include PuppetTest
14
- include PuppetTest::FileParsing
15
-
16
- Puppet::Type.newtype(:testparsedfiletype) do
17
- ensurable
18
- newproperty(:one) do
19
- newvalue(:a)
20
- newvalue(:b)
21
- end
22
- newproperty(:two) do
23
- newvalue(:c)
24
- newvalue(:d)
25
- end
13
+ include PuppetTest
14
+ include PuppetTest::FileParsing
15
+
16
+ Puppet::Type.newtype(:testparsedfiletype) do
17
+ ensurable
18
+ newproperty(:one) do
19
+ newvalue(:a)
20
+ newvalue(:b)
21
+ end
22
+ newproperty(:two) do
23
+ newvalue(:c)
24
+ newvalue(:d)
25
+ end
26
26
 
27
- newparam(:name) do
28
- end
27
+ newparam(:name) do
28
+ end
29
29
 
30
- # The target should always be a property, not a parameter.
31
- newproperty(:target) do
32
- defaultto { @resource.class.defaultprovider.default_target }
33
- end
30
+ # The target should always be a property, not a parameter.
31
+ newproperty(:target) do
32
+ defaultto { @resource.class.defaultprovider.default_target }
34
33
  end
34
+ end
35
35
 
36
- # A simple block to skip the complexity of a full transaction.
37
- def apply(resource)
38
- [:one, :two, :ensure, :target].each do |st|
39
- Puppet.info "Setting %s: %s => %s" %
40
- [resource[:name], st, resource.should(st)]
41
- resource.provider.send(st.to_s + "=", resource.should(st))
42
- end
36
+ # A simple block to skip the complexity of a full transaction.
37
+ def apply(resource)
38
+ [:one, :two, :ensure, :target].each do |st|
39
+ Puppet.info "Setting #{resource[:name]}: #{st} => #{resource.should(st)}"
40
+ resource.provider.send(st.to_s + "=", resource.should(st))
43
41
  end
42
+ end
43
+
44
+ def mkresource(name, options = {})
45
+ options[:one] ||= "a"
46
+ options[:two] ||= "c"
47
+ options[:name] ||= name
44
48
 
45
- def mkresource(name, options = {})
46
- options[:one] ||= "a"
47
- options[:two] ||= "c"
48
- options[:name] ||= name
49
+ resource = @type.new(options)
50
+ end
49
51
 
50
- resource = @type.new(options)
52
+ def mkprovider(name = :parsed)
53
+ @provider = @type.provide(name, :parent => Puppet::Provider::ParsedFile, :filetype => :ram, :default_target => "yayness") do
54
+ record_line name, :fields => %w{name one two}
51
55
  end
56
+ end
57
+
58
+ def setup
59
+ super
60
+ @type = Puppet::Type.type(:testparsedfiletype)
61
+ end
52
62
 
53
- def mkprovider(name = :parsed)
54
- @provider = @type.provide(name, :parent => Puppet::Provider::ParsedFile,
55
- :filetype => :ram, :default_target => "yayness") do
56
- record_line name, :fields => %w{name one two}
57
- end
63
+ def teardown
64
+ if defined?(@provider)
65
+ @type.unprovide(@provider.name)
66
+ @provider = nil
58
67
  end
68
+ super
69
+ end
59
70
 
60
- def setup
61
- super
62
- @type = Puppet::Type.type(:testparsedfiletype)
71
+ def test_create_provider
72
+ assert_nothing_raised do
73
+ mkprovider
63
74
  end
75
+ end
64
76
 
65
- def teardown
66
- if defined? @provider
67
- @type.unprovide(@provider.name)
68
- @provider = nil
69
- end
70
- super
77
+ def test_resource_attributes
78
+ prov = nil
79
+ assert_nothing_raised do
80
+ prov = mkprovider
71
81
  end
72
82
 
73
- def test_create_provider
74
- assert_nothing_raised do
75
- mkprovider
76
- end
83
+ [:one, :two, :name].each do |attr|
84
+ assert(prov.method_defined?(attr), "Did not define #{attr}")
77
85
  end
78
86
 
79
- def test_resource_attributes
80
- prov = nil
81
- assert_nothing_raised do
82
- prov = mkprovider
83
- end
87
+ # Now make sure they stay around
88
+ fakeresource = fakeresource(:testparsedfiletype, "yay")
84
89
 
85
- [:one, :two, :name].each do |attr|
86
- assert(prov.method_defined?(attr), "Did not define %s" % attr)
87
- end
90
+ file = prov.new(fakeresource)
91
+ assert(file, "Could not make provider")
88
92
 
89
- # Now make sure they stay around
90
- fakeresource = fakeresource(:testparsedfiletype, "yay")
93
+ assert_nothing_raised("Could not set provider name") do
94
+ file.name = :yayness
95
+ end
96
+
97
+ # The provider converts to strings
98
+ assert_equal(:yayness, file.name)
99
+ end
91
100
 
92
- file = prov.new(fakeresource)
93
- assert(file, "Could not make provider")
101
+ def test_filetype
102
+ prov = mkprovider
94
103
 
95
- assert_nothing_raised("Could not set provider name") do
96
- file.name = :yayness
97
- end
104
+ flat = Puppet::Util::FileType.filetype(:flat)
105
+ ram = Puppet::Util::FileType.filetype(:ram)
106
+ assert_nothing_raised do
107
+ prov.filetype = :flat
108
+ end
98
109
 
99
- # The provider converts to strings
100
- assert_equal(:yayness, file.name)
110
+ assert_equal(flat, prov.filetype)
111
+
112
+ assert_nothing_raised do
113
+ prov.filetype = ram
114
+ end
115
+ assert_equal(ram, prov.filetype)
116
+ end
117
+
118
+ # Make sure we correctly create a new filetype object, but only when
119
+ # necessary.
120
+ def test_fileobject
121
+ prov = mkprovider
122
+
123
+ path = tempfile
124
+ obj = nil
125
+ assert_nothing_raised do
126
+ obj = prov.target_object(path)
101
127
  end
102
128
 
103
- def test_filetype
104
- prov = mkprovider
129
+ # The default filetype is 'ram'
130
+ assert_instance_of(Puppet::Util::FileType.filetype(:ram), obj)
105
131
 
106
- flat = Puppet::Util::FileType.filetype(:flat)
107
- ram = Puppet::Util::FileType.filetype(:ram)
108
- assert_nothing_raised do
109
- prov.filetype = :flat
110
- end
132
+ newobj = nil
133
+ assert_nothing_raised do
134
+ newobj = prov.target_object(path)
135
+ end
111
136
 
112
- assert_equal(flat, prov.filetype)
137
+ assert_equal(obj, newobj, "did not reuse file object")
113
138
 
114
- assert_nothing_raised do
115
- prov.filetype = ram
116
- end
117
- assert_equal(ram, prov.filetype)
139
+ # now make sure clear does the right thing
140
+ assert_nothing_raised do
141
+ prov.clear
142
+ end
143
+ assert_nothing_raised do
144
+ newobj = prov.target_object(path)
118
145
  end
119
146
 
120
- # Make sure we correctly create a new filetype object, but only when
121
- # necessary.
122
- def test_fileobject
123
- prov = mkprovider
147
+ assert(obj != newobj, "did not reuse file object")
148
+ end
149
+
150
+ def test_retrieve
151
+ prov = mkprovider
124
152
 
125
- path = tempfile()
126
- obj = nil
127
- assert_nothing_raised do
128
- obj = prov.target_object(path)
129
- end
153
+ prov.filetype = :ram
130
154
 
131
- # The default filetype is 'ram'
132
- assert_instance_of(Puppet::Util::FileType.filetype(:ram), obj)
155
+ # Override the parse method with our own
156
+ prov.meta_def(:parse) do |text|
157
+ return [text]
158
+ end
133
159
 
134
- newobj = nil
135
- assert_nothing_raised do
136
- newobj = prov.target_object(path)
137
- end
160
+ path = :yayness
161
+ file = prov.target_object(path)
162
+ text = "a test"
163
+ file.write(text)
138
164
 
139
- assert_equal(obj, newobj, "did not reuse file object")
165
+ ret = nil
166
+ assert_nothing_raised do
167
+ ret = prov.retrieve(path)
168
+ end
140
169
 
141
- # now make sure clear does the right thing
142
- assert_nothing_raised do
143
- prov.clear
144
- end
145
- assert_nothing_raised do
146
- newobj = prov.target_object(path)
147
- end
170
+ assert_equal([text], ret)
148
171
 
149
- assert(obj != newobj, "did not reuse file object")
172
+ # Now set the text to nil and make sure we get an empty array
173
+ file.write(nil)
174
+ assert_nothing_raised do
175
+ ret = prov.retrieve(path)
150
176
  end
151
177
 
152
- def test_retrieve
153
- prov = mkprovider
178
+ assert_equal([], ret)
154
179
 
155
- prov.filetype = :ram
180
+ # And the empty string should return an empty array
181
+ file.write("")
182
+ assert_nothing_raised do
183
+ ret = prov.retrieve(path)
184
+ end
156
185
 
157
- # Override the parse method with our own
158
- prov.meta_def(:parse) do |text|
159
- return [text]
160
- end
186
+ assert_equal([], ret)
187
+ end
161
188
 
162
- path = :yayness
163
- file = prov.target_object(path)
164
- text = "a test"
165
- file.write(text)
189
+ # Verify that prefetch will parse the file, create any necessary instances,
190
+ # and set the 'is' values appropriately.
191
+ def test_prefetch
192
+ prov = mkprovider
166
193
 
167
- ret = nil
168
- assert_nothing_raised do
169
- ret = prov.retrieve(path)
170
- end
194
+ prov.filetype = :ram
195
+ prov.default_target = :default
171
196
 
172
- assert_equal([text], ret)
197
+ # Create a couple of demo files
198
+ prov.target_object(:file1).write "bill b c\njill b d"
173
199
 
174
- # Now set the text to nil and make sure we get an empty array
175
- file.write(nil)
176
- assert_nothing_raised do
177
- ret = prov.retrieve(path)
178
- end
200
+ prov.target_object(:default).write "will b d\n"
179
201
 
180
- assert_equal([], ret)
202
+ # Create some resources for some of those demo files
203
+ bill = mkresource "bill", :target => :file1, :one => "b", :two => "c"
204
+ will = mkresource "will", :target => :default, :one => "b", :two => "d"
181
205
 
182
- # And the empty string should return an empty array
183
- file.write("")
184
- assert_nothing_raised do
185
- ret = prov.retrieve(path)
186
- end
206
+ resources = {"bill" => bill, "will" => will}
207
+ prov_ids = {"bill" => bill.provider.object_id, "will" => will.provider.object_id}
187
208
 
188
- assert_equal([], ret)
209
+ assert_nothing_raised do
210
+ prov.prefetch(resources)
189
211
  end
190
212
 
191
- # Verify that prefetch will parse the file, create any necessary instances,
192
- # and set the 'is' values appropriately.
193
- def test_prefetch
194
- prov = mkprovider
213
+ assert(bill.provider.object_id != prov_ids["bill"], "provider was not replaced in resource")
214
+ assert(will.provider.object_id != prov_ids["will"], "provider was not replaced in resource")
195
215
 
196
- prov.filetype = :ram
197
- prov.default_target = :default
216
+ # Make sure we prefetched our resources.
217
+ assert_equal("b", bill.provider.one, "did not prefetch resource from file1")
218
+ assert_equal("c", bill.provider.two, "did not prefetch resource from file1")
219
+ assert_equal("b", will.provider.one, "did not prefetch resource from default")
220
+ assert_equal("d", will.provider.two, "did not prefetch resource from default")
198
221
 
199
- # Create a couple of demo files
200
- prov.target_object(:file1).write "bill b c\njill b d"
222
+ # Now modify our resources and write them out, making sure that prefetching
223
+ # hasn't somehow destroyed this ability
224
+ bill[:one] = "a"
225
+ will[:one] = "a"
201
226
 
202
- prov.target_object(:default).write "will b d\n"
227
+ assert_apply(bill)
228
+ assert_apply(will)
203
229
 
204
- # Create some resources for some of those demo files
205
- bill = mkresource "bill", :target => :file1, :one => "b", :two => "c"
206
- will = mkresource "will", :target => :default, :one => "b", :two => "d"
230
+ prov.prefetch(resources)
231
+ assert_equal("a", bill.provider.one, "did not prefetch resource from file1")
232
+ assert_equal("a", will.provider.one, "did not prefetch resource from default")
207
233
 
208
- resources = {"bill" => bill, "will" => will}
209
- prov_ids = {"bill" => bill.provider.object_id, "will" => will.provider.object_id}
234
+ assert_equal("bill a c\njill b d\n", prov.target_object(:file1).read,
235
+ "Did not write changed resource correctly")
236
+ assert_equal("will a d\n", prov.target_object(:default).read,
237
+ "Did not write changed default resource correctly")
238
+ end
210
239
 
211
- assert_nothing_raised do
212
- prov.prefetch(resources)
213
- end
240
+ # Make sure we can correctly prefetch on a target.
241
+ def test_prefetch_target
242
+ prov = mkprovider
214
243
 
215
- assert(bill.provider.object_id != prov_ids["bill"], "provider was not replaced in resource")
216
- assert(will.provider.object_id != prov_ids["will"], "provider was not replaced in resource")
244
+ prov.filetype = :ram
245
+ target = :yayness
246
+ prov.target_object(target).write "yay b d"
217
247
 
218
- # Make sure we prefetched our resources.
219
- assert_equal("b", bill.provider.one, "did not prefetch resource from file1")
220
- assert_equal("c", bill.provider.two, "did not prefetch resource from file1")
221
- assert_equal("b", will.provider.one, "did not prefetch resource from default")
222
- assert_equal("d", will.provider.two, "did not prefetch resource from default")
248
+ records = nil
249
+ assert_nothing_raised do
250
+ records = prov.prefetch_target(:yayness)
251
+ end
223
252
 
224
- # Now modify our resources and write them out, making sure that prefetching
225
- # hasn't somehow destroyed this ability
226
- bill[:one] = "a"
227
- will[:one] = "a"
253
+ # Now make sure we correctly got the hash
254
+ record = records.find { |r| r[:name] == "yay" }
255
+ assert(record, "Did not get record in prefetch_target")
256
+ assert_equal("b", record[:one])
257
+ assert_equal("d", record[:two])
258
+ end
259
+
260
+ def test_prefetch_match
261
+ prov = mkprovider
262
+
263
+ prov.meta_def(:match) do |record, resources|
264
+ # Look for matches on :one
265
+ if res = resources.find { |name, resource| resource.should(:one).to_s == record[:one].to_s }
266
+ res[1]
267
+ else
268
+ nil
269
+ end
270
+ end
228
271
 
229
- assert_apply(bill)
230
- assert_apply(will)
272
+ prov.filetype = :ram
273
+ target = :yayness
274
+ prov.target_object(target).write "foo b d"
231
275
 
232
- prov.prefetch(resources)
233
- assert_equal("a", bill.provider.one, "did not prefetch resource from file1")
234
- assert_equal("a", will.provider.one, "did not prefetch resource from default")
276
+ resource = mkresource "yay", :target => :yayness, :one => "b"
235
277
 
236
- assert_equal("bill a c\njill b d\n", prov.target_object(:file1).read,
237
- "Did not write changed resource correctly")
238
- assert_equal("will a d\n", prov.target_object(:default).read,
239
- "Did not write changed default resource correctly")
278
+ assert_nothing_raised do
279
+ prov.prefetch("yay" => resource)
240
280
  end
241
281
 
242
- # Make sure we can correctly prefetch on a target.
243
- def test_prefetch_target
244
- prov = mkprovider
282
+ # Now make sure we correctly got the hash
283
+ mprov = resource.provider
284
+ assert_equal("yay", resource[:name])
285
+ assert_equal("b", mprov.one)
286
+ assert_equal("d", mprov.two)
287
+ end
245
288
 
246
- prov.filetype = :ram
247
- target = :yayness
248
- prov.target_object(target).write "yay b d"
289
+ # We need to test that we're retrieving files from all three locations:
290
+ # from any existing target_objects, from the default file location, and
291
+ # from any existing resource instances.
292
+ def test_targets
293
+ prov = mkprovider
249
294
 
250
- records = nil
251
- assert_nothing_raised do
252
- records = prov.prefetch_target(:yayness)
253
- end
295
+ files = {}
254
296
 
255
- # Now make sure we correctly got the hash
256
- record = records.find { |r| r[:name] == "yay" }
257
- assert(record, "Did not get record in prefetch_target")
258
- assert_equal("b", record[:one])
259
- assert_equal("d", record[:two])
260
- end
297
+ # Set the default target
298
+ default = tempfile
299
+ files[:default] = default
300
+ prov.default_target = default
261
301
 
262
- def test_prefetch_match
263
- prov = mkprovider
302
+ # Create a file object
303
+ inmem = tempfile
304
+ files[:inmemory] = inmem
305
+ prov.target_object(inmem).write("inmem yay ness")
264
306
 
265
- prov.meta_def(:match) do |record, resources|
266
- # Look for matches on :one
267
- if res = resources.find { |name, resource| resource.should(:one).to_s == record[:one].to_s }
268
- res[1]
269
- else
270
- nil
271
- end
272
- end
307
+ # Lastly, create a resource with separate is and should values
308
+ mtarget = tempfile
309
+ files[:resources] = mtarget
310
+ resource = mkresource "yay", :target => mtarget
273
311
 
274
- prov.filetype = :ram
275
- target = :yayness
276
- prov.target_object(target).write "foo b d"
312
+ assert(resource.should(:target), "Did not get a value for target")
277
313
 
278
- resource = mkresource "yay", :target => :yayness, :one => "b"
314
+ list = nil
279
315
 
280
- assert_nothing_raised do
281
- prov.prefetch("yay" => resource)
282
- end
316
+ # First run it without the resource
317
+ assert_nothing_raised do
318
+ list = prov.targets
319
+ end
283
320
 
284
- # Now make sure we correctly got the hash
285
- mprov = resource.provider
286
- assert_equal("yay", resource[:name])
287
- assert_equal("b", mprov.one)
288
- assert_equal("d", mprov.two)
321
+ # Make sure it got the first two, but not the resources file
322
+ files.each do |name, file|
323
+ if name == :resources
324
+ assert(! list.include?(file), "Provider somehow found resource target when no resource was passed")
325
+ else
326
+ assert(list.include?(file), "Provider did not find #{name} file")
327
+ end
289
328
  end
290
329
 
291
- # We need to test that we're retrieving files from all three locations:
292
- # from any existing target_objects, from the default file location, and
293
- # from any existing resource instances.
294
- def test_targets
295
- prov = mkprovider
330
+ # Now list with the resource passed
331
+ assert_nothing_raised do
332
+ list = prov.targets("yay" => resource)
333
+ end
296
334
 
297
- files = {}
335
+ # And make sure we get all three files
336
+ files.each do |name, file|
337
+ assert(list.include?(file), "Provider did not find #{name} file when resource was passed")
338
+ end
339
+ end
298
340
 
299
- # Set the default target
300
- default = tempfile()
301
- files[:default] = default
302
- prov.default_target = default
341
+ # Make sure that flushing behaves correctly. This is what actually writes
342
+ # the data out to disk.
343
+ def test_flush
344
+ prov = mkprovider
303
345
 
304
- # Create a file object
305
- inmem = tempfile()
306
- files[:inmemory] = inmem
307
- prov.target_object(inmem).write("inmem yay ness")
346
+ prov.filetype = :ram
347
+ prov.default_target = :yayness
308
348
 
309
- # Lastly, create a resource with separate is and should values
310
- mtarget = tempfile()
311
- files[:resources] = mtarget
312
- resource = mkresource "yay", :target => mtarget
349
+ # Create some resources.
350
+ one = mkresource "one", :one => "a", :two => "c", :target => :yayness
351
+ two = mkresource "two", :one => "b", :two => "d", :target => :yayness
352
+ resources = {"one" => one, "two" => two}
313
353
 
314
- assert(resource.should(:target), "Did not get a value for target")
354
+ # Write out a file with different data.
355
+ prov.target_object(:yayness).write "one b d\ntwo a c"
315
356
 
316
- list = nil
357
+ prov.prefetch(resources)
317
358
 
318
- # First run it without the resource
319
- assert_nothing_raised do
320
- list = prov.targets
321
- end
359
+ # Apply and flush the first resource.
360
+ assert_nothing_raised do
361
+ apply(one)
362
+ end
363
+ assert_nothing_raised { one.flush }
322
364
 
323
- # Make sure it got the first two, but not the resources file
324
- files.each do |name, file|
325
- if name == :resources
326
- assert(! list.include?(file), "Provider somehow found resource target when no resource was passed")
327
- else
328
- assert(list.include?(file), "Provider did not find %s file" % name)
329
- end
330
- end
365
+ # Make sure it didn't clear out our property hash
366
+ assert_equal(:a, one.provider.one)
367
+ assert_equal(:c, one.provider.two)
331
368
 
332
- # Now list with the resource passed
333
- assert_nothing_raised do
334
- list = prov.targets("yay" => resource)
335
- end
369
+ # And make sure it's right on disk
370
+ assert(prov.target_object(:yayness).read.include?("one a c"), "Did not write out correct data")
336
371
 
337
- # And make sure we get all three files
338
- files.each do |name, file|
339
- assert(list.include?(file), "Provider did not find %s file when resource was passed" % name)
340
- end
341
- end
372
+ # Make sure the second resource has not been modified
373
+ assert_equal("a", two.provider.one, "Two was flushed early")
374
+ assert_equal("c", two.provider.two, "Two was flushed early")
342
375
 
343
- # Make sure that flushing behaves correctly. This is what actually writes
344
- # the data out to disk.
345
- def test_flush
346
- prov = mkprovider
376
+ # And on disk
377
+ assert(prov.target_object(:yayness).read.include?("two a c"), "Wrote out other resource")
347
378
 
348
- prov.filetype = :ram
349
- prov.default_target = :yayness
379
+ # Now fetch the data again and make sure we're still right
380
+ assert_nothing_raised { prov.prefetch(resources) }
381
+ assert_equal("a", one.provider.one)
382
+ assert_equal("a", two.provider.one)
350
383
 
351
- # Create some resources.
352
- one = mkresource "one", :one => "a", :two => "c", :target => :yayness
353
- two = mkresource "two", :one => "b", :two => "d", :target => :yayness
354
- resources = {"one" => one, "two" => two}
384
+ # Now flush the second resource and make sure it goes well
385
+ assert_nothing_raised { apply(two) }
386
+ assert_nothing_raised { two.flush }
355
387
 
356
- # Write out a file with different data.
357
- prov.target_object(:yayness).write "one b d\ntwo a c"
388
+ # And make sure it didn't clear our hash
389
+ assert_equal(:b, two.provider.one)
390
+ end
358
391
 
359
- prov.prefetch(resources)
392
+ # Make sure it works even if the file does not currently exist
393
+ def test_creating_file
394
+ prov = mkprovider
395
+ prov.clear
360
396
 
361
- # Apply and flush the first resource.
362
- assert_nothing_raised do
363
- apply(one)
364
- end
365
- assert_nothing_raised { one.flush }
397
+ prov.default_target = :basic
366
398
 
367
- # Make sure it didn't clear out our property hash
368
- assert_equal(:a, one.provider.one)
369
- assert_equal(:c, one.provider.two)
399
+ resource = mkresource "yay", :target => :basic, :one => "a", :two => "c"
370
400
 
371
- # And make sure it's right on disk
372
- assert(prov.target_object(:yayness).read.include?("one a c"),
373
- "Did not write out correct data")
401
+ assert_equal(:present, resource.should(:ensure))
374
402
 
375
- # Make sure the second resource has not been modified
376
- assert_equal("a", two.provider.one, "Two was flushed early")
377
- assert_equal("c", two.provider.two, "Two was flushed early")
403
+ apply(resource)
378
404
 
379
- # And on disk
380
- assert(prov.target_object(:yayness).read.include?("two a c"),
381
- "Wrote out other resource")
405
+ assert_nothing_raised do
406
+ resource.flush
407
+ end
382
408
 
383
- # Now fetch the data again and make sure we're still right
384
- assert_nothing_raised { prov.prefetch(resources) }
385
- assert_equal("a", one.provider.one)
386
- assert_equal("a", two.provider.one)
409
+ assert_equal("yay a c\n", prov.target_object(:basic).read,
410
+ "Did not create file")
387
411
 
388
- # Now flush the second resource and make sure it goes well
389
- assert_nothing_raised { apply(two) }
390
- assert_nothing_raised { two.flush }
412
+ # Make a change
413
+ resource.provider.one = "b"
391
414
 
392
- # And make sure it didn't clear our hash
393
- assert_equal(:b, two.provider.one)
415
+ # Flush it
416
+ assert_nothing_raised do
417
+ resource.flush
394
418
  end
395
419
 
396
- # Make sure it works even if the file does not currently exist
397
- def test_creating_file
398
- prov = mkprovider
399
- prov.clear
420
+ # And make sure our resource doesn't appear twice in the file.
421
+ assert_equal("yay b c\n", prov.target_object(:basic).read, "Wrote record to file twice")
422
+ end
400
423
 
401
- prov.default_target = :basic
424
+ # Make sure a record can switch targets.
425
+ def test_switching_targets
426
+ prov = mkprovider
402
427
 
403
- resource = mkresource "yay", :target => :basic, :one => "a", :two => "c"
428
+ prov.filetype = :ram
429
+ prov.default_target = :first
404
430
 
405
- assert_equal(:present, resource.should(:ensure))
431
+ # Make three resources, one for each target and one to switch
432
+ first = mkresource "first", :target => :first
433
+ second = mkresource "second", :target => :second
434
+ mover = mkresource "mover", :target => :first
406
435
 
407
- apply(resource)
436
+ [first, second, mover].each do |m|
437
+ assert_nothing_raised("Could not apply #{m[:name]}") do
438
+ apply(m)
439
+ end
440
+ end
408
441
 
409
- assert_nothing_raised do
410
- resource.flush
411
- end
442
+ # Flush.
443
+ [first, second, mover].each do |m|
444
+ assert_nothing_raised do
445
+ m.flush
446
+ end
447
+ end
412
448
 
413
- assert_equal("yay a c\n", prov.target_object(:basic).read,
414
- "Did not create file")
449
+ check = proc do |target, name|
450
+ assert(prov.target_object(target).read.include?("#{name} a c"), "Did not sync #{name}")
451
+ end
452
+ # Make sure the data is there
453
+ check.call(:first, :first)
454
+ check.call(:second, :second)
455
+ check.call(:first, :mover)
415
456
 
416
- # Make a change
417
- resource.provider.one = "b"
457
+ # Now change the target for the mover
458
+ mover[:target] = :second
418
459
 
419
- # Flush it
420
- assert_nothing_raised do
421
- resource.flush
422
- end
460
+ # Apply it
461
+ assert_nothing_raised do
462
+ apply(mover)
463
+ end
423
464
 
424
- # And make sure our resource doesn't appear twice in the file.
425
- assert_equal("yay b c\n", prov.target_object(:basic).read,
426
- "Wrote record to file twice")
465
+ # Flush
466
+ assert_nothing_raised do
467
+ mover.flush
427
468
  end
428
469
 
429
- # Make sure a record can switch targets.
430
- def test_switching_targets
431
- prov = mkprovider
470
+ # Make sure the data is there
471
+ check.call(:first, :first)
472
+ check.call(:second, :second)
473
+ check.call(:second, :mover)
432
474
 
433
- prov.filetype = :ram
434
- prov.default_target = :first
475
+ # And make sure the mover is no longer in the first file
476
+ assert(prov.target_object(:first) !~ /mover/, "Mover was not removed from first file")
477
+ end
435
478
 
436
- # Make three resources, one for each target and one to switch
437
- first = mkresource "first", :target => :first
438
- second = mkresource "second", :target => :second
439
- mover = mkresource "mover", :target => :first
479
+ # Make sure that 'ensure' correctly calls 'sync' on all properties.
480
+ def test_ensure
481
+ prov = mkprovider
440
482
 
441
- [first, second, mover].each do |m|
442
- assert_nothing_raised("Could not apply %s" % m[:name]) do
443
- apply(m)
444
- end
445
- end
483
+ prov.filetype = :ram
484
+ prov.default_target = :first
446
485
 
447
- # Flush.
448
- [first, second, mover].each do |m|
449
- assert_nothing_raised do
450
- m.flush
451
- end
452
- end
486
+ # Make two resources, one that starts on disk and one that doesn't
487
+ ondisk = mkresource "ondisk", :target => :first
488
+ notdisk = mkresource "notdisk", :target => :first
453
489
 
454
- check = proc do |target, name|
455
- assert(prov.target_object(target).read.include?("%s a c" % name),
456
- "Did not sync %s" % name)
457
- end
458
- # Make sure the data is there
459
- check.call(:first, :first)
460
- check.call(:second, :second)
461
- check.call(:first, :mover)
490
+ prov.target_object(:first).write "ondisk a c\n"
491
+ prov.prefetch("ondisk" => ondisk, "notdisk" => notdisk)
462
492
 
463
- # Now change the target for the mover
464
- mover[:target] = :second
465
493
 
466
- # Apply it
467
- assert_nothing_raised do
468
- apply(mover)
469
- end
494
+ assert_equal(
495
+ :present, notdisk.should(:ensure),
470
496
 
471
- # Flush
472
- assert_nothing_raised do
473
- mover.flush
474
- end
497
+ "Did not get default ensure value")
475
498
 
476
- # Make sure the data is there
477
- check.call(:first, :first)
478
- check.call(:second, :second)
479
- check.call(:second, :mover)
499
+ # Try creating the object
500
+ assert_nothing_raised { notdisk.provider.create }
480
501
 
481
- # And make sure the mover is no longer in the first file
482
- assert(prov.target_object(:first) !~ /mover/,
483
- "Mover was not removed from first file")
502
+ # Now make sure all of the data is copied over correctly.
503
+ notdisk.class.validproperties.each do |property|
504
+ assert_equal(notdisk.should(property), notdisk.provider.property_hash[property],
505
+ "#{property} was not copied over during creation")
484
506
  end
485
507
 
486
- # Make sure that 'ensure' correctly calls 'sync' on all properties.
487
- def test_ensure
488
- prov = mkprovider
508
+ # Flush it to disk and make sure it got copied down
509
+ assert_nothing_raised do
510
+ notdisk.flush
511
+ end
489
512
 
490
- prov.filetype = :ram
491
- prov.default_target = :first
513
+ assert(prov.target_object(:first).read =~ /^notdisk/,
514
+ "Did not write out object to disk")
515
+ assert(prov.target_object(:first).read =~ /^ondisk/,
516
+ "Lost object on disk")
492
517
 
493
- # Make two resources, one that starts on disk and one that doesn't
494
- ondisk = mkresource "ondisk", :target => :first
495
- notdisk = mkresource "notdisk", :target => :first
518
+ # Make sure our on-disk resource behaves appropriately.
519
+ assert_equal(:present, ondisk.provider.ensure)
496
520
 
497
- prov.target_object(:first).write "ondisk a c\n"
498
- prov.prefetch("ondisk" => ondisk, "notdisk" => notdisk)
521
+ # Now destroy the object
522
+ assert_nothing_raised { notdisk.provider.destroy }
499
523
 
500
- assert_equal(:present, notdisk.should(:ensure),
501
- "Did not get default ensure value")
524
+ assert_nothing_raised { notdisk.flush }
502
525
 
503
- # Try creating the object
504
- assert_nothing_raised { notdisk.provider.create() }
526
+ # And make sure it's no longer present
527
+ assert(prov.target_object(:first).read !~ /^notdisk/, "Did not remove thing from disk")
528
+ assert(prov.target_object(:first).read =~ /^ondisk/, "Lost object on disk")
529
+ assert_equal(:present, ondisk.provider.ensure)
530
+ end
505
531
 
506
- # Now make sure all of the data is copied over correctly.
507
- notdisk.class.validproperties.each do |property|
508
- assert_equal(notdisk.should(property), notdisk.provider.property_hash[property],
509
- "%s was not copied over during creation" % property)
510
- end
532
+ def test_absent_fields
533
+ prov = @type.provide(:record, :parent => Puppet::Provider::ParsedFile) do
534
+ record_line :record, :fields => %w{name one two},
535
+ :separator => "\s"
536
+ end
537
+ cleanup { @type.unprovide(:record) }
511
538
 
512
- # Flush it to disk and make sure it got copied down
513
- assert_nothing_raised do
514
- notdisk.flush
515
- end
539
+ line = prov.parse_line("a d")
516
540
 
517
- assert(prov.target_object(:first).read =~ /^notdisk/,
518
- "Did not write out object to disk")
519
- assert(prov.target_object(:first).read =~ /^ondisk/,
520
- "Lost object on disk")
541
+ assert_equal("a", line[:name], "field name was not set")
542
+ assert_equal(:absent, line[:one], "field one was not set to absent")
521
543
 
522
- # Make sure our on-disk resource behaves appropriately.
523
- assert_equal(:present, ondisk.provider.ensure)
544
+ # Now use a different provider with a non-blank "absent"
545
+ prov = @type.provide(:cronstyle, :parent => Puppet::Provider::ParsedFile) do
546
+ record_line :cronstyle, :fields => %w{name one two},
547
+ :separator => "\s", :absent => "*"
548
+ end
549
+ cleanup { @type.unprovide(:cronstyle) }
550
+ line = prov.parse_line("a * d")
524
551
 
525
- # Now destroy the object
526
- assert_nothing_raised { notdisk.provider.destroy() }
552
+ assert_equal("a", line[:name], "field name was not set")
553
+ assert_equal(:absent, line[:one], "field one was not set to absent")
554
+ end
527
555
 
528
- assert_nothing_raised { notdisk.flush }
529
-
530
- # And make sure it's no longer present
531
- assert(prov.target_object(:first).read !~ /^notdisk/,
532
- "Did not remove thing from disk")
533
- assert(prov.target_object(:first).read =~ /^ondisk/,
534
- "Lost object on disk")
535
- assert_equal(:present, ondisk.provider.ensure)
536
- end
537
-
538
- def test_absent_fields
539
- prov = @type.provide(:record, :parent => Puppet::Provider::ParsedFile) do
540
- record_line :record, :fields => %w{name one two},
541
- :separator => "\s"
542
- end
543
- cleanup { @type.unprovide(:record) }
556
+ # This test is because in x2puppet I was having problems where multiple
557
+ # retrievals somehow destroyed the 'is' values.
558
+ def test_value_retrieval
559
+ prov = mkprovider
560
+ prov.default_target = :yayness
544
561
 
545
- line = prov.parse_line("a d")
562
+ prov.target_object(:yayness).write "bill a c\njill b d"
546
563
 
547
- assert_equal("a", line[:name], "field name was not set")
548
- assert_equal(:absent, line[:one], "field one was not set to absent")
564
+ list = @type.instances
549
565
 
550
- # Now use a different provider with a non-blank "absent"
551
- prov = @type.provide(:cronstyle, :parent => Puppet::Provider::ParsedFile) do
552
- record_line :cronstyle, :fields => %w{name one two},
553
- :separator => "\s", :absent => "*"
554
- end
555
- cleanup { @type.unprovide(:cronstyle) }
556
- line = prov.parse_line("a * d")
566
+ bill = list.find { |r| r[:name] == "bill" }
567
+ jill = list.find { |r| r[:name] == "jill" }
568
+ assert(bill, "Could not find bill")
569
+ assert(jill, "Could not find jill")
557
570
 
558
- assert_equal("a", line[:name], "field name was not set")
559
- assert_equal(:absent, line[:one], "field one was not set to absent")
571
+ prov = bill.provider
572
+
573
+ 4.times do |i|
574
+ assert(prov.one, "Did not get a value for 'one' on try #{(i + 1)}")
560
575
  end
561
576
 
562
- # This test is because in x2puppet I was having problems where multiple
563
- # retrievals somehow destroyed the 'is' values.
564
- def test_value_retrieval
565
- prov = mkprovider
566
- prov.default_target = :yayness
577
+ # First make sure we can retrieve values multiple times from the
578
+ # provider
579
+ bills_values = nil
580
+ assert_nothing_raised do
581
+ bills_values = bill.retrieve
582
+ end
567
583
 
568
- prov.target_object(:yayness).write "bill a c\njill b d"
584
+ assert(bills_values[bill.property(:one)],
585
+ "Bill does not have a value for 'one'")
586
+ assert(bills_values[bill.property(:one)],
587
+ "Bill does not have a value for 'one' on second try")
588
+ assert_nothing_raised do
589
+ bill.retrieve
590
+ end
591
+ assert(bills_values[bill.property(:one)],
592
+ "bill's value for 'one' disappeared")
593
+ end
569
594
 
570
- list = @type.instances
595
+ # Make sure that creating a new resource finds existing records in memory
596
+ def test_initialize_finds_records
597
+ prov = mkprovider
598
+ prov.default_target = :yayness
571
599
 
572
- bill = list.find { |r| r[:name] == "bill" }
573
- jill = list.find { |r| r[:name] == "jill" }
574
- assert(bill, "Could not find bill")
575
- assert(jill, "Could not find jill")
600
+ prov.target_object(:yayness).write "bill a c\njill b d"
576
601
 
577
- prov = bill.provider
602
+ prov.prefetch
578
603
 
579
- 4.times do |i|
580
- assert(prov.one, "Did not get a value for 'one' on try %s" % (i + 1))
581
- end
604
+ # Now make a resource
605
+ bill = @type.new :name => "bill"
582
606
 
583
- # First make sure we can retrieve values multiple times from the
584
- # provider
585
- bills_values = nil
586
- assert_nothing_raised do
587
- bills_values = bill.retrieve
588
- end
607
+ assert_equal("a", bill.provider.one, "Record was not found in memory")
608
+ end
589
609
 
590
- assert(bills_values[bill.property(:one)],
591
- "Bill does not have a value for 'one'")
592
- assert(bills_values[bill.property(:one)],
593
- "Bill does not have a value for 'one' on second try")
594
- assert_nothing_raised do
595
- bill.retrieve
596
- end
597
- assert(bills_values[bill.property(:one)],
598
- "bill's value for 'one' disappeared")
599
- end
610
+ # Make sure invalid fields always show up as insync
611
+ def test_invalid_fields
600
612
 
601
- # Make sure that creating a new resource finds existing records in memory
602
- def test_initialize_finds_records
603
- prov = mkprovider
604
- prov.default_target = :yayness
613
+ prov = @type.provide(
614
+ :test, :parent => Puppet::Provider::ParsedFile,
605
615
 
606
- prov.target_object(:yayness).write "bill a c\njill b d"
616
+ :filetype => :ram, :default_target => :yayness) do
617
+ record_line :test, :fields => %w{name two}
618
+ end
619
+ cleanup do @type.unprovide(:test) end
607
620
 
608
- prov.prefetch
621
+ bill = nil
622
+ assert_nothing_raised do
623
+ bill = @type.new :name => "bill",
624
+ :one => "a", :two => "c"
625
+ end
609
626
 
610
- # Now make a resource
611
- bill = @type.new :name => "bill"
627
+ assert_apply(bill)
612
628
 
613
- assert_equal("a", bill.provider.one, "Record was not found in memory")
629
+ prov.prefetch
630
+ current_value = nil
631
+ assert_nothing_raised do
632
+ current_value = bill.retrieve
614
633
  end
615
634
 
616
- # Make sure invalid fields always show up as insync
617
- def test_invalid_fields
618
- prov = @type.provide(:test, :parent => Puppet::Provider::ParsedFile,
619
- :filetype => :ram, :default_target => :yayness) do
620
- record_line :test, :fields => %w{name two}
621
- end
622
- cleanup do @type.unprovide(:test) end
635
+ assert_events([], bill)
636
+ end
637
+
638
+ # Make sure we call the prefetch hook at the right place.
639
+ def test_prefetch_hook
623
640
 
624
- bill = nil
625
- assert_nothing_raised do
626
- bill = @type.new :name => "bill",
627
- :one => "a", :two => "c"
628
- end
641
+ prov = @type.provide(
642
+ :test, :parent => Puppet::Provider::ParsedFile,
629
643
 
630
- assert_apply(bill)
644
+ :filetype => :ram, :default_target => :yayness) do
631
645
 
632
- prov.prefetch
633
- current_value = nil
634
- assert_nothing_raised do
635
- current_value = bill.retrieve
636
- end
646
+ def self.prefetch_hook(records)
647
+ records
648
+ end
637
649
 
638
- assert(bill.insync?(current_value),
639
- "An invalid field marked the record out of sync")
650
+ record_line :test, :fields => %w{name two}
640
651
  end
652
+ cleanup do @type.unprovide(:test) end
641
653
 
642
- # Make sure we call the prefetch hook at the right place.
643
- def test_prefetch_hook
644
- prov = @type.provide(:test, :parent => Puppet::Provider::ParsedFile,
645
- :filetype => :ram, :default_target => :yayness) do
654
+ target = "target"
646
655
 
647
- def self.prefetch_hook(records)
648
- records
649
- end
656
+ records = [{:target => "nope"}]
657
+ targeted = {:target => "target"}
658
+ prov.send(:instance_variable_set, "@records", records)
659
+ prov.expects(:retrieve).with(target).returns([targeted])
650
660
 
651
- record_line :test, :fields => %w{name two}
652
- end
653
- cleanup do @type.unprovide(:test) end
661
+ prov.expects(:prefetch_hook).with([targeted]).returns([targeted])
654
662
 
655
- target = "target"
663
+ prov.prefetch_target(target)
664
+ end
656
665
 
657
- records = [{:target => "nope"}]
658
- targeted = {:target => "target"}
659
- prov.send(:instance_variable_set, "@records", records)
660
- prov.expects(:retrieve).with(target).returns([targeted])
666
+ # #529
667
+ def test_keep_content_with_target
668
+ mkprovider
669
+ @provider.filetype = :flat
670
+ dpath = tempfile
671
+ opath = tempfile
672
+ @provider.default_target = dpath
661
673
 
662
- prov.expects(:prefetch_hook).with([targeted]).returns([targeted])
674
+ dtarget = @provider.target_object(dpath)
675
+ otarget = @provider.target_object(opath)
663
676
 
664
- prov.prefetch_target(target)
665
- end
677
+ dtarget.write("dname a c\n")
678
+ otarget.write("oname b d\n")
666
679
 
667
- # #529
668
- def test_keep_content_with_target
669
- mkprovider
670
- @provider.filetype = :flat
671
- dpath = tempfile
672
- opath = tempfile
673
- @provider.default_target = dpath
680
+ # Now make a resource that targets elsewhat.
681
+ res = @type.new(:name => "test", :one => "a", :two => "c", :target => opath)
674
682
 
675
- dtarget = @provider.target_object(dpath)
676
- otarget = @provider.target_object(opath)
683
+ assert(res.property(:target), "Target is a parameter, not a property")
677
684
 
678
- dtarget.write("dname a c\n")
679
- otarget.write("oname b d\n")
685
+ assert_apply(res)
680
686
 
681
- # Now make a resource that targets elsewhat.
682
- res = @type.new(:name => "test", :one => "a", :two => "c",
683
- :target => opath)
684
687
 
685
- assert(res.property(:target), "Target is a parameter, not a property")
688
+ assert_equal(
689
+ "oname b d\ntest a c\n", otarget.read,
686
690
 
687
- assert_apply(res)
688
-
689
- assert_equal("oname b d\ntest a c\n", otarget.read,
690
- "did not get correct results in specified target")
691
- end
691
+ "did not get correct results in specified target")
692
+ end
692
693
  end
693
694
 
694
695