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,238 +5,229 @@ require File.dirname(__FILE__) + '/../../../lib/puppettest'
5
5
  require 'mocha'
6
6
 
7
7
  class UserAddProviderTest < PuppetTest::TestCase
8
- confine "useradd user provider missing" =>
9
- Puppet::Type.type(:user).provider(:useradd).suitable?
10
-
11
- def setup
12
- super
13
- @type = Puppet::Type.type(:user)
14
- @provider = Puppet::Type.type(:user).provider(:useradd)
15
- @home = tempfile
16
- @vals = {:name => 'faff',
17
- :provider => :useradd,
18
- :ensure => :present,
19
- :uid => 5000,
20
- :gid => 5000,
21
- :home => @home,
22
- :comment => "yayness",
23
- :groups => %w{one two}
24
- }
8
+ confine "useradd user provider missing" =>
9
+ Puppet::Type.type(:user).provider(:useradd).suitable?
10
+
11
+ def setup
12
+ super
13
+ @type = Puppet::Type.type(:user)
14
+ @provider = Puppet::Type.type(:user).provider(:useradd)
15
+ @home = tempfile
16
+ @vals = {:name => 'faff',
17
+ :provider => :useradd,
18
+ :ensure => :present,
19
+ :uid => 5000,
20
+ :gid => 5000,
21
+ :home => @home,
22
+ :comment => "yayness",
23
+ :groups => %w{one two}
24
+ }
25
+ end
26
+
27
+ def setup_user
28
+ @user = @type.new(@vals)
29
+
30
+ @vals.each do |name, val|
31
+ next unless @user.class.validproperty?(name)
25
32
  end
33
+ @user
34
+ end
26
35
 
27
- def setup_user
28
- @user = @type.new(@vals)
36
+ def test_features
37
+ [:manages_homedir].each do |feature|
29
38
 
30
- @vals.each do |name, val|
31
- next unless @user.class.validproperty?(name)
32
- end
33
- @user
34
- end
35
-
36
- def test_features
37
- [:manages_homedir].each do |feature|
38
- assert(@provider.feature?(feature),
39
- "useradd provider is missing %s" % feature)
40
- end
39
+ assert(
40
+ @provider.feature?(feature),
41
+
42
+ "useradd provider is missing #{feature}")
41
43
  end
44
+ end
42
45
 
43
- def test_create
44
- user = setup_user
45
-
46
- @vals.each do |name, val|
47
- next unless user.class.validproperty?(name)
48
- end
46
+ def test_create
47
+ user = setup_user
49
48
 
50
- user.expects(:allowdupe?).returns(false)
51
- user.expects(:managehome?).returns(false)
49
+ @vals.each do |name, val|
50
+ next unless user.class.validproperty?(name)
51
+ end
52
52
 
53
- user.provider.expects(:execute).with do |params|
54
- command = params.shift
55
- assert_equal(@provider.command(:add), command,
56
- "Got incorrect command")
53
+ user.expects(:allowdupe?).returns(false)
54
+ user.expects(:managehome?).returns(false)
57
55
 
58
- if %w{Fedora RedHat}.include?(Facter.value(:operatingsystem))
59
- assert(params.include?("-M"),
60
- "Did not disable homedir creation on red hat")
61
- params.delete("-M")
62
- end
56
+ user.provider.expects(:execute).with do |params|
57
+ command = params.shift
58
+ assert_equal(@provider.command(:add), command,
59
+ "Got incorrect command")
63
60
 
64
- options = {}
65
- while params.length > 0
66
- options[params.shift] = params.shift
67
- end
61
+ if %w{Fedora RedHat}.include?(Facter.value(:operatingsystem))
62
+ assert(params.include?("-M"), "Did not disable homedir creation on red hat")
63
+ params.delete("-M")
64
+ end
68
65
 
69
- @vals[:groups] = @vals[:groups].join(",")
66
+ options = {}
67
+ options[params.shift] = params.shift while params.length > 0
70
68
 
71
- flags = {:home => "-d", :groups => "-G", :gid => "-g",
72
- :uid => "-u", :comment => "-c"}
69
+ @vals[:groups] = @vals[:groups].join(",")
73
70
 
74
- flags.each do |param, flag|
75
- assert_equal(@vals[param], options[flag],
76
- "Got incorrect value for %s" % param)
77
- end
71
+ flags = {:home => "-d", :groups => "-G", :gid => "-g",
72
+ :uid => "-u", :comment => "-c"}
78
73
 
79
- true
80
- end
74
+ flags.each do |param, flag|
75
+ assert_equal(@vals[param], options[flag], "Got incorrect value for #{param}")
76
+ end
81
77
 
82
- user.provider.create
78
+ true
83
79
  end
84
80
 
85
- # Make sure we add the right flags when managing home
86
- def test_managehome
87
- @vals[:managehome] = true
88
- setup_user
81
+ user.provider.create
82
+ end
89
83
 
90
- assert(@user.provider.respond_to?(:manages_homedir?),
91
- "provider did not get managehome test set")
84
+ # Make sure we add the right flags when managing home
85
+ def test_managehome
86
+ @vals[:managehome] = true
87
+ setup_user
92
88
 
93
- assert(@user.managehome?, "provider did not get managehome")
94
89
 
95
- # First run
96
- @user.expects(:managehome?).returns(true)
90
+ assert(
91
+ @user.provider.respond_to?(:manages_homedir?),
92
+
93
+ "provider did not get managehome test set")
97
94
 
98
- @user.provider.expects(:execute).with do |params|
99
- assert_equal(params[0], @provider.command(:add),
100
- "useradd was not called")
101
- assert(params.include?("-m"),
102
- "Did not add -m when managehome was in affect")
103
- assert(! params.include?("-M"),
104
- "Added -M when managehome was in affect")
95
+ assert(@user.managehome?, "provider did not get managehome")
105
96
 
106
- true
107
- end
97
+ # First run
98
+ @user.expects(:managehome?).returns(true)
108
99
 
109
- @user.provider.create
100
+ @user.provider.expects(:execute).with do |params|
101
+ assert_equal(params[0], @provider.command(:add), "useradd was not called")
102
+ assert(params.include?("-m"), "Did not add -m when managehome was in affect")
103
+ assert(! params.include?("-M"), "Added -M when managehome was in affect")
110
104
 
111
- # Start again, this time with manages_home off
112
- @vals[:managehome] = false
113
- setup_user
105
+ true
106
+ end
114
107
 
115
- # First run
116
- @user.expects(:managehome?).returns(false)
108
+ @user.provider.create
117
109
 
118
- @user.provider.expects(:execute).with do |params|
119
- assert_equal(params[0], @provider.command(:add),
120
- "useradd was not called")
121
- if %w{Fedora RedHat}.include?(Facter.value(:operatingsystem))
122
- assert(params.include?("-M"),
123
- "Did not add -M on Red Hat")
124
- end
125
- assert(! params.include?("-m"),
126
- "Added -m when managehome was disabled")
110
+ # Start again, this time with manages_home off
111
+ @vals[:managehome] = false
112
+ setup_user
127
113
 
128
- true
129
- end
114
+ # First run
115
+ @user.expects(:managehome?).returns(false)
116
+
117
+ @user.provider.expects(:execute).with do |params|
118
+ assert_equal(params[0], @provider.command(:add), "useradd was not called")
119
+ assert(params.include?("-M"), "Did not add -M on Red Hat") if %w{Fedora RedHat}.include?(Facter.value(:operatingsystem))
120
+ assert(! params.include?("-m"), "Added -m when managehome was disabled")
130
121
 
131
- @user.provider.create
122
+ true
132
123
  end
133
124
 
134
- def test_allowdupe
135
- @vals[:allowdupe] = true
136
- setup_user
125
+ @user.provider.create
126
+ end
137
127
 
138
- assert(@user.provider.respond_to?(:allows_duplicates?),
139
- "provider did not get allowdupe test set")
128
+ def test_allowdupe
129
+ @vals[:allowdupe] = true
130
+ setup_user
140
131
 
141
- assert(@user.allowdupe?, "provider did not get allowdupe")
142
132
 
143
- # First run
144
- @user.expects(:allowdupe?).returns(true)
133
+ assert(
134
+ @user.provider.respond_to?(:allows_duplicates?),
135
+
136
+ "provider did not get allowdupe test set")
145
137
 
146
- @user.provider.expects(:execute).with do |params|
147
- assert_equal(params[0], @provider.command(:add),
148
- "useradd was not called")
149
- assert(params.include?("-o"),
150
- "Did not add -o when allowdupe was in affect")
138
+ assert(@user.allowdupe?, "provider did not get allowdupe")
151
139
 
152
- true
153
- end
140
+ # First run
141
+ @user.expects(:allowdupe?).returns(true)
154
142
 
155
- @user.provider.create
143
+ @user.provider.expects(:execute).with do |params|
144
+ assert_equal(params[0], @provider.command(:add), "useradd was not called")
145
+ assert(params.include?("-o"), "Did not add -o when allowdupe was in affect")
156
146
 
157
- # Start again, this time with manages_home off
158
- @vals[:allowdupe] = false
159
- setup_user
147
+ true
148
+ end
160
149
 
161
- # First run
162
- @user.expects(:allowdupe?).returns(false)
150
+ @user.provider.create
163
151
 
164
- @user.provider.expects(:execute).with do |params|
165
- assert_equal(params[0], @provider.command(:add),
166
- "useradd was not called")
167
- assert(! params.include?("-o"),
168
- "Added -o when allowdupe was disabled")
152
+ # Start again, this time with manages_home off
153
+ @vals[:allowdupe] = false
154
+ setup_user
169
155
 
170
- true
171
- end
156
+ # First run
157
+ @user.expects(:allowdupe?).returns(false)
172
158
 
173
- @user.provider.create
159
+ @user.provider.expects(:execute).with do |params|
160
+ assert_equal(params[0], @provider.command(:add), "useradd was not called")
161
+ assert(! params.include?("-o"), "Added -o when allowdupe was disabled")
162
+
163
+ true
174
164
  end
175
165
 
176
- def test_manages_password
177
- unless @provider.feature?(:manages_passwords)
178
- return
179
- end
180
- @vals[:password] = "somethingorother"
181
- setup_user
182
-
183
- @user.provider.expects(:execute).with do |params|
184
- assert_equal(params[0], @provider.command(:add),
185
- "useradd was not called")
186
- params.shift
187
- options = {}
188
- params.each_with_index do |p, i|
189
- if p =~ /^-/ and p != "-M"
190
- options[p] = params[i + 1]
191
- end
192
- end
193
- assert_equal(options["-p"], @vals[:password],
194
- "Did not set password in useradd call")
195
- true
166
+ @user.provider.create
167
+ end
168
+
169
+ def test_manages_password
170
+ return unless @provider.feature?(:manages_passwords)
171
+ @vals[:password] = "somethingorother"
172
+ setup_user
173
+
174
+ @user.provider.expects(:execute).with do |params|
175
+ assert_equal(params[0], @provider.command(:add), "useradd was not called")
176
+ params.shift
177
+ options = {}
178
+ params.each_with_index do |p, i|
179
+ if p =~ /^-/ and p != "-M"
180
+ options[p] = params[i + 1]
196
181
  end
182
+ end
183
+ assert_equal(options["-p"], @vals[:password], "Did not set password in useradd call")
184
+ true
185
+ end
197
186
 
198
- @user.provider.create
199
-
200
- # Now mark the user made, and make sure the right command is called
201
- setup_user
202
- @vals[:password] = "somethingelse"
203
-
204
- @user.provider.expects(:execute).with do |params|
205
- assert_equal(params[0], @provider.command(:modify),
206
- "usermod was not called")
207
-
208
- options = {}
209
- params.each_with_index do |p, i|
210
- if p =~ /^-/ and p != "-M"
211
- options[p] = params[i + 1]
212
- end
213
- end
214
- assert_equal(options["-p"], @vals[:password],
215
- "Did not set password in useradd call")
216
- true
187
+ @user.provider.create
188
+
189
+ # Now mark the user made, and make sure the right command is called
190
+ setup_user
191
+ @vals[:password] = "somethingelse"
192
+
193
+ @user.provider.expects(:execute).with do |params|
194
+ assert_equal(params[0], @provider.command(:modify), "usermod was not called")
195
+
196
+ options = {}
197
+ params.each_with_index do |p, i|
198
+ if p =~ /^-/ and p != "-M"
199
+ options[p] = params[i + 1]
217
200
  end
201
+ end
218
202
 
219
- @user.provider.password = @vals[:password]
203
+ assert_equal(
204
+ options["-p"], @vals[:password],
205
+
206
+ "Did not set password in useradd call")
207
+ true
220
208
  end
221
209
 
210
+ @user.provider.password = @vals[:password]
211
+ end
212
+
222
213
  end
223
214
 
224
215
  class UserRootAddProviderTest < PuppetTest::TestCase
225
- confine "useradd user provider missing" => Puppet::Type.type(:user).provider(:useradd).suitable?
226
- confine "useradd does not manage passwords" => Puppet::Type.type(:user).provider(:useradd).manages_passwords?
227
- confine "not running as root" => (Process.uid == 0)
216
+ confine "useradd user provider missing" => Puppet::Type.type(:user).provider(:useradd).suitable?
217
+ confine "useradd does not manage passwords" => Puppet::Type.type(:user).provider(:useradd).manages_passwords?
218
+ confine "not running as root" => (Process.uid == 0)
228
219
 
229
- def test_password
230
- user = Puppet::Type.type(:user).new(:name => "root", :check => [:password], :provider => :useradd)
220
+ def test_password
221
+ user = Puppet::Type.type(:user).new(:name => "root", :check => [:password], :provider => :useradd)
231
222
 
232
- provider = user.provider
223
+ provider = user.provider
233
224
 
234
- assert_nothing_raised("Could not check password") do
235
- pass = provider.password
236
- assert(pass, "Did not get password for root")
237
- assert(pass!= "x", "Password was retrieved from /etc/passwd instead of /etc/shadow")
238
- end
225
+ assert_nothing_raised("Could not check password") do
226
+ pass = provider.password
227
+ assert(pass, "Did not get password for root")
228
+ assert(pass!= "x", "Password was retrieved from /etc/passwd instead of /etc/shadow")
239
229
  end
230
+ end
240
231
  end
241
232
 
242
233
 
@@ -7,486 +7,499 @@ require 'puppettest'
7
7
  # Test cron job creation, modification, and destruction
8
8
 
9
9
  class TestCron < Test::Unit::TestCase
10
- include PuppetTest
10
+ include PuppetTest
11
11
 
12
- def setup
13
- super
12
+ def setup
13
+ super
14
14
 
15
- setme()
15
+ setme
16
16
 
17
- @crontype = Puppet::Type.type(:cron)
18
- @provider = @crontype.defaultprovider
19
- if @provider.respond_to?(:filetype=)
20
- @provider.stubs(:filetype).returns(Puppet::Util::FileType.filetype(:ram))
21
- end
22
- @crontype = Puppet::Type.type(:cron)
17
+ @crontype = Puppet::Type.type(:cron)
18
+ @provider = @crontype.defaultprovider
19
+ if @provider.respond_to?(:filetype=)
20
+ @provider.stubs(:filetype).returns(Puppet::Util::FileType.filetype(:ram))
23
21
  end
22
+ @crontype = Puppet::Type.type(:cron)
23
+ end
24
24
 
25
- def teardown
26
- super
27
- @crontype.defaultprovider = nil
28
- end
25
+ def teardown
26
+ super
27
+ @crontype.defaultprovider = nil
28
+ end
29
29
 
30
- def eachprovider
31
- @crontype.suitableprovider.each do |provider|
32
- yield provider
33
- end
30
+ def eachprovider
31
+ @crontype.suitableprovider.each do |provider|
32
+ yield provider
34
33
  end
35
-
36
- # Back up the user's existing cron tab if they have one.
37
- def cronback
38
- tab = nil
39
- assert_nothing_raised {
40
- tab = Puppet::Type.type(:cron).filetype.read(@me)
41
- }
42
-
43
- if $? == 0
44
- @currenttab = tab
45
- else
46
- @currenttab = nil
47
- end
34
+ end
35
+
36
+ # Back up the user's existing cron tab if they have one.
37
+ def cronback
38
+ tab = nil
39
+ assert_nothing_raised {
40
+ tab = Puppet::Type.type(:cron).filetype.read(@me)
41
+ }
42
+
43
+ @currenttab = $CHILD_STATUS == 0 ? tab : nil
44
+ end
45
+
46
+ # Restore the cron tab to its original form.
47
+ def cronrestore
48
+ assert_nothing_raised {
49
+ if @currenttab
50
+ @crontype.filetype.new(@me).write(@currenttab)
51
+ else
52
+ @crontype.filetype.new(@me).remove
53
+ end
54
+ }
55
+ end
56
+
57
+ # Create a cron job with all fields filled in.
58
+ def mkcron(name, addargs = true)
59
+ cron = nil
60
+ command = "date > #{tmpdir()}/crontest#{name}"
61
+ args = nil
62
+ if addargs
63
+ args = {
64
+ :command => command,
65
+ :name => name,
66
+ :user => @me,
67
+ :minute => rand(59),
68
+ :month => "1",
69
+ :monthday => "1",
70
+ :hour => "1"
71
+ }
72
+ else
73
+ args = {:command => command, :name => name}
48
74
  end
75
+ assert_nothing_raised {
76
+ cron = @crontype.new(args)
77
+ }
49
78
 
50
- # Restore the cron tab to its original form.
51
- def cronrestore
52
- assert_nothing_raised {
53
- if @currenttab
54
- @crontype.filetype.new(@me).write(@currenttab)
55
- else
56
- @crontype.filetype.new(@me).remove
57
- end
58
- }
59
- end
79
+ cron
80
+ end
60
81
 
61
- # Create a cron job with all fields filled in.
62
- def mkcron(name, addargs = true)
63
- cron = nil
64
- command = "date > %s/crontest%s" % [tmpdir(), name]
65
- args = nil
66
- if addargs
67
- args = {
68
- :command => command,
69
- :name => name,
70
- :user => @me,
71
- :minute => rand(59),
72
- :month => "1",
73
- :monthday => "1",
74
- :hour => "1"
75
- }
76
- else
77
- args = {:command => command, :name => name}
78
- end
79
- assert_nothing_raised {
80
- cron = @crontype.new(args)
81
- }
82
+ # Run the cron through its paces -- install it then remove it.
83
+ def cyclecron(cron)
84
+ obj = Puppet::Type::Cron.cronobj(@me)
82
85
 
83
- return cron
84
- end
86
+ text = obj.read
87
+ name = cron.name
88
+ comp = mk_catalog(name, cron)
85
89
 
86
- # Run the cron through its paces -- install it then remove it.
87
- def cyclecron(cron)
88
- obj = Puppet::Type::Cron.cronobj(@me)
90
+ assert_events([:cron_created], comp)
91
+ cron.provider.class.prefetch
92
+ currentvalue = cron.retrieve
89
93
 
90
- text = obj.read
91
- name = cron.name
92
- comp = mk_catalog(name, cron)
94
+ assert(cron.insync?(currentvalue), "Cron is not in sync")
93
95
 
94
- assert_events([:cron_created], comp)
95
- cron.provider.class.prefetch
96
- currentvalue = cron.retrieve
96
+ assert_events([], comp)
97
97
 
98
- assert(cron.insync?(currentvalue), "Cron is not in sync")
98
+ curtext = obj.read
99
+ text.split("\n").each do |line|
100
+ assert(curtext.include?(line), "Missing '#{line}'")
101
+ end
102
+ obj = Puppet::Type::Cron.cronobj(@me)
99
103
 
100
- assert_events([], comp)
104
+ cron[:ensure] = :absent
101
105
 
102
- curtext = obj.read
103
- text.split("\n").each do |line|
104
- assert(curtext.include?(line), "Missing '%s'" % line)
105
- end
106
- obj = Puppet::Type::Cron.cronobj(@me)
106
+ assert_events([:cron_removed], comp)
107
107
 
108
- cron[:ensure] = :absent
108
+ cron.provider.class.prefetch
109
+ currentvalue = cron.retrieve
109
110
 
110
- assert_events([:cron_removed], comp)
111
+ assert(cron.insync?(currentvalue), "Cron is not in sync")
112
+ assert_events([], comp)
113
+ end
111
114
 
112
- cron.provider.class.prefetch
113
- currentvalue = cron.retrieve
115
+ # Test that a cron job with spaces at the end doesn't get rewritten
116
+ def test_trailingspaces
117
+ eachprovider do |provider|
118
+ cron = nil
119
+ # make the cron
120
+ name = "yaytest"
121
+ command = "date > /dev/null "
122
+ assert_nothing_raised {
114
123
 
115
- assert(cron.insync?(currentvalue), "Cron is not in sync")
116
- assert_events([], comp)
117
- end
124
+ cron = @crontype.new(
118
125
 
119
- # Test that a cron job with spaces at the end doesn't get rewritten
120
- def test_trailingspaces
121
- eachprovider do |provider|
122
- cron = nil
123
- # make the cron
124
- name = "yaytest"
125
- command = "date > /dev/null "
126
- assert_nothing_raised {
127
- cron = @crontype.new(
128
- :name => name,
129
- :command => "date > /dev/null ",
130
- :month => "May",
131
- :user => @me
132
- )
133
- }
134
- property = cron.send(:property, :command)
135
- cron.provider.command = command
136
- cron.provider.ensure = :present
137
- cron.provider.user = @me
138
- cron.provider.month = ["4"]
139
- cron.provider.class.prefetch
140
- currentvalue = cron.retrieve
141
-
142
- currentvalue.each do |prop, value|
143
- # We're only interested in comparing the command.
144
- next unless prop.name.to_s == "command"
145
- assert(prop.insync?(value), "Property %s is not considered in sync with value %s" % [prop.name, value.inspect])
146
- end
147
- end
126
+ :name => name,
127
+ :command => "date > /dev/null ",
128
+ :month => "May",
129
+
130
+ :user => @me
131
+ )
132
+ }
133
+ property = cron.send(:property, :command)
134
+ cron.provider.command = command
135
+ cron.provider.ensure = :present
136
+ cron.provider.user = @me
137
+ cron.provider.month = ["4"]
138
+ cron.provider.class.prefetch
139
+ currentvalue = cron.retrieve
140
+ assert(cron.parameter(:command).insync?(currentvalue[:command]), "Property :command is not considered in sync with value #{currentvalue[:command]}")
148
141
  end
142
+ end
149
143
 
150
- def test_makeandretrievecron
151
- %w{storeandretrieve a-name another-name more_naming SomeName}.each do |name|
152
- cron = mkcron(name)
153
- catalog = mk_catalog(name, cron)
154
- trans = assert_events([:cron_created], catalog, name)
144
+ def test_makeandretrievecron
145
+ %w{storeandretrieve a-name another-name more_naming SomeName}.each do |name|
146
+ cron = mkcron(name)
147
+ catalog = mk_catalog(name, cron)
148
+ trans = assert_events([:cron_created], catalog, name)
155
149
 
156
- cron.provider.class.prefetch
157
- cron = nil
150
+ cron.provider.class.prefetch
151
+ cron = nil
158
152
 
159
- assert(cron = catalog.resource(:cron, name), "Could not retrieve named cron")
160
- assert_instance_of(Puppet::Type.type(:cron), cron)
161
- end
153
+ assert(cron = catalog.resource(:cron, name), "Could not retrieve named cron")
154
+ assert_instance_of(Puppet::Type.type(:cron), cron)
162
155
  end
163
-
164
- # Do input validation testing on all of the parameters.
165
- def test_arguments
166
- values = {
167
- :monthday => {
168
- :valid => [ 1, 13, "1" ],
169
- :invalid => [ -1, 0, 32 ]
170
- },
171
- :weekday => {
172
- :valid => [ 0, 3, 6, "1", "tue", "wed",
173
- "Wed", "MOnday", "SaTurday" ],
174
- :invalid => [ -1, 8, "13", "tues", "teusday", "thurs" ]
175
- },
176
- :hour => {
177
- :valid => [ 0, 21, 23 ],
178
- :invalid => [ -1, 24 ]
179
- },
180
- :minute => {
181
- :valid => [ 0, 34, 59 ],
182
- :invalid => [ -1, 60 ]
183
- },
184
- :month => {
185
- :valid => [ 1, 11, 12, "mar", "March", "apr", "October", "DeCeMbEr" ],
186
- :invalid => [ -1, 0, 13, "marc", "sept" ]
156
+ end
157
+
158
+ # Do input validation testing on all of the parameters.
159
+ def test_arguments
160
+ values = {
161
+ :monthday => {
162
+ :valid => [ 1, 13, "1" ],
163
+ :invalid => [ -1, 0, 32 ]
164
+ },
165
+ :weekday => {
166
+ :valid => [ 0, 3, 6, "1", "tue", "wed",
167
+ "Wed", "MOnday", "SaTurday" ],
168
+ :invalid => [ -1, 8, "13", "tues", "teusday", "thurs" ]
169
+ },
170
+ :hour => {
171
+ :valid => [ 0, 21, 23 ],
172
+ :invalid => [ -1, 24 ]
173
+ },
174
+ :minute => {
175
+ :valid => [ 0, 34, 59 ],
176
+ :invalid => [ -1, 60 ]
177
+ },
178
+ :month => {
179
+ :valid => [ 1, 11, 12, "mar", "March", "apr", "October", "DeCeMbEr" ],
180
+ :invalid => [ -1, 0, 13, "marc", "sept" ]
181
+ }
182
+ }
183
+
184
+ cron = mkcron("valtesting")
185
+ values.each { |param, hash|
186
+ # We have to test the valid ones first, because otherwise the
187
+ # property will fail to create at all.
188
+ [:valid, :invalid].each { |type|
189
+ hash[type].each { |value|
190
+ case type
191
+ when :valid
192
+ assert_nothing_raised {
193
+ cron[param] = value
187
194
  }
188
- }
189
195
 
190
- cron = mkcron("valtesting")
191
- values.each { |param, hash|
192
- # We have to test the valid ones first, because otherwise the
193
- # property will fail to create at all.
194
- [:valid, :invalid].each { |type|
195
- hash[type].each { |value|
196
- case type
197
- when :valid
198
- assert_nothing_raised {
199
- cron[param] = value
200
- }
201
-
202
- if value.is_a?(Integer)
203
- assert_equal([value.to_s], cron.should(param),
204
- "Cron value was not set correctly")
205
- end
206
- when :invalid
207
- assert_raise(Puppet::Error, "%s is incorrectly a valid %s" %
208
- [value, param]) {
209
- cron[param] = value
210
- }
211
- end
212
-
213
- if value.is_a?(Integer)
214
- value = value.to_s
215
- redo
216
- end
217
- }
196
+ assert_equal([value.to_s], cron.should(param), "Cron value was not set correctly") if value.is_a?(Integer)
197
+ when :invalid
198
+ assert_raise(Puppet::Error, "#{value} is incorrectly a valid #{param}") {
199
+ cron[param] = value
218
200
  }
201
+ end
202
+
203
+ if value.is_a?(Integer)
204
+ value = value.to_s
205
+ redo
206
+ end
219
207
  }
220
- end
208
+ }
209
+ }
210
+ end
221
211
 
222
- # Verify that comma-separated numbers are not resulting in rewrites
223
- def test_comma_separated_vals_work
224
- eachprovider do |provider|
225
- cron = nil
226
- assert_nothing_raised {
227
- cron = @crontype.new(
228
- :command => "/bin/date > /dev/null",
229
- :minute => [0, 30],
230
- :name => "crontest",
231
- :provider => provider.name
232
- )
233
- }
212
+ # Verify that comma-separated numbers are not resulting in rewrites
213
+ def test_comma_separated_vals_work
214
+ eachprovider do |provider|
215
+ cron = nil
216
+ assert_nothing_raised {
217
+
218
+ cron = @crontype.new(
234
219
 
220
+ :command => "/bin/date > /dev/null",
221
+ :minute => [0, 30],
222
+ :name => "crontest",
223
+
224
+ :provider => provider.name
225
+ )
226
+ }
235
227
 
236
- cron.provider.ensure = :present
237
- cron.provider.command = '/bin/date > /dev/null'
238
- cron.provider.minute = %w{0 30}
239
- cron.provider.class.prefetch
240
- currentvalue = cron.retrieve
241
228
 
242
- currentvalue.each do |prop, value|
243
- # We're only interested in comparing minutes.
244
- next unless prop.name.to_s == "minute"
245
- assert(prop.insync?(value), "Property %s is not considered in sync with value %s" % [prop.name, value.inspect])
246
- end
247
- end
229
+ cron.provider.ensure = :present
230
+ cron.provider.command = '/bin/date > /dev/null'
231
+ cron.provider.minute = %w{0 30}
232
+ cron.provider.class.prefetch
233
+ currentvalue = cron.retrieve
234
+
235
+ currentvalue.each do |name, value|
236
+ # We're only interested in comparing minutes.
237
+ next unless name.to_s == "minute"
238
+ assert(cron.parameter(name).insync?(value), "Property #{name} is not considered in sync with value #{value.inspect}")
239
+ end
248
240
  end
241
+ end
249
242
 
250
- def test_fieldremoval
251
- cron = nil
252
- assert_nothing_raised {
253
- cron = @crontype.new(
254
- :command => "/bin/date > /dev/null",
255
- :minute => [0, 30],
256
- :name => "crontest",
257
- :provider => :crontab
258
- )
259
- }
243
+ def test_fieldremoval
244
+ cron = nil
245
+ assert_nothing_raised {
260
246
 
261
- assert_events([:cron_created], cron)
262
- cron.provider.class.prefetch
247
+ cron = @crontype.new(
263
248
 
264
- cron[:minute] = :absent
265
- assert_events([:cron_changed], cron)
249
+ :command => "/bin/date > /dev/null",
250
+ :minute => [0, 30],
251
+ :name => "crontest",
266
252
 
267
- current_values = nil
268
- assert_nothing_raised {
269
- cron.provider.class.prefetch
270
- current_values = cron.retrieve
271
- }
272
- assert_equal(:absent, current_values[cron.property(:minute)])
273
- end
253
+ :provider => :crontab
254
+ )
255
+ }
274
256
 
275
- def test_listing
276
- # Make a crontab cron for testing
277
- provider = @crontype.provider(:crontab)
278
- return unless provider.suitable?
257
+ assert_events([:cron_created], cron)
258
+ cron.provider.class.prefetch
279
259
 
280
- ft = provider.filetype
281
- provider.filetype = :ram
282
- cleanup { provider.filetype = ft }
260
+ cron[:minute] = :absent
261
+ assert_events([:minute_changed], cron)
283
262
 
284
- setme
285
- cron = @crontype.new(:name => "testing",
286
- :minute => [0, 30],
287
- :command => "/bin/testing",
288
- :user => @me
289
- )
290
- # Write it to our file
291
- assert_apply(cron)
292
-
293
- crons = []
294
- assert_nothing_raised {
295
- @crontype.instances.each do |cron|
296
- crons << cron
297
- end
298
- }
263
+ current_values = nil
264
+ assert_nothing_raised {
265
+ cron.provider.class.prefetch
266
+ current_values = cron.retrieve
267
+ }
268
+ assert_equal(:absent, current_values[cron.property(:minute)])
269
+ end
270
+
271
+ def test_listing
272
+ # Make a crontab cron for testing
273
+ provider = @crontype.provider(:crontab)
274
+ return unless provider.suitable?
299
275
 
300
- crons.each do |cron|
301
- assert_instance_of(@crontype, cron, "Did not receive a real cron object")
302
- assert_instance_of(String, cron.value(:user),
303
- "Cron user is not a string")
304
- end
276
+ ft = provider.filetype
277
+ provider.filetype = :ram
278
+ cleanup { provider.filetype = ft }
279
+
280
+ setme
281
+
282
+ cron = @crontype.new(
283
+ :name => "testing",
284
+ :minute => [0, 30],
285
+ :command => "/bin/testing",
286
+
287
+ :user => @me
288
+ )
289
+ # Write it to our file
290
+ assert_apply(cron)
291
+
292
+ crons = []
293
+ assert_nothing_raised {
294
+ @crontype.instances.each do |cron|
295
+ crons << cron
296
+ end
297
+ }
298
+
299
+ crons.each do |cron|
300
+ assert_instance_of(@crontype, cron, "Did not receive a real cron object")
301
+
302
+ assert_instance_of(
303
+ String, cron.value(:user),
304
+
305
+ "Cron user is not a string")
305
306
  end
307
+ end
306
308
 
307
- def verify_failonnouser
308
- assert_raise(Puppet::Error) do
309
- @crontype.retrieve("nosuchuser")
310
- end
309
+ def verify_failonnouser
310
+ assert_raise(Puppet::Error) do
311
+ @crontype.retrieve("nosuchuser")
311
312
  end
313
+ end
312
314
 
313
- def test_divisionnumbers
314
- cron = mkcron("divtest")
315
- cron[:minute] = "*/5"
315
+ def test_divisionnumbers
316
+ cron = mkcron("divtest")
317
+ cron[:minute] = "*/5"
316
318
 
317
- assert_apply(cron)
319
+ assert_apply(cron)
318
320
 
319
- cron.provider.class.prefetch
320
- currentvalue = cron.retrieve
321
+ cron.provider.class.prefetch
322
+ currentvalue = cron.retrieve
321
323
 
322
- assert_equal(["*/5"], currentvalue[cron.property(:minute)])
323
- end
324
+ assert_equal(["*/5"], currentvalue[cron.property(:minute)])
325
+ end
324
326
 
325
- def test_ranges
326
- cron = mkcron("rangetest")
327
- cron[:minute] = "2-4"
327
+ def test_ranges
328
+ cron = mkcron("rangetest")
329
+ cron[:minute] = "2-4"
328
330
 
329
- assert_apply(cron)
331
+ assert_apply(cron)
330
332
 
331
- current_values = nil
332
- assert_nothing_raised {
333
- cron.provider.class.prefetch
334
- current_values = cron.retrieve
335
- }
333
+ current_values = nil
334
+ assert_nothing_raised {
335
+ cron.provider.class.prefetch
336
+ current_values = cron.retrieve
337
+ }
338
+
339
+ assert_equal(["2-4"], current_values[cron.property(:minute)])
340
+ end
336
341
 
337
- assert_equal(["2-4"], current_values[cron.property(:minute)])
342
+
343
+ def provider_set(cron, param, value)
344
+ unless param =~ /=$/
345
+ param = "#{param}="
338
346
  end
339
347
 
348
+ cron.provider.send(param, value)
349
+ end
340
350
 
341
- def provider_set(cron, param, value)
342
- unless param =~ /=$/
343
- param = "%s=" % param
344
- end
351
+ def test_value
352
+ cron = mkcron("valuetesting", false)
345
353
 
346
- cron.provider.send(param, value)
347
- end
354
+ # First, test the normal properties
355
+ [:minute, :hour, :month].each do |param|
356
+ cron.newattr(param)
357
+ property = cron.property(param)
348
358
 
349
- def test_value
350
- cron = mkcron("valuetesting", false)
359
+ assert(property, "Did not get #{param} property")
351
360
 
352
- # First, test the normal properties
353
- [:minute, :hour, :month].each do |param|
354
- cron.newattr(param)
355
- property = cron.property(param)
361
+ assert_nothing_raised {
362
+ # property.is = :absent
363
+ provider_set(cron, param, :absent)
364
+ }
356
365
 
357
- assert(property, "Did not get %s property" % param)
366
+ val = "*"
367
+ assert_equal(val, cron.value(param))
358
368
 
359
- assert_nothing_raised {
360
- # property.is = :absent
361
- provider_set(cron, param, :absent)
362
- }
369
+ # Make sure arrays work, too
370
+ provider_set(cron, param, ["1"])
371
+ assert_equal(%w{1}, cron.value(param))
363
372
 
364
- val = "*"
365
- assert_equal(val, cron.value(param))
373
+ # Make sure values get comma-joined
374
+ provider_set(cron, param, %w{2 3})
375
+ assert_equal(%w{2 3}, cron.value(param))
366
376
 
367
- # Make sure arrays work, too
368
- provider_set(cron, param, ["1"])
369
- assert_equal(%w{1}, cron.value(param))
377
+ # Make sure "should" values work, too
378
+ cron[param] = "4"
379
+ assert_equal(%w{4}, cron.value(param))
370
380
 
371
- # Make sure values get comma-joined
372
- provider_set(cron, param, %w{2 3})
373
- assert_equal(%w{2 3}, cron.value(param))
381
+ cron[param] = ["4"]
382
+ assert_equal(%w{4}, cron.value(param))
374
383
 
375
- # Make sure "should" values work, too
376
- cron[param] = "4"
377
- assert_equal(%w{4}, cron.value(param))
384
+ cron[param] = ["4", "5"]
385
+ assert_equal(%w{4 5}, cron.value(param))
378
386
 
379
- cron[param] = ["4"]
380
- assert_equal(%w{4}, cron.value(param))
387
+ provider_set(cron, param, :absent)
388
+ assert_equal(%w{4 5}, cron.value(param))
389
+ end
381
390
 
382
- cron[param] = ["4", "5"]
383
- assert_equal(%w{4 5}, cron.value(param))
391
+ Puppet[:trace] = false
384
392
 
385
- provider_set(cron, param, :absent)
386
- assert_equal(%w{4 5}, cron.value(param))
387
- end
393
+ # Now make sure that :command works correctly
394
+ cron.delete(:command)
395
+ cron.newattr(:command)
396
+ property = cron.property(:command)
388
397
 
389
- Puppet[:trace] = false
398
+ assert_nothing_raised {
399
+ provider_set(cron, :command, :absent)
400
+ }
390
401
 
391
- # Now make sure that :command works correctly
392
- cron.delete(:command)
393
- cron.newattr(:command)
394
- property = cron.property(:command)
402
+ param = :command
403
+ # Make sure arrays work, too
404
+ provider_set(cron, param, ["/bin/echo"])
405
+ assert_equal("/bin/echo", cron.value(param))
395
406
 
396
- assert_nothing_raised {
397
- provider_set(cron, :command, :absent)
398
- }
407
+ # Make sure values are not comma-joined
408
+ provider_set(cron, param, %w{/bin/echo /bin/test})
409
+ assert_equal("/bin/echo", cron.value(param))
399
410
 
400
- param = :command
401
- # Make sure arrays work, too
402
- provider_set(cron, param, ["/bin/echo"])
403
- assert_equal("/bin/echo", cron.value(param))
411
+ # Make sure "should" values work, too
412
+ cron[param] = "/bin/echo"
413
+ assert_equal("/bin/echo", cron.value(param))
404
414
 
405
- # Make sure values are not comma-joined
406
- provider_set(cron, param, %w{/bin/echo /bin/test})
407
- assert_equal("/bin/echo", cron.value(param))
415
+ cron[param] = ["/bin/echo"]
416
+ assert_equal("/bin/echo", cron.value(param))
408
417
 
409
- # Make sure "should" values work, too
410
- cron[param] = "/bin/echo"
411
- assert_equal("/bin/echo", cron.value(param))
418
+ cron[param] = %w{/bin/echo /bin/test}
419
+ assert_equal("/bin/echo", cron.value(param))
412
420
 
413
- cron[param] = ["/bin/echo"]
414
- assert_equal("/bin/echo", cron.value(param))
421
+ provider_set(cron, param, :absent)
422
+ assert_equal("/bin/echo", cron.value(param))
423
+ end
415
424
 
416
- cron[param] = %w{/bin/echo /bin/test}
417
- assert_equal("/bin/echo", cron.value(param))
425
+ def test_multiple_users
426
+ crons = []
427
+ users = ["root", nonrootuser.name]
428
+ users.each do |user|
418
429
 
419
- provider_set(cron, param, :absent)
420
- assert_equal("/bin/echo", cron.value(param))
421
- end
430
+ cron = Puppet::Type.type(:cron).new(
431
+
432
+ :name => "testcron-#{user}",
433
+ :user => user,
434
+ :command => "/bin/echo",
422
435
 
423
- def test_multiple_users
424
- crons = []
425
- users = ["root", nonrootuser.name]
426
- users.each do |user|
427
- cron = Puppet::Type.type(:cron).new(
428
- :name => "testcron-#{user}",
429
- :user => user,
430
- :command => "/bin/echo",
431
- :minute => [0,30]
432
- )
433
- crons << cron
434
-
435
- assert_equal(cron.should(:user), cron.should(:target),
436
- "Target was not set correctly for %s" % user)
437
- end
438
- provider = crons[0].provider.class
439
-
440
- assert_apply(*crons)
441
-
442
- users.each do |user|
443
- users.each do |other|
444
- next if user == other
445
- text = provider.target_object(other).read
446
-
447
- assert(text !~ /testcron-#{user}/,
448
- "%s's cron job is in %s's tab" %
449
- [user, other])
450
- end
451
- end
436
+ :minute => [0,30]
437
+ )
438
+ crons << cron
439
+
440
+ assert_equal(cron.should(:user), cron.should(:target),
441
+ "Target was not set correctly for #{user}")
452
442
  end
443
+ provider = crons[0].provider.class
444
+
445
+ assert_apply(*crons)
446
+
447
+ users.each do |user|
448
+ users.each do |other|
449
+ next if user == other
450
+ text = provider.target_object(other).read
451
+
453
452
 
454
- # Make sure the user stuff defaults correctly.
455
- def test_default_user
456
- crontab = @crontype.provider(:crontab)
457
- if crontab.suitable?
458
- inst = @crontype.new(
459
- :name => "something", :command => "/some/thing",
460
- :provider => :crontab)
461
- assert_equal(Etc.getpwuid(Process.uid).name, inst.should(:user),
462
- "user did not default to current user with crontab")
463
- assert_equal(Etc.getpwuid(Process.uid).name, inst.should(:target),
464
- "target did not default to current user with crontab")
465
-
466
- # Now make a new cron with a user, and make sure it gets copied
467
- # over
468
- inst = @crontype.new(:name => "yay", :command => "/some/thing",
469
- :user => "bin", :provider => :crontab)
470
- assert_equal("bin", inst.should(:target),
471
- "target did not default to user with crontab")
472
- end
453
+ assert(
454
+ text !~ /testcron-#{user}/,
455
+
456
+ "#{user}'s cron job is in #{other}'s tab")
457
+ end
473
458
  end
459
+ end
460
+
461
+ # Make sure the user stuff defaults correctly.
462
+ def test_default_user
463
+ crontab = @crontype.provider(:crontab)
464
+ if crontab.suitable?
465
+
466
+ inst = @crontype.new(
467
+
468
+ :name => "something", :command => "/some/thing",
469
+
470
+ :provider => :crontab)
471
+ assert_equal(Etc.getpwuid(Process.uid).name, inst.should(:user), "user did not default to current user with crontab")
472
+ assert_equal(Etc.getpwuid(Process.uid).name, inst.should(:target), "target did not default to current user with crontab")
473
+
474
+ # Now make a new cron with a user, and make sure it gets copied
475
+ # over
476
+
477
+ inst = @crontype.new(
478
+ :name => "yay", :command => "/some/thing",
474
479
 
475
- # #705 - make sure extra spaces don't screw things up
476
- def test_spaces_in_command
477
- string = "echo multiple spaces"
478
- cron = @crontype.new(:name => "space testing", :command => string)
479
- assert_apply(cron)
480
+ :user => "bin", :provider => :crontab)
480
481
 
481
- cron = @crontype.new(:name => "space testing", :command => string)
482
+ assert_equal(
483
+ "bin", inst.should(:target),
482
484
 
483
- # Now make sure that it's correctly in sync
484
- cron.provider.class.prefetch("testing" => cron)
485
- properties = cron.retrieve
486
- command, result = properties.find { |prop, value| prop.name == :command }
487
- assert_equal(string, result, "Cron did not pick up extra spaces in command")
488
- assert(command.insync?(string), "Command changed with multiple spaces")
485
+ "target did not default to user with crontab")
489
486
  end
487
+ end
488
+
489
+ # #705 - make sure extra spaces don't screw things up
490
+ def test_spaces_in_command
491
+ string = "echo multiple spaces"
492
+ cron = @crontype.new(:name => "space testing", :command => string)
493
+ assert_apply(cron)
494
+
495
+ cron = @crontype.new(:name => "space testing", :command => string)
496
+
497
+ # Now make sure that it's correctly in sync
498
+ cron.provider.class.prefetch("testing" => cron)
499
+ properties = cron.retrieve
500
+ assert_equal(string, properties[:command], "Cron did not pick up extra spaces in command")
501
+ assert(cron.parameter(:command).insync?(properties[:command]), "Command changed with multiple spaces")
502
+ end
490
503
  end
491
504
 
492
505