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
@@ -8,65 +8,65 @@ require 'puppettest'
8
8
  require 'puppet/type'
9
9
 
10
10
  class TestMetric < PuppetTest::TestCase
11
- confine "Missing RRDtool library" => Puppet.features.rrd?
12
- include PuppetTest
11
+ confine "Missing RRDtool library" => Puppet.features.rrd?
12
+ include PuppetTest
13
13
 
14
- def gendata
15
- totalmax = 1000
16
- changemax = 1000
17
- eventmax = 10
18
- maxdiff = 10
14
+ def gendata
15
+ totalmax = 1000
16
+ changemax = 1000
17
+ eventmax = 10
18
+ maxdiff = 10
19
19
 
20
- types = [Puppet::Type.type(:file), Puppet::Type.type(:package), Puppet::Type.type(:package)]
21
- data = [:total, :managed, :outofsync, :changed, :totalchanges]
22
- events = [:file_changed, :package_installed, :service_started]
20
+ types = [Puppet::Type.type(:file), Puppet::Type.type(:package), Puppet::Type.type(:package)]
21
+ data = [:total, :managed, :outofsync, :changed, :totalchanges]
22
+ events = [:file_changed, :package_installed, :service_started]
23
23
 
24
- # if this is the first set of data points...
25
- typedata = Hash.new { |typehash,type|
26
- typehash[type] = Hash.new(0)
27
- }
28
- eventdata = Hash.new(0)
29
- typedata = {}
30
- typedata[:total] = rand(totalmax)
31
- typedata[:managed] = rand(typedata[:total])
32
- typedata[:outofsync] = rand(typedata[:managed])
33
- typedata[:changed] = rand(typedata[:outofsync])
34
- typedata[:totalchanges] = rand(changemax)
24
+ # if this is the first set of data points...
25
+ typedata = Hash.new { |typehash,type|
26
+ typehash[type] = Hash.new(0)
27
+ }
28
+ eventdata = Hash.new(0)
29
+ typedata = {}
30
+ typedata[:total] = rand(totalmax)
31
+ typedata[:managed] = rand(typedata[:total])
32
+ typedata[:outofsync] = rand(typedata[:managed])
33
+ typedata[:changed] = rand(typedata[:outofsync])
34
+ typedata[:totalchanges] = rand(changemax)
35
35
 
36
- events.each { |event|
37
- eventdata[event] = rand(eventmax)
38
- }
36
+ events.each { |event|
37
+ eventdata[event] = rand(eventmax)
38
+ }
39
39
 
40
- return {:typedata => typedata, :eventdata => eventdata}
41
- end
40
+ {:typedata => typedata, :eventdata => eventdata}
41
+ end
42
42
 
43
- def rundata(report, time)
44
- assert_nothing_raised {
45
- gendata.each do |name, data|
46
- report.newmetric(name, data)
47
- end
48
- report.metrics.each { |n, m| m.store(time) }
49
- }
50
- end
43
+ def rundata(report, time)
44
+ assert_nothing_raised {
45
+ gendata.each do |name, data|
46
+ report.newmetric(name, data)
47
+ end
48
+ report.metrics.each { |n, m| m.store(time) }
49
+ }
50
+ end
51
51
 
52
- def test_fakedata
53
- report = Puppet::Transaction::Report.new
54
- time = Time.now.to_i
55
- start = time
56
- 10.times {
57
- rundata(report, time)
58
- time += 300
59
- }
60
- rundata(report, time)
52
+ def test_fakedata
53
+ report = Puppet::Transaction::Report.new
54
+ time = Time.now.to_i
55
+ start = time
56
+ 10.times {
57
+ rundata(report, time)
58
+ time += 300
59
+ }
60
+ rundata(report, time)
61
61
 
62
- report.metrics.each do |n, m| m.graph end
62
+ report.metrics.each do |n, m| m.graph end
63
63
 
64
- File.open(File.join(Puppet[:rrddir],"index.html"),"w") { |of|
65
- of.puts "<html><body>"
66
- report.metrics.each { |name, metric|
67
- of.puts "<img src=%s.png><br>" % metric.name
68
- }
69
- }
70
- end
64
+ File.open(File.join(Puppet[:rrddir],"index.html"),"w") { |of|
65
+ of.puts "<html><body>"
66
+ report.metrics.each { |name, metric|
67
+ of.puts "<img src=#{metric.name}.png><br>"
68
+ }
69
+ }
70
+ end
71
71
  end
72
72
 
@@ -7,20 +7,19 @@ require 'puppet/util/package'
7
7
  require 'puppettest'
8
8
 
9
9
  class TestPuppetUtilPackage < Test::Unit::TestCase
10
- include PuppetTest
11
- include Puppet::Util::Package
10
+ include PuppetTest
11
+ include Puppet::Util::Package
12
12
 
13
- def test_versioncmp
14
- ary = %w{ 1.1.6 2.3 1.1a 3.0 1.5 1 2.4 1.1-4
15
- 2.3.1 1.2 2.3.0 1.1-3 2.4b 2.4 2.40.2 2.3a.1 3.1 0002 1.1-5 1.1.a 1.06}
13
+ def test_versioncmp
14
+ ary = %w{ 1.1.6 2.3 1.1a 3.0 1.5 1 2.4 1.1-4 2.3.1 1.2 2.3.0 1.1-3 2.4b 2.4 2.40.2 2.3a.1 3.1 0002 1.1-5 1.1.a 1.06}
16
15
 
17
- newary = nil
18
- assert_nothing_raised do
19
- newary = ary.sort { |a, b|
20
- versioncmp(a,b)
21
- }
22
- end
23
- assert_equal(["0002", "1", "1.06", "1.1-3", "1.1-4", "1.1-5", "1.1.6", "1.1.a", "1.1a", "1.2", "1.5", "2.3", "2.3.0", "2.3.1", "2.3a.1", "2.4", "2.4", "2.4b", "2.40.2", "3.0", "3.1"], newary)
16
+ newary = nil
17
+ assert_nothing_raised do
18
+ newary = ary.sort { |a, b|
19
+ versioncmp(a,b)
20
+ }
24
21
  end
22
+ assert_equal(["0002", "1", "1.06", "1.1-3", "1.1-4", "1.1-5", "1.1.6", "1.1.a", "1.1a", "1.2", "1.5", "2.3", "2.3.0", "2.3.1", "2.3a.1", "2.4", "2.4", "2.4b", "2.40.2", "3.0", "3.1"], newary)
23
+ end
25
24
  end
26
25
 
@@ -7,120 +7,120 @@ require 'fileutils'
7
7
  Puppet.debug = false
8
8
 
9
9
  class TestPuppetUtilPidlock < Test::Unit::TestCase
10
- include PuppetTest
11
-
12
- def setup
13
- super
14
- @workdir = tstdir
15
- end
16
-
17
- def teardown
18
- super
19
- FileUtils.rm_rf(@workdir)
20
- end
21
-
22
- def test_00_basic_create
23
- l = nil
24
- assert_nothing_raised { l = Puppet::Util::Pidlock.new(@workdir + '/nothingmuch') }
25
-
26
- assert_equal Puppet::Util::Pidlock, l.class
27
-
28
- assert_equal @workdir + '/nothingmuch', l.lockfile
29
- end
30
-
31
- def test_10_uncontended_lock
32
- l = Puppet::Util::Pidlock.new(@workdir + '/test_lock')
33
-
34
- assert !l.locked?
35
- assert !l.mine?
36
- assert l.lock
37
- assert l.locked?
38
- assert l.mine?
39
- assert !l.anonymous?
40
- # It's OK to call lock multiple times
41
- assert l.lock
42
- assert l.unlock
43
- assert !l.locked?
44
- assert !l.mine?
45
- end
46
-
47
- def test_20_someone_elses_lock
48
- childpid = nil
49
- l = Puppet::Util::Pidlock.new(@workdir + '/someone_elses_lock')
50
-
51
- # First, we need a PID that's guaranteed to be (a) used, (b) someone
52
- # else's, and (c) around for the life of this test.
53
- childpid = fork { loop do; sleep 10; end }
54
-
55
- File.open(l.lockfile, 'w') { |fd| fd.write(childpid) }
56
-
57
- assert l.locked?
58
- assert !l.mine?
59
- assert !l.lock
60
- assert l.locked?
61
- assert !l.mine?
62
- assert !l.unlock
63
- assert l.locked?
64
- assert !l.mine?
65
- ensure
66
- Process.kill("KILL", childpid) unless childpid.nil?
67
- end
68
-
69
- def test_30_stale_lock
70
- # This is a bit hard to guarantee, but we need a PID that is definitely
71
- # unused, and will stay so for the the life of this test. Our best
72
- # bet is to create a process, get it's PID, let it die, and *then*
73
- # lock on it.
74
- childpid = fork { exit }
75
-
76
- # Now we can't continue until we're sure that the PID is dead
77
- Process.wait(childpid)
78
-
79
- l = Puppet::Util::Pidlock.new(@workdir + '/stale_lock')
80
-
81
- # locked? should clear the lockfile
82
- File.open(l.lockfile, 'w') { |fd| fd.write(childpid) }
83
- assert File.exists?(l.lockfile)
84
- assert !l.locked?
85
- assert !File.exists?(l.lockfile)
86
-
87
- # lock should replace the lockfile with our own
88
- File.open(l.lockfile, 'w') { |fd| fd.write(childpid) }
89
- assert File.exists?(l.lockfile)
90
- assert l.lock
91
- assert l.locked?
92
- assert l.mine?
93
-
94
- # unlock should fail, and should *not* molest the existing lockfile,
95
- # despite it being stale
96
- File.open(l.lockfile, 'w') { |fd| fd.write(childpid) }
97
- assert File.exists?(l.lockfile)
98
- assert !l.unlock
99
- assert File.exists?(l.lockfile)
100
- end
101
-
102
- def test_40_not_locked_at_all
103
- l = Puppet::Util::Pidlock.new(@workdir + '/not_locked')
104
-
105
- assert !l.locked?
106
- # We can't unlock if we don't hold the lock
107
- assert !l.unlock
108
- end
109
-
110
- def test_50_anonymous_lock
111
- l = Puppet::Util::Pidlock.new(@workdir + '/anonymous_lock')
112
-
113
- assert !l.locked?
114
- assert l.lock(:anonymous => true)
115
- assert l.locked?
116
- assert l.anonymous?
117
- assert !l.mine?
118
- assert "", File.read(l.lockfile)
119
- assert !l.unlock
120
- assert l.locked?
121
- assert l.anonymous?
122
- assert l.unlock(:anonymous => true)
123
- assert !File.exists?(l.lockfile)
124
- end
10
+ include PuppetTest
11
+
12
+ def setup
13
+ super
14
+ @workdir = tstdir
15
+ end
16
+
17
+ def teardown
18
+ super
19
+ FileUtils.rm_rf(@workdir)
20
+ end
21
+
22
+ def test_00_basic_create
23
+ l = nil
24
+ assert_nothing_raised { l = Puppet::Util::Pidlock.new(@workdir + '/nothingmuch') }
25
+
26
+ assert_equal Puppet::Util::Pidlock, l.class
27
+
28
+ assert_equal @workdir + '/nothingmuch', l.lockfile
29
+ end
30
+
31
+ def test_10_uncontended_lock
32
+ l = Puppet::Util::Pidlock.new(@workdir + '/test_lock')
33
+
34
+ assert !l.locked?
35
+ assert !l.mine?
36
+ assert l.lock
37
+ assert l.locked?
38
+ assert l.mine?
39
+ assert !l.anonymous?
40
+ # It's OK to call lock multiple times
41
+ assert l.lock
42
+ assert l.unlock
43
+ assert !l.locked?
44
+ assert !l.mine?
45
+ end
46
+
47
+ def test_20_someone_elses_lock
48
+ childpid = nil
49
+ l = Puppet::Util::Pidlock.new(@workdir + '/someone_elses_lock')
50
+
51
+ # First, we need a PID that's guaranteed to be (a) used, (b) someone
52
+ # else's, and (c) around for the life of this test.
53
+ childpid = fork { loop do; sleep 10; end }
54
+
55
+ File.open(l.lockfile, 'w') { |fd| fd.write(childpid) }
56
+
57
+ assert l.locked?
58
+ assert !l.mine?
59
+ assert !l.lock
60
+ assert l.locked?
61
+ assert !l.mine?
62
+ assert !l.unlock
63
+ assert l.locked?
64
+ assert !l.mine?
65
+ ensure
66
+ Process.kill("KILL", childpid) unless childpid.nil?
67
+ end
68
+
69
+ def test_30_stale_lock
70
+ # This is a bit hard to guarantee, but we need a PID that is definitely
71
+ # unused, and will stay so for the the life of this test. Our best
72
+ # bet is to create a process, get it's PID, let it die, and *then*
73
+ # lock on it.
74
+ childpid = fork { exit }
75
+
76
+ # Now we can't continue until we're sure that the PID is dead
77
+ Process.wait(childpid)
78
+
79
+ l = Puppet::Util::Pidlock.new(@workdir + '/stale_lock')
80
+
81
+ # locked? should clear the lockfile
82
+ File.open(l.lockfile, 'w') { |fd| fd.write(childpid) }
83
+ assert File.exists?(l.lockfile)
84
+ assert !l.locked?
85
+ assert !File.exists?(l.lockfile)
86
+
87
+ # lock should replace the lockfile with our own
88
+ File.open(l.lockfile, 'w') { |fd| fd.write(childpid) }
89
+ assert File.exists?(l.lockfile)
90
+ assert l.lock
91
+ assert l.locked?
92
+ assert l.mine?
93
+
94
+ # unlock should fail, and should *not* molest the existing lockfile,
95
+ # despite it being stale
96
+ File.open(l.lockfile, 'w') { |fd| fd.write(childpid) }
97
+ assert File.exists?(l.lockfile)
98
+ assert !l.unlock
99
+ assert File.exists?(l.lockfile)
100
+ end
101
+
102
+ def test_40_not_locked_at_all
103
+ l = Puppet::Util::Pidlock.new(@workdir + '/not_locked')
104
+
105
+ assert !l.locked?
106
+ # We can't unlock if we don't hold the lock
107
+ assert !l.unlock
108
+ end
109
+
110
+ def test_50_anonymous_lock
111
+ l = Puppet::Util::Pidlock.new(@workdir + '/anonymous_lock')
112
+
113
+ assert !l.locked?
114
+ assert l.lock(:anonymous => true)
115
+ assert l.locked?
116
+ assert l.anonymous?
117
+ assert !l.mine?
118
+ assert "", File.read(l.lockfile)
119
+ assert !l.unlock
120
+ assert l.locked?
121
+ assert l.anonymous?
122
+ assert l.unlock(:anonymous => true)
123
+ assert !File.exists?(l.lockfile)
124
+ end
125
125
  end
126
126
 
@@ -8,598 +8,627 @@ require 'puppet/util/settings'
8
8
  require 'puppettest/parsertesting'
9
9
 
10
10
  class TestSettings < Test::Unit::TestCase
11
- include PuppetTest
12
- include PuppetTest::ParserTesting
13
- Setting = Puppet::Util::Settings::Setting
14
- BooleanSetting = Puppet::Util::Settings::BooleanSetting
15
-
16
- def setup
17
- super
18
- @config = mkconfig
11
+ include PuppetTest
12
+ include PuppetTest::ParserTesting
13
+ Setting = Puppet::Util::Settings::Setting
14
+ BooleanSetting = Puppet::Util::Settings::BooleanSetting
15
+
16
+ def setup
17
+ super
18
+ @config = mkconfig
19
+ end
20
+
21
+ def set_configs(config = nil)
22
+ config ||= @config
23
+
24
+ config.setdefaults(
25
+ "main",
26
+ :one => ["a", "one"],
27
+ :two => ["a", "two"],
28
+ :yay => ["/default/path", "boo"],
29
+ :mkusers => [true, "uh, yeah"],
30
+
31
+ :name => ["testing", "a"]
32
+ )
33
+
34
+
35
+ config.setdefaults(
36
+ "section1",
37
+ :attr => ["a", "one"],
38
+ :attrdir => ["/another/dir", "two"],
39
+
40
+ :attr3 => ["$attrdir/maybe", "boo"]
41
+ )
42
+ end
43
+
44
+ def check_for_users
45
+ count = Puppet::Type.type(:user).inject(0) { |c,o|
46
+ c + 1
47
+ }
48
+ assert(count > 0, "Found no users")
49
+ end
50
+
51
+ def test_to_config
52
+ set_configs
53
+
54
+ newc = mkconfig
55
+ set_configs(newc)
56
+
57
+ # Reset all of the values, so we know they're changing.
58
+ newc.each do |name, obj|
59
+ next if name == :name
60
+ newc[name] = true
19
61
  end
20
62
 
21
- def set_configs(config = nil)
22
- config ||= @config
23
- config.setdefaults("main",
24
- :one => ["a", "one"],
25
- :two => ["a", "two"],
26
- :yay => ["/default/path", "boo"],
27
- :mkusers => [true, "uh, yeah"],
28
- :name => ["testing", "a"]
29
- )
63
+ newfile = tempfile
64
+ File.open(newfile, "w") { |f|
65
+ @config.to_config.split("\n").each do |line|
66
+ # Uncomment the settings, so they actually take.
67
+ if line =~ / = /
68
+ f.puts line.sub(/^\s*#/, '')
69
+ else
70
+ f.puts line
71
+ end
72
+ end
73
+ }
30
74
 
31
- config.setdefaults("section1",
32
- :attr => ["a", "one"],
33
- :attrdir => ["/another/dir", "two"],
34
- :attr3 => ["$attrdir/maybe", "boo"]
35
- )
36
- end
75
+ newc.setdefaults :section, :config => [newfile, "eh"]
37
76
 
38
- def check_for_users
39
- count = Puppet::Type.type(:user).inject(0) { |c,o|
40
- c + 1
41
- }
42
- assert(count > 0, "Found no users")
77
+ assert_nothing_raised("Could not parse generated configuration") {
78
+ newc.parse
79
+ }
80
+
81
+ @config.each do |name, object|
82
+ assert_equal(@config[name], newc[name], "Parameter #{name} is not the same")
43
83
  end
84
+ end
44
85
 
45
- def test_to_config
46
- set_configs
86
+ def mkconfig
87
+ c = Puppet::Util::Settings.new
88
+ c.setdefaults :main, :noop => [false, "foo"]
89
+ c
90
+ end
47
91
 
48
- newc = mkconfig
49
- set_configs(newc)
92
+ def test_addbools
93
+ assert_nothing_raised {
94
+ @config.setdefaults(:testing, :booltest => [true, "testing"])
95
+ }
50
96
 
51
- # Reset all of the values, so we know they're changing.
52
- newc.each do |name, obj|
53
- next if name == :name
54
- newc[name] = true
55
- end
97
+ assert(@config[:booltest])
98
+ @config = mkconfig
56
99
 
57
- newfile = tempfile()
58
- File.open(newfile, "w") { |f|
59
- @config.to_config.split("\n").each do |line|
60
- # Uncomment the settings, so they actually take.
61
- if line =~ / = /
62
- f.puts line.sub(/^\s*#/, '')
63
- else
64
- f.puts line
65
- end
66
- end
67
- }
100
+ assert_nothing_raised {
101
+ @config.setdefaults(:testing, :booltest => ["true", "testing"])
102
+ }
68
103
 
69
- newc.setdefaults :section, :config => [newfile, "eh"]
104
+ assert(@config[:booltest])
70
105
 
71
- assert_nothing_raised("Could not parse generated configuration") {
72
- newc.parse
73
- }
106
+ assert_nothing_raised {
107
+ @config[:booltest] = false
108
+ }
74
109
 
75
- @config.each do |name, object|
76
- assert_equal(@config[name], newc[name], "Parameter %s is not the same" % name)
77
- end
78
- end
110
+ assert(! @config[:booltest], "Booltest is not false")
79
111
 
80
- def mkconfig
81
- c = nil
82
- assert_nothing_raised {
83
- c = Puppet::Util::Settings.new
84
- }
85
- return c
86
- end
112
+ assert_nothing_raised {
113
+ @config[:booltest] = "false"
114
+ }
87
115
 
88
- def test_addbools
89
- assert_nothing_raised {
90
- @config.setdefaults(:testing, :booltest => [true, "testing"])
91
- }
116
+ assert(! @config[:booltest], "Booltest is not false")
92
117
 
93
- assert(@config[:booltest])
94
- @config = mkconfig
118
+ assert_raise(ArgumentError) {
119
+ @config[:booltest] = "yayness"
120
+ }
95
121
 
96
- assert_nothing_raised {
97
- @config.setdefaults(:testing, :booltest => ["true", "testing"])
98
- }
122
+ assert_raise(ArgumentError) {
123
+ @config[:booltest] = "/some/file"
124
+ }
125
+ end
99
126
 
100
- assert(@config[:booltest])
127
+ def test_strings
128
+ val = "this is a string"
129
+ assert_nothing_raised {
130
+ @config.setdefaults(:testing, :strtest => [val, "testing"])
131
+ }
101
132
 
102
- assert_nothing_raised {
103
- @config[:booltest] = false
104
- }
133
+ assert_equal(val, @config[:strtest])
105
134
 
106
- assert(! @config[:booltest], "Booltest is not false")
135
+ # Verify that variables are interpolated
136
+ assert_nothing_raised {
137
+ @config.setdefaults(:testing, :another => ["another $strtest", "testing"])
138
+ }
107
139
 
108
- assert_nothing_raised {
109
- @config[:booltest] = "false"
110
- }
140
+ assert_equal("another #{val}", @config[:another])
141
+ end
111
142
 
112
- assert(! @config[:booltest], "Booltest is not false")
143
+ def test_files
144
+ c = mkconfig
113
145
 
114
- assert_raise(ArgumentError) {
115
- @config[:booltest] = "yayness"
116
- }
146
+ parent = "/puppet"
147
+ assert_nothing_raised {
148
+ @config.setdefaults(:testing, :parentdir => [parent, "booh"])
149
+ }
117
150
 
118
- assert_raise(ArgumentError) {
119
- @config[:booltest] = "/some/file"
120
- }
121
- end
151
+ assert_nothing_raised {
152
+ @config.setdefaults(:testing, :child => ["$parent/child", "rah"])
153
+ }
122
154
 
123
- def test_strings
124
- val = "this is a string"
125
- assert_nothing_raised {
126
- @config.setdefaults(:testing, :strtest => [val, "testing"])
127
- }
155
+ assert_equal(parent, @config[:parentdir])
156
+ assert_equal("/puppet/child", File.join(@config[:parentdir], "child"))
157
+ end
128
158
 
129
- assert_equal(val, @config[:strtest])
159
+ def test_getset
160
+ initial = "an initial value"
161
+ assert_raise(ArgumentError) {
162
+ @config[:yayness] = initial
163
+ }
130
164
 
131
- # Verify that variables are interpolated
132
- assert_nothing_raised {
133
- @config.setdefaults(:testing, :another => ["another $strtest", "testing"])
134
- }
165
+ default = "this is a default"
166
+ assert_nothing_raised {
167
+ @config.setdefaults(:testing, :yayness => [default, "rah"])
168
+ }
135
169
 
136
- assert_equal("another #{val}", @config[:another])
137
- end
170
+ assert_equal(default, @config[:yayness])
138
171
 
139
- def test_files
140
- c = mkconfig
172
+ assert_nothing_raised {
173
+ @config[:yayness] = initial
174
+ }
141
175
 
142
- parent = "/puppet"
143
- assert_nothing_raised {
144
- @config.setdefaults(:testing, :parentdir => [parent, "booh"])
145
- }
176
+ assert_equal(initial, @config[:yayness])
146
177
 
147
- assert_nothing_raised {
148
- @config.setdefaults(:testing, :child => ["$parent/child", "rah"])
149
- }
178
+ assert_nothing_raised {
179
+ @config.clear
180
+ }
150
181
 
151
- assert_equal(parent, @config[:parentdir])
152
- assert_equal("/puppet/child", File.join(@config[:parentdir], "child"))
153
- end
182
+ assert_equal(default, @config[:yayness], "'clear' did not remove old values")
154
183
 
155
- def test_getset
156
- initial = "an initial value"
157
- assert_raise(ArgumentError) {
158
- @config[:yayness] = initial
159
- }
184
+ assert_nothing_raised {
185
+ @config[:yayness] = "not default"
186
+ }
187
+ assert_equal("not default", @config[:yayness])
188
+ end
160
189
 
161
- default = "this is a default"
162
- assert_nothing_raised {
163
- @config.setdefaults(:testing, :yayness => [default, "rah"])
164
- }
190
+ def test_parse_file
191
+ text = %{
192
+ one = this is a test
193
+ two = another test
194
+ owner = root
195
+ group = root
196
+ yay = /a/path
165
197
 
166
- assert_equal(default, @config[:yayness])
198
+ [main]
199
+ four = five
200
+ six = seven
167
201
 
168
- assert_nothing_raised {
169
- @config[:yayness] = initial
170
- }
202
+ [section1]
203
+ attr = value
204
+ owner = puppet
205
+ group = puppet
206
+ attrdir = /some/dir
207
+ attr3 = $attrdir/other
208
+ }
209
+
210
+ file = tempfile
211
+ File.open(file, "w") { |f| f.puts text }
212
+
213
+ result = nil
214
+ assert_nothing_raised {
215
+ result = @config.send(:parse_file, file)
216
+ }
217
+
218
+ main = result[:main]
219
+ assert(main, "Did not get section for main")
220
+ {
221
+ :one => "this is a test",
222
+ :two => "another test",
223
+ :owner => "root",
224
+ :group => "root",
225
+ :yay => "/a/path",
226
+ :four => "five",
227
+ :six => "seven"
228
+ }.each do |param, value|
229
+ assert_equal(value, main[param], "Param #{param} was not set correctly in main")
230
+ end
231
+
232
+ section1 = result[:section1]
233
+ assert(section1, "Did not get section1")
234
+
235
+ {
236
+ :attr => "value",
237
+ :owner => "puppet",
238
+ :group => "puppet",
239
+ :attrdir => "/some/dir",
240
+ :attr3 => "$attrdir/other"
241
+ }.each do |param, value|
242
+ assert_equal(value, section1[param], "Param #{param} was not set correctly in section1")
243
+ end
244
+ end
245
+
246
+ def test_arghandling
247
+ c = mkconfig
248
+
249
+ assert_nothing_raised {
250
+
251
+ @config.setdefaults(
252
+ "testing",
253
+ :onboolean => [true, "An on bool"],
254
+ :offboolean => [false, "An off bool"],
255
+ :string => ["a string", "A string arg"],
256
+
257
+ :file => ["/path/to/file", "A file arg"]
258
+ )
259
+ }
260
+
261
+ data = {
262
+ :onboolean => [true, false],
263
+ :offboolean => [true, false],
264
+ :string => ["one string", "another string"],
265
+ :file => %w{/a/file /another/file}
266
+ }
267
+ data.each { |param, values|
268
+ values.each { |val|
269
+ opt = nil
270
+ arg = nil
271
+ if @config.boolean?(param)
272
+ if val
273
+ opt = "--#{param}"
274
+ else
275
+ opt = "--no-#{param}"
276
+ end
277
+ else
278
+ opt = "--#{param}"
279
+ arg = val
280
+ end
171
281
 
172
- assert_equal(initial, @config[:yayness])
282
+ assert_nothing_raised("Could not handle arg #{opt} with value #{val}") {
173
283
 
174
- assert_nothing_raised {
175
- @config.clear
284
+ @config.handlearg(opt, arg)
176
285
  }
286
+ }
287
+ }
288
+ end
177
289
 
178
- assert_equal(default, @config[:yayness], "'clear' did not remove old values")
290
+ def test_addargs
179
291
 
180
- assert_nothing_raised {
181
- @config[:yayness] = "not default"
182
- }
183
- assert_equal("not default", @config[:yayness])
184
- end
292
+ @config.setdefaults(
293
+ "testing",
294
+ :onboolean => [true, "An on bool"],
295
+ :offboolean => [false, "An off bool"],
296
+ :string => ["a string", "A string arg"],
185
297
 
186
- def test_parse_file
187
- text = %{
188
- one = this is a test
189
- two = another test
190
- owner = root
191
- group = root
192
- yay = /a/path
298
+ :file => ["/path/to/file", "A file arg"]
299
+ )
193
300
 
194
- [main]
195
- four = five
196
- six = seven
301
+ should = []
302
+ @config.each { |name, element|
303
+ element.expects(:getopt_args).returns([name])
304
+ should << name
305
+ }
306
+ result = []
307
+ assert_nothing_raised("Add args failed") do
308
+ @config.addargs(result)
309
+ end
310
+ assert_equal(should, result, "Did not call addargs correctly.")
197
311
 
198
- [section1]
199
- attr = value
200
- owner = puppet
201
- group = puppet
202
- attrdir = /some/dir
203
- attr3 = $attrdir/other
204
- }
312
+ end
205
313
 
206
- file = tempfile()
207
- File.open(file, "w") { |f| f.puts text }
314
+ def test_addargs_functional
315
+ @config = Puppet::Util::Settings.new
208
316
 
209
- result = nil
210
- assert_nothing_raised {
211
- result = @config.send(:parse_file, file)
212
- }
213
317
 
214
- main = result[:main]
215
- assert(main, "Did not get section for main")
216
- {
217
- :one => "this is a test",
218
- :two => "another test",
219
- :owner => "root",
220
- :group => "root",
221
- :yay => "/a/path",
222
- :four => "five",
223
- :six => "seven"
224
- }.each do |param, value|
225
- assert_equal(value, main[param], "Param %s was not set correctly in main" % param)
226
- end
318
+ @config.setdefaults(
319
+ "testing",
320
+ :onboolean => [true, "An on bool"],
227
321
 
228
- section1 = result[:section1]
229
- assert(section1, "Did not get section1")
230
-
231
- {
232
- :attr => "value",
233
- :owner => "puppet",
234
- :group => "puppet",
235
- :attrdir => "/some/dir",
236
- :attr3 => "$attrdir/other"
237
- }.each do |param, value|
238
- assert_equal(value, section1[param], "Param %s was not set correctly in section1" % param)
239
- end
322
+ :string => ["a string", "A string arg"]
323
+ )
324
+ result = []
325
+ should = []
326
+ assert_nothing_raised("Add args failed") do
327
+ @config.addargs(result)
328
+ end
329
+ @config.each do |name, element|
330
+ if name == :onboolean
331
+ should << ["--onboolean", GetoptLong::NO_ARGUMENT]
332
+ should << ["--no-onboolean", GetoptLong::NO_ARGUMENT]
333
+ elsif name == :string
334
+ should << ["--string", GetoptLong::REQUIRED_ARGUMENT]
335
+ end
240
336
  end
337
+ assert_equal(should, result, "Add args functional test failed")
338
+ end
241
339
 
242
- def test_arghandling
243
- c = mkconfig
340
+ def test_groupsetting
341
+ cfile = tempfile
244
342
 
245
- assert_nothing_raised {
246
- @config.setdefaults("testing",
247
- :onboolean => [true, "An on bool"],
248
- :offboolean => [false, "An off bool"],
249
- :string => ["a string", "A string arg"],
250
- :file => ["/path/to/file", "A file arg"]
251
- )
252
- }
343
+ group = "yayness"
253
344
 
254
- data = {
255
- :onboolean => [true, false],
256
- :offboolean => [true, false],
257
- :string => ["one string", "another string"],
258
- :file => %w{/a/file /another/file}
259
- }
260
- data.each { |param, values|
261
- values.each { |val|
262
- opt = nil
263
- arg = nil
264
- if @config.boolean?(param)
265
- if val
266
- opt = "--%s" % param
267
- else
268
- opt = "--no-%s" % param
269
- end
270
- else
271
- opt = "--%s" % param
272
- arg = val
273
- end
274
-
275
- assert_nothing_raised("Could not handle arg %s with value %s" %
276
- [opt, val]) {
277
-
278
- @config.handlearg(opt, arg)
279
- }
280
- }
281
- }
345
+ File.open(cfile, "w") do |f|
346
+ f.puts "[main]
347
+ group = #{group}
348
+ "
282
349
  end
283
350
 
284
- def test_addargs
285
- @config.setdefaults("testing",
286
- :onboolean => [true, "An on bool"],
287
- :offboolean => [false, "An off bool"],
288
- :string => ["a string", "A string arg"],
289
- :file => ["/path/to/file", "A file arg"]
290
- )
291
-
292
- should = []
293
- @config.each { |name, element|
294
- element.expects(:getopt_args).returns([name])
295
- should << name
296
- }
297
- result = []
298
- assert_nothing_raised("Add args failed") do
299
- @config.addargs(result)
300
- end
301
- assert_equal(should, result, "Did not call addargs correctly.")
351
+ config = mkconfig
352
+ config.setdefaults(Puppet[:name], :group => ["puppet", "a group"], :config => [cfile, "eh"])
302
353
 
303
- end
354
+ assert_nothing_raised {
355
+ config.parse
356
+ }
304
357
 
305
- def test_addargs_functional
306
- @config.setdefaults("testing",
307
- :onboolean => [true, "An on bool"],
308
- :string => ["a string", "A string arg"]
309
- )
310
- result = []
311
- should = []
312
- assert_nothing_raised("Add args failed") do
313
- @config.addargs(result)
314
- end
315
- @config.each do |name, element|
316
- if name == :onboolean
317
- should << ["--onboolean", GetoptLong::NO_ARGUMENT]
318
- should << ["--no-onboolean", GetoptLong::NO_ARGUMENT]
319
- elsif name == :string
320
- should << ["--string", GetoptLong::REQUIRED_ARGUMENT]
321
- end
322
- end
323
- assert_equal(should, result, "Add args functional test failed")
324
- end
358
+ assert_equal(group, config[:group], "Group did not take")
359
+ end
325
360
 
326
- def test_groupsetting
327
- cfile = tempfile()
361
+ # provide a method to modify and create files w/out specifying the info
362
+ # already stored in a config
363
+ def test_writingfiles
364
+ File.umask(0022)
328
365
 
329
- group = "yayness"
366
+ path = tempfile
367
+ mode = 0644
330
368
 
331
- File.open(cfile, "w") do |f|
332
- f.puts "[main]
333
- group = #{group}
334
- "
335
- end
369
+ config = mkconfig
336
370
 
337
- config = mkconfig
338
- config.setdefaults(Puppet[:name], :group => ["puppet", "a group"], :config => [cfile, "eh"])
371
+ args = { :default => path, :mode => mode, :desc => "yay" }
339
372
 
340
- assert_nothing_raised {
341
- config.parse
342
- }
373
+ user = nonrootuser
374
+ group = nonrootgroup
343
375
 
344
- assert_equal(group, config[:group], "Group did not take")
376
+ if Puppet.features.root?
377
+ args[:owner] = user.name
378
+ args[:group] = group.name
345
379
  end
346
380
 
347
- # provide a method to modify and create files w/out specifying the info
348
- # already stored in a config
349
- def test_writingfiles
350
- File.umask(0022)
381
+ config.setdefaults(:testing, :myfile => args)
351
382
 
352
- path = tempfile()
353
- mode = 0644
383
+ assert_nothing_raised {
384
+ config.write(:myfile) do |file|
385
+ file.puts "yay"
386
+ end
387
+ }
354
388
 
355
- config = mkconfig
389
+ assert_equal(mode, filemode(path), "Modes are not equal")
356
390
 
357
- args = { :default => path, :mode => mode, :desc => "yay" }
391
+ # OS X is broken in how it chgrps files
392
+ if Puppet.features.root?
393
+ assert_equal(user.uid, File.stat(path).uid, "UIDS are not equal")
358
394
 
359
- user = nonrootuser()
360
- group = nonrootgroup()
395
+ case Facter["operatingsystem"].value
396
+ when /BSD/, "Darwin" # nothing
397
+ else
398
+ assert_equal(group.gid, File.stat(path).gid, "GIDS are not equal")
399
+ end
400
+ end
401
+ end
361
402
 
362
- if Puppet::Util::SUIDManager.uid == 0
363
- args[:owner] = user.name
364
- args[:group] = group.name
365
- end
403
+ def test_mkdir
404
+ File.umask(0022)
366
405
 
367
- config.setdefaults(:testing, :myfile => args)
406
+ path = tempfile
407
+ mode = 0755
368
408
 
369
- assert_nothing_raised {
370
- config.write(:myfile) do |file|
371
- file.puts "yay"
372
- end
373
- }
409
+ config = mkconfig
374
410
 
375
- assert_equal(mode, filemode(path), "Modes are not equal")
411
+ args = { :default => path, :mode => mode, :desc => "a file" }
376
412
 
377
- # OS X is broken in how it chgrps files
378
- if Puppet::Util::SUIDManager.uid == 0
379
- assert_equal(user.uid, File.stat(path).uid, "UIDS are not equal")
413
+ user = nonrootuser
414
+ group = nonrootgroup
380
415
 
381
- case Facter["operatingsystem"].value
382
- when /BSD/, "Darwin" # nothing
383
- else
384
- assert_equal(group.gid, File.stat(path).gid, "GIDS are not equal")
385
- end
386
- end
416
+ if Puppet.features.root?
417
+ args[:owner] = user.name
418
+ args[:group] = group.name
387
419
  end
388
420
 
389
- def test_mkdir
390
- File.umask(0022)
421
+ config.setdefaults(:testing, :mydir => args)
391
422
 
392
- path = tempfile()
393
- mode = 0755
423
+ assert_nothing_raised {
424
+ config.mkdir(:mydir)
425
+ }
394
426
 
395
- config = mkconfig
427
+ assert_equal(mode, filemode(path), "Modes are not equal")
396
428
 
397
- args = { :default => path, :mode => mode, :desc => "a file" }
398
429
 
399
- user = nonrootuser()
400
- group = nonrootgroup()
430
+ # OS X and *BSD is broken in how it chgrps files
431
+ if Puppet.features.root?
432
+ assert_equal(user.uid, File.stat(path).uid, "UIDS are not equal")
401
433
 
402
- if Puppet::Util::SUIDManager.uid == 0
403
- args[:owner] = user.name
404
- args[:group] = group.name
405
- end
434
+ case Facter["operatingsystem"].value
435
+ when /BSD/, "Darwin" # nothing
436
+ else
437
+ assert_equal(group.gid, File.stat(path).gid, "GIDS are not equal")
438
+ end
439
+ end
440
+ end
406
441
 
407
- config.setdefaults(:testing, :mydir => args)
442
+ # Make sure that tags are ignored when configuring
443
+ def test_configs_ignore_tags
444
+ config = mkconfig
445
+ file = tempfile
408
446
 
409
- assert_nothing_raised {
410
- config.mkdir(:mydir)
411
- }
412
447
 
413
- assert_equal(mode, filemode(path), "Modes are not equal")
448
+ config.setdefaults(
449
+ :mysection,
414
450
 
451
+ :mydir => [file, "a file"]
452
+ )
415
453
 
416
- # OS X and *BSD is broken in how it chgrps files
417
- if Puppet::Util::SUIDManager.uid == 0
418
- assert_equal(user.uid, File.stat(path).uid, "UIDS are not equal")
454
+ Puppet[:tags] = "yayness"
419
455
 
420
- case Facter["operatingsystem"].value
421
- when /BSD/, "Darwin" # nothing
422
- else
423
- assert_equal(group.gid, File.stat(path).gid, "GIDS are not equal")
424
- end
425
- end
426
- end
456
+ assert_nothing_raised {
457
+ config.use(:mysection)
458
+ }
427
459
 
428
- # Make sure that tags are ignored when configuring
429
- def test_configs_ignore_tags
430
- config = mkconfig
431
- file = tempfile()
460
+ assert(FileTest.directory?(file), "Directory did not get created")
432
461
 
433
- config.setdefaults(:mysection,
434
- :mydir => [file, "a file"]
435
- )
436
462
 
437
- Puppet[:tags] = "yayness"
463
+ assert_equal(
464
+ "yayness", Puppet[:tags],
438
465
 
439
- assert_nothing_raised {
440
- config.use(:mysection)
441
- }
466
+ "Tags got changed during config")
467
+ end
442
468
 
443
- assert(FileTest.directory?(file), "Directory did not get created")
469
+ def test_configs_replace_in_url
470
+ config = mkconfig
444
471
 
445
- assert_equal("yayness", Puppet[:tags],
446
- "Tags got changed during config")
447
- end
472
+ config.setdefaults(:mysection, :host => ["yayness", "yay"])
473
+ config.setdefaults(:mysection, :url => ["http://$host/rahness", "yay"])
448
474
 
449
- def test_configs_replace_in_url
450
- config = mkconfig
475
+ val = nil
476
+ assert_nothing_raised {
477
+ val = config[:url]
478
+ }
451
479
 
452
- config.setdefaults(:mysection, :name => ["yayness", "yay"])
453
- config.setdefaults(:mysection, :url => ["http://$name/rahness", "yay"])
454
480
 
455
- val = nil
456
- assert_nothing_raised {
457
- val = config[:url]
458
- }
481
+ assert_equal(
482
+ "http://yayness/rahness", val,
459
483
 
460
- assert_equal("http://yayness/rahness", val,
461
- "Settings got messed up")
462
- end
484
+ "Settings got messed up")
485
+ end
463
486
 
464
- def test_correct_type_assumptions
465
- file = Puppet::Util::Settings::FileSetting
466
- setting = Puppet::Util::Settings::Setting
467
- bool = Puppet::Util::Settings::BooleanSetting
468
-
469
- # We have to keep these ordered, unfortunately.
470
- [
471
- ["/this/is/a/file", file],
472
- ["true", bool],
473
- [true, bool],
474
- ["false", bool],
475
- ["server", setting],
476
- ["http://$server/yay", setting],
477
- ["$server/yayness", file],
478
- ["$server/yayness.conf", file]
479
- ].each do |ary|
480
- config = mkconfig
481
- value, type = ary
482
- name = value.to_s + "_setting"
483
- assert_nothing_raised {
484
- config.setdefaults(:yayness, name => { :default => value, :desc => name.to_s})
485
- }
486
- elem = config.setting(name)
487
-
488
- assert_instance_of(type, elem,
489
- "%s got created as wrong type" % value.inspect)
490
- end
491
- end
487
+ def test_correct_type_assumptions
488
+ file = Puppet::Util::Settings::FileSetting
489
+ setting = Puppet::Util::Settings::Setting
490
+ bool = Puppet::Util::Settings::BooleanSetting
492
491
 
493
- def test_parse_removes_quotes
494
- config = mkconfig()
495
- config.setdefaults(:mysection, :singleq => ["single", "yay"])
496
- config.setdefaults(:mysection, :doubleq => ["double", "yay"])
497
- config.setdefaults(:mysection, :none => ["noquote", "yay"])
498
- config.setdefaults(:mysection, :middle => ["midquote", "yay"])
499
-
500
- file = tempfile()
501
- # Set one parameter in the file
502
- File.open(file, "w") { |f|
503
- f.puts %{[main]\n
504
- singleq = 'one'
505
- doubleq = "one"
506
- none = one
507
- middle = mid"quote
508
- }
509
- }
492
+ # We have to keep these ordered, unfortunately.
493
+ [
494
+ ["/this/is/a/file", file],
495
+ ["true", bool],
496
+ [true, bool],
497
+ ["false", bool],
498
+ ["server", setting],
499
+ ["http://$server/yay", setting],
500
+ ["$server/yayness", file],
501
+ ["$server/yayness.conf", file]
502
+ ].each do |ary|
503
+ config = mkconfig
504
+ value, type = ary
505
+ name = value.to_s + "_setting"
506
+ assert_nothing_raised {
507
+ config.setdefaults(:yayness, name => { :default => value, :desc => name.to_s})
508
+ }
509
+ elem = config.setting(name)
510
510
 
511
- config.setdefaults(:mysection, :config => [file, "eh"])
512
511
 
513
- assert_nothing_raised {
514
- config.parse
515
- }
512
+ assert_instance_of(
513
+ type, elem,
516
514
 
517
- %w{singleq doubleq none}.each do |p|
518
- assert_equal("one", config[p], "%s did not match" % p)
519
- end
520
- assert_equal('mid"quote', config["middle"], "middle did not match")
515
+ "#{value.inspect} got created as wrong type")
521
516
  end
517
+ end
518
+
519
+ def test_parse_removes_quotes
520
+ config = mkconfig
521
+ config.setdefaults(:mysection, :singleq => ["single", "yay"])
522
+ config.setdefaults(:mysection, :doubleq => ["double", "yay"])
523
+ config.setdefaults(:mysection, :none => ["noquote", "yay"])
524
+ config.setdefaults(:mysection, :middle => ["midquote", "yay"])
525
+
526
+ file = tempfile
527
+ # Set one parameter in the file
528
+ File.open(file, "w") { |f|
529
+ f.puts %{[main]\n
530
+ singleq = 'one'
531
+ doubleq = "one"
532
+ none = one
533
+ middle = mid"quote
534
+ }
535
+ }
522
536
 
523
- # Test that config parameters correctly call passed-in blocks when the value
524
- # is set.
525
- def test_paramblocks
526
- config = mkconfig()
537
+ config.setdefaults(:mysection, :config => [file, "eh"])
527
538
 
528
- testing = nil
529
- assert_nothing_raised do
530
- config.setdefaults :test, :blocktest => {:default => "yay", :desc => "boo", :hook => proc { |value| testing = value }}
531
- end
532
- elem = config.setting(:blocktest)
539
+ assert_nothing_raised {
540
+ config.parse
541
+ }
533
542
 
534
- assert_nothing_raised do
535
- assert_equal("yay", elem.value)
536
- end
543
+ %w{singleq doubleq none}.each do |p|
544
+ assert_equal("one", config[p], "#{p} did not match")
545
+ end
546
+ assert_equal('mid"quote', config["middle"], "middle did not match")
547
+ end
537
548
 
538
- assert_nothing_raised do
539
- config[:blocktest] = "yaytest"
540
- end
549
+ # Test that config parameters correctly call passed-in blocks when the value
550
+ # is set.
551
+ def test_paramblocks
552
+ config = mkconfig
541
553
 
542
- assert_nothing_raised do
543
- assert_equal("yaytest", elem.value)
544
- end
545
- assert_equal("yaytest", testing)
554
+ testing = nil
555
+ assert_nothing_raised do
556
+ config.setdefaults :test, :blocktest => {:default => "yay", :desc => "boo", :hook => proc { |value| testing = value }}
557
+ end
558
+ elem = config.setting(:blocktest)
546
559
 
547
- assert_nothing_raised do
548
- config[:blocktest] = "another"
549
- end
560
+ assert_nothing_raised do
561
+ assert_equal("yay", elem.value)
562
+ end
550
563
 
551
- assert_nothing_raised do
552
- assert_equal("another", elem.value)
553
- end
554
- assert_equal("another", testing)
555
-
556
- # Now verify it works from setdefault
557
- assert_nothing_raised do
558
- config.setdefaults :test,
559
- :blocktest2 => {
560
- :default => "yay",
561
- :desc => "yay",
562
- :hook => proc { |v| testing = v }
563
- }
564
- end
564
+ assert_nothing_raised do
565
+ config[:blocktest] = "yaytest"
566
+ end
565
567
 
566
- assert_equal("yay", config[:blocktest2])
568
+ assert_nothing_raised do
569
+ assert_equal("yaytest", elem.value)
570
+ end
571
+ assert_equal("yaytest", testing)
567
572
 
568
- assert_nothing_raised do
569
- config[:blocktest2] = "footest"
570
- end
571
- assert_equal("footest", config[:blocktest2])
572
- assert_equal("footest", testing)
573
+ assert_nothing_raised do
574
+ config[:blocktest] = "another"
573
575
  end
574
576
 
575
- def test_no_modify_root
576
- config = mkconfig
577
- config.setdefaults(:yay,
578
- :mydir => {:default => tempfile(),
579
- :mode => 0644,
580
- :owner => "root",
581
- :group => "service",
582
- :desc => "yay"
583
- },
584
- :mkusers => [false, "yay"]
585
- )
577
+ assert_nothing_raised do
578
+ assert_equal("another", elem.value)
579
+ end
580
+ assert_equal("another", testing)
586
581
 
587
- assert_nothing_raised do
588
- config.use(:yay)
589
- end
582
+ # Now verify it works from setdefault
583
+ assert_nothing_raised do
584
+ config.setdefaults :test,
585
+ :blocktest2 => {
586
+ :default => "yay",
587
+ :desc => "yay",
588
+ :hook => proc { |v| testing = v }
589
+ }
590
+ end
590
591
 
591
- # Now enable it so they'll be added
592
- config[:mkusers] = true
592
+ assert_equal("yay", config[:blocktest2])
593
593
 
594
- comp = config.to_catalog
594
+ assert_nothing_raised do
595
+ config[:blocktest2] = "footest"
596
+ end
597
+ assert_equal("footest", config[:blocktest2])
598
+ assert_equal("footest", testing)
599
+ end
600
+
601
+ def test_no_modify_root
602
+ config = mkconfig
603
+
604
+ config.setdefaults(
605
+ :yay,
606
+ :mydir => {:default => tempfile,
607
+
608
+ :mode => 0644,
609
+ :owner => "root",
610
+ :group => "service",
611
+ :desc => "yay"
612
+ },
613
+ :mkusers => [false, "yay"]
614
+ )
615
+
616
+ assert_nothing_raised do
617
+ config.use(:yay)
618
+ end
595
619
 
596
- comp.vertices.find_all { |r| r.class.name == :user }.each do |u|
597
- assert(u.name != "root", "Tried to manage root user")
598
- end
599
- comp.vertices.find_all { |r| r.class.name == :group }.each do |u|
600
- assert(u.name != "root", "Tried to manage root group")
601
- assert(u.name != "wheel", "Tried to manage wheel group")
602
- end
620
+ # Now enable it so they'll be added
621
+ config[:mkusers] = true
622
+
623
+ comp = config.to_catalog
624
+
625
+ comp.vertices.find_all { |r| r.class.name == :user }.each do |u|
626
+ assert(u.name != "root", "Tried to manage root user")
627
+ end
628
+ comp.vertices.find_all { |r| r.class.name == :group }.each do |u|
629
+ assert(u.name != "root", "Tried to manage root group")
630
+ assert(u.name != "wheel", "Tried to manage wheel group")
631
+ end
603
632
 
604
633
  # assert(yay, "Did not find yay component")
605
634
  # yay.each do |c|
@@ -609,109 +638,136 @@ yay = /a/path
609
638
  # "Found root user")
610
639
  # assert(! yay.find { |o| o.class.name == :group and o.name == "root" },
611
640
  # "Found root group")
641
+ end
642
+
643
+ # #415
644
+ def test_remove_trailing_spaces
645
+ config = mkconfig
646
+ file = tempfile
647
+ File.open(file, "w") { |f| f.puts "rah = something " }
648
+
649
+ config.setdefaults(:yay, :config => [file, "eh"], :rah => ["testing", "a desc"])
650
+
651
+ assert_nothing_raised { config.parse }
652
+ assert_equal("something", config[:rah], "did not remove trailing whitespace in parsing")
653
+ end
654
+
655
+ # #484
656
+ def test_parsing_unknown_variables
657
+ logstore
658
+ config = mkconfig
659
+ file = tempfile
660
+ File.open(file, "w") { |f|
661
+ f.puts %{[main]\n
662
+ one = one
663
+ two = yay
664
+ }
665
+ }
666
+
667
+ config.setdefaults(:mysection, :config => [file, "eh"], :one => ["yay", "yay"])
668
+
669
+ assert_nothing_raised("Unknown parameter threw an exception") do
670
+ config.parse
612
671
  end
672
+ end
613
673
 
614
- # #415
615
- def test_remove_trailing_spaces
616
- config = mkconfig()
617
- file = tempfile()
618
- File.open(file, "w") { |f| f.puts "rah = something " }
674
+ def test_multiple_interpolations
619
675
 
620
- config.setdefaults(:yay, :config => [file, "eh"], :rah => ["testing", "a desc"])
676
+ @config.setdefaults(
677
+ :section,
678
+ :one => ["oneval", "yay"],
679
+ :two => ["twoval", "yay"],
621
680
 
622
- assert_nothing_raised { config.parse }
623
- assert_equal("something", config[:rah], "did not remove trailing whitespace in parsing")
624
- end
681
+ :three => ["$one/$two", "yay"]
682
+ )
625
683
 
626
- # #484
627
- def test_parsing_unknown_variables
628
- logstore()
629
- config = mkconfig()
630
- file = tempfile()
631
- File.open(file, "w") { |f|
632
- f.puts %{[main]\n
633
- one = one
634
- two = yay
635
- }
636
- }
637
684
 
638
- config.setdefaults(:mysection, :config => [file, "eh"], :one => ["yay", "yay"])
685
+ assert_equal(
686
+ "oneval/twoval", @config[:three],
639
687
 
640
- assert_nothing_raised("Unknown parameter threw an exception") do
641
- config.parse
642
- end
643
- end
688
+ "Did not interpolate multiple variables")
689
+ end
644
690
 
645
- def test_multiple_interpolations
646
- @config.setdefaults(:section,
647
- :one => ["oneval", "yay"],
648
- :two => ["twoval", "yay"],
649
- :three => ["$one/$two", "yay"]
650
- )
691
+ # Make sure we can replace ${style} var names
692
+ def test_curly_replacements
693
+
694
+ @config.setdefaults(
695
+ :section,
696
+ :one => ["oneval", "yay"],
697
+ :two => ["twoval", "yay"],
698
+
699
+ :three => ["$one/${two}/${one}/$two", "yay"]
700
+ )
701
+
702
+
703
+ assert_equal(
704
+ "oneval/twoval/oneval/twoval", @config[:three],
705
+
706
+ "Did not interpolate curlied variables")
707
+ end
651
708
 
652
- assert_equal("oneval/twoval", @config[:three],
653
- "Did not interpolate multiple variables")
709
+ # Test to make sure that we can set and get a short name
710
+ def test_setting_short_name
711
+ setting= nil
712
+ assert_nothing_raised("Could not create setting") do
713
+ setting= Setting.new :short => "n", :desc => "anything", :settings => Puppet::Util::Settings.new
654
714
  end
715
+ assert_equal("n", setting.short, "Short value is not retained")
655
716
 
656
- # Make sure we can replace ${style} var names
657
- def test_curly_replacements
658
- @config.setdefaults(:section,
659
- :one => ["oneval", "yay"],
660
- :two => ["twoval", "yay"],
661
- :three => ["$one/${two}/${one}/$two", "yay"]
662
- )
717
+ assert_raise(ArgumentError,"Allowed multicharactered short names.") do
718
+ setting= Setting.new :short => "no", :desc => "anything", :settings => Puppet::Util::Settings.new
719
+ end
720
+ end
721
+
722
+ # Test to make sure that no two celements have the same short name
723
+ def test_celement_short_name_not_duplicated
724
+ config = mkconfig
725
+ assert_nothing_raised("Could not create celement with short name.") do
726
+
727
+ config.setdefaults(
728
+ :main,
663
729
 
664
- assert_equal("oneval/twoval/oneval/twoval", @config[:three],
665
- "Did not interpolate curlied variables")
730
+ :one => { :default => "blah", :desc => "anything", :short => "o" })
666
731
  end
732
+ assert_nothing_raised("Could not create second celement with short name.") do
667
733
 
668
- # Test to make sure that we can set and get a short name
669
- def test_celement_short_name
670
- element = nil
671
- assert_nothing_raised("Could not create celement") do
672
- element = Setting.new :short => "n", :desc => "anything", :settings => Puppet::Util::Settings.new
673
- end
674
- assert_equal("n", element.short, "Short value is not retained")
734
+ config.setdefaults(
735
+ :main,
675
736
 
676
- assert_raise(ArgumentError,"Allowed multicharactered short names.") do
677
- element = Setting.new :short => "no", :desc => "anything", :settings => Puppet::Util::Settings.new
678
- end
737
+ :two => { :default => "blah", :desc => "anything", :short => "i" })
679
738
  end
739
+ assert_raise(ArgumentError, "Could create second celement with duplicate short name.") do
680
740
 
681
- # Test to make sure that no two celements have the same short name
682
- def test_celement_short_name_not_duplicated
683
- config = mkconfig
684
- assert_nothing_raised("Could not create celement with short name.") do
685
- config.setdefaults(:main,
686
- :one => { :default => "blah", :desc => "anything", :short => "o" })
687
- end
688
- assert_nothing_raised("Could not create second celement with short name.") do
689
- config.setdefaults(:main,
690
- :two => { :default => "blah", :desc => "anything", :short => "i" })
691
- end
692
- assert_raise(ArgumentError, "Could create second celement with duplicate short name.") do
693
- config.setdefaults(:main,
694
- :three => { :default => "blah", :desc => "anything", :short => "i" })
695
- end
696
- # make sure that when the above raises an expection that the config is not included
697
- assert(!config.include?(:three), "Invalid configuration item was retained")
741
+ config.setdefaults(
742
+ :main,
743
+
744
+ :three => { :default => "blah", :desc => "anything", :short => "i" })
698
745
  end
746
+ # make sure that when the above raises an expection that the config is not included
747
+ assert(!config.include?(:three), "Invalid configuration item was retained")
748
+ end
699
749
 
700
- # Tell getopt which arguments are valid
701
- def test_get_getopt_args
702
- element = Setting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new
703
- assert_equal([["--foo", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args")
750
+ # Tell getopt which arguments are valid
751
+ def test_get_getopt_args
752
+ element = Setting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new
753
+ assert_equal([["--foo", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args")
704
754
 
705
- element.short = "n"
706
- assert_equal([["--foo", "-n", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args")
755
+ element.short = "n"
756
+ assert_equal([["--foo", "-n", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args")
707
757
 
708
- element = BooleanSetting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new
709
- assert_equal([["--foo", GetoptLong::NO_ARGUMENT], ["--no-foo", GetoptLong::NO_ARGUMENT]],
710
- element.getopt_args, "Did not produce appropriate getopt args")
758
+ element = BooleanSetting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new
711
759
 
712
- element.short = "n"
713
- assert_equal([["--foo", "-n", GetoptLong::NO_ARGUMENT],["--no-foo", GetoptLong::NO_ARGUMENT]],
714
- element.getopt_args, "Did not produce appropriate getopt args")
715
- end
760
+ assert_equal(
761
+ [["--foo", GetoptLong::NO_ARGUMENT], ["--no-foo", GetoptLong::NO_ARGUMENT]],
762
+
763
+ element.getopt_args, "Did not produce appropriate getopt args")
764
+
765
+ element.short = "n"
766
+
767
+ assert_equal(
768
+ [["--foo", "-n", GetoptLong::NO_ARGUMENT],["--no-foo", GetoptLong::NO_ARGUMENT]],
769
+
770
+ element.getopt_args, "Did not produce appropriate getopt args")
771
+ end
716
772
  end
717
773