puppet 0.24.6 → 0.24.7

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 (383) hide show
  1. data/CHANGELOG +115 -0
  2. data/Rakefile +43 -14
  3. data/bin/puppetca +6 -5
  4. data/bin/puppetdoc +109 -15
  5. data/bin/ralsh +3 -1
  6. data/conf/redhat/puppet.spec +74 -48
  7. data/examples/mcx_dock_absent.pp +4 -0
  8. data/examples/mcx_dock_default.pp +118 -0
  9. data/examples/mcx_dock_full.pp +125 -0
  10. data/examples/mcx_dock_invalid.pp +9 -0
  11. data/examples/mcx_nogroup.pp +118 -0
  12. data/examples/mcx_notexists_absent.pp +4 -0
  13. data/ext/emacs/puppet-mode.el +1 -1
  14. data/lib/puppet.rb +1 -1
  15. data/lib/puppet/external/nagios/base.rb +114 -71
  16. data/lib/puppet/feature/base.rb +6 -0
  17. data/lib/puppet/indirector/yaml.rb +12 -3
  18. data/lib/puppet/module.rb +1 -1
  19. data/lib/puppet/network/client/master.rb +1 -1
  20. data/lib/puppet/network/xmlrpc/client.rb +3 -1
  21. data/lib/puppet/parameter.rb +1 -1
  22. data/lib/puppet/parser/ast.rb +15 -0
  23. data/lib/puppet/parser/ast/astarray.rb +1 -2
  24. data/lib/puppet/parser/ast/casestatement.rb +2 -0
  25. data/lib/puppet/parser/ast/collection.rb +2 -0
  26. data/lib/puppet/parser/ast/comparison_operator.rb +4 -0
  27. data/lib/puppet/parser/ast/definition.rb +2 -0
  28. data/lib/puppet/parser/ast/else.rb +3 -0
  29. data/lib/puppet/parser/ast/function.rb +19 -12
  30. data/lib/puppet/parser/ast/hostclass.rb +9 -1
  31. data/lib/puppet/parser/ast/ifstatement.rb +3 -0
  32. data/lib/puppet/parser/ast/node.rb +3 -0
  33. data/lib/puppet/parser/ast/resource.rb +3 -0
  34. data/lib/puppet/parser/ast/resource_defaults.rb +2 -0
  35. data/lib/puppet/parser/ast/resource_override.rb +3 -0
  36. data/lib/puppet/parser/ast/vardef.rb +3 -0
  37. data/lib/puppet/parser/functions.rb +14 -0
  38. data/lib/puppet/parser/functions/inline_template.rb +21 -0
  39. data/lib/puppet/parser/functions/template.rb +3 -2
  40. data/lib/puppet/parser/lexer.rb +56 -7
  41. data/lib/puppet/parser/parser.rb +114 -98
  42. data/lib/puppet/parser/parser_support.rb +24 -4
  43. data/lib/puppet/parser/resource/reference.rb +4 -3
  44. data/lib/puppet/parser/templatewrapper.rb +30 -22
  45. data/lib/puppet/property.rb +1 -1
  46. data/lib/puppet/property/list.rb +7 -2
  47. data/lib/puppet/property/ordered_list.rb +22 -0
  48. data/lib/puppet/provider/augeas/augeas.rb +189 -0
  49. data/lib/puppet/provider/computer/computer.rb +22 -0
  50. data/lib/puppet/provider/confine.rb +4 -1
  51. data/lib/puppet/provider/confine/variable.rb +13 -2
  52. data/lib/puppet/provider/confine_collection.rb +4 -1
  53. data/lib/puppet/provider/confiner.rb +1 -1
  54. data/lib/puppet/provider/group/directoryservice.rb +6 -3
  55. data/lib/puppet/provider/group/groupadd.rb +5 -2
  56. data/lib/puppet/provider/group/ldap.rb +11 -9
  57. data/lib/puppet/provider/group/netinfo.rb +8 -4
  58. data/lib/puppet/provider/group/pw.rb +5 -1
  59. data/lib/puppet/provider/host/netinfo.rb +5 -2
  60. data/lib/puppet/provider/macauthorization/macauthorization.rb +315 -0
  61. data/lib/puppet/provider/mcx/mcxcontent.rb +201 -0
  62. data/lib/puppet/provider/nameservice/directoryservice.rb +210 -107
  63. data/lib/puppet/provider/nameservice/netinfo.rb +7 -2
  64. data/lib/puppet/provider/package/appdmg.rb +0 -3
  65. data/lib/puppet/provider/package/apt.rb +6 -0
  66. data/lib/puppet/provider/package/rpm.rb +2 -0
  67. data/lib/puppet/provider/package/yum.rb +5 -1
  68. data/lib/puppet/provider/package/yumhelper.py +9 -0
  69. data/lib/puppet/provider/service/base.rb +9 -6
  70. data/lib/puppet/provider/service/daemontools.rb +25 -15
  71. data/lib/puppet/provider/service/debian.rb +6 -2
  72. data/lib/puppet/provider/service/freebsd.rb +5 -2
  73. data/lib/puppet/provider/service/gentoo.rb +6 -3
  74. data/lib/puppet/provider/service/init.rb +31 -21
  75. data/lib/puppet/provider/service/launchd.rb +195 -0
  76. data/lib/puppet/provider/service/redhat.rb +5 -2
  77. data/lib/puppet/provider/service/runit.rb +30 -20
  78. data/lib/puppet/provider/service/smf.rb +7 -4
  79. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +21 -1
  80. data/lib/puppet/provider/user/directoryservice.rb +1 -0
  81. data/lib/puppet/provider/user/netinfo.rb +9 -3
  82. data/lib/puppet/provider/user/user_role_add.rb +43 -6
  83. data/lib/puppet/provider/zfs/solaris.rb +45 -0
  84. data/lib/puppet/provider/zone/solaris.rb +8 -4
  85. data/lib/puppet/provider/zpool/solaris.rb +116 -0
  86. data/lib/puppet/rails/database/003_add_environment_to_host.rb +9 -0
  87. data/lib/puppet/rails/database/schema.rb +1 -0
  88. data/lib/puppet/rails/host.rb +4 -0
  89. data/lib/puppet/reference/configuration.rb +1 -1
  90. data/lib/puppet/reports/tagmail.rb +15 -6
  91. data/lib/puppet/transaction/change.rb +3 -5
  92. data/lib/puppet/transportable.rb +1 -0
  93. data/lib/puppet/type/augeas.rb +155 -0
  94. data/lib/puppet/type/computer.rb +62 -0
  95. data/lib/puppet/type/exec.rb +2 -1
  96. data/lib/puppet/type/file.rb +1 -1
  97. data/lib/puppet/type/file/ensure.rb +8 -5
  98. data/lib/puppet/type/file/mode.rb +0 -14
  99. data/lib/puppet/type/file/owner.rb +32 -64
  100. data/lib/puppet/type/file/selcontext.rb +3 -8
  101. data/lib/puppet/type/group.rb +27 -45
  102. data/lib/puppet/type/k5login.rb +1 -1
  103. data/lib/puppet/type/macauthorization.rb +141 -0
  104. data/lib/puppet/type/mcx.rb +115 -0
  105. data/lib/puppet/type/mount.rb +1 -1
  106. data/lib/puppet/type/nagios_hostdependency.rb +3 -0
  107. data/lib/puppet/type/ssh_authorized_key.rb +16 -0
  108. data/lib/puppet/type/tidy.rb +43 -14
  109. data/lib/puppet/type/user.rb +25 -1
  110. data/lib/puppet/type/zfs.rb +51 -0
  111. data/lib/puppet/type/zone.rb +8 -0
  112. data/lib/puppet/type/zpool.rb +93 -0
  113. data/lib/puppet/util.rb +17 -38
  114. data/lib/puppet/util/file_locking.rb +44 -0
  115. data/lib/puppet/util/filetype.rb +3 -3
  116. data/lib/puppet/util/log.rb +1 -16
  117. data/lib/puppet/util/metric.rb +0 -5
  118. data/lib/puppet/util/rdoc.rb +85 -0
  119. data/lib/puppet/util/rdoc/code_objects.rb +219 -0
  120. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +829 -0
  121. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1051 -0
  122. data/lib/puppet/util/rdoc/parser.rb +437 -0
  123. data/lib/puppet/util/selinux.rb +135 -63
  124. data/lib/puppet/util/settings.rb +136 -126
  125. data/lib/puppet/util/storage.rb +4 -2
  126. data/spec/Rakefile +91 -0
  127. data/spec/integration/checksum.rb +47 -0
  128. data/spec/integration/defaults.rb +47 -0
  129. data/spec/integration/file_serving/configuration.rb +43 -0
  130. data/spec/integration/file_serving/content.rb +18 -0
  131. data/spec/integration/file_serving/metadata.rb +18 -0
  132. data/spec/integration/indirector/direct_file_server.rb +80 -0
  133. data/spec/integration/indirector/file_content/file_server.rb +18 -0
  134. data/spec/integration/indirector/file_metadata/file_server.rb +18 -0
  135. data/spec/integration/indirector/module_files.rb +57 -0
  136. data/spec/integration/indirector/node/ldap.rb +15 -0
  137. data/spec/integration/indirector/rest.rb +464 -0
  138. data/spec/integration/network/server/mongrel.rb +48 -0
  139. data/spec/integration/network/server/webrick.rb +48 -0
  140. data/spec/integration/node.rb +93 -0
  141. data/spec/integration/node/catalog.rb +54 -0
  142. data/spec/integration/node/facts.rb +45 -0
  143. data/spec/integration/provider/package.rb +26 -0
  144. data/spec/integration/provider/service/init.rb +32 -0
  145. data/spec/integration/reference/providers.rb +17 -0
  146. data/spec/integration/reports.rb +14 -0
  147. data/spec/integration/transaction/report.rb +26 -0
  148. data/spec/integration/type/package.rb +22 -0
  149. data/spec/integration/util/file_locking.rb +36 -0
  150. data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +46 -0
  151. data/spec/monkey_patches/alias_should_to_must.rb +5 -0
  152. data/spec/shared_behaviours/file_server_terminus.rb +42 -0
  153. data/spec/shared_behaviours/file_serving.rb +64 -0
  154. data/spec/shared_behaviours/memory_terminus.rb +32 -0
  155. data/spec/spec.opts +5 -0
  156. data/spec/spec_helper.rb +36 -0
  157. data/spec/unit/executables/client/certhandler.rb +122 -0
  158. data/spec/unit/file_serving/configuration.rb +224 -0
  159. data/spec/unit/file_serving/configuration/parser.rb +135 -0
  160. data/spec/unit/file_serving/content.rb +71 -0
  161. data/spec/unit/file_serving/file_base.rb +124 -0
  162. data/spec/unit/file_serving/fileset.rb +239 -0
  163. data/spec/unit/file_serving/indirection_hooks.rb +124 -0
  164. data/spec/unit/file_serving/metadata.rb +187 -0
  165. data/spec/unit/file_serving/mount.rb +143 -0
  166. data/spec/unit/file_serving/terminus_helper.rb +76 -0
  167. data/spec/unit/indirector.rb +152 -0
  168. data/spec/unit/indirector/catalog/compiler.rb +156 -0
  169. data/spec/unit/indirector/catalog/yaml.rb +25 -0
  170. data/spec/unit/indirector/checksum/file.rb +139 -0
  171. data/spec/unit/indirector/code.rb +33 -0
  172. data/spec/unit/indirector/direct_file_server.rb +89 -0
  173. data/spec/unit/indirector/envelope.rb +47 -0
  174. data/spec/unit/indirector/exec.rb +51 -0
  175. data/spec/unit/indirector/facts/facter.rb +76 -0
  176. data/spec/unit/indirector/facts/yaml.rb +26 -0
  177. data/spec/unit/indirector/file.rb +154 -0
  178. data/spec/unit/indirector/file_content/file.rb +18 -0
  179. data/spec/unit/indirector/file_content/file_server.rb +18 -0
  180. data/spec/unit/indirector/file_content/modules.rb +18 -0
  181. data/spec/unit/indirector/file_content/rest.rb +11 -0
  182. data/spec/unit/indirector/file_metadata/file.rb +52 -0
  183. data/spec/unit/indirector/file_metadata/file_server.rb +18 -0
  184. data/spec/unit/indirector/file_metadata/modules.rb +42 -0
  185. data/spec/unit/indirector/file_metadata/rest.rb +9 -0
  186. data/spec/unit/indirector/file_server.rb +184 -0
  187. data/spec/unit/indirector/indirection.rb +731 -0
  188. data/spec/unit/indirector/ldap.rb +143 -0
  189. data/spec/unit/indirector/memory.rb +29 -0
  190. data/spec/unit/indirector/module_files.rb +259 -0
  191. data/spec/unit/indirector/node/exec.rb +69 -0
  192. data/spec/unit/indirector/node/ldap.rb +424 -0
  193. data/spec/unit/indirector/node/memory.rb +19 -0
  194. data/spec/unit/indirector/node/plain.rb +19 -0
  195. data/spec/unit/indirector/node/rest.rb +13 -0
  196. data/spec/unit/indirector/node/yaml.rb +25 -0
  197. data/spec/unit/indirector/plain.rb +29 -0
  198. data/spec/unit/indirector/report/processor.rb +81 -0
  199. data/spec/unit/indirector/request.rb +87 -0
  200. data/spec/unit/indirector/rest.rb +372 -0
  201. data/spec/unit/indirector/ssl_rsa/file.rb +116 -0
  202. data/spec/unit/indirector/terminus.rb +245 -0
  203. data/spec/unit/indirector/yaml.rb +145 -0
  204. data/spec/unit/module.rb +247 -0
  205. data/spec/unit/network/client.rb +45 -0
  206. data/spec/unit/network/client/master.rb +442 -0
  207. data/spec/unit/network/handler/fileserver.rb +179 -0
  208. data/spec/unit/network/http.rb +35 -0
  209. data/spec/unit/network/http/mongrel.rb +117 -0
  210. data/spec/unit/network/http/mongrel/rest.rb +377 -0
  211. data/spec/unit/network/http/mongrel/xmlrpc.rb +0 -0
  212. data/spec/unit/network/http/webrick.rb +127 -0
  213. data/spec/unit/network/http/webrick/rest.rb +323 -0
  214. data/spec/unit/network/http/webrick/xmlrpc.rb +0 -0
  215. data/spec/unit/network/http_pool.rb +238 -0
  216. data/spec/unit/network/server.rb +316 -0
  217. data/spec/unit/network/xmlrpc/client.rb +13 -0
  218. data/spec/unit/node.rb +167 -0
  219. data/spec/unit/node/catalog.rb +864 -0
  220. data/spec/unit/node/environment.rb +37 -0
  221. data/spec/unit/node/facts.rb +44 -0
  222. data/spec/unit/other/checksum.rb +92 -0
  223. data/spec/unit/other/pgraph.rb +210 -0
  224. data/spec/unit/other/transaction.rb +33 -0
  225. data/spec/unit/other/transbucket.rb +172 -0
  226. data/spec/unit/other/transobject.rb +92 -0
  227. data/spec/unit/parameter.rb +24 -0
  228. data/spec/unit/parser/ast.rb +37 -0
  229. data/spec/unit/parser/ast/arithmetic_operator.rb +73 -0
  230. data/spec/unit/parser/ast/astarray.rb +66 -0
  231. data/spec/unit/parser/ast/boolean_operator.rb +53 -0
  232. data/spec/unit/parser/ast/collexpr.rb +92 -0
  233. data/spec/unit/parser/ast/comparison_operator.rb +92 -0
  234. data/spec/unit/parser/ast/definition.rb +195 -0
  235. data/spec/unit/parser/ast/function.rb +77 -0
  236. data/spec/unit/parser/ast/hostclass.rb +148 -0
  237. data/spec/unit/parser/ast/minus.rb +36 -0
  238. data/spec/unit/parser/ast/node.rb +125 -0
  239. data/spec/unit/parser/ast/nop.rb +20 -0
  240. data/spec/unit/parser/ast/not.rb +30 -0
  241. data/spec/unit/parser/ast/resource_override.rb +51 -0
  242. data/spec/unit/parser/ast/resource_reference.rb +63 -0
  243. data/spec/unit/parser/ast/vardef.rb +47 -0
  244. data/spec/unit/parser/collector.rb +426 -0
  245. data/spec/unit/parser/compiler.rb +561 -0
  246. data/spec/unit/parser/functions.rb +83 -0
  247. data/spec/unit/parser/functions/inline_template.rb +59 -0
  248. data/spec/unit/parser/functions/template.rb +62 -0
  249. data/spec/unit/parser/interpreter.rb +138 -0
  250. data/spec/unit/parser/lexer.rb +646 -0
  251. data/spec/unit/parser/parser.rb +228 -0
  252. data/spec/unit/parser/resource.rb +336 -0
  253. data/spec/unit/parser/resource/reference.rb +95 -0
  254. data/spec/unit/parser/scope.rb +87 -0
  255. data/spec/unit/parser/templatewrapper.rb +129 -0
  256. data/spec/unit/property.rb +35 -0
  257. data/spec/unit/property/keyvalue.rb +168 -0
  258. data/spec/unit/property/list.rb +156 -0
  259. data/spec/unit/property/ordered_list.rb +64 -0
  260. data/spec/unit/provider/augeas/augeas.rb +238 -0
  261. data/spec/unit/provider/confine.rb +78 -0
  262. data/spec/unit/provider/confine/exists.rb +81 -0
  263. data/spec/unit/provider/confine/false.rb +53 -0
  264. data/spec/unit/provider/confine/feature.rb +60 -0
  265. data/spec/unit/provider/confine/true.rb +53 -0
  266. data/spec/unit/provider/confine/variable.rb +107 -0
  267. data/spec/unit/provider/confine_collection.rb +134 -0
  268. data/spec/unit/provider/confiner.rb +63 -0
  269. data/spec/unit/provider/group/groupadd.rb +31 -0
  270. data/spec/unit/provider/group/ldap.rb +105 -0
  271. data/spec/unit/provider/ldap.rb +248 -0
  272. data/spec/unit/provider/macauthorization.rb +147 -0
  273. data/spec/unit/provider/mcx/mcxcontent.rb +175 -0
  274. data/spec/unit/provider/mount.rb +130 -0
  275. data/spec/unit/provider/mount/parsed.rb +185 -0
  276. data/spec/unit/provider/package/apt.rb +138 -0
  277. data/spec/unit/provider/package/dpkg.rb +163 -0
  278. data/spec/unit/provider/package/gem.rb +87 -0
  279. data/spec/unit/provider/package/hpux.rb +52 -0
  280. data/spec/unit/provider/selboolean.rb +37 -0
  281. data/spec/unit/provider/selmodule-example.pp +0 -0
  282. data/spec/unit/provider/selmodule.rb +66 -0
  283. data/spec/unit/provider/service/daemontools.rb +124 -0
  284. data/spec/unit/provider/service/launchd.rb +134 -0
  285. data/spec/unit/provider/service/runit.rb +117 -0
  286. data/spec/unit/provider/ssh_authorized_key/parsed.rb +102 -0
  287. data/spec/unit/provider/user/hpux.rb +25 -0
  288. data/spec/unit/provider/user/ldap.rb +279 -0
  289. data/spec/unit/provider/user/user_role_add.rb +249 -0
  290. data/spec/unit/provider/user/useradd.rb +115 -0
  291. data/spec/unit/provider/zfs/solaris.rb +87 -0
  292. data/spec/unit/provider/zone/solaris.rb +42 -0
  293. data/spec/unit/provider/zpool/solaris.rb +179 -0
  294. data/spec/unit/rails.rb +125 -0
  295. data/spec/unit/relationship.rb +149 -0
  296. data/spec/unit/reports.rb +61 -0
  297. data/spec/unit/resource_reference.rb +73 -0
  298. data/spec/unit/simple_graph.rb +280 -0
  299. data/spec/unit/transaction/change.rb +187 -0
  300. data/spec/unit/transaction/event.rb +25 -0
  301. data/spec/unit/transaction/report.rb +40 -0
  302. data/spec/unit/type.rb +64 -0
  303. data/spec/unit/type/augeas.rb +113 -0
  304. data/spec/unit/type/computer.rb +82 -0
  305. data/spec/unit/type/exec.rb +91 -0
  306. data/spec/unit/type/file.rb +155 -0
  307. data/spec/unit/type/file/ensure.rb +21 -0
  308. data/spec/unit/type/file/group.rb +118 -0
  309. data/spec/unit/type/file/owner.rb +132 -0
  310. data/spec/unit/type/file/selinux.rb +82 -0
  311. data/spec/unit/type/group.rb +40 -0
  312. data/spec/unit/type/macauthorization.rb +78 -0
  313. data/spec/unit/type/mcx.rb +108 -0
  314. data/spec/unit/type/mount.rb +219 -0
  315. data/spec/unit/type/nagios.rb +63 -0
  316. data/spec/unit/type/noop_metaparam.rb +38 -0
  317. data/spec/unit/type/package.rb +246 -0
  318. data/spec/unit/type/resources.rb +27 -0
  319. data/spec/unit/type/schedule.rb +339 -0
  320. data/spec/unit/type/selboolean.rb +47 -0
  321. data/spec/unit/type/selmodule.rb +18 -0
  322. data/spec/unit/type/service.rb +254 -0
  323. data/spec/unit/type/ssh_authorized_key.rb +106 -0
  324. data/spec/unit/type/tidy.rb +68 -0
  325. data/spec/unit/type/user.rb +260 -0
  326. data/spec/unit/type/zfs.rb +45 -0
  327. data/spec/unit/type/zone.rb +20 -0
  328. data/spec/unit/type/zpool.rb +110 -0
  329. data/spec/unit/util/checksums.rb +99 -0
  330. data/spec/unit/util/constant_inflector.rb +70 -0
  331. data/spec/unit/util/file_locking.rb +115 -0
  332. data/spec/unit/util/ldap/connection.rb +169 -0
  333. data/spec/unit/util/ldap/generator.rb +54 -0
  334. data/spec/unit/util/ldap/manager.rb +654 -0
  335. data/spec/unit/util/loadedfile.rb +65 -0
  336. data/spec/unit/util/log.rb +107 -0
  337. data/spec/unit/util/metric.rb +95 -0
  338. data/spec/unit/util/nagios_maker.rb +128 -0
  339. data/spec/unit/util/posix.rb +256 -0
  340. data/spec/unit/util/resource_template.rb +58 -0
  341. data/spec/unit/util/selinux.rb +219 -0
  342. data/spec/unit/util/settings.rb +847 -0
  343. data/spec/unit/util/storage.rb +248 -0
  344. data/spec/unit/util/tagging.rb +92 -0
  345. data/spec/unit/util/uri_helper.rb +41 -0
  346. data/spec/unit/util/user_attr.rb +47 -0
  347. data/spec/unit/util/warnings.rb +35 -0
  348. data/test/certmgr/support.rb +0 -6
  349. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +1 -0
  350. data/test/data/snippets/multilinecomments.pp +6 -0
  351. data/test/data/snippets/multipleclass.pp +9 -0
  352. data/test/language/functions.rb +11 -1
  353. data/test/language/snippets.rb +16 -0
  354. data/test/lib/puppettest/runnable_test.rb +1 -1
  355. data/test/network/handler/fileserver.rb +5 -0
  356. data/test/other/report.rb +0 -4
  357. data/test/ral/type/resources.rb +2 -19
  358. data/test/util/settings.rb +4 -4
  359. data/test/util/storage.rb +0 -24
  360. data/test/util/utiltest.rb +0 -33
  361. metadata +319 -26
  362. data/conf/debian/README.source +0 -2
  363. data/conf/debian/TODO.Debian +0 -1
  364. data/conf/debian/changelog +0 -257
  365. data/conf/debian/compat +0 -1
  366. data/conf/debian/control +0 -45
  367. data/conf/debian/copyright +0 -17
  368. data/conf/debian/docs +0 -1
  369. data/conf/debian/fileserver.conf +0 -12
  370. data/conf/debian/puppet.NEWS +0 -63
  371. data/conf/debian/puppet.conf +0 -8
  372. data/conf/debian/puppet.dirs +0 -7
  373. data/conf/debian/puppet.files +0 -6
  374. data/conf/debian/puppet.init +0 -64
  375. data/conf/debian/puppet.logrotate +0 -11
  376. data/conf/debian/puppet.postinst +0 -9
  377. data/conf/debian/puppet.postrm +0 -21
  378. data/conf/debian/puppet.preinst +0 -25
  379. data/conf/debian/puppetmaster.files +0 -4
  380. data/conf/debian/puppetmaster.init +0 -58
  381. data/conf/debian/rules +0 -115
  382. data/conf/debian/watch +0 -2
  383. data/lib/puppet/type/nagios_hostgroupescalation.rb +0 -3
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
4
+
5
+ property = Puppet::Type.type(:file).attrclass(:ensure)
6
+
7
+ describe property do
8
+ before do
9
+ @resource = stub 'resource', :line => "foo", :file => "bar", :replace? => true
10
+ @resource.stubs(:[]).returns "foo"
11
+ @resource.stubs(:[]).with(:path).returns "/my/file"
12
+ @ensure = property.new :resource => @resource
13
+ end
14
+
15
+ describe "when testing whether in sync" do
16
+ it "should always be in sync if replace is 'false' unless the file is missing" do
17
+ @resource.expects(:replace?).returns false
18
+ @ensure.insync?(:link).should be_true
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,118 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
4
+
5
+ property = Puppet::Type.type(:file).attrclass(:group)
6
+
7
+ describe property do
8
+ before do
9
+ @resource = stub 'resource', :line => "foo", :file => "bar"
10
+ @resource.stubs(:[]).returns "foo"
11
+ @resource.stubs(:[]).with(:path).returns "/my/file"
12
+ @group = property.new :resource => @resource
13
+ end
14
+
15
+ it "should have a method for testing whether a group is valid" do
16
+ @group.must respond_to(:validgroup?)
17
+ end
18
+
19
+ it "should return the found gid if a group is valid" do
20
+ @group.expects(:gid).with("foo").returns 500
21
+ @group.validgroup?("foo").should == 500
22
+ end
23
+
24
+ it "should return false if a group is not valid" do
25
+ @group.expects(:gid).with("foo").returns nil
26
+ @group.validgroup?("foo").should be_false
27
+ end
28
+
29
+ describe "when retrieving the current value" do
30
+ it "should return :absent if the file cannot stat" do
31
+ @resource.expects(:stat).returns nil
32
+
33
+ @group.retrieve.should == :absent
34
+ end
35
+
36
+ it "should get the gid from the stat instance from the file" do
37
+ stat = stub 'stat', :ftype => "foo"
38
+ @resource.expects(:stat).returns stat
39
+ stat.expects(:gid).returns 500
40
+
41
+ @group.retrieve.should == 500
42
+ end
43
+
44
+ it "should warn and return :silly if the found value is higher than the maximum uid value" do
45
+ Puppet.settings.expects(:value).with(:maximum_uid).returns 500
46
+
47
+ stat = stub 'stat', :ftype => "foo"
48
+ @resource.expects(:stat).returns stat
49
+ stat.expects(:gid).returns 1000
50
+
51
+ @group.expects(:warning)
52
+ @group.retrieve.should == :silly
53
+ end
54
+ end
55
+
56
+ describe "when determining if the file is in sync" do
57
+ it "should directly compare the group values if the desired group is an integer" do
58
+ @group.should = [10]
59
+ @group.must be_insync(10)
60
+ end
61
+
62
+ it "should treat numeric strings as integers" do
63
+ @group.should = ["10"]
64
+ @group.must be_insync(10)
65
+ end
66
+
67
+ it "should convert the group name to an integer if the desired group is a string" do
68
+ @group.expects(:gid).with("foo").returns 10
69
+ @group.should = %w{foo}
70
+
71
+ @group.must be_insync(10)
72
+ end
73
+
74
+ it "should fail if it cannot convert a group name to an integer" do
75
+ @group.expects(:gid).with("foo").returns nil
76
+ @group.should = %w{foo}
77
+
78
+ lambda { @group.insync?(10) }.should raise_error(Puppet::Error)
79
+ end
80
+
81
+ it "should return false if the groups are not equal" do
82
+ @group.should = [10]
83
+ @group.should_not be_insync(20)
84
+ end
85
+ end
86
+
87
+ describe "when changing the group" do
88
+ before do
89
+ @group.should = %w{one}
90
+ @group.stubs(:gid).returns 500
91
+ end
92
+
93
+ it "should chown the file if :links is set to :follow" do
94
+ @resource.expects(:[]).with(:links).returns :follow
95
+ File.expects(:chown)
96
+
97
+ @group.sync
98
+ end
99
+
100
+ it "should lchown the file if :links is set to :manage" do
101
+ @resource.expects(:[]).with(:links).returns :manage
102
+ File.expects(:lchown)
103
+
104
+ @group.sync
105
+ end
106
+
107
+ it "should use the first valid group in its 'should' list" do
108
+ @group.should = %w{one two three}
109
+ @group.expects(:validgroup?).with("one").returns nil
110
+ @group.expects(:validgroup?).with("two").returns 500
111
+ @group.expects(:validgroup?).with("three").never
112
+
113
+ File.expects(:chown).with(nil, 500, "/my/file")
114
+
115
+ @group.sync
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,132 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
4
+
5
+ property = Puppet::Type.type(:file).attrclass(:owner)
6
+
7
+ describe property do
8
+ before do
9
+ @resource = stub 'resource', :line => "foo", :file => "bar"
10
+ @resource.stubs(:[]).returns "foo"
11
+ @resource.stubs(:[]).with(:path).returns "/my/file"
12
+ @owner = property.new :resource => @resource
13
+ end
14
+
15
+ it "should have a method for testing whether an owner is valid" do
16
+ @owner.must respond_to(:validuser?)
17
+ end
18
+
19
+ it "should return the found uid if an owner is valid" do
20
+ @owner.expects(:uid).with("foo").returns 500
21
+ @owner.validuser?("foo").should == 500
22
+ end
23
+
24
+ it "should return false if an owner is not valid" do
25
+ @owner.expects(:uid).with("foo").returns nil
26
+ @owner.validuser?("foo").should be_false
27
+ end
28
+
29
+ describe "when retrieving the current value" do
30
+ it "should return :absent if the file cannot stat" do
31
+ @resource.expects(:stat).returns nil
32
+
33
+ @owner.retrieve.should == :absent
34
+ end
35
+
36
+ it "should get the uid from the stat instance from the file" do
37
+ stat = stub 'stat', :ftype => "foo"
38
+ @resource.expects(:stat).returns stat
39
+ stat.expects(:uid).returns 500
40
+
41
+ @owner.retrieve.should == 500
42
+ end
43
+
44
+ it "should warn and return :silly if the found value is higher than the maximum uid value" do
45
+ Puppet.settings.expects(:value).with(:maximum_uid).returns 500
46
+
47
+ stat = stub 'stat', :ftype => "foo"
48
+ @resource.expects(:stat).returns stat
49
+ stat.expects(:uid).returns 1000
50
+
51
+ @owner.expects(:warning)
52
+ @owner.retrieve.should == :silly
53
+ end
54
+ end
55
+
56
+ describe "when determining if the file is in sync" do
57
+ describe "and not running as root" do
58
+ it "should warn and return true" do
59
+ @owner.should = 10
60
+ Puppet::Util::SUIDManager.expects(:uid).returns 1
61
+ @owner.expects(:warning)
62
+ @owner.must be_insync("whatever")
63
+ end
64
+ end
65
+
66
+ before do
67
+ Puppet::Util::SUIDManager.stubs(:uid).returns 0
68
+ end
69
+
70
+ it "should directly compare the owner values if the desired owner is an integer" do
71
+ @owner.should = [10]
72
+ @owner.must be_insync(10)
73
+ end
74
+
75
+ it "should treat numeric strings as integers" do
76
+ @owner.should = ["10"]
77
+ @owner.must be_insync(10)
78
+ end
79
+
80
+ it "should convert the owner name to an integer if the desired owner is a string" do
81
+ @owner.expects(:uid).with("foo").returns 10
82
+ @owner.should = %w{foo}
83
+
84
+ @owner.must be_insync(10)
85
+ end
86
+
87
+ it "should fail if it cannot convert an owner name to an integer" do
88
+ @owner.expects(:uid).with("foo").returns nil
89
+ @owner.should = %w{foo}
90
+
91
+ lambda { @owner.insync?(10) }.should raise_error(Puppet::Error)
92
+ end
93
+
94
+ it "should return false if the owners are not equal" do
95
+ @owner.should = [10]
96
+ @owner.should_not be_insync(20)
97
+ end
98
+ end
99
+
100
+ describe "when changing the owner" do
101
+ before do
102
+ @owner.should = %w{one}
103
+ @owner.stubs(:path).returns "path"
104
+ @owner.stubs(:uid).returns 500
105
+ end
106
+
107
+ it "should chown the file if :links is set to :follow" do
108
+ @resource.expects(:[]).with(:links).returns :follow
109
+ File.expects(:chown)
110
+
111
+ @owner.sync
112
+ end
113
+
114
+ it "should lchown the file if :links is set to :manage" do
115
+ @resource.expects(:[]).with(:links).returns :manage
116
+ File.expects(:lchown)
117
+
118
+ @owner.sync
119
+ end
120
+
121
+ it "should use the first valid owner in its 'should' list" do
122
+ @owner.should = %w{one two three}
123
+ @owner.expects(:validuser?).with("one").returns nil
124
+ @owner.expects(:validuser?).with("two").returns 500
125
+ @owner.expects(:validuser?).with("three").never
126
+
127
+ File.expects(:chown).with(500, nil, "/my/file")
128
+
129
+ @owner.sync
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
4
+
5
+
6
+ [:seluser, :selrole, :seltype, :selrange].each do |param|
7
+ property = Puppet::Type.type(:file).attrclass(param)
8
+ describe property do
9
+ before do
10
+ @resource = mock 'resource'
11
+ @resource.stubs(:[]).with(:path).returns "/my/file"
12
+ @sel = property.new :resource => @resource
13
+ end
14
+
15
+ it "retrieve on #{param} should return :absent if the file isn't statable" do
16
+ @resource.expects(:stat).returns nil
17
+ @sel.retrieve.should == :absent
18
+ end
19
+
20
+ it "should retrieve nil for #{param} if there is no SELinux support" do
21
+ stat = stub 'stat', :ftype => "foo"
22
+ @resource.expects(:stat).returns stat
23
+ @sel.expects(:get_selinux_current_context).with("/my/file").returns nil
24
+ @sel.retrieve.should be_nil
25
+ end
26
+
27
+ it "should retrieve #{param} if a SELinux context is found with a range" do
28
+ stat = stub 'stat', :ftype => "foo"
29
+ @resource.expects(:stat).returns stat
30
+ @sel.expects(:get_selinux_current_context).with("/my/file").returns "user_u:role_r:type_t:s0"
31
+ expectedresult = case param
32
+ when :seluser then "user_u"
33
+ when :selrole then "role_r"
34
+ when :seltype then "type_t"
35
+ when :selrange then "s0"
36
+ end
37
+ @sel.retrieve.should == expectedresult
38
+ end
39
+
40
+ it "should retrieve #{param} if a SELinux context is found without a range" do
41
+ stat = stub 'stat', :ftype => "foo"
42
+ @resource.expects(:stat).returns stat
43
+ @sel.expects(:get_selinux_current_context).with("/my/file").returns "user_u:role_r:type_t"
44
+ expectedresult = case param
45
+ when :seluser then "user_u"
46
+ when :selrole then "role_r"
47
+ when :seltype then "type_t"
48
+ when :selrange then nil
49
+ end
50
+ @sel.retrieve.should == expectedresult
51
+ end
52
+
53
+ it "should handle no default gracefully" do
54
+ @sel.expects(:get_selinux_default_context).with("/my/file").returns nil
55
+ @sel.default.must be_nil
56
+ end
57
+
58
+ it "should be able to detect matchpathcon defaults" do
59
+ @sel.stubs(:debug)
60
+ @sel.expects(:get_selinux_default_context).with("/my/file").returns "user_u:role_r:type_t:s0"
61
+ expectedresult = case param
62
+ when :seluser then "user_u"
63
+ when :selrole then "role_r"
64
+ when :seltype then "type_t"
65
+ when :selrange then "s0"
66
+ end
67
+ @sel.default.must == expectedresult
68
+ end
69
+
70
+ it "should be able to set a new context" do
71
+ stat = stub 'stat', :ftype => "foo"
72
+ @sel.should = %w{newone}
73
+ @sel.expects(:set_selinux_context).with("/my/file", ["newone"], param)
74
+ @sel.sync
75
+ end
76
+
77
+ after do
78
+ Puppet::Type.type(:file).clear
79
+ end
80
+ end
81
+ end
82
+
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Puppet::Type.type(:group) do
6
+ before do
7
+ @class = Puppet::Type.type(:group)
8
+ end
9
+
10
+ after do
11
+ @class.clear
12
+ end
13
+
14
+ it "should have a default provider" do
15
+ @class.defaultprovider.should_not be_nil
16
+ end
17
+
18
+ it "should have a default provider inheriting from Puppet::Provider" do
19
+ @class.defaultprovider.ancestors.should be_include(Puppet::Provider)
20
+ end
21
+
22
+ describe "when validating attributes" do
23
+ [:name, :allowdupe].each do |param|
24
+ it "should have a #{param} parameter" do
25
+ @class.attrtype(param).should == :param
26
+ end
27
+ end
28
+
29
+ [:ensure, :gid].each do |param|
30
+ it "should have a #{param} property" do
31
+ @class.attrtype(param).should == :property
32
+ end
33
+ end
34
+ end
35
+
36
+ # #1407 - we need to declare the allowdupe param as boolean.
37
+ it "should have a boolean method for determining if duplicates are allowed" do
38
+ @class.create(:name => "foo").methods.should be_include("allowdupe?")
39
+ end
40
+ end
@@ -0,0 +1,78 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ macauth_type = Puppet::Type.type(:macauthorization)
6
+
7
+ describe Puppet.type(:macauthorization), "when checking macauthorization objects" do
8
+
9
+ before do
10
+ authplist = {}
11
+ authplist["rules"] = { "foorule" => "foo" }
12
+ authplist["rights"] = { "fooright" => "foo" }
13
+ provider_class = macauth_type.provider(macauth_type.providers[0])
14
+ Plist.stubs(:parse_xml).with("/etc/authorization").returns(authplist)
15
+ macauth_type.stubs(:defaultprovider).returns provider_class
16
+ end
17
+
18
+ after do
19
+ macauth_type.clear
20
+ end
21
+
22
+
23
+ describe "when validating attributes" do
24
+
25
+ parameters = [:name,]
26
+ properties = [:auth_type, :allow_root, :authenticate_user, :auth_class,
27
+ :comment, :group, :k_of_n, :mechanisms, :rule,
28
+ :session_owner, :shared, :timeout, :tries]
29
+
30
+ parameters.each do |parameter|
31
+ it "should have a %s parameter" % parameter do
32
+ macauth_type.attrclass(parameter).ancestors.should be_include(Puppet::Parameter)
33
+ end
34
+
35
+ it "should have documentation for its %s parameter" % parameter do
36
+ macauth_type.attrclass(parameter).doc.should be_instance_of(String)
37
+ end
38
+ end
39
+
40
+ properties.each do |property|
41
+ it "should have a %s property" % property do
42
+ macauth_type.attrclass(property).ancestors.should be_include(Puppet::Property)
43
+ end
44
+
45
+ it "should have documentation for its %s property" % property do
46
+ macauth_type.attrclass(property).doc.should be_instance_of(String)
47
+ end
48
+ end
49
+
50
+ end
51
+
52
+ describe "when validating properties" do
53
+
54
+ it "should have a default provider inheriting from Puppet::Provider" do
55
+ macauth_type.defaultprovider.ancestors.should be_include(Puppet::Provider)
56
+ end
57
+
58
+ it "should be able to create an instance" do
59
+ lambda {
60
+ macauth_type.create(:name => 'foo')
61
+ }.should_not raise_error
62
+ end
63
+
64
+ it "should support :present as a value to :ensure" do
65
+ lambda {
66
+ macauth_type.create(:name => "foo", :ensure => :present)
67
+ }.should_not raise_error
68
+ end
69
+
70
+ it "should support :absent as a value to :ensure" do
71
+ lambda {
72
+ macauth_type.create(:name => "foo", :ensure => :absent)
73
+ }.should_not raise_error
74
+ end
75
+
76
+ end
77
+
78
+ end