puppet 0.23.2 → 0.24.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 (629) hide show
  1. data/CHANGELOG +112 -1
  2. data/README +1 -1
  3. data/Rakefile +1 -2
  4. data/bin/filebucket +2 -3
  5. data/bin/puppet +55 -39
  6. data/bin/puppetca +20 -11
  7. data/bin/puppetd +30 -31
  8. data/bin/puppetdoc +27 -28
  9. data/bin/puppetmasterd +24 -42
  10. data/bin/puppetrun +3 -4
  11. data/bin/ralsh +5 -7
  12. data/conf/redhat/puppet.spec +4 -1
  13. data/conf/solaris/smf/svc-puppetd +1 -1
  14. data/conf/solaris/smf/svc-puppetmasterd +1 -1
  15. data/examples/code/allatonce +1 -1
  16. data/examples/code/assignments +1 -1
  17. data/examples/code/components +1 -1
  18. data/examples/code/file.bl +1 -1
  19. data/examples/code/filedefaults +1 -1
  20. data/examples/code/fileparsing +1 -1
  21. data/examples/code/filerecursion +1 -1
  22. data/examples/code/functions +1 -1
  23. data/examples/code/groups +1 -1
  24. data/examples/code/head +1 -1
  25. data/examples/code/importing +1 -1
  26. data/examples/code/modules/sample-module.pp +10 -0
  27. data/examples/code/modules/sample-module/README.txt +17 -0
  28. data/examples/code/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +36 -0
  29. data/examples/code/modules/sample-module/manifests/init.pp +12 -0
  30. data/examples/code/modules/sample-module/templates/sample.erb +5 -0
  31. data/examples/code/nodes +1 -1
  32. data/examples/code/one +1 -1
  33. data/examples/code/relationships +1 -1
  34. data/examples/code/selectors +1 -1
  35. data/examples/code/simpletests +1 -1
  36. data/examples/root/etc/init.d/sleeper +1 -1
  37. data/examples/root/etc/puppet/fileserver.conf +1 -1
  38. data/ext/ldap/puppet.schema +1 -1
  39. data/ext/module_puppet +30 -21
  40. data/ext/puppet-test +3 -3
  41. data/ext/vim/filetype.vim +1 -1
  42. data/install.rb +1 -2
  43. data/lib/puppet.rb +20 -19
  44. data/lib/puppet/checksum.rb +57 -0
  45. data/lib/puppet/config_stores/rest.rb +1 -1
  46. data/lib/puppet/daemon.rb +0 -1
  47. data/lib/puppet/{configuration.rb → defaults.rb} +56 -23
  48. data/lib/puppet/dsl.rb +22 -116
  49. data/lib/puppet/error.rb +0 -9
  50. data/lib/puppet/event.rb +0 -1
  51. data/lib/puppet/external/gratr/rdot.rb +0 -1
  52. data/lib/puppet/external/lock.rb +0 -1
  53. data/lib/puppet/feature/base.rb +3 -2
  54. data/lib/puppet/feature/rails.rb +0 -1
  55. data/lib/puppet/file_serving.rb +7 -0
  56. data/lib/puppet/file_serving/configuration.rb +129 -0
  57. data/lib/puppet/file_serving/configuration/parser.rb +124 -0
  58. data/lib/puppet/file_serving/content.rb +34 -0
  59. data/lib/puppet/file_serving/file_base.rb +63 -0
  60. data/lib/puppet/file_serving/fileset.rb +138 -0
  61. data/lib/puppet/file_serving/indirection_hooks.rb +44 -0
  62. data/lib/puppet/file_serving/metadata.rb +69 -0
  63. data/lib/puppet/file_serving/mount.rb +186 -0
  64. data/lib/puppet/file_serving/terminus_helper.rb +19 -0
  65. data/lib/puppet/indirector.rb +68 -0
  66. data/lib/puppet/indirector/catalog/compiler.rb +173 -0
  67. data/lib/puppet/indirector/catalog/yaml.rb +24 -0
  68. data/lib/puppet/indirector/checksum/file.rb +33 -0
  69. data/lib/puppet/indirector/code.rb +6 -0
  70. data/lib/puppet/indirector/direct_file_server.rb +27 -0
  71. data/lib/puppet/indirector/exec.rb +57 -0
  72. data/lib/puppet/indirector/facts/facter.rb +65 -0
  73. data/lib/puppet/indirector/facts/memory.rb +9 -0
  74. data/lib/puppet/indirector/facts/yaml.rb +7 -0
  75. data/lib/puppet/indirector/file.rb +54 -0
  76. data/lib/puppet/indirector/file_content.rb +5 -0
  77. data/lib/puppet/indirector/file_content/file.rb +11 -0
  78. data/lib/puppet/indirector/file_content/file_server.rb +11 -0
  79. data/lib/puppet/indirector/file_content/modules.rb +11 -0
  80. data/lib/puppet/indirector/file_content/rest.rb +12 -0
  81. data/lib/puppet/indirector/file_metadata.rb +5 -0
  82. data/lib/puppet/indirector/file_metadata/file.rb +26 -0
  83. data/lib/puppet/indirector/file_metadata/file_server.rb +11 -0
  84. data/lib/puppet/indirector/file_metadata/modules.rb +17 -0
  85. data/lib/puppet/indirector/file_metadata/rest.rb +12 -0
  86. data/lib/puppet/indirector/file_server.rb +56 -0
  87. data/lib/puppet/indirector/indirection.rb +237 -0
  88. data/lib/puppet/indirector/ldap.rb +90 -0
  89. data/lib/puppet/indirector/memory.rb +21 -0
  90. data/lib/puppet/indirector/module_files.rb +82 -0
  91. data/lib/puppet/indirector/node/exec.rb +52 -0
  92. data/lib/puppet/indirector/node/ldap.rb +120 -0
  93. data/lib/puppet/indirector/node/memory.rb +10 -0
  94. data/lib/puppet/indirector/node/plain.rb +19 -0
  95. data/lib/puppet/indirector/node/rest.rb +7 -0
  96. data/lib/puppet/indirector/node/yaml.rb +7 -0
  97. data/lib/puppet/indirector/plain.rb +9 -0
  98. data/lib/puppet/indirector/report/processor.rb +50 -0
  99. data/lib/puppet/indirector/rest.rb +8 -0
  100. data/lib/puppet/indirector/ssl_rsa.rb +5 -0
  101. data/lib/puppet/indirector/ssl_rsa/file.rb +33 -0
  102. data/lib/puppet/indirector/terminus.rb +178 -0
  103. data/lib/puppet/indirector/yaml.rb +57 -0
  104. data/lib/puppet/metatype/attributes.rb +3 -3
  105. data/lib/puppet/metatype/closure.rb +0 -66
  106. data/lib/puppet/metatype/container.rb +0 -9
  107. data/lib/puppet/metatype/evaluation.rb +10 -2
  108. data/lib/puppet/metatype/instances.rb +16 -30
  109. data/lib/puppet/metatype/manager.rb +1 -2
  110. data/lib/puppet/metatype/metaparams.rb +27 -21
  111. data/lib/puppet/metatype/providers.rb +3 -2
  112. data/lib/puppet/metatype/relationships.rb +1 -2
  113. data/lib/puppet/metatype/schedules.rb +0 -1
  114. data/lib/puppet/metatype/tags.rb +0 -1
  115. data/lib/puppet/module.rb +60 -32
  116. data/lib/puppet/network/authconfig.rb +0 -1
  117. data/lib/puppet/network/authorization.rb +0 -1
  118. data/lib/puppet/network/authstore.rb +0 -1
  119. data/lib/puppet/network/client.rb +13 -4
  120. data/lib/puppet/network/client/ca.rb +4 -5
  121. data/lib/puppet/network/client/dipper.rb +0 -1
  122. data/lib/puppet/network/client/file.rb +0 -1
  123. data/lib/puppet/network/client/master.rb +127 -235
  124. data/lib/puppet/network/client/proxy.rb +0 -1
  125. data/lib/puppet/network/client/report.rb +0 -1
  126. data/lib/puppet/network/client/resource.rb +0 -1
  127. data/lib/puppet/network/client/runner.rb +0 -1
  128. data/lib/puppet/network/client/status.rb +0 -1
  129. data/lib/puppet/network/client_request.rb +0 -1
  130. data/lib/puppet/network/handler.rb +5 -2
  131. data/lib/puppet/network/handler/ca.rb +1 -2
  132. data/lib/puppet/network/handler/configuration.rb +184 -0
  133. data/lib/puppet/network/handler/filebucket.rb +1 -2
  134. data/lib/puppet/network/handler/fileserver.rb +279 -107
  135. data/lib/puppet/network/handler/master.rb +57 -152
  136. data/lib/puppet/network/handler/report.rb +6 -65
  137. data/lib/puppet/network/handler/resource.rb +5 -13
  138. data/lib/puppet/network/handler/runner.rb +3 -4
  139. data/lib/puppet/network/handler/status.rb +0 -1
  140. data/lib/puppet/network/http.rb +13 -0
  141. data/lib/puppet/network/http/handler.rb +109 -0
  142. data/lib/puppet/network/http/mongrel.rb +54 -0
  143. data/lib/puppet/network/http/mongrel/rest.rb +37 -0
  144. data/lib/puppet/network/http/mongrel/xmlrpc.rb +4 -0
  145. data/lib/puppet/network/http/webrick.rb +51 -0
  146. data/lib/puppet/network/http/webrick/rest.rb +41 -0
  147. data/lib/puppet/network/http/webrick/xmlrpc.rb +4 -0
  148. data/lib/puppet/network/http_server.rb +3 -0
  149. data/lib/puppet/network/{server → http_server}/mongrel.rb +11 -5
  150. data/lib/puppet/network/{server → http_server}/webrick.rb +9 -5
  151. data/lib/puppet/network/rest_controller.rb +2 -0
  152. data/lib/puppet/network/rights.rb +0 -1
  153. data/lib/puppet/network/server.rb +63 -3
  154. data/lib/puppet/network/xmlrpc/client.rb +90 -23
  155. data/lib/puppet/network/xmlrpc/processor.rb +0 -1
  156. data/lib/puppet/network/xmlrpc/server.rb +0 -1
  157. data/lib/puppet/network/xmlrpc/webrick_servlet.rb +0 -1
  158. data/lib/puppet/node.rb +165 -0
  159. data/lib/puppet/node/catalog.rb +480 -0
  160. data/lib/puppet/node/environment.rb +46 -0
  161. data/lib/puppet/node/facts.rb +36 -0
  162. data/lib/puppet/parameter.rb +34 -28
  163. data/lib/puppet/parser/ast.rb +0 -1
  164. data/lib/puppet/parser/ast/astarray.rb +30 -53
  165. data/lib/puppet/parser/ast/branch.rb +0 -10
  166. data/lib/puppet/parser/ast/caseopt.rb +0 -11
  167. data/lib/puppet/parser/ast/casestatement.rb +0 -12
  168. data/lib/puppet/parser/ast/collection.rb +1 -3
  169. data/lib/puppet/parser/ast/collexpr.rb +0 -2
  170. data/lib/puppet/parser/ast/{component.rb → definition.rb} +58 -72
  171. data/lib/puppet/parser/ast/else.rb +0 -10
  172. data/lib/puppet/parser/ast/function.rb +0 -2
  173. data/lib/puppet/parser/ast/hostclass.rb +21 -19
  174. data/lib/puppet/parser/ast/ifstatement.rb +0 -13
  175. data/lib/puppet/parser/ast/leaf.rb +0 -8
  176. data/lib/puppet/parser/ast/node.rb +13 -10
  177. data/lib/puppet/parser/ast/resource.rb +75 -0
  178. data/lib/puppet/parser/ast/{resourcedefaults.rb → resource_defaults.rb} +4 -20
  179. data/lib/puppet/parser/ast/{resourceoverride.rb → resource_override.rb} +3 -5
  180. data/lib/puppet/parser/ast/resource_reference.rb +66 -0
  181. data/lib/puppet/parser/ast/resourceparam.rb +0 -14
  182. data/lib/puppet/parser/ast/selector.rb +0 -10
  183. data/lib/puppet/parser/ast/tag.rb +0 -2
  184. data/lib/puppet/parser/ast/vardef.rb +0 -14
  185. data/lib/puppet/parser/collector.rb +83 -101
  186. data/lib/puppet/parser/compile.rb +509 -0
  187. data/lib/puppet/parser/functions.rb +10 -10
  188. data/lib/puppet/parser/interpreter.rb +44 -662
  189. data/lib/puppet/parser/lexer.rb +1 -3
  190. data/lib/puppet/parser/parser.rb +674 -701
  191. data/lib/puppet/parser/parser_support.rb +33 -24
  192. data/lib/puppet/parser/resource.rb +219 -162
  193. data/lib/puppet/parser/resource/param.rb +1 -2
  194. data/lib/puppet/parser/resource/reference.rb +24 -16
  195. data/lib/puppet/parser/scope.rb +48 -459
  196. data/lib/puppet/parser/templatewrapper.rb +4 -5
  197. data/lib/puppet/pgraph.rb +10 -13
  198. data/lib/puppet/property.rb +25 -41
  199. data/lib/puppet/propertychange.rb +0 -2
  200. data/lib/puppet/provider.rb +15 -11
  201. data/lib/puppet/provider/cron/crontab.rb +6 -7
  202. data/lib/puppet/provider/group/groupadd.rb +0 -1
  203. data/lib/puppet/provider/group/netinfo.rb +0 -1
  204. data/lib/puppet/provider/group/pw.rb +0 -1
  205. data/lib/puppet/provider/host/netinfo.rb +0 -1
  206. data/lib/puppet/provider/host/parsed.rb +0 -1
  207. data/lib/puppet/provider/interface/redhat.rb +90 -91
  208. data/lib/puppet/provider/interface/sunos.rb +98 -81
  209. data/lib/puppet/provider/mailalias/aliases.rb +0 -1
  210. data/lib/puppet/provider/maillist/mailman.rb +2 -3
  211. data/lib/puppet/provider/mount.rb +10 -9
  212. data/lib/puppet/provider/mount/netinfo.rb +0 -1
  213. data/lib/puppet/provider/mount/parsed.rb +0 -1
  214. data/lib/puppet/provider/nameservice.rb +0 -1
  215. data/lib/puppet/provider/nameservice/netinfo.rb +0 -1
  216. data/lib/puppet/provider/nameservice/objectadd.rb +0 -1
  217. data/lib/puppet/provider/nameservice/pw.rb +0 -1
  218. data/lib/puppet/provider/package.rb +0 -2
  219. data/lib/puppet/provider/package/appdmg.rb +0 -1
  220. data/lib/puppet/provider/package/apple.rb +0 -1
  221. data/lib/puppet/provider/package/apt.rb +0 -1
  222. data/lib/puppet/provider/package/aptitude.rb +0 -1
  223. data/lib/puppet/provider/package/aptrpm.rb +0 -1
  224. data/lib/puppet/provider/package/blastwave.rb +0 -1
  225. data/lib/puppet/provider/package/darwinport.rb +0 -1
  226. data/lib/puppet/provider/package/dpkg.rb +9 -1
  227. data/lib/puppet/provider/package/fink.rb +0 -1
  228. data/lib/puppet/provider/package/freebsd.rb +0 -1
  229. data/lib/puppet/provider/package/gem.rb +0 -1
  230. data/lib/puppet/provider/package/openbsd.rb +1 -2
  231. data/lib/puppet/provider/package/pkgdmg.rb +14 -15
  232. data/lib/puppet/provider/package/portage.rb +6 -7
  233. data/lib/puppet/provider/package/ports.rb +1 -4
  234. data/lib/puppet/provider/package/rpm.rb +31 -45
  235. data/lib/puppet/provider/package/sun.rb +0 -3
  236. data/lib/puppet/provider/package/sunfreeware.rb +0 -1
  237. data/lib/puppet/provider/package/up2date.rb +0 -1
  238. data/lib/puppet/provider/package/urpmi.rb +0 -1
  239. data/lib/puppet/provider/package/yum.rb +45 -14
  240. data/lib/puppet/provider/package/yumhelper.py +37 -0
  241. data/lib/puppet/provider/parsedfile.rb +2 -3
  242. data/lib/puppet/provider/port/parsed.rb +0 -1
  243. data/lib/puppet/provider/service/base.rb +4 -1
  244. data/lib/puppet/provider/service/debian.rb +5 -2
  245. data/lib/puppet/provider/service/freebsd.rb +51 -0
  246. data/lib/puppet/provider/service/init.rb +16 -40
  247. data/lib/puppet/provider/service/redhat.rb +1 -6
  248. data/lib/puppet/provider/service/smf.rb +0 -1
  249. data/lib/puppet/provider/sshkey/parsed.rb +0 -1
  250. data/lib/puppet/provider/user/netinfo.rb +0 -1
  251. data/lib/puppet/provider/user/pw.rb +0 -1
  252. data/lib/puppet/provider/user/useradd.rb +0 -1
  253. data/lib/puppet/provider/zone/solaris.rb +0 -1
  254. data/lib/puppet/rails.rb +35 -30
  255. data/lib/puppet/rails/database/schema.rb +0 -1
  256. data/lib/puppet/rails/host.rb +6 -15
  257. data/lib/puppet/rails/param_name.rb +1 -2
  258. data/lib/puppet/rails/param_value.rb +0 -1
  259. data/lib/puppet/rails/puppet_class.rb +0 -1
  260. data/lib/puppet/rails/resource.rb +3 -5
  261. data/lib/puppet/reference/configuration.rb +12 -6
  262. data/lib/puppet/reference/indirection.rb +34 -0
  263. data/lib/puppet/reference/node_source.rb +9 -0
  264. data/lib/puppet/relationship.rb +10 -8
  265. data/lib/puppet/reports.rb +51 -0
  266. data/lib/puppet/reports/log.rb +2 -3
  267. data/lib/puppet/reports/rrdgraph.rb +2 -5
  268. data/lib/puppet/reports/store.rb +6 -7
  269. data/lib/puppet/reports/tagmail.rb +2 -3
  270. data/lib/puppet/resource_reference.rb +79 -0
  271. data/lib/puppet/simple_graph.rb +251 -0
  272. data/lib/puppet/sslcertificates.rb +19 -15
  273. data/lib/puppet/sslcertificates/ca.rb +56 -15
  274. data/lib/puppet/sslcertificates/certificate.rb +0 -1
  275. data/lib/puppet/sslcertificates/inventory.rb +2 -6
  276. data/lib/puppet/sslcertificates/monkey_patch.rb +6 -0
  277. data/lib/puppet/sslcertificates/support.rb +4 -5
  278. data/lib/puppet/transaction.rb +93 -96
  279. data/lib/puppet/transaction/report.rb +5 -1
  280. data/lib/puppet/transportable.rb +79 -125
  281. data/lib/puppet/type.rb +44 -10
  282. data/lib/puppet/type/component.rb +25 -110
  283. data/lib/puppet/type/cron.rb +1 -2
  284. data/lib/puppet/type/exec.rb +19 -13
  285. data/lib/puppet/type/group.rb +0 -1
  286. data/lib/puppet/type/host.rb +0 -1
  287. data/lib/puppet/type/interface.rb +6 -3
  288. data/lib/puppet/type/k5login.rb +87 -0
  289. data/lib/puppet/type/mailalias.rb +0 -1
  290. data/lib/puppet/type/maillist.rb +0 -1
  291. data/lib/puppet/type/mount.rb +7 -13
  292. data/lib/puppet/type/notify.rb +0 -1
  293. data/lib/puppet/type/package.rb +7 -63
  294. data/lib/puppet/type/pfile.rb +25 -32
  295. data/lib/puppet/type/pfile/checksum.rb +0 -1
  296. data/lib/puppet/type/pfile/content.rb +18 -3
  297. data/lib/puppet/type/pfile/ensure.rb +5 -6
  298. data/lib/puppet/type/pfile/group.rb +4 -1
  299. data/lib/puppet/type/pfile/mode.rb +0 -1
  300. data/lib/puppet/type/pfile/owner.rb +6 -9
  301. data/lib/puppet/type/pfile/source.rb +28 -11
  302. data/lib/puppet/type/pfile/target.rb +2 -1
  303. data/lib/puppet/type/pfile/type.rb +0 -1
  304. data/lib/puppet/type/pfilebucket.rb +0 -1
  305. data/lib/puppet/type/port.rb +0 -1
  306. data/lib/puppet/type/resources.rb +0 -1
  307. data/lib/puppet/type/schedule.rb +17 -15
  308. data/lib/puppet/type/service.rb +23 -159
  309. data/lib/puppet/type/sshkey.rb +0 -1
  310. data/lib/puppet/type/tidy.rb +15 -7
  311. data/lib/puppet/type/user.rb +0 -1
  312. data/lib/puppet/type/zone.rb +0 -1
  313. data/lib/puppet/util.rb +1 -2
  314. data/lib/puppet/util/autoload.rb +21 -23
  315. data/lib/puppet/util/checksums.rb +37 -0
  316. data/lib/puppet/util/classgen.rb +0 -1
  317. data/lib/puppet/util/diff.rb +71 -0
  318. data/lib/puppet/util/docs.rb +8 -2
  319. data/lib/puppet/util/errors.rb +0 -1
  320. data/lib/puppet/util/execution.rb +0 -1
  321. data/lib/puppet/util/fact_store.rb +0 -1
  322. data/lib/puppet/util/feature.rb +31 -22
  323. data/lib/puppet/util/fileparsing.rb +3 -2
  324. data/lib/puppet/util/filetype.rb +30 -12
  325. data/lib/puppet/util/graph.rb +0 -1
  326. data/lib/puppet/util/inifile.rb +0 -1
  327. data/lib/puppet/util/instance_loader.rb +11 -4
  328. data/lib/puppet/util/loadedfile.rb +0 -1
  329. data/lib/puppet/util/log.rb +0 -1
  330. data/lib/puppet/util/log_paths.rb +0 -1
  331. data/lib/puppet/util/logging.rb +0 -1
  332. data/lib/puppet/util/metaid.rb +0 -1
  333. data/lib/puppet/util/methodhelper.rb +0 -2
  334. data/lib/puppet/util/metric.rb +1 -2
  335. data/lib/puppet/util/plist.rb +0 -1
  336. data/lib/puppet/util/plist/generator.rb +0 -1
  337. data/lib/puppet/util/plist/parser.rb +0 -1
  338. data/lib/puppet/util/posix.rb +7 -1
  339. data/lib/puppet/util/provider_features.rb +11 -12
  340. data/lib/puppet/util/rails/collection_merger.rb +0 -1
  341. data/lib/puppet/util/reference.rb +2 -3
  342. data/lib/puppet/util/{config.rb → settings.rb} +424 -300
  343. data/lib/puppet/util/storage.rb +1 -3
  344. data/lib/puppet/util/subclass_loader.rb +0 -1
  345. data/lib/puppet/util/suidmanager.rb +25 -42
  346. data/lib/puppet/util/uri_helper.rb +22 -0
  347. data/lib/puppet/util/variables.rb +0 -1
  348. data/lib/puppet/util/warnings.rb +0 -1
  349. data/test/Rakefile +1 -1
  350. data/test/certmgr/ca.rb +8 -2
  351. data/test/certmgr/certmgr.rb +14 -6
  352. data/test/certmgr/inventory.rb +18 -30
  353. data/test/certmgr/support.rb +3 -2
  354. data/test/executables/filebucket.rb +1 -2
  355. data/test/executables/puppetbin.rb +1 -2
  356. data/test/executables/puppetca.rb +7 -2
  357. data/test/executables/puppetd.rb +23 -29
  358. data/test/executables/puppetmasterd.rb +1 -2
  359. data/test/executables/puppetmodule.rb +1 -2
  360. data/test/language/ast.rb +24 -29
  361. data/test/language/ast/casestatement.rb +1 -2
  362. data/test/language/ast/definition.rb +166 -0
  363. data/test/language/ast/hostclass.rb +50 -29
  364. data/test/language/ast/resource.rb +59 -0
  365. data/test/language/ast/{resourceref.rb → resource_reference.rb} +30 -20
  366. data/test/language/ast/selector.rb +1 -2
  367. data/test/language/ast/variable.rb +1 -2
  368. data/test/language/compile.rb +569 -0
  369. data/test/language/functions.rb +57 -76
  370. data/test/language/lexer.rb +20 -3
  371. data/test/language/parser.rb +45 -33
  372. data/test/language/resource.rb +275 -308
  373. data/test/language/scope.rb +135 -410
  374. data/test/language/snippets.rb +19 -41
  375. data/test/language/transportable.rb +8 -29
  376. data/test/lib/mocha/auto_verify.rb +6 -6
  377. data/test/lib/mocha/deprecation.rb +22 -0
  378. data/test/lib/mocha/exception_raiser.rb +17 -0
  379. data/test/lib/mocha/expectation.rb +167 -84
  380. data/test/lib/mocha/infinite_range.rb +4 -6
  381. data/test/lib/mocha/inspect.rb +3 -1
  382. data/test/lib/mocha/is_a.rb +9 -0
  383. data/test/lib/mocha/missing_expectation.rb +27 -0
  384. data/test/lib/mocha/mock.rb +192 -5
  385. data/test/lib/mocha/multiple_yields.rb +20 -0
  386. data/test/lib/mocha/no_yields.rb +11 -0
  387. data/test/lib/mocha/object.rb +11 -1
  388. data/test/lib/mocha/parameter_matchers.rb +9 -0
  389. data/test/lib/mocha/parameter_matchers/all_of.rb +39 -0
  390. data/test/lib/mocha/parameter_matchers/any_of.rb +44 -0
  391. data/test/lib/mocha/parameter_matchers/anything.rb +30 -0
  392. data/test/lib/mocha/parameter_matchers/has_entry.rb +39 -0
  393. data/test/lib/mocha/parameter_matchers/has_key.rb +39 -0
  394. data/test/lib/mocha/parameter_matchers/has_value.rb +39 -0
  395. data/test/lib/mocha/parameter_matchers/includes.rb +37 -0
  396. data/test/lib/mocha/return_values.rb +31 -0
  397. data/test/lib/mocha/single_return_value.rb +24 -0
  398. data/test/lib/mocha/single_yield.rb +18 -0
  399. data/test/lib/mocha/standalone.rb +2 -0
  400. data/test/lib/mocha/stub.rb +18 -0
  401. data/test/lib/mocha/test_case_adapter.rb +3 -3
  402. data/test/lib/mocha/yield_parameters.rb +31 -0
  403. data/test/lib/puppettest.rb +38 -20
  404. data/test/lib/puppettest/certificates.rb +0 -1
  405. data/test/lib/puppettest/exetest.rb +0 -1
  406. data/test/lib/puppettest/fakes.rb +0 -1
  407. data/test/lib/puppettest/fileparsing.rb +8 -15
  408. data/test/lib/puppettest/filetesting.rb +0 -1
  409. data/test/lib/puppettest/parsertesting.rb +37 -23
  410. data/test/lib/puppettest/railstesting.rb +3 -6
  411. data/test/lib/puppettest/reporttesting.rb +0 -1
  412. data/test/lib/puppettest/resourcetesting.rb +6 -34
  413. data/test/lib/puppettest/runnable_test.rb +30 -0
  414. data/test/lib/puppettest/servertest.rb +2 -3
  415. data/test/lib/puppettest/support/assertions.rb +13 -41
  416. data/test/lib/puppettest/support/collection.rb +0 -1
  417. data/test/lib/puppettest/support/helpers.rb +0 -1
  418. data/test/lib/puppettest/support/resources.rb +17 -17
  419. data/test/lib/puppettest/support/utils.rb +45 -27
  420. data/test/lib/puppettest/testcase.rb +2 -21
  421. data/test/lib/rake/puppet_test_loader.rb +0 -1
  422. data/test/lib/rake/puppet_testtask.rb +0 -1
  423. data/test/network/authconfig.rb +1 -2
  424. data/test/network/authorization.rb +1 -2
  425. data/test/network/authstore.rb +1 -2
  426. data/test/network/client/ca.rb +12 -7
  427. data/test/network/client/client.rb +17 -22
  428. data/test/network/client/dipper.rb +1 -2
  429. data/test/network/client/master.rb +70 -184
  430. data/test/network/client/resource.rb +9 -2
  431. data/test/network/client_request.rb +1 -2
  432. data/test/network/daemon.rb +1 -2
  433. data/test/network/handler/bucket.rb +2 -31
  434. data/test/network/handler/ca.rb +9 -3
  435. data/test/network/handler/configuration.rb +160 -0
  436. data/test/network/handler/fileserver.rb +24 -5
  437. data/test/network/handler/handler.rb +1 -2
  438. data/test/network/handler/master.rb +38 -243
  439. data/test/network/handler/report.rb +2 -104
  440. data/test/network/handler/resource.rb +5 -3
  441. data/test/network/handler/runner.rb +22 -60
  442. data/test/network/rights.rb +1 -2
  443. data/test/network/server/mongrel_test.rb +2 -3
  444. data/test/network/server/webrick.rb +17 -11
  445. data/test/network/xmlrpc/client.rb +27 -12
  446. data/test/network/xmlrpc/processor.rb +3 -4
  447. data/test/network/xmlrpc/server.rb +1 -2
  448. data/test/network/xmlrpc/webrick_servlet.rb +8 -2
  449. data/test/other/dsl.rb +2 -4
  450. data/test/other/events.rb +14 -56
  451. data/test/other/overrides.rb +3 -6
  452. data/test/other/propertychange.rb +1 -2
  453. data/test/other/provider.rb +1 -2
  454. data/test/other/puppet.rb +1 -2
  455. data/test/other/relationships.rb +15 -17
  456. data/test/other/report.rb +14 -20
  457. data/test/other/transactions.rb +109 -192
  458. data/test/puppet/conffiles.rb +3 -5
  459. data/test/puppet/defaults.rb +1 -28
  460. data/test/puppet/errortest.rb +1 -2
  461. data/test/puppet/tc_suidmanager.rb +77 -63
  462. data/test/rails/ast.rb +4 -4
  463. data/test/rails/configuration.rb +71 -0
  464. data/test/rails/host.rb +19 -30
  465. data/test/rails/rails.rb +1 -2
  466. data/test/rails/railsparameter.rb +3 -4
  467. data/test/rails/railsresource.rb +6 -5
  468. data/test/ral/manager/attributes.rb +1 -2
  469. data/test/ral/manager/instances.rb +3 -3
  470. data/test/ral/manager/manager.rb +1 -2
  471. data/test/ral/manager/provider.rb +1 -2
  472. data/test/ral/manager/type.rb +89 -93
  473. data/test/ral/providers/cron/crontab.rb +9 -11
  474. data/test/ral/providers/group.rb +1 -2
  475. data/test/ral/providers/host/netinfo.rb +1 -2
  476. data/test/ral/providers/host/parsed.rb +1 -2
  477. data/test/ral/providers/mailalias/aliases.rb +1 -2
  478. data/test/ral/providers/mount/netinfo.rb +1 -2
  479. data/test/ral/providers/nameservice.rb +1 -2
  480. data/test/ral/providers/package.rb +5 -4
  481. data/test/ral/providers/package/apt.rb +0 -1
  482. data/test/ral/providers/package/aptrpm.rb +0 -1
  483. data/test/ral/providers/parsedfile.rb +1 -2
  484. data/test/ral/providers/port/parsed.rb +1 -2
  485. data/test/ral/providers/provider.rb +10 -5
  486. data/test/ral/providers/service/base.rb +1 -2
  487. data/test/ral/providers/service/debian.rb +58 -0
  488. data/test/ral/providers/sshkey/parsed.rb +1 -2
  489. data/test/ral/providers/user.rb +3 -2
  490. data/test/ral/providers/user/useradd.rb +0 -1
  491. data/test/ral/types/basic.rb +4 -9
  492. data/test/ral/types/cron.rb +6 -12
  493. data/test/ral/types/exec.rb +6 -7
  494. data/test/ral/types/file.rb +35 -14
  495. data/test/ral/types/file/target.rb +6 -5
  496. data/test/ral/types/filebucket.rb +3 -2
  497. data/test/ral/types/fileignoresource.rb +10 -42
  498. data/test/ral/types/filesources.rb +21 -60
  499. data/test/ral/types/group.rb +3 -3
  500. data/test/ral/types/host.rb +6 -3
  501. data/test/ral/types/mailalias.rb +1 -2
  502. data/test/ral/types/parameter.rb +5 -3
  503. data/test/ral/types/port.rb +1 -2
  504. data/test/ral/types/property.rb +3 -3
  505. data/test/ral/types/resources.rb +1 -2
  506. data/test/ral/types/service.rb +5 -3
  507. data/test/ral/types/sshkey.rb +5 -3
  508. data/test/ral/types/tidy.rb +63 -3
  509. data/test/ral/types/user.rb +10 -11
  510. data/test/ral/types/yumrepo.rb +1 -1
  511. data/test/ral/types/zone.rb +1 -2
  512. data/test/util/autoload.rb +23 -27
  513. data/test/util/classgen.rb +1 -2
  514. data/test/util/execution.rb +1 -2
  515. data/test/util/features.rb +1 -3
  516. data/test/util/fileparsing.rb +11 -3
  517. data/test/util/filetype.rb +1 -2
  518. data/test/util/inifile.rb +1 -1
  519. data/test/util/instance_loader.rb +5 -6
  520. data/test/util/loadedfile.rb +1 -2
  521. data/test/util/log.rb +1 -2
  522. data/test/util/metrics.rb +1 -2
  523. data/test/util/package.rb +1 -2
  524. data/test/util/posixtest.rb +1 -2
  525. data/test/util/{config.rb → settings.rb} +123 -265
  526. data/test/util/storage.rb +1 -2
  527. data/test/util/subclass_loader.rb +1 -2
  528. data/test/util/utiltest.rb +1 -111
  529. metadata +130 -112
  530. data/ext/tools/passwd2puppet +0 -45
  531. data/lib/puppet/fact_stores/yaml.rb +0 -42
  532. data/lib/puppet/network/handler/facts.rb +0 -70
  533. data/lib/puppet/parser/ast/resourcedef.rb +0 -222
  534. data/lib/puppet/parser/ast/resourceref.rb +0 -58
  535. data/test/language/ast/component.rb +0 -142
  536. data/test/language/collector.rb +0 -179
  537. data/test/language/interpreter.rb +0 -804
  538. data/test/language/node.rb +0 -126
  539. data/test/lib/mocha/mock_methods.rb +0 -122
  540. data/test/lib/puppettest/graph.rb +0 -41
  541. data/test/lib/spec.rb +0 -8
  542. data/test/lib/spec/callback.rb +0 -11
  543. data/test/lib/spec/callback/callback_container.rb +0 -60
  544. data/test/lib/spec/callback/extensions/module.rb +0 -24
  545. data/test/lib/spec/callback/extensions/object.rb +0 -37
  546. data/test/lib/spec/deprecated.rb +0 -3
  547. data/test/lib/spec/expectations.rb +0 -59
  548. data/test/lib/spec/expectations/differs/default.rb +0 -62
  549. data/test/lib/spec/expectations/errors.rb +0 -6
  550. data/test/lib/spec/expectations/extensions.rb +0 -3
  551. data/test/lib/spec/expectations/extensions/object.rb +0 -109
  552. data/test/lib/spec/expectations/extensions/proc.rb +0 -57
  553. data/test/lib/spec/expectations/extensions/string_and_symbol.rb +0 -17
  554. data/test/lib/spec/expectations/handler.rb +0 -47
  555. data/test/lib/spec/expectations/should.rb +0 -5
  556. data/test/lib/spec/expectations/should/base.rb +0 -64
  557. data/test/lib/spec/expectations/should/change.rb +0 -69
  558. data/test/lib/spec/expectations/should/have.rb +0 -128
  559. data/test/lib/spec/expectations/should/not.rb +0 -74
  560. data/test/lib/spec/expectations/should/should.rb +0 -81
  561. data/test/lib/spec/expectations/sugar.rb +0 -47
  562. data/test/lib/spec/matchers.rb +0 -160
  563. data/test/lib/spec/matchers/be.rb +0 -161
  564. data/test/lib/spec/matchers/be_close.rb +0 -37
  565. data/test/lib/spec/matchers/change.rb +0 -120
  566. data/test/lib/spec/matchers/eql.rb +0 -43
  567. data/test/lib/spec/matchers/equal.rb +0 -43
  568. data/test/lib/spec/matchers/has.rb +0 -44
  569. data/test/lib/spec/matchers/have.rb +0 -140
  570. data/test/lib/spec/matchers/include.rb +0 -50
  571. data/test/lib/spec/matchers/match.rb +0 -41
  572. data/test/lib/spec/matchers/raise_error.rb +0 -100
  573. data/test/lib/spec/matchers/respond_to.rb +0 -35
  574. data/test/lib/spec/matchers/satisfy.rb +0 -47
  575. data/test/lib/spec/matchers/throw_symbol.rb +0 -75
  576. data/test/lib/spec/mocks.rb +0 -232
  577. data/test/lib/spec/mocks/argument_expectation.rb +0 -132
  578. data/test/lib/spec/mocks/error_generator.rb +0 -85
  579. data/test/lib/spec/mocks/errors.rb +0 -10
  580. data/test/lib/spec/mocks/extensions/object.rb +0 -3
  581. data/test/lib/spec/mocks/message_expectation.rb +0 -231
  582. data/test/lib/spec/mocks/methods.rb +0 -40
  583. data/test/lib/spec/mocks/mock.rb +0 -26
  584. data/test/lib/spec/mocks/mock_handler.rb +0 -166
  585. data/test/lib/spec/mocks/order_group.rb +0 -29
  586. data/test/lib/spec/rake/spectask.rb +0 -173
  587. data/test/lib/spec/rake/verify_rcov.rb +0 -47
  588. data/test/lib/spec/runner.rb +0 -132
  589. data/test/lib/spec/runner/backtrace_tweaker.rb +0 -55
  590. data/test/lib/spec/runner/command_line.rb +0 -34
  591. data/test/lib/spec/runner/context.rb +0 -154
  592. data/test/lib/spec/runner/context_eval.rb +0 -142
  593. data/test/lib/spec/runner/context_runner.rb +0 -55
  594. data/test/lib/spec/runner/drb_command_line.rb +0 -21
  595. data/test/lib/spec/runner/execution_context.rb +0 -17
  596. data/test/lib/spec/runner/extensions/kernel.rb +0 -17
  597. data/test/lib/spec/runner/extensions/object.rb +0 -32
  598. data/test/lib/spec/runner/formatter.rb +0 -5
  599. data/test/lib/spec/runner/formatter/base_text_formatter.rb +0 -118
  600. data/test/lib/spec/runner/formatter/html_formatter.rb +0 -219
  601. data/test/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -27
  602. data/test/lib/spec/runner/formatter/rdoc_formatter.rb +0 -22
  603. data/test/lib/spec/runner/formatter/specdoc_formatter.rb +0 -23
  604. data/test/lib/spec/runner/heckle_runner.rb +0 -71
  605. data/test/lib/spec/runner/heckle_runner_win.rb +0 -10
  606. data/test/lib/spec/runner/option_parser.rb +0 -224
  607. data/test/lib/spec/runner/reporter.rb +0 -105
  608. data/test/lib/spec/runner/spec_matcher.rb +0 -25
  609. data/test/lib/spec/runner/spec_parser.rb +0 -41
  610. data/test/lib/spec/runner/spec_should_raise_handler.rb +0 -74
  611. data/test/lib/spec/runner/specification.rb +0 -114
  612. data/test/lib/spec/translator.rb +0 -87
  613. data/test/lib/spec/version.rb +0 -30
  614. data/test/network/handler/facts.rb +0 -112
  615. data/test/other/pgraph.rb +0 -290
  616. data/test/other/relationship.rb +0 -74
  617. data/test/puppet/modules.rb +0 -59
  618. data/test/rails/collection.rb +0 -247
  619. data/test/rails/interpreter.rb +0 -91
  620. data/test/ral/providers/mount/parsed.rb +0 -251
  621. data/test/ral/providers/service.rb +0 -235
  622. data/test/ral/types/component.rb +0 -113
  623. data/test/ral/types/interface.rb +0 -40
  624. data/test/ral/types/mount.rb +0 -362
  625. data/test/ral/types/package.rb +0 -154
  626. data/test/ral/types/schedule.rb +0 -357
  627. data/test/tagging/tagging.rb +0 -170
  628. data/test/util/fact_store.rb +0 -67
  629. data/test/util/graph.rb +0 -108
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- $:.unshift("../lib").unshift("../../lib") if __FILE__ =~ /\.rb$/
3
+ require File.dirname(__FILE__) + '/../lib/puppettest'
4
4
 
5
5
  require 'puppet'
6
6
  require 'puppet/rails'
@@ -24,4 +24,3 @@ class TestRails < Test::Unit::TestCase
24
24
  end
25
25
  end
26
26
 
27
- # $Id: rails.rb 2179 2007-02-08 01:39:39Z luke $
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- $:.unshift("../lib").unshift("../../lib") if __FILE__ =~ /\.rb$/
3
+ require File.dirname(__FILE__) + '/../lib/puppettest'
4
4
 
5
5
  require 'puppet'
6
6
  require 'puppet/rails'
@@ -21,8 +21,8 @@ class TestRailsParameter < Test::Unit::TestCase
21
21
  railsinit
22
22
 
23
23
  # Now create a source
24
- interp = mkinterp
25
- source = interp.newclass "myclass"
24
+ parser = mkparser
25
+ source = parser.newclass "myclass"
26
26
 
27
27
  host = Puppet::Rails::Host.new(:name => "myhost")
28
28
 
@@ -70,4 +70,3 @@ else
70
70
  $stderr.puts "Install Rails for Rails and Caching tests"
71
71
  end
72
72
 
73
- # $Id: railsparameter.rb 2565 2007-06-12 00:31:16Z ballman $
@@ -1,18 +1,20 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- $:.unshift("../lib").unshift("../../lib") if __FILE__ =~ /\.rb$/
3
+ require File.dirname(__FILE__) + '/../lib/puppettest'
4
4
 
5
5
  require 'puppet'
6
6
  require 'puppet/rails'
7
7
  require 'puppettest'
8
8
  require 'puppettest/railstesting'
9
9
  require 'puppettest/resourcetesting'
10
+ require 'puppettest/parsertesting'
10
11
 
11
12
  # Don't do any tests w/out this class
12
13
  if Puppet.features.rails?
13
14
  class TestRailsResource < Test::Unit::TestCase
14
15
  include PuppetTest::RailsTesting
15
16
  include PuppetTest::ResourceTesting
17
+ include PuppetTest::ParserTesting
16
18
 
17
19
  def setup
18
20
  super
@@ -55,7 +57,7 @@ class TestRailsResource < Test::Unit::TestCase
55
57
  resource = mktest_resource
56
58
 
57
59
  # We need a scope
58
- interp, scope, source = mkclassframing
60
+ scope = mkscope
59
61
 
60
62
  # Find the new resource and include all it's parameters.
61
63
  resource = Puppet::Rails::Resource.find_by_id(resource.id)
@@ -69,7 +71,7 @@ class TestRailsResource < Test::Unit::TestCase
69
71
  assert_equal("root", res[:owner])
70
72
  assert_equal("644", res[:mode])
71
73
  assert_equal("/tmp/to_resource", res.title)
72
- assert_equal(source, res.source)
74
+ assert_equal(scope.source, res.source)
73
75
  end
74
76
 
75
77
  def test_parameters
@@ -111,7 +113,7 @@ class TestExportedResources < PuppetTest::TestCase
111
113
  def setup
112
114
  super
113
115
  Puppet[:trace] = false
114
- @interp, @scope, @source = mkclassframing
116
+ @scope = mkscope
115
117
  end
116
118
 
117
119
  confine "Missing rails support" => Puppet.features.rails?
@@ -245,5 +247,4 @@ class TestExportedResources < PuppetTest::TestCase
245
247
  end
246
248
  end
247
249
 
248
- # $Id: railsresource.rb 2706 2007-07-18 19:47:09Z luke $
249
250
 
@@ -3,7 +3,7 @@
3
3
  # Created by Luke A. Kanies on 2007-02-05.
4
4
  # Copyright (c) 2007. All rights reserved.
5
5
 
6
- $:.unshift("../../lib") if __FILE__ =~ /\.rb$/
6
+ require File.dirname(__FILE__) + '/../../lib/puppettest'
7
7
 
8
8
  require 'puppettest'
9
9
  require 'mocha'
@@ -349,4 +349,3 @@ class TestTypeAttributes < Test::Unit::TestCase
349
349
  end
350
350
  end
351
351
 
352
- # $Id: attributes.rb 2684 2007-07-12 16:39:47Z luke $
@@ -3,7 +3,7 @@
3
3
  # Created by Luke A. Kanies on 2007-06-10.
4
4
  # Copyright (c) 2007. All rights reserved.
5
5
 
6
- $:.unshift("../../lib") if __FILE__ =~ /\.rb$/
6
+ require File.dirname(__FILE__) + '/../../lib/puppettest'
7
7
 
8
8
  require 'puppettest'
9
9
 
@@ -93,7 +93,8 @@ class TestTypeInstances < Test::Unit::TestCase
93
93
  # Make sure resources are entirely deleted.
94
94
  def test_delete
95
95
  aliases = %w{one}
96
- obj = @type.create(:name => "testing", :alias => "two")
96
+ catalog = mk_catalog
97
+ obj = @type.create(:name => "testing", :alias => "two", :catalog => catalog)
97
98
  aliases << "two"
98
99
 
99
100
  @type.alias("two", obj)
@@ -106,4 +107,3 @@ class TestTypeInstances < Test::Unit::TestCase
106
107
  end
107
108
  end
108
109
 
109
- # $Id: instances.rb 2718 2007-07-19 22:12:51Z luke $
@@ -3,7 +3,7 @@
3
3
  # Created by Luke A. Kanies on 2006-11-29.
4
4
  # Copyright (c) 2006. All rights reserved.
5
5
 
6
- $:.unshift("../../lib") if __FILE__ =~ /\.rb$/
6
+ require File.dirname(__FILE__) + '/../../lib/puppettest'
7
7
 
8
8
  require 'puppettest'
9
9
 
@@ -52,4 +52,3 @@ class TestTypeManager < Test::Unit::TestCase
52
52
  end
53
53
  end
54
54
 
55
- # $Id: manager.rb 2169 2007-02-07 06:47:10Z luke $
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- $:.unshift("../../lib") if __FILE__ =~ /\.rb$/
3
+ require File.dirname(__FILE__) + '/../../lib/puppettest'
4
4
 
5
5
  require 'puppettest'
6
6
  require 'mocha'
@@ -89,4 +89,3 @@ class TestTypeProviders < Test::Unit::TestCase
89
89
  end
90
90
  end
91
91
 
92
- # $Id: provider.rb 2552 2007-06-05 01:17:00Z luke $
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- $:.unshift("../../lib") if __FILE__ =~ /\.rb$/
3
+ require File.dirname(__FILE__) + '/../../lib/puppettest'
4
4
 
5
5
  require 'puppettest'
6
6
  require 'mocha'
@@ -131,27 +131,60 @@ class TestType < Test::Unit::TestCase
131
131
  }
132
132
  end
133
133
 
134
- # Verify that aliasing works
135
- def test_aliasing
136
- file = tempfile()
134
+ def test_aliases_to_self_are_not_failures
135
+ resource = Puppet.type(:file).create(
136
+ :name => "/path/to/some/missing/file",
137
+ :ensure => "file"
138
+ )
139
+ resource.stubs(:path).returns("")
137
140
 
138
- baseobj = nil
139
- assert_nothing_raised {
140
- baseobj = Puppet.type(:file).create(
141
- :name => file,
142
- :ensure => "file",
143
- :alias => ["funtest"]
144
- )
145
- }
141
+ catalog = stub 'catalog'
142
+ catalog.expects(:resource).with(:file, "/path/to/some/missing/file").returns(resource)
143
+ resource.catalog = catalog
146
144
 
147
145
  # Verify our adding ourselves as an alias isn't an error.
148
- assert_nothing_raised {
149
- baseobj[:alias] = file
146
+ assert_nothing_raised("Could not add alias") {
147
+ resource[:alias] = "/path/to/some/missing/file"
148
+ }
149
+
150
+ assert_equal(resource.object_id, Puppet.type(:file)["/path/to/some/missing/file"].object_id, "Could not retrieve alias to self")
151
+ end
152
+
153
+ def test_aliases_are_added_to_class_and_catalog
154
+ resource = Puppet.type(:file).create(
155
+ :name => "/path/to/some/missing/file",
156
+ :ensure => "file"
157
+ )
158
+ resource.stubs(:path).returns("")
159
+
160
+ catalog = stub 'catalog'
161
+ catalog.stubs(:resource).returns(nil)
162
+ catalog.expects(:alias).with(resource, "funtest")
163
+ resource.catalog = catalog
164
+
165
+ assert_nothing_raised("Could not add alias") {
166
+ resource[:alias] = "funtest"
150
167
  }
151
168
 
152
- assert_instance_of(Puppet.type(:file), Puppet.type(:file)["funtest"],
153
- "Could not retrieve alias")
169
+ assert_equal(resource.object_id, Puppet.type(:file)["funtest"].object_id, "Could not retrieve alias")
170
+ end
171
+
172
+ def test_aliasing_fails_without_a_catalog
173
+ resource = Puppet.type(:file).create(
174
+ :name => "/no/such/file",
175
+ :ensure => "file"
176
+ )
177
+
178
+ assert_raise(Puppet::Error, "Did not fail to alias when no catalog was available") {
179
+ resource[:alias] = "funtest"
180
+ }
181
+ end
154
182
 
183
+ def test_catalogs_are_set_during_initialization_if_present_on_the_transobject
184
+ trans = Puppet::TransObject.new("/path/to/some/file", :file)
185
+ trans.catalog = :my_config
186
+ resource = trans.to_type
187
+ assert_equal(resource.catalog, trans.catalog, "Did not set catalog on initialization")
155
188
  end
156
189
 
157
190
  # Verify that requirements don't depend on file order
@@ -174,7 +207,7 @@ class TestType < Test::Unit::TestCase
174
207
  )
175
208
  }
176
209
 
177
- comp = newcomp(twoobj, oneobj)
210
+ comp = mk_catalog(twoobj, oneobj)
178
211
 
179
212
  assert_nothing_raised {
180
213
  comp.finalize
@@ -246,76 +279,6 @@ class TestType < Test::Unit::TestCase
246
279
  # and make sure managed objects start with them
247
280
  assert(user.property(:ensure), "User did not get an ensure property")
248
281
  end
249
-
250
- # Make sure removal works
251
- def test_remove
252
- objects = {}
253
- top = Puppet.type(:component).create(:name => "top")
254
- objects[top.class] = top
255
-
256
- base = tempfile()
257
-
258
- # now make a two-tier, 5 piece tree
259
- %w{a b}.each do |letter|
260
- name = "comp%s" % letter
261
- comp = Puppet.type(:component).create(:name => name)
262
- top.push comp
263
- objects[comp.class] = comp
264
-
265
- 5.times do |i|
266
- file = base + letter + i.to_s
267
-
268
- obj = Puppet.type(:file).create(:name => file, :ensure => "file")
269
-
270
- comp.push obj
271
- objects[obj.class] = obj
272
- end
273
- end
274
-
275
- assert_nothing_raised do
276
- top.remove
277
- end
278
-
279
- objects.each do |klass, obj|
280
- assert_nil(klass[obj.name], "object %s was not removed" % obj.name)
281
- end
282
- end
283
-
284
- # Verify that objects can't be their own children.
285
- def test_object_recursion
286
- comp = Puppet.type(:component).create(:name => "top")
287
-
288
- file = Puppet.type(:component).create(:name => "middle")
289
-
290
- assert_raise(Puppet::DevError) do
291
- comp.push(comp)
292
- end
293
-
294
- assert_raise(Puppet::DevError) do
295
- file.push(file)
296
- end
297
-
298
- assert_raise(Puppet::DevError) do
299
- comp.parent = comp
300
- end
301
-
302
- assert_raise(Puppet::DevError) do
303
- file.parent = file
304
- end
305
-
306
- assert_nothing_raised {
307
- comp.push(file)
308
- }
309
-
310
- assert_raise(Puppet::DevError) do
311
- file.push(comp)
312
- end
313
-
314
- assert_raise(Puppet::DevError) do
315
- comp.parent = file
316
- end
317
- end
318
-
319
282
  def test_newtype_methods
320
283
  assert_nothing_raised {
321
284
  Puppet::Type.newtype(:mytype) do
@@ -732,12 +695,22 @@ class TestType < Test::Unit::TestCase
732
695
  end
733
696
 
734
697
  def test_path
698
+ config = mk_catalog
699
+
735
700
  # Check that our paths are built correctly. Just pick a random, "normal" type.
736
701
  type = Puppet::Type.type(:exec)
737
702
  mk = Proc.new do |i, hash|
738
703
  hash[:title] = "exec%s" % i
739
704
  hash[:command] = "/bin/echo"
740
- type.create(hash)
705
+ if parent = hash[:parent]
706
+ hash.delete(:parent)
707
+ end
708
+ res = type.create(hash)
709
+ config.add_resource res
710
+ if parent
711
+ config.add_edge!(parent, res)
712
+ end
713
+ res
741
714
  end
742
715
 
743
716
  exec = mk.call(1, {})
@@ -745,25 +718,31 @@ class TestType < Test::Unit::TestCase
745
718
  assert_equal("/Exec[exec1]", exec.path)
746
719
 
747
720
  comp = Puppet::Type.newcomponent :title => "My[component]", :type => "Yay"
721
+ config.add_resource comp
748
722
 
749
723
  exec = mk.call(2, :parent => comp)
750
724
 
751
725
  assert_equal("/My[component]/Exec[exec2]", exec.path)
752
726
 
753
727
  comp = Puppet::Type.newcomponent :name => "Other[thing]"
728
+ config.add_resource comp
754
729
  exec = mk.call(3, :parent => comp)
755
730
  assert_equal("/Other[thing]/Exec[exec3]", exec.path)
756
731
 
757
732
  comp = Puppet::Type.newcomponent :type => "server", :name => "server"
733
+ config.add_resource comp
758
734
  exec = mk.call(4, :parent => comp)
759
735
  assert_equal("/server/Exec[exec4]", exec.path)
760
736
 
761
- comp = Puppet::Type.newcomponent :type => "whatever", :name => "main[top]"
737
+ comp = Puppet::Type.newcomponent :type => "whatever", :name => "class[main]"
738
+ config.add_resource comp
762
739
  exec = mk.call(5, :parent => comp)
763
740
  assert_equal("//Exec[exec5]", exec.path)
764
741
 
765
- comp = Puppet::Type.newcomponent :type => "yay", :name => "Good[bad]", :parent => comp
766
- exec = mk.call(6, :parent => comp)
742
+ newcomp = Puppet::Type.newcomponent :type => "yay", :name => "Good[bad]"
743
+ config.add_resource newcomp
744
+ config.add_edge! comp, newcomp
745
+ exec = mk.call(6, :parent => newcomp)
767
746
  assert_equal("//Good[bad]/Exec[exec6]", exec.path)
768
747
  end
769
748
 
@@ -815,6 +794,23 @@ class TestType < Test::Unit::TestCase
815
794
  end
816
795
  end
817
796
  end
818
- end
819
797
 
820
- # $Id: type.rb 2683 2007-07-12 16:04:34Z luke $
798
+ # #801 -- resources only checked in noop should be rescheduled immediately.
799
+ def test_reschedule_when_noop
800
+ Puppet::Type.type(:schedule).mkdefaultschedules
801
+ file = Puppet::Type.type(:file).create(:path => "/tmp/whatever", :mode => "755", :noop => true, :schedule => :daily, :ensure => :file)
802
+
803
+ assert(file.noop?, "File not considered in noop")
804
+ assert(file.scheduled?, "File is not considered scheduled")
805
+
806
+ file.evaluate
807
+
808
+ assert_nil(file.cached(:checked), "Stored a checked time when running in noop mode when there were changes")
809
+ file.cache(:checked, nil)
810
+
811
+ file.stubs(:propertychanges).returns([])
812
+
813
+ file.evaluate
814
+ assert_instance_of(Time, file.cached(:checked), "Did not store a checked time when running in noop mode when there were no changes")
815
+ end
816
+ end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- $:.unshift("../../../lib") if __FILE__ =~ /\.rb$/
3
+ require File.dirname(__FILE__) + '/../../../lib/puppettest'
4
4
 
5
5
  require 'puppettest'
6
6
  require 'mocha'
@@ -52,7 +52,6 @@ class TestCronParsedProvider < Test::Unit::TestCase
52
52
 
53
53
  def teardown
54
54
  Puppet::Util::FileType.filetype(:ram).clear
55
- @provider.filetype = @oldfiletype
56
55
  @provider.clear
57
56
  super
58
57
  end
@@ -211,7 +210,7 @@ class TestCronParsedProvider < Test::Unit::TestCase
211
210
  # Take our sample files, and make sure we can entirely parse them,
212
211
  # then that we can generate them again and we get the same data.
213
212
  def test_parse_and_generate_sample_files
214
- @provider.filetype = :ram
213
+ @provider.stubs(:filetype).returns(Puppet::Util::FileType.filetype(:ram))
215
214
  crondir = datadir(File.join(%w{providers cron}))
216
215
  files = Dir.glob("%s/crontab.*" % crondir)
217
216
 
@@ -306,7 +305,7 @@ class TestCronParsedProvider < Test::Unit::TestCase
306
305
  str = "# this is a comment\n#and another comment\n"
307
306
  user = "fakeuser"
308
307
  records = nil
309
- target = @provider.filetype = :ram
308
+ @provider.stubs(:filetype).returns(Puppet::Util::FileType.filetype(:ram))
310
309
  target = @provider.target_object(user)
311
310
  target.write(str)
312
311
  assert_nothing_raised {
@@ -320,7 +319,7 @@ class TestCronParsedProvider < Test::Unit::TestCase
320
319
  end
321
320
 
322
321
  def test_simpleparsing
323
- @provider.filetype = :ram
322
+ @provider.stubs(:filetype).returns(Puppet::Util::FileType.filetype(:ram))
324
323
  text = "5 1,2 * 1 0 /bin/echo funtest"
325
324
 
326
325
  records = nil
@@ -376,7 +375,7 @@ class TestCronParsedProvider < Test::Unit::TestCase
376
375
 
377
376
  # Make sure we correctly bidirectionally parse things.
378
377
  def test_records_and_strings
379
- @provider.filetype = :ram
378
+ @provider.stubs(:filetype).returns(Puppet::Util::FileType.filetype(:ram))
380
379
  setme
381
380
 
382
381
  target = @provider.target_object(@me)
@@ -426,7 +425,7 @@ class TestCronParsedProvider < Test::Unit::TestCase
426
425
  0,30 * * 1 * fooness
427
426
  "
428
427
  setme
429
- @provider.filetype = :ram
428
+ @provider.stubs(:filetype).returns(Puppet::Util::FileType.filetype(:ram))
430
429
  you = "you"
431
430
 
432
431
  # Write the same tab to multiple targets
@@ -486,7 +485,7 @@ class TestCronParsedProvider < Test::Unit::TestCase
486
485
 
487
486
  def test_data
488
487
  setme
489
- @provider.filetype = :ram
488
+ @provider.stubs(:filetype).returns(Puppet::Util::FileType.filetype(:ram))
490
489
  target = @provider.target_object(@me)
491
490
  fakedata("data/providers/cron/examples").each do |file|
492
491
  text = File.read(file)
@@ -518,7 +517,7 @@ class TestCronParsedProvider < Test::Unit::TestCase
518
517
 
519
518
  # Match freebsd's annoying @daily stuff.
520
519
  def test_match_freebsd_special
521
- @provider.filetype = :ram
520
+ @provider.stubs(:filetype).returns(Puppet::Util::FileType.filetype(:ram))
522
521
  setme
523
522
 
524
523
  target = @provider.target_object(@me)
@@ -561,7 +560,7 @@ class TestCronParsedProvider < Test::Unit::TestCase
561
560
 
562
561
  # Testing #669.
563
562
  def test_environment_settings
564
- @provider.filetype = :ram
563
+ @provider.stubs(:filetype).returns(Puppet::Util::FileType.filetype(:ram))
565
564
  setme
566
565
 
567
566
  target = @provider.target_object(@me)
@@ -601,4 +600,3 @@ class TestCronParsedProvider < Test::Unit::TestCase
601
600
  end
602
601
  end
603
602
 
604
- # $Id: crontab.rb 2750 2007-08-06 17:59:37Z luke $