puppet 0.24.8 → 0.24.9

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 (435) hide show
  1. data/CHANGELOG +3 -0
  2. data/Rakefile +3 -0
  3. data/bin/filebucket +0 -0
  4. data/bin/puppet +0 -0
  5. data/bin/puppetca +0 -0
  6. data/bin/puppetd +0 -0
  7. data/bin/puppetdoc +0 -0
  8. data/bin/puppetmasterd +0 -0
  9. data/bin/puppetrun +0 -0
  10. data/bin/ralsh +0 -0
  11. data/conf/gentoo/init.d/puppetmaster +0 -0
  12. data/conf/osx/createpackage.sh +0 -0
  13. data/conf/osx/preflight +0 -0
  14. data/conf/solaris/smf/svc-puppetd +0 -0
  15. data/conf/solaris/smf/svc-puppetmasterd +0 -0
  16. data/examples/etc/init.d/sleeper +0 -0
  17. data/examples/mac_dscl.pp +0 -0
  18. data/examples/mac_dscl_revert.pp +0 -0
  19. data/examples/mac_netinfo.pp +0 -0
  20. data/examples/mac_pkgdmg.pp +0 -0
  21. data/ext/bin/sleeper +0 -0
  22. data/ext/module_puppet +0 -0
  23. data/ext/nagios/check_puppet.rb +0 -0
  24. data/ext/puppet-test +21 -13
  25. data/ext/puppetlast +0 -0
  26. data/install.rb +0 -0
  27. data/lib/puppet.rb +1 -1
  28. data/lib/puppet/daemon.rb +1 -1
  29. data/lib/puppet/external/base64.rb +0 -0
  30. data/lib/puppet/external/nagios.rb +0 -0
  31. data/lib/puppet/external/nagios/base.rb +0 -0
  32. data/lib/puppet/network/authstore.rb +0 -0
  33. data/lib/puppet/network/handler/filebucket.rb +0 -0
  34. data/lib/puppet/network/handler/fileserver.rb +0 -0
  35. data/lib/puppet/network/handler/report.rb +0 -0
  36. data/lib/puppet/network/handler/resource.rb +0 -0
  37. data/lib/puppet/network/handler/runner.rb +0 -0
  38. data/lib/puppet/network/rights.rb +0 -0
  39. data/lib/puppet/node/facts.rb +0 -0
  40. data/lib/puppet/parser/functions.rb +1 -1
  41. data/lib/puppet/parser/functions/regsubst.rb +23 -47
  42. data/lib/puppet/parser/functions/sprintf.rb +2 -7
  43. data/lib/puppet/provider/augeas/augeas.rb +106 -55
  44. data/lib/puppet/provider/cron/crontab.rb +0 -0
  45. data/lib/puppet/provider/mailalias/aliases.rb +0 -0
  46. data/lib/puppet/provider/maillist/mailman.rb +0 -0
  47. data/lib/puppet/provider/mount/parsed.rb +0 -0
  48. data/lib/puppet/provider/package/apple.rb +0 -0
  49. data/lib/puppet/provider/package/apt.rb +0 -0
  50. data/lib/puppet/provider/package/aptitude.rb +0 -0
  51. data/lib/puppet/provider/package/blastwave.rb +0 -0
  52. data/lib/puppet/provider/package/darwinport.rb +0 -0
  53. data/lib/puppet/provider/package/dpkg.rb +0 -0
  54. data/lib/puppet/provider/package/fink.rb +0 -0
  55. data/lib/puppet/provider/package/freebsd.rb +0 -0
  56. data/lib/puppet/provider/package/gem.rb +0 -0
  57. data/lib/puppet/provider/package/openbsd.rb +0 -0
  58. data/lib/puppet/provider/package/ports.rb +0 -0
  59. data/lib/puppet/provider/package/rpm.rb +0 -0
  60. data/lib/puppet/provider/package/sun.rb +0 -0
  61. data/lib/puppet/provider/package/sunfreeware.rb +0 -0
  62. data/lib/puppet/provider/package/yum.rb +0 -0
  63. data/lib/puppet/provider/parsedfile.rb +0 -0
  64. data/lib/puppet/provider/port/parsed.rb +0 -0
  65. data/lib/puppet/provider/service/base.rb +0 -0
  66. data/lib/puppet/provider/service/debian.rb +0 -0
  67. data/lib/puppet/provider/service/init.rb +0 -0
  68. data/lib/puppet/provider/service/redhat.rb +0 -0
  69. data/lib/puppet/provider/service/smf.rb +0 -0
  70. data/lib/puppet/provider/sshkey/parsed.rb +0 -0
  71. data/lib/puppet/reports.rb +0 -0
  72. data/lib/puppet/sslcertificates.rb +0 -0
  73. data/lib/puppet/type/augeas.rb +5 -6
  74. data/lib/puppet/type/cron.rb +0 -0
  75. data/lib/puppet/type/exec.rb +0 -0
  76. data/lib/puppet/type/file/checksum.rb +0 -0
  77. data/lib/puppet/type/file/content.rb +0 -0
  78. data/lib/puppet/type/file/ensure.rb +0 -0
  79. data/lib/puppet/type/file/group.rb +0 -0
  80. data/lib/puppet/type/file/mode.rb +0 -0
  81. data/lib/puppet/type/file/owner.rb +0 -0
  82. data/lib/puppet/type/file/source.rb +0 -0
  83. data/lib/puppet/type/file/type.rb +0 -0
  84. data/lib/puppet/type/filebucket.rb +0 -0
  85. data/lib/puppet/type/group.rb +0 -0
  86. data/lib/puppet/type/host.rb +0 -0
  87. data/lib/puppet/type/mailalias.rb +0 -0
  88. data/lib/puppet/type/maillist.rb +0 -0
  89. data/lib/puppet/type/mount.rb +0 -0
  90. data/lib/puppet/type/port.rb +0 -0
  91. data/lib/puppet/type/schedule.rb +0 -0
  92. data/lib/puppet/type/sshkey.rb +0 -0
  93. data/lib/puppet/type/tidy.rb +0 -0
  94. data/lib/puppet/type/user.rb +0 -0
  95. data/lib/puppet/type/zfs.rb +0 -0
  96. data/lib/puppet/type/zpool.rb +0 -0
  97. data/lib/puppet/util.rb +22 -0
  98. data/lib/puppet/util/filetype.rb +0 -0
  99. data/lib/puppet/util/instance_loader.rb +0 -0
  100. data/lib/puppet/util/loadedfile.rb +0 -0
  101. data/lib/puppet/util/posix.rb +0 -0
  102. data/lib/puppet/util/reference.rb +3 -2
  103. data/spec/integration/checksum.rb +0 -0
  104. data/spec/integration/defaults.rb +0 -0
  105. data/spec/integration/file_serving/configuration.rb +0 -0
  106. data/spec/integration/file_serving/content.rb +0 -0
  107. data/spec/integration/file_serving/metadata.rb +0 -0
  108. data/spec/integration/indirector/direct_file_server.rb +0 -0
  109. data/spec/integration/indirector/file_content/file_server.rb +0 -0
  110. data/spec/integration/indirector/file_metadata/file_server.rb +0 -0
  111. data/spec/integration/indirector/module_files.rb +0 -0
  112. data/spec/integration/indirector/node/ldap.rb +0 -0
  113. data/spec/integration/indirector/rest.rb +0 -0
  114. data/spec/integration/network/server/mongrel.rb +0 -0
  115. data/spec/integration/network/server/webrick.rb +0 -0
  116. data/spec/integration/node.rb +0 -0
  117. data/spec/integration/node/catalog.rb +0 -0
  118. data/spec/integration/node/facts.rb +0 -0
  119. data/spec/integration/provider/package.rb +0 -0
  120. data/spec/integration/provider/service/init.rb +0 -0
  121. data/spec/integration/reference/providers.rb +0 -0
  122. data/spec/integration/reports.rb +0 -0
  123. data/spec/integration/transaction/report.rb +0 -0
  124. data/spec/integration/type/package.rb +0 -0
  125. data/spec/integration/util/file_locking.rb +0 -0
  126. data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +1 -1
  127. data/spec/spec_helper.rb +1 -0
  128. data/spec/unit/executables/client/certhandler.rb +0 -0
  129. data/spec/unit/file_collection.rb +0 -0
  130. data/spec/unit/file_collection/lookup.rb +0 -0
  131. data/spec/unit/file_serving/configuration.rb +0 -0
  132. data/spec/unit/file_serving/configuration/parser.rb +0 -0
  133. data/spec/unit/file_serving/content.rb +0 -0
  134. data/spec/unit/file_serving/file_base.rb +0 -0
  135. data/spec/unit/file_serving/fileset.rb +0 -0
  136. data/spec/unit/file_serving/indirection_hooks.rb +0 -0
  137. data/spec/unit/file_serving/metadata.rb +0 -0
  138. data/spec/unit/file_serving/mount.rb +0 -0
  139. data/spec/unit/file_serving/terminus_helper.rb +0 -0
  140. data/spec/unit/indirector.rb +0 -0
  141. data/spec/unit/indirector/catalog/compiler.rb +0 -0
  142. data/spec/unit/indirector/catalog/yaml.rb +0 -0
  143. data/spec/unit/indirector/checksum/file.rb +0 -0
  144. data/spec/unit/indirector/code.rb +0 -0
  145. data/spec/unit/indirector/direct_file_server.rb +0 -0
  146. data/spec/unit/indirector/envelope.rb +0 -0
  147. data/spec/unit/indirector/exec.rb +0 -0
  148. data/spec/unit/indirector/facts/facter.rb +0 -0
  149. data/spec/unit/indirector/facts/yaml.rb +0 -0
  150. data/spec/unit/indirector/file.rb +0 -0
  151. data/spec/unit/indirector/file_content/file.rb +0 -0
  152. data/spec/unit/indirector/file_content/file_server.rb +0 -0
  153. data/spec/unit/indirector/file_content/modules.rb +0 -0
  154. data/spec/unit/indirector/file_content/rest.rb +0 -0
  155. data/spec/unit/indirector/file_metadata/file.rb +0 -0
  156. data/spec/unit/indirector/file_metadata/file_server.rb +0 -0
  157. data/spec/unit/indirector/file_metadata/modules.rb +0 -0
  158. data/spec/unit/indirector/file_metadata/rest.rb +0 -0
  159. data/spec/unit/indirector/file_server.rb +0 -0
  160. data/spec/unit/indirector/indirection.rb +0 -0
  161. data/spec/unit/indirector/ldap.rb +0 -0
  162. data/spec/unit/indirector/memory.rb +0 -0
  163. data/spec/unit/indirector/module_files.rb +0 -0
  164. data/spec/unit/indirector/node/exec.rb +0 -0
  165. data/spec/unit/indirector/node/ldap.rb +0 -0
  166. data/spec/unit/indirector/node/memory.rb +0 -0
  167. data/spec/unit/indirector/node/plain.rb +0 -0
  168. data/spec/unit/indirector/node/rest.rb +0 -0
  169. data/spec/unit/indirector/node/yaml.rb +0 -0
  170. data/spec/unit/indirector/plain.rb +0 -0
  171. data/spec/unit/indirector/report/processor.rb +0 -0
  172. data/spec/unit/indirector/request.rb +0 -0
  173. data/spec/unit/indirector/rest.rb +0 -0
  174. data/spec/unit/indirector/ssl_rsa/file.rb +0 -0
  175. data/spec/unit/indirector/terminus.rb +0 -0
  176. data/spec/unit/indirector/yaml.rb +0 -0
  177. data/spec/unit/module.rb +0 -0
  178. data/spec/unit/network/client.rb +0 -0
  179. data/spec/unit/network/client/master.rb +0 -0
  180. data/spec/unit/network/http.rb +0 -0
  181. data/spec/unit/network/http/mongrel.rb +0 -0
  182. data/spec/unit/network/http/mongrel/rest.rb +0 -0
  183. data/spec/unit/network/http/mongrel/xmlrpc.rb +0 -0
  184. data/spec/unit/network/http/webrick.rb +0 -0
  185. data/spec/unit/network/http/webrick/rest.rb +0 -0
  186. data/spec/unit/network/http/webrick/xmlrpc.rb +0 -0
  187. data/spec/unit/network/http_pool.rb +0 -0
  188. data/spec/unit/network/server.rb +0 -0
  189. data/spec/unit/network/xmlrpc/client.rb +0 -0
  190. data/spec/unit/node.rb +0 -0
  191. data/spec/unit/node/catalog.rb +0 -0
  192. data/spec/unit/node/environment.rb +0 -0
  193. data/spec/unit/node/facts.rb +0 -0
  194. data/spec/unit/other/checksum.rb +0 -0
  195. data/spec/unit/other/pgraph.rb +0 -0
  196. data/spec/unit/other/transbucket.rb +0 -0
  197. data/spec/unit/other/transobject.rb +0 -0
  198. data/spec/unit/parameter.rb +0 -0
  199. data/spec/unit/parser/ast/arithmetic_operator.rb +0 -0
  200. data/spec/unit/parser/ast/astarray.rb +0 -0
  201. data/spec/unit/parser/ast/boolean_operator.rb +0 -0
  202. data/spec/unit/parser/ast/collexpr.rb +0 -0
  203. data/spec/unit/parser/ast/comparison_operator.rb +0 -0
  204. data/spec/unit/parser/ast/definition.rb +0 -0
  205. data/spec/unit/parser/ast/hostclass.rb +0 -0
  206. data/spec/unit/parser/ast/minus.rb +0 -0
  207. data/spec/unit/parser/ast/node.rb +0 -0
  208. data/spec/unit/parser/ast/nop.rb +0 -0
  209. data/spec/unit/parser/ast/not.rb +0 -0
  210. data/spec/unit/parser/ast/resource.rb +0 -0
  211. data/spec/unit/parser/ast/resource_override.rb +0 -0
  212. data/spec/unit/parser/ast/resource_reference.rb +0 -0
  213. data/spec/unit/parser/ast/vardef.rb +0 -0
  214. data/spec/unit/parser/collector.rb +0 -0
  215. data/spec/unit/parser/compiler.rb +0 -0
  216. data/spec/unit/parser/functions/realize.rb +0 -0
  217. data/spec/unit/parser/functions/versioncmp.rb +0 -0
  218. data/spec/unit/parser/interpreter.rb +0 -0
  219. data/spec/unit/parser/lexer.rb +0 -0
  220. data/spec/unit/parser/parser.rb +0 -0
  221. data/spec/unit/parser/resource.rb +0 -0
  222. data/spec/unit/parser/resource/reference.rb +0 -0
  223. data/spec/unit/parser/scope.rb +0 -0
  224. data/spec/unit/parser/templatewrapper.rb +0 -0
  225. data/spec/unit/property.rb +0 -0
  226. data/spec/unit/provider/augeas/augeas.rb +105 -109
  227. data/spec/unit/provider/confine.rb +0 -0
  228. data/spec/unit/provider/confine/exists.rb +0 -0
  229. data/spec/unit/provider/confine/false.rb +0 -0
  230. data/spec/unit/provider/confine/feature.rb +0 -0
  231. data/spec/unit/provider/confine/true.rb +0 -0
  232. data/spec/unit/provider/confine/variable.rb +0 -0
  233. data/spec/unit/provider/confine_collection.rb +0 -0
  234. data/spec/unit/provider/confiner.rb +0 -0
  235. data/spec/unit/provider/group/groupadd.rb +0 -0
  236. data/spec/unit/provider/group/ldap.rb +0 -0
  237. data/spec/unit/provider/ldap.rb +0 -0
  238. data/spec/unit/provider/macauthorization.rb +0 -0
  239. data/spec/unit/provider/mcx/mcxcontent.rb +0 -0
  240. data/spec/unit/provider/mount.rb +0 -0
  241. data/spec/unit/provider/mount/parsed.rb +0 -0
  242. data/spec/unit/provider/package/apt.rb +0 -0
  243. data/spec/unit/provider/package/dpkg.rb +0 -0
  244. data/spec/unit/provider/parsedfile.rb +0 -0
  245. data/spec/unit/provider/selboolean.rb +0 -0
  246. data/spec/unit/provider/selmodule.rb +0 -0
  247. data/spec/unit/provider/service/launchd.rb +0 -0
  248. data/spec/unit/provider/ssh_authorized_key/parsed.rb +0 -0
  249. data/spec/unit/provider/user/hpux.rb +0 -0
  250. data/spec/unit/provider/user/ldap.rb +0 -0
  251. data/spec/unit/provider/user/useradd.rb +0 -0
  252. data/spec/unit/provider/zfs/solaris.rb +0 -0
  253. data/spec/unit/provider/zone/solaris.rb +0 -0
  254. data/spec/unit/provider/zpool/solaris.rb +0 -0
  255. data/spec/unit/rails.rb +0 -0
  256. data/spec/unit/relationship.rb +0 -0
  257. data/spec/unit/reports.rb +0 -0
  258. data/spec/unit/resource_reference.rb +0 -0
  259. data/spec/unit/simple_graph.rb +0 -0
  260. data/spec/unit/transaction.rb +0 -0
  261. data/spec/unit/transaction/change.rb +0 -0
  262. data/spec/unit/transaction/event.rb +0 -0
  263. data/spec/unit/transaction/report.rb +0 -0
  264. data/spec/unit/type.rb +0 -0
  265. data/spec/unit/type/computer.rb +0 -0
  266. data/spec/unit/type/exec.rb +0 -0
  267. data/spec/unit/type/file.rb +0 -0
  268. data/spec/unit/type/file/content.rb +0 -0
  269. data/spec/unit/type/file/ensure.rb +0 -0
  270. data/spec/unit/type/file/group.rb +0 -0
  271. data/spec/unit/type/file/owner.rb +0 -0
  272. data/spec/unit/type/group.rb +0 -0
  273. data/spec/unit/type/macauthorization.rb +0 -0
  274. data/spec/unit/type/mcx.rb +0 -0
  275. data/spec/unit/type/mount.rb +0 -0
  276. data/spec/unit/type/nagios.rb +0 -0
  277. data/spec/unit/type/noop_metaparam.rb +0 -0
  278. data/spec/unit/type/package.rb +0 -0
  279. data/spec/unit/type/schedule.rb +0 -0
  280. data/spec/unit/type/selboolean.rb +0 -0
  281. data/spec/unit/type/selmodule.rb +0 -0
  282. data/spec/unit/type/service.rb +0 -0
  283. data/spec/unit/type/ssh_authorized_key.rb +0 -0
  284. data/spec/unit/type/tidy.rb +0 -0
  285. data/spec/unit/type/user.rb +0 -0
  286. data/spec/unit/type/zfs.rb +0 -0
  287. data/spec/unit/type/zone.rb +0 -0
  288. data/spec/unit/type/zpool.rb +0 -0
  289. data/spec/unit/util/autoload.rb +0 -0
  290. data/spec/unit/util/checksums.rb +0 -0
  291. data/spec/unit/util/constant_inflector.rb +0 -0
  292. data/spec/unit/util/file_locking.rb +0 -0
  293. data/spec/unit/util/ldap/connection.rb +0 -0
  294. data/spec/unit/util/ldap/generator.rb +0 -0
  295. data/spec/unit/util/ldap/manager.rb +0 -0
  296. data/spec/unit/util/loadedfile.rb +0 -0
  297. data/spec/unit/util/log.rb +0 -0
  298. data/spec/unit/util/metric.rb +0 -0
  299. data/spec/unit/util/nagios_maker.rb +0 -0
  300. data/spec/unit/util/posix.rb +0 -0
  301. data/spec/unit/util/resource_template.rb +0 -0
  302. data/spec/unit/util/settings.rb +0 -0
  303. data/spec/unit/util/storage.rb +0 -0
  304. data/spec/unit/util/tagging.rb +0 -0
  305. data/spec/unit/util/uri_helper.rb +0 -0
  306. data/spec/unit/util/warnings.rb +0 -0
  307. data/test/certmgr/ca.rb +0 -0
  308. data/test/certmgr/certmgr.rb +0 -0
  309. data/test/certmgr/inventory.rb +0 -0
  310. data/test/certmgr/support.rb +0 -0
  311. data/test/data/snippets/subclass_name_duplication.pp +0 -0
  312. data/test/executables/filebucket.rb +0 -0
  313. data/test/executables/puppetbin.rb +0 -0
  314. data/test/executables/puppetca.rb +0 -0
  315. data/test/executables/puppetd.rb +0 -0
  316. data/test/executables/puppetmasterd.rb +0 -0
  317. data/test/executables/puppetmodule.rb +0 -0
  318. data/test/language/ast.rb +0 -0
  319. data/test/language/ast/casestatement.rb +0 -0
  320. data/test/language/ast/resource.rb +0 -0
  321. data/test/language/ast/resource_reference.rb +0 -0
  322. data/test/language/ast/selector.rb +0 -0
  323. data/test/language/ast/variable.rb +0 -0
  324. data/test/language/functions.rb +0 -0
  325. data/test/language/parser.rb +0 -0
  326. data/test/language/resource.rb +0 -0
  327. data/test/language/scope.rb +0 -0
  328. data/test/language/snippets.rb +0 -0
  329. data/test/language/transportable.rb +0 -0
  330. data/test/lib/puppettest.rb +0 -0
  331. data/test/lib/puppettest/support/resources.rb +0 -0
  332. data/test/network/authconfig.rb +0 -0
  333. data/test/network/authorization.rb +0 -0
  334. data/test/network/authstore.rb +0 -0
  335. data/test/network/client/ca.rb +0 -0
  336. data/test/network/client/client.rb +0 -0
  337. data/test/network/client/dipper.rb +0 -0
  338. data/test/network/client/master.rb +0 -0
  339. data/test/network/client/resource.rb +0 -0
  340. data/test/network/client_request.rb +0 -0
  341. data/test/network/daemon.rb +0 -0
  342. data/test/network/handler/bucket.rb +0 -0
  343. data/test/network/handler/ca.rb +0 -0
  344. data/test/network/handler/fileserver.rb +0 -0
  345. data/test/network/handler/handler.rb +0 -0
  346. data/test/network/handler/master.rb +0 -0
  347. data/test/network/handler/report.rb +0 -0
  348. data/test/network/handler/resource.rb +0 -0
  349. data/test/network/handler/runner.rb +0 -0
  350. data/test/network/rights.rb +0 -0
  351. data/test/network/server/mongrel_test.rb +0 -0
  352. data/test/network/server/webrick.rb +0 -0
  353. data/test/network/xmlrpc/client.rb +0 -0
  354. data/test/network/xmlrpc/processor.rb +0 -0
  355. data/test/network/xmlrpc/server.rb +0 -0
  356. data/test/network/xmlrpc/webrick_servlet.rb +0 -0
  357. data/test/other/dsl.rb +0 -0
  358. data/test/other/events.rb +0 -0
  359. data/test/other/overrides.rb +0 -0
  360. data/test/other/provider.rb +0 -0
  361. data/test/other/puppet.rb +0 -0
  362. data/test/other/relationships.rb +0 -0
  363. data/test/other/report.rb +0 -0
  364. data/test/other/transactions.rb +0 -0
  365. data/test/puppet/conffiles.rb +0 -0
  366. data/test/puppet/defaults.rb +0 -0
  367. data/test/puppet/errortest.rb +0 -0
  368. data/test/puppet/tc_suidmanager.rb +0 -0
  369. data/test/rails/ast.rb +0 -0
  370. data/test/rails/configuration.rb +0 -0
  371. data/test/rails/host.rb +0 -0
  372. data/test/rails/rails.rb +0 -0
  373. data/test/rails/railsparameter.rb +0 -0
  374. data/test/rails/railsresource.rb +0 -0
  375. data/test/ral/manager/attributes.rb +0 -0
  376. data/test/ral/manager/instances.rb +0 -0
  377. data/test/ral/manager/manager.rb +0 -0
  378. data/test/ral/manager/provider.rb +0 -0
  379. data/test/ral/manager/type.rb +0 -0
  380. data/test/ral/providers/cron/crontab.rb +0 -0
  381. data/test/ral/providers/group.rb +0 -0
  382. data/test/ral/providers/host/netinfo.rb +0 -0
  383. data/test/ral/providers/host/parsed.rb +0 -0
  384. data/test/ral/providers/mailalias/aliases.rb +0 -0
  385. data/test/ral/providers/mount/netinfo.rb +0 -0
  386. data/test/ral/providers/nameservice.rb +0 -0
  387. data/test/ral/providers/package.rb +0 -0
  388. data/test/ral/providers/package/aptitude.rb +0 -0
  389. data/test/ral/providers/package/aptrpm.rb +0 -0
  390. data/test/ral/providers/parsedfile.rb +0 -0
  391. data/test/ral/providers/port/parsed.rb +0 -0
  392. data/test/ral/providers/provider.rb +0 -0
  393. data/test/ral/providers/service/base.rb +0 -0
  394. data/test/ral/providers/service/debian.rb +0 -0
  395. data/test/ral/providers/sshkey/parsed.rb +0 -0
  396. data/test/ral/providers/user.rb +0 -0
  397. data/test/ral/providers/user/useradd.rb +0 -0
  398. data/test/ral/type/basic.rb +0 -0
  399. data/test/ral/type/cron.rb +0 -0
  400. data/test/ral/type/exec.rb +0 -0
  401. data/test/ral/type/file.rb +0 -0
  402. data/test/ral/type/file/target.rb +0 -0
  403. data/test/ral/type/filebucket.rb +0 -0
  404. data/test/ral/type/fileignoresource.rb +0 -0
  405. data/test/ral/type/filesources.rb +0 -0
  406. data/test/ral/type/group.rb +0 -0
  407. data/test/ral/type/host.rb +0 -0
  408. data/test/ral/type/mailalias.rb +0 -0
  409. data/test/ral/type/parameter.rb +0 -0
  410. data/test/ral/type/port.rb +0 -0
  411. data/test/ral/type/property.rb +0 -0
  412. data/test/ral/type/resources.rb +0 -0
  413. data/test/ral/type/service.rb +0 -0
  414. data/test/ral/type/sshkey.rb +0 -0
  415. data/test/ral/type/tidy.rb +0 -0
  416. data/test/ral/type/user.rb +0 -0
  417. data/test/ral/type/yumrepo.rb +0 -0
  418. data/test/ral/type/zone.rb +0 -0
  419. data/test/test +0 -0
  420. data/test/util/autoload.rb +0 -0
  421. data/test/util/classgen.rb +0 -0
  422. data/test/util/execution.rb +0 -0
  423. data/test/util/features.rb +0 -0
  424. data/test/util/fileparsing.rb +0 -0
  425. data/test/util/inifile.rb +0 -0
  426. data/test/util/instance_loader.rb +0 -0
  427. data/test/util/log.rb +0 -0
  428. data/test/util/metrics.rb +0 -0
  429. data/test/util/package.rb +0 -0
  430. data/test/util/pidlock.rb +0 -0
  431. data/test/util/settings.rb +0 -0
  432. data/test/util/storage.rb +0 -0
  433. data/test/util/subclass_loader.rb +0 -0
  434. data/test/util/utiltest.rb +0 -0
  435. metadata +877 -1009
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -5,135 +5,120 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
5
5
  provider_class = Puppet::Type.type(:augeas).provider(:augeas)
6
6
 
7
7
  describe provider_class do
8
+
8
9
  describe "command parsing" do
9
- it "should break apart a single line into three tokens" do
10
- provider = provider_class.new()
11
- tokens = provider.parse_commands("set /Jar/Jar Binks")
10
+ before do
11
+ @resource = stub("resource")
12
+ @provider = provider_class.new(@resource)
13
+ end
14
+
15
+ it "should break apart a single line into three tokens and clean up the context" do
16
+ @resource.stubs(:[]).returns("/context")
17
+ tokens = @provider.parse_commands("set Jar/Jar Binks")
12
18
  tokens.size.should == 1
13
19
  tokens[0].size.should == 3
14
20
  tokens[0][0].should == "set"
15
- tokens[0][1].should == "/Jar/Jar"
21
+ tokens[0][1].should == "/context/Jar/Jar"
16
22
  tokens[0][2].should == "Binks"
17
23
  end
18
24
 
19
25
  it "should break apart a multiple line into six tokens" do
20
- provider = provider_class.new()
21
- tokens = provider.parse_commands("set /Jar/Jar Binks\nrm anakin skywalker")
26
+ @resource.stubs(:[]).returns("")
27
+ tokens = @provider.parse_commands("set /Jar/Jar Binks\nrm anakin")
22
28
  tokens.size.should == 2
23
29
  tokens[0].size.should == 3
24
- tokens[1].size.should == 3
30
+ tokens[1].size.should == 2
25
31
  tokens[0][0].should == "set"
26
32
  tokens[0][1].should == "/Jar/Jar"
27
33
  tokens[0][2].should == "Binks"
28
34
  tokens[1][0].should == "rm"
29
35
  tokens[1][1].should == "anakin"
30
- tokens[1][2].should == "skywalker"
31
36
  end
32
37
 
33
38
  it "should handle arrays" do
34
- provider = provider_class.new()
35
- commands = ["set /Jar/Jar Binks", "rm anakin skywalker"]
36
- tokens = provider.parse_commands(commands)
39
+ @resource.stubs(:[]).returns("/foo/")
40
+ commands = ["set /Jar/Jar Binks", "rm anakin"]
41
+ tokens = @provider.parse_commands(commands)
37
42
  tokens.size.should == 2
38
43
  tokens[0].size.should == 3
39
- tokens[1].size.should == 3
44
+ tokens[1].size.should == 2
40
45
  tokens[0][0].should == "set"
41
46
  tokens[0][1].should == "/Jar/Jar"
42
47
  tokens[0][2].should == "Binks"
43
48
  tokens[1][0].should == "rm"
44
- tokens[1][1].should == "anakin"
45
- tokens[1][2].should == "skywalker"
46
- end
47
-
48
- it "should concat the last values" do
49
- provider = provider_class.new()
50
- tokens = provider.parse_commands("set /Jar/Jar Binks is my copilot")
49
+ tokens[1][1].should == "/foo/anakin"
50
+ end
51
+
52
+ # This is not supported in the new parsing class
53
+ #it "should concat the last values" do
54
+ # provider = provider_class.new()
55
+ # tokens = provider.parse_commands("set /Jar/Jar Binks is my copilot")
56
+ # tokens.size.should == 1
57
+ # tokens[0].size.should == 3
58
+ # tokens[0][0].should == "set"
59
+ # tokens[0][1].should == "/Jar/Jar"
60
+ # tokens[0][2].should == "Binks is my copilot"
61
+ #end
62
+
63
+ it "should accept spaces in the value and single ticks" do
64
+ @resource.stubs(:[]).returns("/foo/")
65
+ tokens = @provider.parse_commands("set JarJar 'Binks is my copilot'")
51
66
  tokens.size.should == 1
52
67
  tokens[0].size.should == 3
53
68
  tokens[0][0].should == "set"
54
- tokens[0][1].should == "/Jar/Jar"
69
+ tokens[0][1].should == "/foo/JarJar"
55
70
  tokens[0][2].should == "Binks is my copilot"
56
71
  end
57
72
 
58
- it "should accept spaces and and single ticks" do
59
- provider = provider_class.new()
60
- tokens = provider.parse_commands("set 'Jar Jar' Binks")
61
- tokens.size.should == 1
62
- tokens[0].size.should == 3
63
- tokens[0][0].should == "set"
64
- tokens[0][1].should == "Jar Jar"
65
- tokens[0][2].should == "Binks"
66
- end
67
-
68
- it "should accept spaces in the value and and single ticks" do
69
- provider = provider_class.new()
70
- tokens = provider.parse_commands("set 'Jar Jar' 'Binks is my copilot'")
71
- tokens.size.should == 1
72
- tokens[0].size.should == 3
73
- tokens[0][0].should == "set"
74
- tokens[0][1].should == "Jar Jar"
75
- tokens[0][2].should == "Binks is my copilot"
76
- end
77
-
78
- it "should accept spaces and and double ticks" do
79
- provider = provider_class.new()
80
- tokens = provider.parse_commands('set "Jar Jar" Binks')
81
- tokens.size.should == 1
82
- tokens[0].size.should == 3
83
- tokens[0][0].should == "set"
84
- tokens[0][1].should == 'Jar Jar'
85
- tokens[0][2].should == 'Binks'
86
- end
87
-
88
- it "should accept spaces in the value and and double ticks" do
89
- provider = provider_class.new()
90
- tokens = provider.parse_commands('set "Jar Jar" "Binks is my copilot"')
73
+ it "should accept spaces in the value and double ticks" do
74
+ @resource.stubs(:[]).returns("/foo/")
75
+ tokens = @provider.parse_commands('set /JarJar "Binks is my copilot"')
91
76
  tokens.size.should == 1
92
77
  tokens[0].size.should == 3
93
78
  tokens[0][0].should == "set"
94
- tokens[0][1].should == 'Jar Jar'
79
+ tokens[0][1].should == '/JarJar'
95
80
  tokens[0][2].should == 'Binks is my copilot'
96
81
  end
97
82
 
98
83
  it "should accept mixed ticks" do
99
- provider = provider_class.new()
100
- tokens = provider.parse_commands('set "Jar Jar" "Some \'Test\'"')
84
+ @resource.stubs(:[]).returns("/foo/")
85
+ tokens = @provider.parse_commands('set JarJar "Some \'Test\'"')
101
86
  tokens.size.should == 1
102
87
  tokens[0].size.should == 3
103
88
  tokens[0][0].should == "set"
104
- tokens[0][1].should == 'Jar Jar'
89
+ tokens[0][1].should == '/foo/JarJar'
105
90
  tokens[0][2].should == "Some \'Test\'"
106
91
  end
107
92
 
108
- it "should accept only the last value using ticks" do
109
- provider = provider_class.new()
110
- tokens = provider.parse_commands('set /Jar/Jar "Binks is my copilot"')
111
- tokens.size.should == 1
112
- tokens[0].size.should == 3
113
- tokens[0][0].should == "set"
114
- tokens[0][1].should == '/Jar/Jar'
115
- tokens[0][2].should == "Binks is my copilot"
93
+ it "should handle complex rm calls" do
94
+ @resource.stubs(:[]).returns("/foo/")
95
+ tokens = @provider.parse_commands("rm */*[module='pam_console.so']")
96
+ tokens.should == [["rm", "/foo/*/*[module='pam_console.so']"]]
116
97
  end
117
98
 
118
- it "should accept only the first value using ticks" do
119
- provider = provider_class.new()
120
- tokens = provider.parse_commands('set "Jar Jar" copilot')
121
- tokens.size.should == 1
122
- tokens[0].size.should == 3
123
- tokens[0][0].should == "set"
124
- tokens[0][1].should == 'Jar Jar'
125
- tokens[0][2].should == "copilot"
99
+ it "should handle insert with xpath queries" do
100
+ @resource.stubs(:[]).returns("/foo/")
101
+ tokens = @provider.parse_commands("ins 42 before /files/etc/hosts/*/ipaddr[ . = '127.0.0.1' ]")
102
+ tokens.should == [["ins", "42", "before","/files/etc/hosts/*/ipaddr[ . = '127.0.0.1' ]"]]
126
103
  end
127
104
 
128
- it "should accept only the first value using ticks and the last values being concatenated" do
129
- provider = provider_class.new()
130
- tokens = provider.parse_commands('set "Jar Jar" Binks is my copilot')
131
- tokens.size.should == 1
132
- tokens[0].size.should == 3
133
- tokens[0][0].should == "set"
134
- tokens[0][1].should == 'Jar Jar'
135
- tokens[0][2].should == "Binks is my copilot"
105
+ it "should handle set with xpath queries" do
106
+ @resource.stubs(:[]).returns("/foo/")
107
+ tokens = @provider.parse_commands("set /files/etc/*/*[ipaddr = '127.0.0.1'] \"foo bar\"")
108
+ tokens.should == [["set", "/files/etc/*/*[ipaddr = '127.0.0.1']", "foo bar"]]
109
+ end
110
+
111
+ it "should handle clear with xpath queries" do
112
+ @resource.stubs(:[]).returns("/foo/")
113
+ tokens = @provider.parse_commands("clear pam.d/*/*[module = 'system-auth'][type = 'account']")
114
+ tokens.should == [["clear", "/foo/pam.d/*/*[module = 'system-auth'][type = 'account']"]]
136
115
  end
116
+
117
+ it "should handle some odd test" do
118
+ @resource.stubs(:[]).returns("/foo/")
119
+ tokens = @provider.parse_commands("set /foo \"''\\\"''\"")
120
+ tokens.should == [[ "set", "/foo", "''\\\"''" ]]
121
+ end
137
122
  end
138
123
 
139
124
  describe "get filters" do
@@ -166,46 +151,57 @@ describe provider_class do
166
151
 
167
152
  describe "match filters" do
168
153
  before do
154
+ resource = stub("resource", :[] => "")
169
155
  augeas_stub = stub("augeas", :match => ["set", "of", "values"])
170
- @provider = provider_class.new()
156
+ @provider = provider_class.new(resource)
171
157
  @provider.aug= augeas_stub
172
158
  end
173
159
 
174
160
  it "should return true for size match" do
175
- command = ["match", "fake value", "size", "==", "3"]
161
+ command = ["match", "fake value", "size == 3"]
176
162
  @provider.process_match(command).should == true
177
163
  end
178
164
 
179
165
  it "should return false for a size non match" do
180
- command = ["match", "fake value", "size", "<", "3"]
166
+ command = ["match", "fake value", "size < 3"]
181
167
  @provider.process_match(command).should == false
182
168
  end
183
169
 
184
170
  it "should return true for includes match" do
185
- command = ["get", "fake value", "include", "values"]
171
+ command = ["match", "fake value", "include values"]
186
172
  @provider.process_match(command).should == true
187
173
  end
188
174
 
189
175
  it "should return false for includes non match" do
190
- command = ["get", "fake value", "include", "JarJar"]
176
+ command = ["match", "fake value", "include JarJar"]
191
177
  @provider.process_match(command).should == false
192
178
  end
193
179
 
194
180
  it "should return true for an array match" do
195
- command = ["get", "fake value", "==", "['set', 'of', 'values']"]
181
+ command = ["match", "fake value", "eq ['set', 'of', 'values']"]
196
182
  @provider.process_match(command).should == true
197
183
  end
198
184
 
199
185
  it "should return false for an array non match" do
200
- command = ["get", "fake value", "==", "['this', 'should', 'not', 'match']"]
186
+ command = ["match", "fake value", "eq ['this', 'should', 'not', 'match']"]
187
+ @provider.process_match(command).should == false
188
+ end
189
+
190
+ it "should return false for an array match with noteq" do
191
+ command = ["match", "fake value", "noteq ['set', 'of', 'values']"]
201
192
  @provider.process_match(command).should == false
202
193
  end
194
+
195
+ it "should return true for an array non match with noteq" do
196
+ command = ["match", "fake value", "noteq ['this', 'should', 'not', 'match']"]
197
+ @provider.process_match(command).should == true
198
+ end
203
199
  end
204
200
 
205
201
  describe "need to run" do
206
202
  it "should handle no filters" do
207
203
  resource = stub("resource")
208
- resource.stubs(:[]).returns(false).then.returns("")
204
+ resource.stubs(:[]).returns(false).then.returns("").then.returns("")
209
205
  augeas_stub = stub("augeas", :match => ["set", "of", "values"])
210
206
  augeas_stub.stubs("close")
211
207
  provider = provider_class.new(resource)
@@ -215,7 +211,7 @@ describe provider_class do
215
211
 
216
212
  it "should return true when a get filter matches" do
217
213
  resource = stub("resource")
218
- resource.stubs(:[]).returns(false).then.returns("get path == value")
214
+ resource.stubs(:[]).returns(false).then.returns("get path == value").then.returns("")
219
215
  provider = provider_class.new(resource)
220
216
  augeas_stub = stub("augeas", :get => "value")
221
217
  augeas_stub.stubs("close")
@@ -226,7 +222,7 @@ describe provider_class do
226
222
 
227
223
  it "should return false when a get filter does not match" do
228
224
  resource = stub("resource")
229
- resource.stubs(:[]).returns(false).then.returns("get path == another value")
225
+ resource.stubs(:[]).returns(false).then.returns("get path == another value").then.returns("")
230
226
  provider = provider_class.new(resource)
231
227
  augeas_stub = stub("augeas", :get => "value")
232
228
  augeas_stub.stubs("close")
@@ -237,7 +233,7 @@ describe provider_class do
237
233
 
238
234
  it "should return true when a match filter matches" do
239
235
  resource = stub("resource")
240
- resource.stubs(:[]).returns(false).then.returns("match path size == 3")
236
+ resource.stubs(:[]).returns(false).then.returns("match path size == 3").then.returns("")
241
237
  provider = provider_class.new(resource)
242
238
  augeas_stub = stub("augeas", :match => ["set", "of", "values"])
243
239
  augeas_stub.stubs("close")
@@ -248,7 +244,7 @@ describe provider_class do
248
244
 
249
245
  it "should return false when a match filter does not match" do
250
246
  resource = stub("resource")
251
- resource.stubs(:[]).returns(false).then.returns("match path size == 2")
247
+ resource.stubs(:[]).returns(false).then.returns("match path size == 2").then.returns("")
252
248
  provider = provider_class.new(resource)
253
249
  augeas_stub = stub("augeas", :match => ["set", "of", "values"])
254
250
  augeas_stub.stubs("close")
@@ -260,7 +256,7 @@ describe provider_class do
260
256
  #This is a copy of the last one, with setting the force to true
261
257
  it "setting force should not change the above logic" do
262
258
  resource = stub("resource")
263
- resource.stubs(:[]).returns(true).then.returns("match path size == 2")
259
+ resource.stubs(:[]).returns(true).then.returns("match path size == 2").then.returns("")
264
260
  provider = provider_class.new(resource)
265
261
  augeas_stub = stub("augeas", :match => ["set", "of", "values"])
266
262
  augeas_stub.stubs("close")
@@ -281,17 +277,17 @@ describe provider_class do
281
277
  end
282
278
 
283
279
  it "should handle set commands" do
284
- command = [["set", "/Jar/Jar", "Binks"]]
285
- context = "/some/path"
280
+ command = "set JarJar Binks"
281
+ context = "/some/path/"
286
282
  @resource.expects(:[]).times(2).returns(command).then.returns(context)
287
- @augeas.expects(:set).with("/some/path/Jar/Jar", "Binks")
283
+ @augeas.expects(:set).with("/some/path/JarJar", "Binks")
288
284
  @augeas.expects(:save).returns(true)
289
285
  @augeas.expects(:close)
290
286
  @provider.execute_changes.should == :executed
291
287
  end
292
288
 
293
289
  it "should handle rm commands" do
294
- command = [["rm", "/Jar/Jar"]]
290
+ command = "rm /Jar/Jar"
295
291
  context = ""
296
292
  @resource.expects(:[]).times(2).returns(command).then.returns(context)
297
293
  @augeas.expects(:rm).with("/Jar/Jar")
@@ -301,7 +297,7 @@ describe provider_class do
301
297
  end
302
298
 
303
299
  it "should handle remove commands" do
304
- command = [["remove", "Jar/Jar"]]
300
+ command = "remove /Jar/Jar"
305
301
  context = ""
306
302
  @resource.expects(:[]).times(2).returns(command).then.returns(context)
307
303
  @augeas.expects(:rm).with("/Jar/Jar")
@@ -311,8 +307,8 @@ describe provider_class do
311
307
  end
312
308
 
313
309
  it "should handle clear commands" do
314
- command = [["clear", "/Jar/Jar"]]
315
- context = "/foo"
310
+ command = "clear Jar/Jar"
311
+ context = "/foo/"
316
312
  @resource.expects(:[]).times(2).returns(command).then.returns(context)
317
313
  @augeas.expects(:clear).with("/foo/Jar/Jar")
318
314
  @augeas.expects(:save).returns(true)
@@ -322,7 +318,7 @@ describe provider_class do
322
318
 
323
319
 
324
320
  it "should handle ins commands with before" do
325
- command = [["ins", "Binks", "before /Jar/Jar"]]
321
+ command = "ins Binks before Jar/Jar"
326
322
  context = "/foo"
327
323
  @resource.expects(:[]).times(2).returns(command).then.returns(context)
328
324
  @augeas.expects(:insert).with("/foo/Jar/Jar", "Binks", true)
@@ -331,18 +327,18 @@ describe provider_class do
331
327
  @provider.execute_changes.should == :executed
332
328
  end
333
329
 
334
- it "should handle ins commands with before" do
335
- command = [["ins", "Binks", "after /Jar/Jar"]]
330
+ it "should handle ins commands with after" do
331
+ command = "ins Binks after /Jar/Jar"
336
332
  context = "/foo"
337
333
  @resource.expects(:[]).times(2).returns(command).then.returns(context)
338
- @augeas.expects(:insert).with("/foo/Jar/Jar", "Binks", false)
334
+ @augeas.expects(:insert).with("/Jar/Jar", "Binks", false)
339
335
  @augeas.expects(:save).returns(true)
340
336
  @augeas.expects(:close)
341
337
  @provider.execute_changes.should == :executed
342
338
  end
343
339
 
344
340
  it "should handle ins with no context" do
345
- command = [["ins", "Binks", "after /Jar/Jar"]]
341
+ command = "ins Binks after /Jar/Jar"
346
342
  context = "" # this is the default
347
343
  @resource.expects(:[]).times(2).returns(command).then.returns(context)
348
344
  @augeas.expects(:insert).with("/Jar/Jar", "Binks", false)
@@ -352,10 +348,10 @@ describe provider_class do
352
348
  end
353
349
 
354
350
  it "should handle multiple commands" do
355
- command = [["ins", "Binks", "after /Jar/Jar"], ["clear", "/Jar/Jar"]]
356
- context = "/foo"
351
+ command = ["ins Binks after /Jar/Jar", "clear Jar/Jar"]
352
+ context = "/foo/"
357
353
  @resource.expects(:[]).times(2).returns(command).then.returns(context)
358
- @augeas.expects(:insert).with("/foo/Jar/Jar", "Binks", false)
354
+ @augeas.expects(:insert).with("/Jar/Jar", "Binks", false)
359
355
  @augeas.expects(:clear).with("/foo/Jar/Jar")
360
356
  @augeas.expects(:save).returns(true)
361
357
  @augeas.expects(:close)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes