puppet 3.8.7 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1621) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.md +20 -0
  3. data/Gemfile +13 -25
  4. data/LICENSE +1 -1
  5. data/Rakefile +9 -0
  6. data/bin/puppet +7 -6
  7. data/conf/auth.conf +30 -26
  8. data/conf/environment.conf +18 -0
  9. data/conf/fileserver.conf +2 -2
  10. data/conf/puppet.conf +6 -0
  11. data/ext/README.environment +1 -1
  12. data/ext/build_defaults.yaml +17 -8
  13. data/ext/debian/control +6 -6
  14. data/ext/debian/puppet-common.manpages +0 -5
  15. data/ext/debian/puppet-common.postinst +3 -3
  16. data/ext/debian/puppet.init +23 -12
  17. data/ext/debian/puppet.logrotate +1 -2
  18. data/ext/debian/puppetmaster-common.postinst +6 -0
  19. data/ext/debian/puppetmaster.init +5 -5
  20. data/ext/debian/rules +4 -1
  21. data/ext/debian/vim-puppet.dirs +2 -0
  22. data/ext/debian/vim-puppet.yaml +2 -0
  23. data/ext/emacs/puppet-mode.el +0 -1
  24. data/ext/gentoo/conf.d/puppet +1 -1
  25. data/ext/gentoo/conf.d/puppetmaster +1 -1
  26. data/ext/nagios/check_puppet.rb +1 -1
  27. data/ext/project_data.yaml +6 -7
  28. data/ext/puppet-nm-dispatcher +13 -0
  29. data/ext/puppet-test +0 -66
  30. data/ext/puppetlisten/puppetlisten.rb +7 -5
  31. data/ext/rack/config.ru +13 -5
  32. data/ext/redhat/client.init +3 -3
  33. data/ext/redhat/client.sysconfig +1 -1
  34. data/ext/redhat/logrotate +1 -2
  35. data/ext/redhat/puppet.spec.erb +14 -10
  36. data/ext/redhat/server.init +1 -1
  37. data/ext/regexp_nodes/regexp_nodes.rb +1 -1
  38. data/ext/solaris/smf/svc-puppetd +1 -1
  39. data/ext/solaris/smf/svc-puppetmasterd +1 -1
  40. data/ext/suse/client.init +1 -1
  41. data/ext/suse/server.init +1 -1
  42. data/ext/systemd/puppet.service +1 -2
  43. data/ext/vim/syntax/puppet.vim +1 -1
  44. data/ext/windows/service/daemon.rb +19 -2
  45. data/install.rb +63 -7
  46. data/lib/hiera/puppet_function.rb +7 -18
  47. data/lib/hiera/scope.rb +4 -1
  48. data/lib/puppet/agent.rb +2 -6
  49. data/lib/puppet/application/agent.rb +7 -56
  50. data/lib/puppet/application/apply.rb +1 -6
  51. data/lib/puppet/application/ca.rb +5 -0
  52. data/lib/puppet/application/cert.rb +7 -3
  53. data/lib/puppet/application/certificate.rb +2 -0
  54. data/lib/puppet/application/device.rb +5 -14
  55. data/lib/puppet/application/doc.rb +16 -63
  56. data/lib/puppet/application/epp.rb +5 -0
  57. data/lib/puppet/application/face_base.rb +24 -5
  58. data/lib/puppet/application/master.rb +2 -5
  59. data/lib/puppet/application/resource.rb +17 -17
  60. data/lib/puppet/application.rb +14 -65
  61. data/lib/puppet/application_support.rb +57 -0
  62. data/lib/puppet/configurer/downloader.rb +1 -0
  63. data/lib/puppet/configurer/fact_handler.rb +1 -1
  64. data/lib/puppet/configurer.rb +3 -7
  65. data/lib/puppet/daemon.rb +6 -15
  66. data/lib/puppet/data_providers/data_adapter.rb +91 -0
  67. data/lib/puppet/data_providers/data_function_support.rb +45 -0
  68. data/lib/puppet/data_providers/function_env_data_provider.rb +28 -0
  69. data/lib/puppet/data_providers/function_module_data_provider.rb +39 -0
  70. data/lib/puppet/data_providers.rb +31 -0
  71. data/lib/puppet/defaults.rb +140 -508
  72. data/lib/puppet/environments.rb +10 -156
  73. data/lib/puppet/error.rb +5 -27
  74. data/lib/puppet/external/nagios/base.rb +2 -2
  75. data/lib/puppet/external/pson/common.rb +2 -17
  76. data/lib/puppet/external/pson/pure/generator.rb +1 -0
  77. data/lib/puppet/external/pson/pure/parser.rb +0 -11
  78. data/lib/puppet/face/catalog.rb +4 -4
  79. data/lib/puppet/face/certificate.rb +2 -3
  80. data/lib/puppet/face/certificate_request.rb +4 -3
  81. data/lib/puppet/face/certificate_revocation_list.rb +5 -9
  82. data/lib/puppet/face/config.rb +2 -2
  83. data/lib/puppet/face/epp.rb +479 -0
  84. data/lib/puppet/face/facts.rb +6 -49
  85. data/lib/puppet/face/file/download.rb +1 -2
  86. data/lib/puppet/face/file.rb +2 -2
  87. data/lib/puppet/face/help.rb +2 -3
  88. data/lib/puppet/face/module/build.rb +5 -5
  89. data/lib/puppet/face/module/changes.rb +1 -1
  90. data/lib/puppet/face/module/generate.rb +6 -6
  91. data/lib/puppet/face/module/install.rb +16 -16
  92. data/lib/puppet/face/module/list.rb +9 -9
  93. data/lib/puppet/face/module/uninstall.rb +5 -5
  94. data/lib/puppet/face/module/upgrade.rb +3 -3
  95. data/lib/puppet/face/node/clean.rb +5 -68
  96. data/lib/puppet/face/node.rb +3 -4
  97. data/lib/puppet/face/parser.rb +6 -8
  98. data/lib/puppet/face/report.rb +4 -4
  99. data/lib/puppet/face/resource.rb +1 -1
  100. data/lib/puppet/face/resource_type.rb +7 -4
  101. data/lib/puppet/face/status.rb +6 -12
  102. data/lib/puppet/feature/base.rb +0 -7
  103. data/lib/puppet/file_bucket/dipper.rb +1 -2
  104. data/lib/puppet/file_bucket/file.rb +12 -25
  105. data/lib/puppet/file_serving/base.rb +1 -11
  106. data/lib/puppet/file_serving/content.rb +5 -7
  107. data/lib/puppet/file_serving/metadata.rb +4 -61
  108. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -1
  109. data/lib/puppet/file_serving/mount/plugins.rb +1 -1
  110. data/lib/puppet/file_serving/terminus_helper.rb +16 -5
  111. data/lib/puppet/file_system/file_impl.rb +0 -4
  112. data/lib/puppet/file_system/memory_file.rb +0 -5
  113. data/lib/puppet/file_system/memory_impl.rb +0 -4
  114. data/lib/puppet/file_system/{file19.rb → posix.rb} +1 -1
  115. data/lib/puppet/file_system/{file19windows.rb → windows.rb} +2 -10
  116. data/lib/puppet/file_system.rb +6 -22
  117. data/lib/puppet/forge/repository.rb +12 -8
  118. data/lib/puppet/functions/assert_type.rb +7 -7
  119. data/lib/puppet/functions/each.rb +1 -3
  120. data/lib/puppet/functions/epp.rb +3 -3
  121. data/lib/puppet/functions/filter.rb +3 -5
  122. data/lib/puppet/functions/hiera.rb +2 -23
  123. data/lib/puppet/functions/hiera_array.rb +3 -25
  124. data/lib/puppet/functions/hiera_hash.rb +2 -26
  125. data/lib/puppet/functions/hiera_include.rb +4 -37
  126. data/lib/puppet/functions/inline_epp.rb +1 -2
  127. data/lib/puppet/functions/lookup.rb +234 -0
  128. data/lib/puppet/functions/map.rb +1 -3
  129. data/lib/puppet/functions/match.rb +5 -5
  130. data/lib/puppet/functions/reduce.rb +1 -3
  131. data/lib/puppet/functions/regsubst.rb +79 -0
  132. data/lib/puppet/functions/scanf.rb +4 -3
  133. data/lib/puppet/functions/slice.rb +1 -3
  134. data/lib/puppet/functions/split.rb +47 -0
  135. data/lib/puppet/functions/with.rb +1 -1
  136. data/lib/puppet/functions.rb +17 -51
  137. data/lib/puppet/graph/relationship_graph.rb +41 -13
  138. data/lib/puppet/graph/simple_graph.rb +6 -10
  139. data/lib/puppet/indirector/catalog/compiler.rb +0 -2
  140. data/lib/puppet/indirector/catalog/static_compiler.rb +4 -5
  141. data/lib/puppet/indirector/direct_file_server.rb +1 -3
  142. data/lib/puppet/indirector/face.rb +11 -2
  143. data/lib/puppet/indirector/facts/facter.rb +5 -1
  144. data/lib/puppet/indirector/facts/network_device.rb +5 -2
  145. data/lib/puppet/indirector/facts/store_configs.rb +3 -0
  146. data/lib/puppet/indirector/facts/yaml.rb +4 -0
  147. data/lib/puppet/indirector/file_metadata/file.rb +0 -15
  148. data/lib/puppet/indirector/file_server.rb +2 -16
  149. data/lib/puppet/indirector/hiera.rb +39 -1
  150. data/lib/puppet/indirector/indirection.rb +2 -9
  151. data/lib/puppet/indirector/node/ldap.rb +1 -1
  152. data/lib/puppet/indirector/request.rb +21 -81
  153. data/lib/puppet/indirector/resource/ral.rb +1 -2
  154. data/lib/puppet/indirector/resource/store_configs.rb +1 -2
  155. data/lib/puppet/indirector/resource_type/parser.rb +1 -1
  156. data/lib/puppet/indirector/rest.rb +21 -33
  157. data/lib/puppet/interface/action_builder.rb +1 -1
  158. data/lib/puppet/interface/action_manager.rb +9 -13
  159. data/lib/puppet/interface/face_collection.rb +2 -2
  160. data/lib/puppet/interface/option_builder.rb +1 -3
  161. data/lib/puppet/interface.rb +0 -7
  162. data/lib/puppet/metatype/manager.rb +1 -7
  163. data/lib/puppet/module.rb +42 -35
  164. data/lib/puppet/module_tool/applications/application.rb +3 -10
  165. data/lib/puppet/module_tool/applications/installer.rb +13 -15
  166. data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
  167. data/lib/puppet/module_tool/applications/upgrader.rb +9 -11
  168. data/lib/puppet/module_tool/contents_description.rb +17 -13
  169. data/lib/puppet/module_tool/installed_modules.rb +4 -6
  170. data/lib/puppet/module_tool/metadata.rb +3 -14
  171. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +3 -3
  172. data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +0 -1
  173. data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +1 -1
  174. data/lib/puppet/module_tool/tar/gnu.rb +1 -1
  175. data/lib/puppet/module_tool/tar/mini.rb +2 -2
  176. data/lib/puppet/module_tool.rb +5 -7
  177. data/lib/puppet/network/auth_config_parser.rb +2 -2
  178. data/lib/puppet/network/authconfig.rb +32 -16
  179. data/lib/puppet/network/format_handler.rb +7 -7
  180. data/lib/puppet/network/format_support.rb +4 -0
  181. data/lib/puppet/network/formats.rb +6 -62
  182. data/lib/puppet/network/http/api/ca/v1.rb +11 -0
  183. data/lib/puppet/network/http/api/ca.rb +2 -0
  184. data/lib/puppet/network/http/api/{v1.rb → indirected_routes.rb} +57 -29
  185. data/lib/puppet/network/http/api/indirection_type.rb +32 -0
  186. data/lib/puppet/network/http/api/master/v3/authorization.rb +18 -0
  187. data/lib/puppet/network/http/api/{v2 → master/v3}/environments.rb +2 -2
  188. data/lib/puppet/network/http/api/master/v3.rb +22 -0
  189. data/lib/puppet/network/http/api/master.rb +2 -0
  190. data/lib/puppet/network/http/api.rb +42 -0
  191. data/lib/puppet/network/http/compression.rb +3 -5
  192. data/lib/puppet/network/http/connection.rb +1 -8
  193. data/lib/puppet/network/http/factory.rb +2 -3
  194. data/lib/puppet/network/http/handler.rb +3 -11
  195. data/lib/puppet/network/http/rack/rest.rb +4 -4
  196. data/lib/puppet/network/http/request.rb +4 -4
  197. data/lib/puppet/network/http/webrick/rest.rb +15 -8
  198. data/lib/puppet/network/http/webrick.rb +1 -6
  199. data/lib/puppet/network/http.rb +12 -2
  200. data/lib/puppet/network/resolver.rb +2 -2
  201. data/lib/puppet/network/rights.rb +2 -2
  202. data/lib/puppet/node/environment.rb +92 -184
  203. data/lib/puppet/node/facts.rb +22 -44
  204. data/lib/puppet/node.rb +2 -29
  205. data/lib/puppet/parameter/value.rb +1 -3
  206. data/lib/puppet/parameter/value_collection.rb +12 -11
  207. data/lib/puppet/parameter.rb +3 -16
  208. data/lib/puppet/parser/ast/block_expression.rb +11 -36
  209. data/lib/puppet/parser/ast/branch.rb +15 -18
  210. data/lib/puppet/parser/ast/hostclass.rb +1 -3
  211. data/lib/puppet/parser/ast/leaf.rb +55 -212
  212. data/lib/puppet/parser/ast/node.rb +3 -11
  213. data/lib/puppet/parser/ast/pops_bridge.rb +2 -7
  214. data/lib/puppet/parser/ast/resource.rb +14 -20
  215. data/lib/puppet/parser/ast/resource_instance.rb +4 -7
  216. data/lib/puppet/parser/ast/resourceparam.rb +21 -22
  217. data/lib/puppet/parser/ast.rb +9 -78
  218. data/lib/puppet/parser/compiler.rb +41 -70
  219. data/lib/puppet/parser/e4_parser_adapter.rb +2 -23
  220. data/lib/puppet/parser/files.rb +22 -67
  221. data/lib/puppet/parser/functions/assert_type.rb +1 -2
  222. data/lib/puppet/parser/functions/contain.rb +5 -3
  223. data/lib/puppet/parser/functions/create_resources.rb +9 -1
  224. data/lib/puppet/parser/functions/defined.rb +33 -61
  225. data/lib/puppet/parser/functions/each.rb +1 -3
  226. data/lib/puppet/parser/functions/epp.rb +1 -2
  227. data/lib/puppet/parser/functions/file.rb +1 -3
  228. data/lib/puppet/parser/functions/filter.rb +1 -3
  229. data/lib/puppet/parser/functions/hiera.rb +4 -6
  230. data/lib/puppet/parser/functions/hiera_array.rb +4 -6
  231. data/lib/puppet/parser/functions/hiera_hash.rb +6 -8
  232. data/lib/puppet/parser/functions/hiera_include.rb +2 -10
  233. data/lib/puppet/parser/functions/include.rb +4 -2
  234. data/lib/puppet/parser/functions/lookup.rb +115 -105
  235. data/lib/puppet/parser/functions/map.rb +1 -3
  236. data/lib/puppet/parser/functions/match.rb +1 -2
  237. data/lib/puppet/parser/functions/realize.rb +1 -6
  238. data/lib/puppet/parser/functions/reduce.rb +1 -3
  239. data/lib/puppet/parser/functions/regsubst.rb +1 -57
  240. data/lib/puppet/parser/functions/require.rb +6 -4
  241. data/lib/puppet/parser/functions/scanf.rb +1 -1
  242. data/lib/puppet/parser/functions/slice.rb +1 -3
  243. data/lib/puppet/parser/functions/split.rb +1 -1
  244. data/lib/puppet/parser/functions/with.rb +1 -2
  245. data/lib/puppet/parser/functions.rb +1 -3
  246. data/lib/puppet/parser/parser_factory.rb +5 -21
  247. data/lib/puppet/parser/relationship.rb +14 -37
  248. data/lib/puppet/parser/resource.rb +11 -22
  249. data/lib/puppet/parser/scope.rb +45 -135
  250. data/lib/puppet/parser/templatewrapper.rb +1 -29
  251. data/lib/puppet/parser/type_loader.rb +12 -15
  252. data/lib/puppet/parser.rb +12 -2
  253. data/lib/{puppetx/puppet/bindings_scheme_handler.rb → puppet/plugins/binding_schemes.rb} +14 -4
  254. data/lib/puppet/plugins/configuration.rb +68 -0
  255. data/lib/puppet/plugins/data_providers.rb +90 -0
  256. data/lib/{puppetx/puppet/syntax_checker.rb → puppet/plugins/syntax_checkers.rb} +14 -2
  257. data/lib/puppet/plugins.rb +9 -0
  258. data/lib/puppet/pops/adaptable.rb +16 -5
  259. data/lib/puppet/pops/binder/binder.rb +5 -4
  260. data/lib/puppet/pops/binder/bindings_composer.rb +6 -4
  261. data/lib/puppet/pops/binder/bindings_factory.rb +4 -0
  262. data/lib/puppet/pops/binder/bindings_label_provider.rb +1 -1
  263. data/lib/puppet/pops/binder/bindings_loader.rb +3 -8
  264. data/lib/puppet/pops/binder/bindings_model_dumper.rb +36 -8
  265. data/lib/puppet/pops/binder/config/binder_config.rb +2 -2
  266. data/lib/puppet/pops/binder/config/binder_config_checker.rb +1 -1
  267. data/lib/puppet/pops/binder/config/issues.rb +4 -0
  268. data/lib/puppet/pops/binder/injector.rb +0 -1
  269. data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +1 -1
  270. data/lib/puppet/pops/evaluator/access_operator.rb +18 -50
  271. data/lib/puppet/pops/evaluator/callable_mismatch_describer.rb +5 -5
  272. data/lib/puppet/pops/evaluator/callable_signature.rb +2 -2
  273. data/lib/puppet/pops/evaluator/closure.rb +16 -21
  274. data/lib/puppet/pops/evaluator/collector_transformer.rb +11 -1
  275. data/lib/puppet/pops/evaluator/compare_operator.rb +0 -43
  276. data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -1
  277. data/lib/puppet/pops/evaluator/evaluator_impl.rb +32 -119
  278. data/lib/puppet/pops/evaluator/external_syntax_support.rb +6 -3
  279. data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -1
  280. data/lib/puppet/pops/evaluator/runtime3_converter.rb +1 -1
  281. data/lib/puppet/pops/evaluator/runtime3_support.rb +8 -52
  282. data/lib/puppet/pops/functions/dispatch.rb +1 -6
  283. data/lib/puppet/pops/issue_reporter.rb +16 -42
  284. data/lib/puppet/pops/issues.rb +13 -128
  285. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  286. data/lib/puppet/pops/loader/loader.rb +21 -20
  287. data/lib/puppet/pops/loaders.rb +13 -8
  288. data/lib/puppet/pops/lookup.rb +96 -0
  289. data/lib/puppet/pops/merge_strategy.rb +283 -0
  290. data/lib/puppet/pops/model/ast_transformer.rb +4 -522
  291. data/lib/puppet/pops/model/factory.rb +20 -21
  292. data/lib/puppet/pops/model/model.rb +1 -1
  293. data/lib/puppet/pops/model/model_label_provider.rb +1 -1
  294. data/lib/puppet/pops/model/model_meta.rb +10 -7
  295. data/lib/puppet/pops/model/tree_dumper.rb +1 -1
  296. data/lib/puppet/pops/parser/egrammar.ra +1 -11
  297. data/lib/puppet/pops/parser/eparser.rb +1133 -1265
  298. data/lib/puppet/pops/parser/epp_support.rb +11 -22
  299. data/lib/puppet/pops/parser/evaluating_parser.rb +11 -10
  300. data/lib/puppet/pops/parser/heredoc_support.rb +11 -12
  301. data/lib/puppet/pops/parser/interpolation_support.rb +1 -7
  302. data/lib/puppet/pops/parser/lexer2.rb +14 -19
  303. data/lib/puppet/pops/parser/lexer_support.rb +20 -46
  304. data/lib/puppet/pops/parser/locator.rb +6 -30
  305. data/lib/puppet/pops/parser/parser_support.rb +14 -11
  306. data/lib/puppet/pops/parser/slurp_support.rb +6 -22
  307. data/lib/puppet/pops/patterns.rb +0 -3
  308. data/lib/puppet/pops/types/class_loader.rb +8 -8
  309. data/lib/puppet/pops/types/enumeration.rb +1 -1
  310. data/lib/puppet/pops/types/type_asserter.rb +45 -0
  311. data/lib/puppet/pops/types/type_assertion_error.rb +26 -0
  312. data/lib/puppet/pops/types/type_calculator.rb +110 -212
  313. data/lib/puppet/pops/types/type_factory.rb +15 -74
  314. data/lib/puppet/pops/types/type_parser.rb +15 -24
  315. data/lib/puppet/pops/types/types.rb +25 -35
  316. data/lib/puppet/pops/types/types_meta.rb +2 -13
  317. data/lib/puppet/pops/utils.rb +1 -1
  318. data/lib/puppet/pops/validation/checker4_0.rb +6 -56
  319. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -3
  320. data/lib/puppet/pops/validation.rb +3 -26
  321. data/lib/puppet/pops/visitor.rb +10 -7
  322. data/lib/puppet/pops.rb +6 -7
  323. data/lib/puppet/property.rb +44 -124
  324. data/lib/puppet/provider/aixobject.rb +2 -2
  325. data/lib/puppet/provider/augeas/augeas.rb +9 -6
  326. data/lib/puppet/provider/command.rb +1 -1
  327. data/lib/puppet/provider/cron/crontab.rb +37 -0
  328. data/lib/puppet/provider/exec.rb +2 -16
  329. data/lib/puppet/provider/file/posix.rb +1 -1
  330. data/lib/puppet/provider/file/windows.rb +1 -1
  331. data/lib/puppet/provider/group/aix.rb +1 -1
  332. data/lib/puppet/provider/group/pw.rb +0 -1
  333. data/lib/puppet/provider/group/windows_adsi.rb +4 -18
  334. data/lib/puppet/provider/host/parsed.rb +4 -2
  335. data/lib/puppet/provider/macauthorization/macauthorization.rb +1 -13
  336. data/lib/puppet/provider/mailalias/aliases.rb +23 -12
  337. data/lib/puppet/provider/mount/parsed.rb +2 -145
  338. data/lib/puppet/provider/nameservice/directoryservice.rb +58 -132
  339. data/lib/puppet/provider/network_device.rb +3 -0
  340. data/lib/puppet/provider/package/appdmg.rb +6 -3
  341. data/lib/puppet/provider/package/apt.rb +1 -1
  342. data/lib/puppet/provider/package/fink.rb +1 -1
  343. data/lib/puppet/provider/package/gem.rb +19 -6
  344. data/lib/puppet/provider/package/openbsd.rb +26 -12
  345. data/lib/puppet/provider/package/opkg.rb +6 -1
  346. data/lib/puppet/provider/package/pacman.rb +159 -127
  347. data/lib/puppet/provider/package/pip.rb +1 -11
  348. data/lib/puppet/provider/package/pkg.rb +73 -29
  349. data/lib/puppet/provider/package/pkgdmg.rb +3 -3
  350. data/lib/puppet/provider/package/pkgin.rb +1 -1
  351. data/lib/puppet/provider/package/portage.rb +5 -1
  352. data/lib/puppet/provider/package/portupgrade.rb +0 -2
  353. data/lib/puppet/provider/package/puppet_gem.rb +17 -0
  354. data/lib/puppet/provider/package/rpm.rb +109 -0
  355. data/lib/puppet/provider/package/rug.rb +0 -1
  356. data/lib/puppet/provider/package/windows/package.rb +1 -1
  357. data/lib/puppet/provider/package/yum.rb +121 -30
  358. data/lib/puppet/provider/package/zypper.rb +8 -17
  359. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +7 -32
  360. data/lib/puppet/provider/service/base.rb +17 -3
  361. data/lib/puppet/provider/service/bsd.rb +1 -1
  362. data/lib/puppet/provider/service/daemontools.rb +1 -1
  363. data/lib/puppet/provider/service/init.rb +0 -7
  364. data/lib/puppet/provider/service/launchd.rb +12 -90
  365. data/lib/puppet/provider/service/openbsd.rb +56 -298
  366. data/lib/puppet/provider/service/runit.rb +1 -1
  367. data/lib/puppet/provider/service/systemd.rb +1 -0
  368. data/lib/puppet/provider/service/upstart.rb +4 -2
  369. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -1
  370. data/lib/puppet/provider/user/aix.rb +1 -1
  371. data/lib/puppet/provider/user/directoryservice.rb +42 -72
  372. data/lib/puppet/provider/user/hpux.rb +31 -2
  373. data/lib/puppet/provider/user/openbsd.rb +74 -0
  374. data/lib/puppet/provider/user/pw.rb +0 -1
  375. data/lib/puppet/provider/user/user_role_add.rb +1 -3
  376. data/lib/puppet/provider/user/windows_adsi.rb +2 -9
  377. data/lib/puppet/provider/yumrepo/inifile.rb +1 -3
  378. data/lib/puppet/provider/zfs/zfs.rb +3 -2
  379. data/lib/puppet/provider/zone/solaris.rb +3 -3
  380. data/lib/puppet/provider.rb +0 -52
  381. data/lib/puppet/reference/configuration.rb +4 -3
  382. data/lib/puppet/reference/metaparameter.rb +0 -9
  383. data/lib/puppet/reference/providers.rb +1 -1
  384. data/lib/puppet/reference/type.rb +8 -10
  385. data/lib/puppet/relationship.rb +4 -17
  386. data/lib/puppet/resource/catalog.rb +23 -30
  387. data/lib/puppet/resource/status.rb +74 -22
  388. data/lib/puppet/resource/type.rb +12 -52
  389. data/lib/puppet/resource/type_collection.rb +26 -73
  390. data/lib/puppet/resource.rb +132 -114
  391. data/lib/puppet/settings/base_setting.rb +6 -30
  392. data/lib/puppet/settings/config_file.rb +14 -11
  393. data/lib/puppet/settings/duration_setting.rb +1 -1
  394. data/lib/puppet/settings/environment_conf.rb +14 -12
  395. data/lib/puppet/settings/file_setting.rb +9 -10
  396. data/lib/puppet/settings/ttl_setting.rb +1 -3
  397. data/lib/puppet/settings.rb +95 -154
  398. data/lib/puppet/ssl/certificate.rb +38 -8
  399. data/lib/puppet/ssl/certificate_authority/interface.rb +7 -1
  400. data/lib/puppet/ssl/certificate_factory.rb +3 -3
  401. data/lib/puppet/ssl/certificate_request.rb +36 -8
  402. data/lib/puppet/ssl/configuration.rb +2 -8
  403. data/lib/puppet/ssl/host.rb +1 -8
  404. data/lib/puppet/ssl/inventory.rb +0 -7
  405. data/lib/puppet/ssl/oids.rb +72 -3
  406. data/lib/puppet/ssl/validator/default_validator.rb +0 -1
  407. data/lib/puppet/status.rb +0 -5
  408. data/lib/{puppetx/puppetlabs → puppet}/syntax_checkers/json.rb +2 -2
  409. data/lib/puppet/syntax_checkers.rb +3 -0
  410. data/lib/puppet/test/test_helper.rb +11 -12
  411. data/lib/puppet/transaction/event.rb +4 -5
  412. data/lib/puppet/transaction/event_manager.rb +50 -5
  413. data/lib/puppet/transaction/report.rb +5 -10
  414. data/lib/puppet/transaction/resource_harness.rb +7 -2
  415. data/lib/puppet/transaction.rb +12 -9
  416. data/lib/puppet/type/augeas.rb +1 -0
  417. data/lib/puppet/type/exec.rb +2 -2
  418. data/lib/puppet/type/file/content.rb +19 -15
  419. data/lib/puppet/type/file/mode.rb +16 -11
  420. data/lib/puppet/type/file/selcontext.rb +1 -1
  421. data/lib/puppet/type/file/source.rb +15 -15
  422. data/lib/puppet/type/file.rb +8 -9
  423. data/lib/puppet/type/filebucket.rb +2 -2
  424. data/lib/puppet/type/group.rb +5 -17
  425. data/lib/puppet/type/host.rb +12 -3
  426. data/lib/puppet/type/k5login.rb +1 -1
  427. data/lib/puppet/type/mailalias.rb +20 -6
  428. data/lib/puppet/type/maillist.rb +1 -1
  429. data/lib/puppet/type/mount.rb +6 -16
  430. data/lib/puppet/type/notify.rb +1 -1
  431. data/lib/puppet/type/package.rb +91 -16
  432. data/lib/puppet/type/resources.rb +0 -7
  433. data/lib/puppet/type/router.rb +1 -1
  434. data/lib/puppet/type/schedule.rb +1 -1
  435. data/lib/puppet/type/scheduled_task.rb +0 -13
  436. data/lib/puppet/type/selboolean.rb +2 -2
  437. data/lib/puppet/type/service.rb +1 -1
  438. data/lib/puppet/type/ssh_authorized_key.rb +1 -1
  439. data/lib/puppet/type/sshkey.rb +1 -1
  440. data/lib/puppet/type/tidy.rb +4 -1
  441. data/lib/puppet/type/user.rb +16 -3
  442. data/lib/puppet/type/yumrepo.rb +26 -0
  443. data/lib/puppet/type/zfs.rb +1 -1
  444. data/lib/puppet/type/zpool.rb +1 -1
  445. data/lib/puppet/type.rb +113 -29
  446. data/lib/puppet/util/autoload.rb +3 -13
  447. data/lib/puppet/util/checksums.rb +59 -22
  448. data/lib/puppet/util/classgen.rb +1 -9
  449. data/lib/puppet/util/colors.rb +0 -117
  450. data/lib/puppet/util/command_line.rb +1 -23
  451. data/lib/puppet/util/execution.rb +19 -22
  452. data/lib/puppet/util/feature.rb +2 -4
  453. data/lib/puppet/util/fileparsing.rb +3 -2
  454. data/lib/puppet/util/log/destinations.rb +17 -36
  455. data/lib/puppet/util/log.rb +13 -56
  456. data/lib/puppet/util/logging.rb +52 -37
  457. data/lib/puppet/util/metric.rb +0 -149
  458. data/lib/puppet/util/monkey_patches.rb +1 -94
  459. data/lib/puppet/util/network_device/base.rb +1 -5
  460. data/lib/puppet/util/network_device/cisco/interface.rb +2 -2
  461. data/lib/puppet/util/network_device/transport/ssh.rb +2 -2
  462. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  463. data/lib/puppet/util/profiler/around_profiler.rb +1 -1
  464. data/lib/puppet/util/profiler.rb +1 -1
  465. data/lib/puppet/util/psych_support.rb +38 -0
  466. data/lib/puppet/util/rdoc/code_objects.rb +5 -45
  467. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
  468. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +8 -227
  469. data/lib/puppet/util/rdoc/parser.rb +5 -15
  470. data/lib/puppet/util/rdoc.rb +6 -42
  471. data/lib/puppet/util/retry_action.rb +46 -0
  472. data/lib/puppet/util/run_mode.rb +49 -8
  473. data/lib/puppet/util/selinux.rb +2 -2
  474. data/lib/puppet/util/ssl.rb +11 -11
  475. data/lib/puppet/util/suidmanager.rb +4 -31
  476. data/lib/puppet/util/tag_set.rb +0 -11
  477. data/lib/puppet/util/tagging.rb +50 -19
  478. data/lib/puppet/util/warnings.rb +1 -0
  479. data/lib/puppet/util/windows/adsi.rb +13 -60
  480. data/lib/puppet/util/windows/api_types.rb +16 -2
  481. data/lib/puppet/util/windows/file.rb +2 -8
  482. data/lib/puppet/util/windows/process.rb +58 -0
  483. data/lib/puppet/util/windows/registry.rb +319 -31
  484. data/lib/puppet/util/windows/security.rb +1 -68
  485. data/lib/puppet/util/windows/taskscheduler.rb +0 -21
  486. data/lib/puppet/util/windows/user.rb +2 -3
  487. data/lib/puppet/util.rb +2 -85
  488. data/lib/puppet/vendor/deep_merge/CHANGELOG +45 -0
  489. data/lib/puppet/vendor/deep_merge/Gemfile +3 -0
  490. data/lib/puppet/vendor/deep_merge/LICENSE +21 -0
  491. data/lib/puppet/vendor/deep_merge/PUPPET_README.md +6 -0
  492. data/lib/puppet/vendor/deep_merge/README.md +113 -0
  493. data/lib/puppet/vendor/deep_merge/Rakefile +19 -0
  494. data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +35 -0
  495. data/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +210 -0
  496. data/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +28 -0
  497. data/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +27 -0
  498. data/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +2 -0
  499. data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +608 -0
  500. data/lib/puppet/vendor/load_deep_merge.rb +1 -0
  501. data/lib/puppet/vendor/load_plist.rb +1 -0
  502. data/lib/puppet/vendor/load_rgen.rb +1 -0
  503. data/lib/puppet/vendor/plist/CHANGELOG +82 -0
  504. data/lib/puppet/vendor/{safe_yaml/LICENSE.txt → plist/MIT-LICENSE} +7 -8
  505. data/lib/puppet/vendor/plist/PUPPET_README.md +6 -0
  506. data/lib/puppet/vendor/plist/README +36 -0
  507. data/lib/puppet/vendor/plist/Rakefile +144 -0
  508. data/lib/puppet/vendor/plist/docs/USAGE +104 -0
  509. data/lib/puppet/vendor/plist/docs/jamis-template.rb +591 -0
  510. data/lib/puppet/vendor/plist/lib/plist/generator.rb +224 -0
  511. data/lib/puppet/vendor/plist/lib/plist/parser.rb +225 -0
  512. data/lib/puppet/vendor/plist/lib/plist.rb +22 -0
  513. data/lib/puppet/vendor/plist/test/assets/AlbumData.xml +203 -0
  514. data/lib/puppet/vendor/plist/test/assets/Cookies.plist +104 -0
  515. data/lib/puppet/vendor/plist/test/assets/commented.plist +9 -0
  516. data/lib/puppet/vendor/plist/test/assets/example_data.bin +0 -0
  517. data/lib/puppet/vendor/plist/test/assets/example_data.jpg +0 -0
  518. data/lib/puppet/vendor/plist/test/assets/example_data.plist +259 -0
  519. data/lib/puppet/vendor/plist/test/assets/test_data_elements.plist +24 -0
  520. data/lib/puppet/vendor/plist/test/assets/test_empty_key.plist +13 -0
  521. data/lib/puppet/vendor/plist/test/test_data_elements.rb +115 -0
  522. data/lib/puppet/vendor/plist/test/test_generator.rb +59 -0
  523. data/lib/puppet/vendor/plist/test/test_generator_basic_types.rb +58 -0
  524. data/lib/puppet/vendor/plist/test/test_generator_collections.rb +82 -0
  525. data/lib/puppet/vendor/plist/test/test_parser.rb +90 -0
  526. data/lib/puppet/vendor/require_vendored.rb +1 -3
  527. data/lib/puppet/vendor/rgen_patch.rb +132 -0
  528. data/lib/puppet/version.rb +1 -1
  529. data/lib/puppet.rb +19 -51
  530. data/lib/puppet_x.rb +8 -0
  531. data/lib/semver.rb +0 -1
  532. data/man/man5/puppet.conf.5 +424 -287
  533. data/man/man8/extlookup2hiera.8 +2 -15
  534. data/man/man8/puppet-agent.8 +14 -14
  535. data/man/man8/puppet-apply.8 +29 -30
  536. data/man/man8/puppet-ca.8 +29 -17
  537. data/man/man8/puppet-catalog.8 +5 -34
  538. data/man/man8/puppet-cert.8 +8 -4
  539. data/man/man8/puppet-certificate.8 +15 -29
  540. data/man/man8/puppet-certificate_request.8 +9 -16
  541. data/man/man8/puppet-certificate_revocation_list.8 +5 -31
  542. data/man/man8/puppet-config.8 +52 -11
  543. data/man/man8/puppet-describe.8 +1 -1
  544. data/man/man8/puppet-device.8 +5 -16
  545. data/man/man8/puppet-doc.8 +7 -80
  546. data/man/man8/puppet-epp.8 +349 -0
  547. data/man/man8/puppet-facts.8 +5 -95
  548. data/man/man8/puppet-file.8 +2 -28
  549. data/man/man8/puppet-filebucket.8 +2 -2
  550. data/man/man8/puppet-help.8 +2 -2
  551. data/man/man8/puppet-inspect.8 +1 -1
  552. data/man/man8/puppet-key.8 +6 -3
  553. data/man/man8/puppet-man.8 +2 -2
  554. data/man/man8/puppet-master.8 +11 -7
  555. data/man/man8/puppet-module.8 +75 -49
  556. data/man/man8/puppet-node.8 +8 -56
  557. data/man/man8/puppet-parser.8 +38 -4
  558. data/man/man8/puppet-plugin.8 +2 -2
  559. data/man/man8/puppet-report.8 +8 -70
  560. data/man/man8/puppet-resource.8 +7 -3
  561. data/man/man8/puppet-resource_type.8 +2 -28
  562. data/man/man8/puppet-status.8 +5 -47
  563. data/man/man8/puppet.8 +2 -2
  564. data/spec/fixtures/integration/provider/mailalias/aliases/test1 +3 -0
  565. data/spec/fixtures/integration/provider/sshkey/sample +21 -0
  566. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +2 -0
  567. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +7 -0
  568. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +9 -0
  569. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +8 -0
  570. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +9 -0
  571. data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +2 -0
  572. data/spec/fixtures/unit/data_providers/environments/sample/manifests/site.pp +6 -0
  573. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +54 -0
  574. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +31 -0
  575. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +32 -0
  576. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +5 -0
  577. data/spec/fixtures/unit/functions/lookup/environments/production/environment.conf +2 -0
  578. data/spec/fixtures/unit/functions/lookup/environments/production/lib/puppet/functions/environment/data.rb +13 -0
  579. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +9 -0
  580. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +9 -0
  581. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/manifests/init.pp +8 -0
  582. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +9 -0
  583. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +6 -0
  584. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/manifests/init.pp +3 -0
  585. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +9 -0
  586. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +9 -0
  587. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bca/manifests/init.pp +2 -0
  588. data/spec/fixtures/unit/functions/lookup/environments/production/modules/no_provider/manifests/init.pp +2 -0
  589. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -0
  590. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +1 -1
  591. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/{puppetx → puppet_x}/awesome2/echo_scheme_handler.rb +3 -3
  592. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +6 -0
  593. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -0
  594. data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +85 -93
  595. data/spec/fixtures/unit/provider/mount/parsed/aix.mount +7 -11
  596. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +3 -0
  597. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +1 -1
  598. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +1 -1
  599. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +1 -1
  600. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +1 -1
  601. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +1 -1
  602. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +1 -1
  603. data/spec/fixtures/unit/provider/package/pkg/incomplete +1 -1
  604. data/spec/fixtures/unit/provider/package/pkg/solaris11 +2 -2
  605. data/spec/fixtures/unit/provider/package/pkg/unknown_status +12 -12
  606. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +201 -0
  607. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +12 -0
  608. data/spec/fixtures/unit/provider/parsedfile/simple.txt +3 -0
  609. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +6 -0
  610. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +33 -0
  611. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +28 -0
  612. data/spec/integration/agent/logging_spec.rb +1 -5
  613. data/spec/integration/application/apply_spec.rb +1 -1
  614. data/spec/integration/application/doc_spec.rb +1 -43
  615. data/spec/integration/configurer_spec.rb +5 -5
  616. data/spec/integration/data_binding.rb +4 -0
  617. data/spec/integration/defaults_spec.rb +42 -143
  618. data/spec/integration/directory_environments_spec.rb +3 -3
  619. data/spec/integration/environments/default_manifest_spec.rb +3 -51
  620. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  621. data/spec/integration/environments/settings_interpolation_spec.rb +50 -105
  622. data/spec/integration/environments/settings_spec.rb +100 -0
  623. data/spec/integration/faces/ca_spec.rb +51 -51
  624. data/spec/integration/faces/documentation_spec.rb +6 -6
  625. data/spec/integration/file_bucket/file_spec.rb +5 -16
  626. data/spec/integration/file_serving/fileset_spec.rb +1 -1
  627. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -1
  628. data/spec/integration/indirector/catalog/compiler_spec.rb +6 -6
  629. data/spec/integration/indirector/direct_file_server_spec.rb +40 -12
  630. data/spec/integration/indirector/facts/facter_spec.rb +1 -1
  631. data/spec/integration/indirector/file_content/file_server_spec.rb +23 -21
  632. data/spec/integration/indirector/file_metadata/file_server_spec.rb +53 -0
  633. data/spec/integration/indirector/node/ldap_spec.rb +0 -0
  634. data/spec/integration/network/authconfig_spec.rb +26 -26
  635. data/spec/integration/network/formats_spec.rb +12 -12
  636. data/spec/integration/network/http/api/indirected_routes_spec.rb +56 -0
  637. data/spec/integration/node/environment_spec.rb +12 -15
  638. data/spec/integration/node/facts_spec.rb +3 -3
  639. data/spec/integration/node_spec.rb +8 -8
  640. data/spec/integration/parser/catalog_spec.rb +1 -32
  641. data/spec/integration/parser/class_spec.rb +0 -4
  642. data/spec/integration/parser/{collector_spec.rb → collection_spec.rb} +3 -27
  643. data/spec/integration/parser/compiler_spec.rb +769 -385
  644. data/spec/integration/parser/conditionals_spec.rb +2 -27
  645. data/spec/integration/parser/functions/require_spec.rb +8 -8
  646. data/spec/integration/parser/node_spec.rb +29 -42
  647. data/spec/integration/parser/resource_expressions_spec.rb +125 -210
  648. data/spec/integration/parser/scope_spec.rb +168 -319
  649. data/spec/integration/parser/undef_param_spec.rb +5 -5
  650. data/spec/integration/provider/cron/crontab_spec.rb +3 -3
  651. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -0
  652. data/spec/integration/provider/mount_spec.rb +33 -28
  653. data/spec/integration/provider/package_spec.rb +3 -14
  654. data/spec/integration/provider/service/init_spec.rb +4 -4
  655. data/spec/integration/provider/service/systemd_spec.rb +3 -3
  656. data/spec/integration/provider/ssh_authorized_key_spec.rb +12 -12
  657. data/spec/integration/provider/sshkey_spec.rb +159 -0
  658. data/spec/integration/provider/yumrepo_spec.rb +127 -0
  659. data/spec/integration/reference/providers_spec.rb +1 -1
  660. data/spec/integration/reports_spec.rb +1 -1
  661. data/spec/integration/resource/catalog_spec.rb +3 -3
  662. data/spec/integration/resource/type_collection_spec.rb +10 -25
  663. data/spec/integration/ssl/autosign_spec.rb +1 -1
  664. data/spec/integration/ssl/certificate_authority_spec.rb +8 -8
  665. data/spec/integration/ssl/certificate_request_spec.rb +2 -2
  666. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -0
  667. data/spec/integration/ssl/host_spec.rb +7 -7
  668. data/spec/integration/transaction/report_spec.rb +0 -0
  669. data/spec/integration/transaction_spec.rb +86 -50
  670. data/spec/integration/type/exec_spec.rb +5 -5
  671. data/spec/integration/type/file_spec.rb +277 -280
  672. data/spec/integration/type/package_spec.rb +105 -6
  673. data/spec/integration/type/tidy_spec.rb +1 -1
  674. data/spec/integration/type/user_spec.rb +4 -4
  675. data/spec/integration/type_spec.rb +2 -2
  676. data/spec/integration/util/autoload_spec.rb +7 -12
  677. data/spec/integration/util/rdoc/parser_spec.rb +13 -99
  678. data/spec/integration/util/settings_spec.rb +1 -1
  679. data/spec/integration/util/windows/process_spec.rb +6 -6
  680. data/spec/integration/util/windows/security_spec.rb +79 -105
  681. data/spec/integration/util/windows/user_spec.rb +12 -12
  682. data/spec/integration/util_spec.rb +8 -8
  683. data/spec/lib/matchers/containment_matchers.rb +1 -1
  684. data/spec/lib/matchers/include.rb +3 -3
  685. data/spec/lib/matchers/include_in_order.rb +2 -2
  686. data/spec/lib/matchers/json.rb +5 -35
  687. data/spec/lib/matchers/match_tokens2.rb +1 -1
  688. data/spec/lib/matchers/relationship_graph_matchers.rb +1 -1
  689. data/spec/lib/matchers/resource.rb +8 -23
  690. data/spec/lib/puppet/face/1.0.0/huzzah.rb +2 -2
  691. data/spec/lib/puppet/face/basetest.rb +0 -0
  692. data/spec/lib/puppet/face/huzzah.rb +2 -2
  693. data/spec/lib/puppet/face/version_matching.rb +1 -1
  694. data/spec/lib/puppet/indirector_proxy.rb +34 -0
  695. data/spec/lib/puppet/indirector_testing.rb +1 -11
  696. data/spec/lib/puppet_spec/files.rb +1 -1
  697. data/spec/lib/puppet_spec/fixtures.rb +0 -0
  698. data/spec/lib/puppet_spec/handler.rb +53 -0
  699. data/spec/lib/puppet_spec/matchers.rb +12 -5
  700. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +3 -3
  701. data/spec/lib/puppet_spec/modules.rb +11 -0
  702. data/spec/lib/puppet_spec/network.rb +101 -0
  703. data/spec/lib/puppet_spec/pops.rb +2 -2
  704. data/spec/lib/puppet_spec/settings.rb +17 -0
  705. data/spec/lib/puppet_spec/verbose.rb +0 -0
  706. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  707. data/spec/shared_behaviours/an_indirector_face.rb +2 -2
  708. data/spec/shared_behaviours/documentation_on_faces.rb +46 -46
  709. data/spec/shared_behaviours/file_server_terminus.rb +1 -1
  710. data/spec/shared_behaviours/file_serving.rb +0 -0
  711. data/spec/shared_behaviours/hiera_indirections.rb +10 -10
  712. data/spec/shared_behaviours/iterative_functions.rb +1 -1
  713. data/spec/shared_behaviours/memory_terminus.rb +5 -5
  714. data/spec/shared_behaviours/path_parameters.rb +8 -8
  715. data/spec/shared_behaviours/store_configs_terminus.rb +3 -3
  716. data/spec/shared_behaviours/things_that_declare_options.rb +25 -25
  717. data/spec/shared_contexts/checksum.rb +62 -0
  718. data/spec/shared_contexts/{checksums.rb → digests.rb} +2 -2
  719. data/spec/spec_helper.rb +14 -5
  720. data/spec/unit/agent/disabler_spec.rb +3 -3
  721. data/spec/unit/agent/locker_spec.rb +9 -9
  722. data/spec/unit/agent_spec.rb +18 -18
  723. data/spec/unit/application/agent_spec.rb +25 -92
  724. data/spec/unit/application/apply_spec.rb +16 -16
  725. data/spec/unit/application/cert_spec.rb +15 -15
  726. data/spec/unit/application/certificate_spec.rb +2 -2
  727. data/spec/unit/application/config_spec.rb +1 -1
  728. data/spec/unit/application/describe_spec.rb +6 -6
  729. data/spec/unit/application/device_spec.rb +11 -11
  730. data/spec/unit/application/doc_spec.rb +22 -31
  731. data/spec/unit/application/face_base_spec.rb +88 -59
  732. data/spec/unit/application/facts_spec.rb +2 -11
  733. data/spec/unit/application/filebucket_spec.rb +7 -7
  734. data/spec/unit/application/indirection_base_spec.rb +0 -4
  735. data/spec/unit/application/inspect_spec.rb +21 -21
  736. data/spec/unit/application/master_spec.rb +8 -9
  737. data/spec/unit/application/resource_spec.rb +27 -79
  738. data/spec/unit/application_spec.rb +54 -58
  739. data/spec/unit/configurer/downloader_factory_spec.rb +0 -0
  740. data/spec/unit/configurer/downloader_spec.rb +26 -20
  741. data/spec/unit/configurer/fact_handler_spec.rb +19 -12
  742. data/spec/unit/configurer/plugin_handler_spec.rb +0 -0
  743. data/spec/unit/configurer_spec.rb +44 -44
  744. data/spec/unit/confine/exists_spec.rb +10 -10
  745. data/spec/unit/confine/false_spec.rb +7 -7
  746. data/spec/unit/confine/feature_spec.rb +7 -7
  747. data/spec/unit/confine/true_spec.rb +7 -7
  748. data/spec/unit/confine/variable_spec.rb +13 -13
  749. data/spec/unit/confine_collection_spec.rb +12 -12
  750. data/spec/unit/confine_spec.rb +10 -10
  751. data/spec/unit/confiner_spec.rb +8 -8
  752. data/spec/unit/context/trusted_information_spec.rb +9 -2
  753. data/spec/unit/daemon_spec.rb +10 -21
  754. data/spec/unit/data_binding_spec.rb +1 -1
  755. data/spec/unit/data_providers/function_data_provider_spec.rb +96 -0
  756. data/spec/unit/data_providers/sample_data_provider_spec.rb +52 -0
  757. data/spec/unit/defaults_spec.rb +6 -6
  758. data/spec/unit/environments_spec.rb +4 -6
  759. data/spec/unit/{util → external}/pson_spec.rb +15 -25
  760. data/spec/unit/face/catalog_spec.rb +0 -0
  761. data/spec/unit/face/certificate_spec.rb +19 -19
  762. data/spec/unit/face/config_spec.rb +2 -7
  763. data/spec/unit/face/epp_face_spec.rb +303 -0
  764. data/spec/unit/face/facts_spec.rb +1 -15
  765. data/spec/unit/face/file_spec.rb +3 -5
  766. data/spec/unit/face/help_spec.rb +17 -16
  767. data/spec/unit/face/module/build_spec.rb +2 -2
  768. data/spec/unit/face/module/list_spec.rb +11 -11
  769. data/spec/unit/face/module/search_spec.rb +17 -17
  770. data/spec/unit/face/node_spec.rb +4 -122
  771. data/spec/unit/face/parser_spec.rb +1 -1
  772. data/spec/unit/face/plugin_spec.rb +2 -2
  773. data/spec/unit/face_spec.rb +0 -0
  774. data/spec/unit/file_bucket/dipper_spec.rb +23 -23
  775. data/spec/unit/file_bucket/file_spec.rb +12 -28
  776. data/spec/unit/file_serving/base_spec.rb +26 -26
  777. data/spec/unit/file_serving/configuration/parser_spec.rb +10 -10
  778. data/spec/unit/file_serving/configuration_spec.rb +17 -17
  779. data/spec/unit/file_serving/content_spec.rb +19 -31
  780. data/spec/unit/file_serving/fileset_spec.rb +32 -33
  781. data/spec/unit/file_serving/metadata_spec.rb +115 -71
  782. data/spec/unit/file_serving/mount/file_spec.rb +15 -15
  783. data/spec/unit/file_serving/mount/modules_spec.rb +2 -2
  784. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +5 -5
  785. data/spec/unit/file_serving/mount/plugins_spec.rb +5 -5
  786. data/spec/unit/file_serving/mount_spec.rb +5 -5
  787. data/spec/unit/file_serving/terminus_helper_spec.rb +19 -0
  788. data/spec/unit/file_serving/terminus_selector_spec.rb +6 -6
  789. data/spec/unit/file_system/uniquefile_spec.rb +2 -2
  790. data/spec/unit/file_system_spec.rb +79 -117
  791. data/spec/unit/forge/errors_spec.rb +8 -8
  792. data/spec/unit/forge/module_release_spec.rb +2 -4
  793. data/spec/unit/forge/repository_spec.rb +38 -44
  794. data/spec/unit/forge_spec.rb +1 -1
  795. data/spec/unit/functions/assert_type_spec.rb +1 -1
  796. data/spec/unit/functions/each_spec.rb +19 -23
  797. data/spec/unit/functions/epp_spec.rb +9 -17
  798. data/spec/unit/functions/filter_spec.rb +0 -22
  799. data/spec/unit/functions/hiera_spec.rb +18 -24
  800. data/spec/unit/functions/inline_epp_spec.rb +8 -16
  801. data/spec/unit/functions/lookup_spec.rb +364 -0
  802. data/spec/unit/functions/map_spec.rb +1 -7
  803. data/spec/unit/functions/reduce_spec.rb +0 -11
  804. data/spec/unit/functions/regsubst_spec.rb +94 -0
  805. data/spec/unit/functions/scanf_spec.rb +0 -4
  806. data/spec/unit/functions/slice_spec.rb +0 -12
  807. data/spec/unit/functions/split_spec.rb +46 -0
  808. data/spec/unit/functions/with_spec.rb +4 -13
  809. data/spec/unit/functions4_spec.rb +57 -162
  810. data/spec/unit/graph/rb_tree_map_spec.rb +78 -78
  811. data/spec/unit/graph/relationship_graph_spec.rb +17 -17
  812. data/spec/unit/graph/{simple_graph.rb → simple_graph_spec.rb} +122 -126
  813. data/spec/unit/hiera/scope_spec.rb +13 -12
  814. data/spec/unit/hiera_puppet_spec.rb +12 -12
  815. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -15
  816. data/spec/unit/indirector/catalog/json_spec.rb +2 -2
  817. data/spec/unit/indirector/catalog/msgpack_spec.rb +2 -2
  818. data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
  819. data/spec/unit/indirector/catalog/static_compiler_spec.rb +14 -14
  820. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -0
  821. data/spec/unit/indirector/catalog/yaml_spec.rb +4 -4
  822. data/spec/unit/indirector/certificate/ca_spec.rb +3 -3
  823. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -0
  824. data/spec/unit/indirector/certificate/file_spec.rb +3 -3
  825. data/spec/unit/indirector/certificate/rest_spec.rb +6 -6
  826. data/spec/unit/indirector/certificate_request/ca_spec.rb +8 -8
  827. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -0
  828. data/spec/unit/indirector/certificate_request/file_spec.rb +2 -2
  829. data/spec/unit/indirector/certificate_request/rest_spec.rb +4 -4
  830. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +2 -2
  831. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -0
  832. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +2 -2
  833. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +4 -4
  834. data/spec/unit/indirector/certificate_status/file_spec.rb +18 -18
  835. data/spec/unit/indirector/certificate_status/rest_spec.rb +2 -2
  836. data/spec/unit/indirector/code_spec.rb +3 -3
  837. data/spec/unit/indirector/data_binding/hiera_spec.rb +3 -3
  838. data/spec/unit/indirector/data_binding/none_spec.rb +5 -5
  839. data/spec/unit/indirector/direct_file_server_spec.rb +14 -4
  840. data/spec/unit/indirector/envelope_spec.rb +4 -4
  841. data/spec/unit/indirector/exec_spec.rb +4 -4
  842. data/spec/unit/indirector/face_spec.rb +13 -8
  843. data/spec/unit/indirector/facts/facter_spec.rb +10 -20
  844. data/spec/unit/indirector/facts/network_device_spec.rb +10 -20
  845. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -0
  846. data/spec/unit/indirector/facts/yaml_spec.rb +6 -6
  847. data/spec/unit/indirector/file_bucket_file/file_spec.rb +34 -34
  848. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -1
  849. data/spec/unit/indirector/file_content/file_server_spec.rb +2 -2
  850. data/spec/unit/indirector/file_content/file_spec.rb +2 -2
  851. data/spec/unit/indirector/file_content/rest_spec.rb +1 -1
  852. data/spec/unit/indirector/file_metadata/file_server_spec.rb +2 -2
  853. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -5
  854. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -1
  855. data/spec/unit/indirector/file_server_spec.rb +35 -17
  856. data/spec/unit/indirector/indirection_spec.rb +56 -56
  857. data/spec/unit/indirector/json_spec.rb +15 -16
  858. data/spec/unit/indirector/key/ca_spec.rb +3 -3
  859. data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -0
  860. data/spec/unit/indirector/key/file_spec.rb +5 -5
  861. data/spec/unit/indirector/ldap_spec.rb +13 -13
  862. data/spec/unit/indirector/memory_spec.rb +0 -0
  863. data/spec/unit/indirector/msgpack_spec.rb +15 -15
  864. data/spec/unit/indirector/node/exec_spec.rb +20 -9
  865. data/spec/unit/indirector/node/ldap_spec.rb +48 -48
  866. data/spec/unit/indirector/node/memory_spec.rb +0 -0
  867. data/spec/unit/indirector/node/msgpack_spec.rb +4 -4
  868. data/spec/unit/indirector/node/plain_spec.rb +2 -2
  869. data/spec/unit/indirector/node/rest_spec.rb +0 -0
  870. data/spec/unit/indirector/node/store_configs_spec.rb +0 -0
  871. data/spec/unit/indirector/node/yaml_spec.rb +4 -4
  872. data/spec/unit/indirector/none_spec.rb +2 -2
  873. data/spec/unit/indirector/plain_spec.rb +1 -1
  874. data/spec/unit/indirector/report/msgpack_spec.rb +5 -5
  875. data/spec/unit/indirector/report/processor_spec.rb +4 -4
  876. data/spec/unit/indirector/report/rest_spec.rb +8 -8
  877. data/spec/unit/indirector/report/yaml_spec.rb +5 -5
  878. data/spec/unit/indirector/request_spec.rb +103 -206
  879. data/spec/unit/indirector/resource/ral_spec.rb +8 -10
  880. data/spec/unit/indirector/resource/store_configs_spec.rb +2 -4
  881. data/spec/unit/indirector/resource_type/parser_spec.rb +37 -37
  882. data/spec/unit/indirector/resource_type/rest_spec.rb +2 -2
  883. data/spec/unit/indirector/rest_spec.rb +70 -55
  884. data/spec/unit/indirector/ssl_file_spec.rb +13 -13
  885. data/spec/unit/indirector/status/rest_spec.rb +1 -1
  886. data/spec/unit/indirector/store_configs_spec.rb +0 -0
  887. data/spec/unit/indirector/terminus_spec.rb +17 -17
  888. data/spec/unit/indirector/yaml_spec.rb +12 -12
  889. data/spec/unit/indirector_spec.rb +7 -7
  890. data/spec/unit/interface/action_builder_spec.rb +15 -15
  891. data/spec/unit/interface/action_manager_spec.rb +31 -56
  892. data/spec/unit/interface/action_spec.rb +62 -65
  893. data/spec/unit/interface/documentation_spec.rb +2 -2
  894. data/spec/unit/interface/face_collection_spec.rb +33 -33
  895. data/spec/unit/interface/option_builder_spec.rb +8 -8
  896. data/spec/unit/interface/option_spec.rb +23 -23
  897. data/spec/unit/interface_spec.rb +19 -24
  898. data/spec/unit/man_spec.rb +0 -0
  899. data/spec/unit/module_spec.rb +163 -115
  900. data/spec/unit/module_tool/applications/builder_spec.rb +0 -19
  901. data/spec/unit/module_tool/applications/installer_spec.rb +29 -29
  902. data/spec/unit/module_tool/applications/searcher_spec.rb +4 -4
  903. data/spec/unit/module_tool/applications/uninstaller_spec.rb +15 -15
  904. data/spec/unit/module_tool/applications/unpacker_spec.rb +3 -3
  905. data/spec/unit/module_tool/applications/upgrader_spec.rb +28 -28
  906. data/spec/unit/module_tool/install_directory_spec.rb +3 -3
  907. data/spec/unit/module_tool/metadata_spec.rb +26 -26
  908. data/spec/unit/module_tool/tar/gnu_spec.rb +1 -1
  909. data/spec/unit/module_tool/tar/mini_spec.rb +2 -2
  910. data/spec/unit/module_tool/tar_spec.rb +2 -2
  911. data/spec/unit/module_tool_spec.rb +13 -34
  912. data/spec/unit/network/auth_config_parser_spec.rb +7 -7
  913. data/spec/unit/network/authconfig_spec.rb +9 -9
  914. data/spec/unit/network/authstore_spec.rb +38 -39
  915. data/spec/unit/network/format_handler_spec.rb +14 -14
  916. data/spec/unit/network/format_spec.rb +34 -34
  917. data/spec/unit/network/format_support_spec.rb +10 -10
  918. data/spec/unit/network/formats_spec.rb +50 -136
  919. data/spec/unit/network/http/api/ca/v1_spec.rb +26 -0
  920. data/spec/unit/network/http/api/{v1_spec.rb → indirected_routes_spec.rb} +128 -184
  921. data/spec/unit/network/http/api/{v2 → master/v3}/authorization_spec.rb +23 -21
  922. data/spec/unit/network/http/api/{v2 → master/v3}/environments_spec.rb +5 -5
  923. data/spec/unit/network/http/api/master/v3_spec.rb +39 -0
  924. data/spec/unit/network/http/api_spec.rb +127 -0
  925. data/spec/unit/network/http/compression_spec.rb +20 -26
  926. data/spec/unit/network/http/connection_spec.rb +2 -5
  927. data/spec/unit/network/http/factory_spec.rb +6 -8
  928. data/spec/unit/network/http/handler_spec.rb +31 -84
  929. data/spec/unit/network/http/nocache_pool_spec.rb +0 -0
  930. data/spec/unit/network/http/pool_spec.rb +0 -0
  931. data/spec/unit/network/http/rack/rest_spec.rb +38 -39
  932. data/spec/unit/network/http/rack_spec.rb +1 -1
  933. data/spec/unit/network/http/route_spec.rb +3 -3
  934. data/spec/unit/network/http/session_spec.rb +4 -4
  935. data/spec/unit/network/http/site_spec.rb +1 -1
  936. data/spec/unit/network/http/webrick/rest_spec.rb +36 -55
  937. data/spec/unit/network/http/webrick_spec.rb +16 -27
  938. data/spec/unit/network/http_pool_spec.rb +11 -11
  939. data/spec/unit/network/http_spec.rb +0 -0
  940. data/spec/unit/network/resolver_spec.rb +10 -10
  941. data/spec/unit/network/rights_spec.rb +67 -67
  942. data/spec/unit/network/server_spec.rb +3 -3
  943. data/spec/unit/node/environment_spec.rb +177 -273
  944. data/spec/unit/node/facts_spec.rb +71 -33
  945. data/spec/unit/node_spec.rb +150 -158
  946. data/spec/unit/other/selinux_spec.rb +6 -6
  947. data/spec/unit/parameter/boolean_spec.rb +4 -3
  948. data/spec/unit/parameter/package_options_spec.rb +5 -5
  949. data/spec/unit/parameter/path_spec.rb +1 -1
  950. data/spec/unit/parameter/value_collection_spec.rb +23 -28
  951. data/spec/unit/parameter/value_spec.rb +20 -24
  952. data/spec/unit/parameter_spec.rb +26 -26
  953. data/spec/unit/parser/ast/block_expression_spec.rb +3 -2
  954. data/spec/unit/parser/ast/leaf_spec.rb +5 -378
  955. data/spec/unit/parser/compiler_spec.rb +84 -74
  956. data/spec/unit/parser/files_spec.rb +55 -121
  957. data/spec/unit/parser/functions/contain_spec.rb +8 -11
  958. data/spec/unit/parser/functions/create_resources_spec.rb +28 -28
  959. data/spec/unit/parser/functions/defined_spec.rb +52 -51
  960. data/spec/unit/parser/functions/digest_spec.rb +2 -2
  961. data/spec/unit/parser/functions/fail_spec.rb +1 -1
  962. data/spec/unit/parser/functions/file_spec.rb +7 -13
  963. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -5
  964. data/spec/unit/parser/functions/generate_spec.rb +20 -20
  965. data/spec/unit/parser/functions/hiera_array_spec.rb +2 -16
  966. data/spec/unit/parser/functions/hiera_hash_spec.rb +2 -12
  967. data/spec/unit/parser/functions/hiera_include_spec.rb +2 -29
  968. data/spec/unit/parser/functions/hiera_spec.rb +2 -12
  969. data/spec/unit/parser/functions/include_spec.rb +9 -19
  970. data/spec/unit/parser/functions/inline_template_spec.rb +3 -3
  971. data/spec/unit/parser/functions/lookup_spec.rb +3 -140
  972. data/spec/unit/parser/functions/realize_spec.rb +0 -0
  973. data/spec/unit/parser/functions/regsubst_spec.rb +7 -179
  974. data/spec/unit/parser/functions/require_spec.rb +14 -21
  975. data/spec/unit/parser/functions/scanf_spec.rb +0 -0
  976. data/spec/unit/parser/functions/shellquote_spec.rb +20 -20
  977. data/spec/unit/parser/functions/split_spec.rb +2 -37
  978. data/spec/unit/parser/functions/sprintf_spec.rb +7 -11
  979. data/spec/unit/parser/functions/tag_spec.rb +3 -3
  980. data/spec/unit/parser/functions/template_spec.rb +10 -10
  981. data/spec/unit/parser/functions/versioncmp_spec.rb +3 -3
  982. data/spec/unit/parser/functions_spec.rb +8 -8
  983. data/spec/unit/parser/relationship_spec.rb +14 -32
  984. data/spec/unit/parser/resource/param_spec.rb +0 -0
  985. data/spec/unit/parser/resource_spec.rb +57 -57
  986. data/spec/unit/parser/scope_spec.rb +89 -101
  987. data/spec/unit/parser/templatewrapper_spec.rb +15 -32
  988. data/spec/unit/parser/type_loader_spec.rb +53 -73
  989. data/spec/unit/pops/adaptable_spec.rb +22 -22
  990. data/spec/unit/pops/binder/bindings_checker_spec.rb +14 -14
  991. data/spec/unit/pops/binder/bindings_composer_spec.rb +4 -6
  992. data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +3 -3
  993. data/spec/unit/pops/binder/config/binder_config_spec.rb +8 -1
  994. data/spec/unit/pops/binder/injector_spec.rb +91 -109
  995. data/spec/unit/pops/containment_spec.rb +4 -4
  996. data/spec/unit/pops/evaluator/access_ops_spec.rb +5 -24
  997. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +23 -23
  998. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +22 -22
  999. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -3
  1000. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +104 -107
  1001. data/spec/unit/pops/evaluator/conditionals_spec.rb +39 -39
  1002. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +75 -143
  1003. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +1 -5
  1004. data/spec/unit/pops/evaluator/logical_ops_spec.rb +15 -15
  1005. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +5 -5
  1006. data/spec/unit/pops/evaluator/variables_spec.rb +18 -18
  1007. data/spec/unit/pops/factory_rspec_helper.rb +0 -8
  1008. data/spec/unit/pops/factory_spec.rb +104 -104
  1009. data/spec/unit/pops/issues_spec.rb +21 -21
  1010. data/spec/unit/pops/label_provider_spec.rb +6 -6
  1011. data/spec/unit/pops/loaders/loaders_spec.rb +3 -3
  1012. data/spec/unit/pops/model/model_spec.rb +10 -10
  1013. data/spec/unit/pops/parser/epp_parser_spec.rb +20 -20
  1014. data/spec/unit/pops/parser/evaluating_parser_spec.rb +2 -2
  1015. data/spec/unit/pops/parser/lexer2_spec.rb +50 -251
  1016. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +91 -91
  1017. data/spec/unit/pops/parser/parse_calls_spec.rb +19 -19
  1018. data/spec/unit/pops/parser/parse_conditionals_spec.rb +38 -22
  1019. data/spec/unit/pops/parser/parse_containers_spec.rb +47 -47
  1020. data/spec/unit/pops/parser/parse_heredoc_spec.rb +16 -42
  1021. data/spec/unit/pops/parser/parse_resource_spec.rb +75 -70
  1022. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -5
  1023. data/spec/unit/pops/parser/parser_spec.rb +7 -7
  1024. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -7
  1025. data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +2 -2
  1026. data/spec/unit/pops/types/class_loader_spec.rb +10 -0
  1027. data/spec/unit/pops/types/type_calculator_spec.rb +456 -651
  1028. data/spec/unit/pops/types/type_factory_spec.rb +59 -59
  1029. data/spec/unit/pops/types/type_parser_spec.rb +2 -10
  1030. data/spec/unit/pops/validator/validator_spec.rb +0 -55
  1031. data/spec/unit/pops/visitor_spec.rb +4 -4
  1032. data/spec/unit/property/boolean_spec.rb +2 -2
  1033. data/spec/unit/property/ensure_spec.rb +1 -1
  1034. data/spec/unit/property/keyvalue_spec.rb +16 -16
  1035. data/spec/unit/property/list_spec.rb +18 -18
  1036. data/spec/unit/property/ordered_list_spec.rb +7 -7
  1037. data/spec/unit/property_spec.rb +72 -96
  1038. data/spec/unit/provider/aixobject_spec.rb +12 -12
  1039. data/spec/unit/provider/augeas/augeas_spec.rb +171 -149
  1040. data/spec/unit/provider/cisco_spec.rb +2 -2
  1041. data/spec/unit/provider/command_spec.rb +1 -1
  1042. data/spec/unit/provider/cron/crontab_spec.rb +9 -9
  1043. data/spec/unit/provider/cron/parsed_spec.rb +59 -38
  1044. data/spec/unit/provider/exec/posix_spec.rb +9 -19
  1045. data/spec/unit/provider/exec/shell_spec.rb +13 -13
  1046. data/spec/unit/provider/exec/windows_spec.rb +10 -10
  1047. data/spec/unit/provider/exec_spec.rb +2 -2
  1048. data/spec/unit/provider/file/posix_spec.rb +27 -27
  1049. data/spec/unit/provider/file/windows_spec.rb +15 -15
  1050. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  1051. data/spec/unit/provider/group/ldap_spec.rb +11 -11
  1052. data/spec/unit/provider/group/pw_spec.rb +3 -3
  1053. data/spec/unit/provider/group/windows_adsi_spec.rb +48 -62
  1054. data/spec/unit/provider/host/parsed_spec.rb +58 -22
  1055. data/spec/unit/provider/interface/cisco_spec.rb +3 -3
  1056. data/spec/unit/provider/ldap_spec.rb +23 -23
  1057. data/spec/unit/provider/macauthorization_spec.rb +7 -7
  1058. data/spec/unit/provider/mcx/mcxcontent_spec.rb +6 -6
  1059. data/spec/unit/provider/mount/parsed_spec.rb +101 -119
  1060. data/spec/unit/provider/mount_spec.rb +0 -0
  1061. data/spec/unit/provider/naginator_spec.rb +8 -8
  1062. data/spec/unit/provider/nameservice/directoryservice_spec.rb +5 -27
  1063. data/spec/unit/provider/nameservice_spec.rb +26 -26
  1064. data/spec/unit/provider/network_device_spec.rb +11 -11
  1065. data/spec/unit/provider/package/aix_spec.rb +3 -3
  1066. data/spec/unit/provider/package/appdmg_spec.rb +1 -1
  1067. data/spec/unit/provider/package/apt_spec.rb +4 -4
  1068. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  1069. data/spec/unit/provider/package/aptrpm_spec.rb +3 -3
  1070. data/spec/unit/provider/package/dpkg_spec.rb +0 -0
  1071. data/spec/unit/provider/package/freebsd_spec.rb +1 -1
  1072. data/spec/unit/provider/package/gem_spec.rb +201 -139
  1073. data/spec/unit/provider/package/hpux_spec.rb +3 -3
  1074. data/spec/unit/provider/package/macports_spec.rb +15 -15
  1075. data/spec/unit/provider/package/nim_spec.rb +11 -11
  1076. data/spec/unit/provider/package/openbsd_spec.rb +72 -37
  1077. data/spec/unit/provider/package/opkg_spec.rb +14 -11
  1078. data/spec/unit/provider/package/pacman_spec.rb +185 -86
  1079. data/spec/unit/provider/package/pip_spec.rb +25 -54
  1080. data/spec/unit/provider/package/pkg_spec.rb +145 -71
  1081. data/spec/unit/provider/package/pkgdmg_spec.rb +9 -9
  1082. data/spec/unit/provider/package/pkgin_spec.rb +18 -18
  1083. data/spec/unit/provider/package/pkgutil_spec.rb +19 -19
  1084. data/spec/unit/provider/package/portage_spec.rb +8 -4
  1085. data/spec/unit/provider/package/puppet_gem_spec.rb +67 -0
  1086. data/spec/unit/provider/package/rpm_spec.rb +103 -9
  1087. data/spec/unit/provider/package/sun_spec.rb +14 -14
  1088. data/spec/unit/provider/package/up2date_spec.rb +1 -1
  1089. data/spec/unit/provider/package/{urpmi.rb → urpmi_spec.rb} +3 -3
  1090. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -13
  1091. data/spec/unit/provider/package/windows/msi_package_spec.rb +16 -16
  1092. data/spec/unit/provider/package/windows/package_spec.rb +14 -14
  1093. data/spec/unit/provider/package/windows_spec.rb +26 -26
  1094. data/spec/unit/provider/package/yum_spec.rb +292 -98
  1095. data/spec/unit/provider/package/zypper_spec.rb +20 -31
  1096. data/spec/unit/provider/parsedfile_spec.rb +9 -9
  1097. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +192 -434
  1098. data/spec/unit/provider/selboolean_spec.rb +2 -2
  1099. data/spec/unit/provider/selmodule_spec.rb +8 -8
  1100. data/spec/unit/provider/service/base_spec.rb +27 -38
  1101. data/spec/unit/provider/service/daemontools_spec.rb +11 -11
  1102. data/spec/unit/provider/service/debian_spec.rb +8 -8
  1103. data/spec/unit/provider/service/freebsd_spec.rb +7 -8
  1104. data/spec/unit/provider/service/gentoo_spec.rb +12 -13
  1105. data/spec/unit/provider/service/init_spec.rb +25 -38
  1106. data/spec/unit/provider/service/launchd_spec.rb +19 -125
  1107. data/spec/unit/provider/service/openbsd_spec.rb +90 -144
  1108. data/spec/unit/provider/service/openrc_spec.rb +14 -14
  1109. data/spec/unit/provider/service/openwrt_spec.rb +9 -9
  1110. data/spec/unit/provider/service/redhat_spec.rb +14 -15
  1111. data/spec/unit/provider/service/runit_spec.rb +11 -11
  1112. data/spec/unit/provider/service/smf_spec.rb +19 -19
  1113. data/spec/unit/provider/service/src_spec.rb +9 -9
  1114. data/spec/unit/provider/service/systemd_spec.rb +33 -15
  1115. data/spec/unit/provider/service/upstart_spec.rb +59 -59
  1116. data/spec/unit/provider/service/windows_spec.rb +6 -6
  1117. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +18 -18
  1118. data/spec/unit/provider/sshkey/parsed_spec.rb +11 -11
  1119. data/spec/unit/provider/user/aix_spec.rb +19 -19
  1120. data/spec/unit/provider/user/directoryservice_spec.rb +52 -96
  1121. data/spec/unit/provider/user/hpux_spec.rb +24 -3
  1122. data/spec/unit/provider/user/ldap_spec.rb +12 -12
  1123. data/spec/unit/provider/user/openbsd_spec.rb +77 -0
  1124. data/spec/unit/provider/user/pw_spec.rb +5 -5
  1125. data/spec/unit/provider/user/user_role_add_spec.rb +20 -20
  1126. data/spec/unit/provider/user/useradd_spec.rb +48 -32
  1127. data/spec/unit/provider/user/windows_adsi_spec.rb +9 -31
  1128. data/spec/unit/provider/vlan/cisco_spec.rb +3 -3
  1129. data/spec/unit/provider/yumrepo/inifile_spec.rb +3 -3
  1130. data/spec/unit/provider/zfs/zfs_spec.rb +11 -11
  1131. data/spec/unit/provider/zone/solaris_spec.rb +22 -55
  1132. data/spec/unit/provider/zpool/zpool_spec.rb +22 -22
  1133. data/spec/unit/provider_spec.rb +110 -102
  1134. data/spec/unit/puppet_spec.rb +15 -8
  1135. data/spec/unit/relationship_spec.rb +37 -41
  1136. data/spec/unit/reports/http_spec.rb +0 -0
  1137. data/spec/unit/reports/store_spec.rb +3 -3
  1138. data/spec/unit/reports_spec.rb +5 -5
  1139. data/spec/unit/resource/catalog_spec.rb +93 -111
  1140. data/spec/unit/resource/status_spec.rb +49 -75
  1141. data/spec/unit/resource/type_collection_helper_spec.rb +1 -1
  1142. data/spec/unit/resource/type_collection_spec.rb +59 -164
  1143. data/spec/unit/resource/type_spec.rb +115 -120
  1144. data/spec/unit/resource_spec.rb +176 -159
  1145. data/spec/unit/scheduler/job_spec.rb +12 -12
  1146. data/spec/unit/scheduler/scheduler_spec.rb +8 -8
  1147. data/spec/unit/scheduler/splay_job_spec.rb +4 -4
  1148. data/spec/unit/semver_spec.rb +66 -64
  1149. data/spec/unit/settings/autosign_setting_spec.rb +1 -0
  1150. data/spec/unit/settings/config_file_spec.rb +13 -40
  1151. data/spec/unit/settings/directory_setting_spec.rb +1 -1
  1152. data/spec/unit/settings/duration_setting_spec.rb +9 -5
  1153. data/spec/unit/settings/environment_conf_spec.rb +0 -11
  1154. data/spec/unit/settings/file_setting_spec.rb +38 -69
  1155. data/spec/unit/settings/ini_file_spec.rb +2 -2
  1156. data/spec/unit/settings/path_setting_spec.rb +5 -5
  1157. data/spec/unit/settings/priority_setting_spec.rb +7 -7
  1158. data/spec/unit/settings/string_setting_spec.rb +7 -7
  1159. data/spec/unit/settings/terminus_setting_spec.rb +4 -4
  1160. data/spec/unit/settings/value_translator_spec.rb +22 -22
  1161. data/spec/unit/settings_spec.rb +189 -338
  1162. data/spec/unit/ssl/base_spec.rb +5 -5
  1163. data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +2 -2
  1164. data/spec/unit/ssl/certificate_authority/interface_spec.rb +40 -13
  1165. data/spec/unit/ssl/certificate_authority_spec.rb +23 -23
  1166. data/spec/unit/ssl/certificate_factory_spec.rb +39 -26
  1167. data/spec/unit/ssl/certificate_request_attributes_spec.rb +2 -2
  1168. data/spec/unit/ssl/certificate_request_spec.rb +52 -40
  1169. data/spec/unit/ssl/certificate_revocation_list_spec.rb +10 -10
  1170. data/spec/unit/ssl/certificate_spec.rb +35 -38
  1171. data/spec/unit/ssl/configuration_spec.rb +12 -14
  1172. data/spec/unit/ssl/digest_spec.rb +5 -5
  1173. data/spec/unit/ssl/host_spec.rb +91 -91
  1174. data/spec/unit/ssl/inventory_spec.rb +11 -34
  1175. data/spec/unit/ssl/key_spec.rb +23 -23
  1176. data/spec/unit/ssl/oids_spec.rb +28 -15
  1177. data/spec/unit/ssl/validator_spec.rb +16 -17
  1178. data/spec/unit/status_spec.rb +6 -12
  1179. data/spec/unit/transaction/additional_resource_generator_spec.rb +2 -2
  1180. data/spec/unit/transaction/event_manager_spec.rb +38 -8
  1181. data/spec/unit/transaction/event_spec.rb +29 -29
  1182. data/spec/unit/transaction/report_spec.rb +76 -90
  1183. data/spec/unit/transaction/resource_harness_spec.rb +42 -42
  1184. data/spec/unit/transaction_spec.rb +66 -59
  1185. data/spec/unit/type/augeas_spec.rb +20 -20
  1186. data/spec/unit/type/component_spec.rb +10 -10
  1187. data/spec/unit/type/computer_spec.rb +10 -10
  1188. data/spec/unit/type/cron_spec.rb +21 -21
  1189. data/spec/unit/type/exec_spec.rb +65 -73
  1190. data/spec/unit/type/file/checksum_spec.rb +8 -8
  1191. data/spec/unit/type/file/content_spec.rb +144 -85
  1192. data/spec/unit/type/file/ctime_spec.rb +4 -4
  1193. data/spec/unit/type/file/ensure_spec.rb +11 -11
  1194. data/spec/unit/type/file/group_spec.rb +5 -5
  1195. data/spec/unit/type/file/mode_spec.rb +30 -28
  1196. data/spec/unit/type/file/mtime_spec.rb +4 -4
  1197. data/spec/unit/type/file/owner_spec.rb +5 -5
  1198. data/spec/unit/type/file/selinux_spec.rb +8 -8
  1199. data/spec/unit/type/file/source_spec.rb +118 -135
  1200. data/spec/unit/type/file/type_spec.rb +2 -2
  1201. data/spec/unit/type/file_spec.rb +161 -160
  1202. data/spec/unit/type/filebucket_spec.rb +8 -8
  1203. data/spec/unit/type/group_spec.rb +12 -12
  1204. data/spec/unit/type/host_spec.rb +41 -25
  1205. data/spec/unit/type/interface_spec.rb +6 -6
  1206. data/spec/unit/type/k5login_spec.rb +18 -18
  1207. data/spec/unit/type/macauthorization_spec.rb +17 -17
  1208. data/spec/unit/type/mailalias_spec.rb +34 -6
  1209. data/spec/unit/type/maillist_spec.rb +2 -2
  1210. data/spec/unit/type/mcx_spec.rb +13 -13
  1211. data/spec/unit/type/mount_spec.rb +40 -40
  1212. data/spec/unit/type/nagios_spec.rb +23 -23
  1213. data/spec/unit/type/noop_metaparam_spec.rb +5 -5
  1214. data/spec/unit/type/package/package_settings_spec.rb +9 -9
  1215. data/spec/unit/type/package_spec.rb +87 -18
  1216. data/spec/unit/type/resources_spec.rb +46 -46
  1217. data/spec/unit/type/schedule_spec.rb +83 -83
  1218. data/spec/unit/type/scheduled_task_spec.rb +15 -15
  1219. data/spec/unit/type/selboolean_spec.rb +2 -2
  1220. data/spec/unit/type/selmodule_spec.rb +2 -2
  1221. data/spec/unit/type/service_spec.rb +24 -24
  1222. data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
  1223. data/spec/unit/type/sshkey_spec.rb +0 -0
  1224. data/spec/unit/type/stage_spec.rb +1 -1
  1225. data/spec/unit/type/tidy_spec.rb +58 -39
  1226. data/spec/unit/type/user_spec.rb +56 -56
  1227. data/spec/unit/type/vlan_spec.rb +6 -6
  1228. data/spec/unit/type/whit_spec.rb +1 -1
  1229. data/spec/unit/type/yumrepo_spec.rb +15 -0
  1230. data/spec/unit/type/zfs_spec.rb +3 -3
  1231. data/spec/unit/type/zone_spec.rb +19 -19
  1232. data/spec/unit/type/zpool_spec.rb +15 -15
  1233. data/spec/unit/type_spec.rb +236 -163
  1234. data/spec/unit/util/autoload_spec.rb +31 -25
  1235. data/spec/unit/util/backups_spec.rb +4 -4
  1236. data/spec/unit/util/checksums_spec.rb +55 -27
  1237. data/spec/unit/util/colors_spec.rb +6 -50
  1238. data/spec/unit/util/command_line_spec.rb +13 -41
  1239. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +2 -2
  1240. data/spec/unit/util/constant_inflector_spec.rb +12 -12
  1241. data/spec/unit/util/diff_spec.rb +4 -4
  1242. data/spec/unit/util/errors_spec.rb +5 -5
  1243. data/spec/unit/util/execution_spec.rb +74 -29
  1244. data/spec/unit/util/execution_stub_spec.rb +10 -10
  1245. data/spec/unit/util/feature_spec.rb +15 -19
  1246. data/spec/unit/util/filetype_spec.rb +9 -9
  1247. data/spec/unit/util/http_proxy_spec.rb +18 -18
  1248. data/spec/unit/util/inifile_spec.rb +2 -2
  1249. data/spec/unit/util/json_lockfile_spec.rb +1 -1
  1250. data/spec/unit/util/ldap/connection_spec.rb +6 -6
  1251. data/spec/unit/util/ldap/generator_spec.rb +8 -8
  1252. data/spec/unit/util/ldap/manager_spec.rb +40 -40
  1253. data/spec/unit/util/lockfile_spec.rb +13 -13
  1254. data/spec/unit/util/log/destinations_spec.rb +52 -49
  1255. data/spec/unit/util/log_spec.rb +48 -173
  1256. data/spec/unit/util/logging_spec.rb +120 -3
  1257. data/spec/unit/util/metric_spec.rb +18 -33
  1258. data/spec/unit/util/monkey_patches_spec.rb +18 -139
  1259. data/spec/unit/util/nagios_maker_spec.rb +2 -2
  1260. data/spec/unit/util/network_device/cisco/device_spec.rb +23 -23
  1261. data/spec/unit/util/network_device/cisco/facts_spec.rb +3 -3
  1262. data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -0
  1263. data/spec/unit/util/network_device/config_spec.rb +10 -10
  1264. data/spec/unit/util/network_device/ipcalc_spec.rb +10 -10
  1265. data/spec/unit/util/network_device/transport/base_spec.rb +2 -2
  1266. data/spec/unit/util/network_device/transport/ssh_spec.rb +10 -10
  1267. data/spec/unit/util/network_device/transport/telnet_spec.rb +3 -3
  1268. data/spec/unit/util/network_device_spec.rb +2 -2
  1269. data/spec/unit/util/package_spec.rb +2 -2
  1270. data/spec/unit/util/pidlock_spec.rb +38 -38
  1271. data/spec/unit/util/posix_spec.rb +25 -25
  1272. data/spec/unit/util/profiler/aggregate_spec.rb +14 -18
  1273. data/spec/unit/util/profiler/around_profiler_spec.rb +6 -6
  1274. data/spec/unit/util/profiler/logging_spec.rb +8 -8
  1275. data/spec/unit/util/profiler/object_counts_spec.rb +3 -5
  1276. data/spec/unit/util/profiler/wall_clock_spec.rb +1 -1
  1277. data/spec/unit/util/profiler_spec.rb +6 -14
  1278. data/spec/unit/util/rdoc_spec.rb +0 -85
  1279. data/spec/unit/util/reference_spec.rb +1 -1
  1280. data/spec/unit/util/resource_template_spec.rb +2 -2
  1281. data/spec/unit/util/{retryaction_spec.rb → retry_action_spec.rb} +25 -2
  1282. data/spec/unit/util/rubygems_spec.rb +8 -8
  1283. data/spec/unit/util/run_mode_spec.rb +164 -22
  1284. data/spec/unit/util/selinux_spec.rb +61 -39
  1285. data/spec/unit/util/ssl_spec.rb +13 -13
  1286. data/spec/unit/util/storage_spec.rb +27 -27
  1287. data/spec/unit/util/suidmanager_spec.rb +56 -67
  1288. data/spec/unit/util/symbolic_file_mode_spec.rb +15 -16
  1289. data/spec/unit/util/tag_set_spec.rb +5 -5
  1290. data/spec/unit/util/tagging_spec.rb +0 -0
  1291. data/spec/unit/util/terminal_spec.rb +5 -5
  1292. data/spec/unit/util/user_attr_spec.rb +6 -6
  1293. data/spec/unit/util/warnings_spec.rb +9 -1
  1294. data/spec/unit/util/watcher_spec.rb +1 -1
  1295. data/spec/unit/util/windows/access_control_entry_spec.rb +9 -9
  1296. data/spec/unit/util/windows/access_control_list_spec.rb +21 -21
  1297. data/spec/unit/util/windows/adsi_spec.rb +71 -209
  1298. data/spec/unit/util/windows/api_types_spec.rb +3 -3
  1299. data/spec/unit/util/windows/registry_spec.rb +72 -46
  1300. data/spec/unit/util/windows/root_certs_spec.rb +1 -1
  1301. data/spec/unit/util/windows/security_descriptor_spec.rb +18 -18
  1302. data/spec/unit/util/windows/sid_spec.rb +40 -20
  1303. data/spec/unit/util/windows/string_spec.rb +4 -4
  1304. data/spec/unit/util/yaml_spec.rb +1 -1
  1305. data/spec/unit/util_spec.rb +73 -124
  1306. data/spec/unit/version_spec.rb +4 -4
  1307. data/spec/watchr.rb +1 -5
  1308. data/tasks/benchmark.rake +1 -6
  1309. data/tasks/ci.rake +1 -1
  1310. data/tasks/manpages.rake +0 -9
  1311. data/tasks/parallel.rake +4 -7
  1312. data/tasks/parser.rake +0 -5
  1313. metadata +3163 -3413
  1314. data/conf/tagmail.conf +0 -16
  1315. data/ext/debian/puppet.conf +0 -14
  1316. data/ext/debian/puppetmaster-common.puppetqd.default +0 -27
  1317. data/ext/debian/puppetmaster-common.puppetqd.init +0 -84
  1318. data/ext/gentoo/puppet/puppet.conf +0 -25
  1319. data/ext/ips/puppet.conf +0 -29
  1320. data/ext/nagios/naggen +0 -309
  1321. data/ext/puppet-load.rb +0 -393
  1322. data/ext/redhat/puppet.conf +0 -25
  1323. data/ext/redhat/queue.init +0 -105
  1324. data/lib/hiera/backend/puppet_backend.rb +0 -103
  1325. data/lib/puppet/application/instrumentation_data.rb +0 -7
  1326. data/lib/puppet/application/instrumentation_listener.rb +0 -7
  1327. data/lib/puppet/application/instrumentation_probe.rb +0 -7
  1328. data/lib/puppet/application/kick.rb +0 -351
  1329. data/lib/puppet/application/queue.rb +0 -161
  1330. data/lib/puppet/application/secret_agent.rb +0 -9
  1331. data/lib/puppet/dsl/resource_api.rb +0 -120
  1332. data/lib/puppet/dsl/resource_type_api.rb +0 -34
  1333. data/lib/puppet/dsl.rb +0 -7
  1334. data/lib/puppet/face/instrumentation_data.rb +0 -30
  1335. data/lib/puppet/face/instrumentation_listener.rb +0 -98
  1336. data/lib/puppet/face/instrumentation_probe.rb +0 -79
  1337. data/lib/puppet/face/secret_agent.rb +0 -54
  1338. data/lib/puppet/feature/pson.rb +0 -4
  1339. data/lib/puppet/feature/rails.rb +0 -47
  1340. data/lib/puppet/feature/rdoc1.rb +0 -16
  1341. data/lib/puppet/feature/rubygems.rb +0 -7
  1342. data/lib/puppet/feature/stomp.rb +0 -5
  1343. data/lib/puppet/file_collection/lookup.rb +0 -10
  1344. data/lib/puppet/file_collection.rb +0 -19
  1345. data/lib/puppet/file_system/file18.rb +0 -5
  1346. data/lib/puppet/functions/defined.rb +0 -130
  1347. data/lib/puppet/indirector/active_record.rb +0 -29
  1348. data/lib/puppet/indirector/catalog/active_record.rb +0 -39
  1349. data/lib/puppet/indirector/catalog/queue.rb +0 -9
  1350. data/lib/puppet/indirector/couch.rb +0 -78
  1351. data/lib/puppet/indirector/facts/active_record.rb +0 -44
  1352. data/lib/puppet/indirector/facts/couch.rb +0 -36
  1353. data/lib/puppet/indirector/facts/inventory_active_record.rb +0 -110
  1354. data/lib/puppet/indirector/facts/inventory_service.rb +0 -20
  1355. data/lib/puppet/indirector/facts/rest.rb +0 -8
  1356. data/lib/puppet/indirector/instrumentation_data/local.rb +0 -22
  1357. data/lib/puppet/indirector/instrumentation_data/rest.rb +0 -8
  1358. data/lib/puppet/indirector/instrumentation_data.rb +0 -3
  1359. data/lib/puppet/indirector/instrumentation_listener/local.rb +0 -26
  1360. data/lib/puppet/indirector/instrumentation_listener/rest.rb +0 -8
  1361. data/lib/puppet/indirector/instrumentation_listener.rb +0 -3
  1362. data/lib/puppet/indirector/instrumentation_probe/local.rb +0 -27
  1363. data/lib/puppet/indirector/instrumentation_probe/rest.rb +0 -8
  1364. data/lib/puppet/indirector/instrumentation_probe.rb +0 -3
  1365. data/lib/puppet/indirector/node/active_record.rb +0 -22
  1366. data/lib/puppet/indirector/queue.rb +0 -80
  1367. data/lib/puppet/indirector/resource/active_record.rb +0 -104
  1368. data/lib/puppet/indirector/resource/rest.rb +0 -17
  1369. data/lib/puppet/indirector/run/local.rb +0 -15
  1370. data/lib/puppet/indirector/run/rest.rb +0 -12
  1371. data/lib/puppet/module_tool/modulefile.rb +0 -78
  1372. data/lib/puppet/network/authentication.rb +0 -35
  1373. data/lib/puppet/network/http/api/v2/authorization.rb +0 -15
  1374. data/lib/puppet/network/http/api/v2.rb +0 -32
  1375. data/lib/puppet/parser/ast/arithmetic_operator.rb +0 -91
  1376. data/lib/puppet/parser/ast/astarray.rb +0 -50
  1377. data/lib/puppet/parser/ast/asthash.rb +0 -37
  1378. data/lib/puppet/parser/ast/boolean_operator.rb +0 -46
  1379. data/lib/puppet/parser/ast/caseopt.rb +0 -52
  1380. data/lib/puppet/parser/ast/casestatement.rb +0 -41
  1381. data/lib/puppet/parser/ast/collection.rb +0 -53
  1382. data/lib/puppet/parser/ast/collexpr.rb +0 -109
  1383. data/lib/puppet/parser/ast/comparison_operator.rb +0 -38
  1384. data/lib/puppet/parser/ast/definition.rb +0 -17
  1385. data/lib/puppet/parser/ast/else.rb +0 -22
  1386. data/lib/puppet/parser/ast/function.rb +0 -59
  1387. data/lib/puppet/parser/ast/ifstatement.rb +0 -34
  1388. data/lib/puppet/parser/ast/in_operator.rb +0 -24
  1389. data/lib/puppet/parser/ast/lambda.rb +0 -135
  1390. data/lib/puppet/parser/ast/match_operator.rb +0 -28
  1391. data/lib/puppet/parser/ast/method_call.rb +0 -77
  1392. data/lib/puppet/parser/ast/minus.rb +0 -23
  1393. data/lib/puppet/parser/ast/nop.rb +0 -11
  1394. data/lib/puppet/parser/ast/not.rb +0 -19
  1395. data/lib/puppet/parser/ast/relationship.rb +0 -47
  1396. data/lib/puppet/parser/ast/resource_defaults.rb +0 -24
  1397. data/lib/puppet/parser/ast/resource_override.rb +0 -62
  1398. data/lib/puppet/parser/ast/resource_reference.rb +0 -28
  1399. data/lib/puppet/parser/ast/selector.rb +0 -50
  1400. data/lib/puppet/parser/ast/vardef.rb +0 -38
  1401. data/lib/puppet/parser/code_merger.rb +0 -13
  1402. data/lib/puppet/parser/collector.rb +0 -177
  1403. data/lib/puppet/parser/functions/extlookup.rb +0 -153
  1404. data/lib/puppet/parser/functions/search.rb +0 -12
  1405. data/lib/puppet/parser/grammar.ra +0 -806
  1406. data/lib/puppet/parser/lexer.rb +0 -608
  1407. data/lib/puppet/parser/makefile +0 -8
  1408. data/lib/puppet/parser/methods.rb +0 -69
  1409. data/lib/puppet/parser/parser.rb +0 -2559
  1410. data/lib/puppet/parser/parser_support.rb +0 -195
  1411. data/lib/puppet/pops/binder/lookup.rb +0 -216
  1412. data/lib/puppet/pops/migration/migration_checker.rb +0 -45
  1413. data/lib/puppet/pops/model/ast_tree_dumper.rb +0 -386
  1414. data/lib/puppet/provider/package/msi.rb +0 -125
  1415. data/lib/puppet/provider/package/yumhelper.py +0 -159
  1416. data/lib/puppet/rails/benchmark.rb +0 -63
  1417. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +0 -13
  1418. data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +0 -13
  1419. data/lib/puppet/rails/database/003_add_environment_to_host.rb +0 -9
  1420. data/lib/puppet/rails/database/004_add_inventory_service_tables.rb +0 -36
  1421. data/lib/puppet/rails/database/schema.rb +0 -136
  1422. data/lib/puppet/rails/fact_name.rb +0 -7
  1423. data/lib/puppet/rails/fact_value.rb +0 -10
  1424. data/lib/puppet/rails/host.rb +0 -258
  1425. data/lib/puppet/rails/inventory_fact.rb +0 -5
  1426. data/lib/puppet/rails/inventory_node.rb +0 -43
  1427. data/lib/puppet/rails/param_name.rb +0 -25
  1428. data/lib/puppet/rails/param_value.rb +0 -74
  1429. data/lib/puppet/rails/puppet_tag.rb +0 -10
  1430. data/lib/puppet/rails/resource.rb +0 -235
  1431. data/lib/puppet/rails/resource_tag.rb +0 -26
  1432. data/lib/puppet/rails/source_file.rb +0 -8
  1433. data/lib/puppet/rails.rb +0 -139
  1434. data/lib/puppet/reports/rrdgraph.rb +0 -128
  1435. data/lib/puppet/reports/tagmail.rb +0 -179
  1436. data/lib/puppet/run.rb +0 -109
  1437. data/lib/puppet/util/cacher.rb +0 -74
  1438. data/lib/puppet/util/inline_docs.rb +0 -26
  1439. data/lib/puppet/util/instrumentation/data.rb +0 -46
  1440. data/lib/puppet/util/instrumentation/indirection_probe.rb +0 -41
  1441. data/lib/puppet/util/instrumentation/instrumentable.rb +0 -136
  1442. data/lib/puppet/util/instrumentation/listener.rb +0 -72
  1443. data/lib/puppet/util/instrumentation/listeners/log.rb +0 -23
  1444. data/lib/puppet/util/instrumentation/listeners/performance.rb +0 -24
  1445. data/lib/puppet/util/instrumentation.rb +0 -152
  1446. data/lib/puppet/util/log/rate_limited_logger.rb +0 -40
  1447. data/lib/puppet/util/monkey_patches/lines.rb +0 -13
  1448. data/lib/puppet/util/plugins.rb +0 -82
  1449. data/lib/puppet/util/pson.rb +0 -13
  1450. data/lib/puppet/util/queue/stomp.rb +0 -60
  1451. data/lib/puppet/util/queue.rb +0 -96
  1452. data/lib/puppet/util/rails/cache_accumulator.rb +0 -65
  1453. data/lib/puppet/util/rails/collection_merger.rb +0 -17
  1454. data/lib/puppet/util/rails/reference_serializer.rb +0 -32
  1455. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc1.rb +0 -19
  1456. data/lib/puppet/util/retryaction.rb +0 -47
  1457. data/lib/puppet/util/zaml.rb +0 -419
  1458. data/lib/puppet/vendor/load_safe_yaml.rb +0 -1
  1459. data/lib/puppet/vendor/safe_yaml/CHANGES.md +0 -104
  1460. data/lib/puppet/vendor/safe_yaml/Gemfile +0 -11
  1461. data/lib/puppet/vendor/safe_yaml/PUPPET_README.md +0 -6
  1462. data/lib/puppet/vendor/safe_yaml/README.md +0 -179
  1463. data/lib/puppet/vendor/safe_yaml/Rakefile +0 -6
  1464. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/deep.rb +0 -34
  1465. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/date.rb +0 -27
  1466. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/hexadecimal.rb +0 -12
  1467. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/sexagesimal.rb +0 -26
  1468. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_handler.rb +0 -92
  1469. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_resolver.rb +0 -52
  1470. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/resolver.rb +0 -94
  1471. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -17
  1472. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_hack.rb +0 -36
  1473. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
  1474. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_resolver.rb +0 -38
  1475. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_boolean.rb +0 -21
  1476. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_date.rb +0 -11
  1477. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_float.rb +0 -33
  1478. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_integer.rb +0 -25
  1479. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_nil.rb +0 -18
  1480. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_symbol.rb +0 -13
  1481. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/transformation_map.rb +0 -47
  1482. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform.rb +0 -41
  1483. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/version.rb +0 -3
  1484. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb +0 -253
  1485. data/lib/puppet/vendor/safe_yaml/run_specs_all_ruby_versions.sh +0 -21
  1486. data/lib/puppet/vendor/safe_yaml/safe_yaml.gemspec +0 -18
  1487. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.2.yaml +0 -2
  1488. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.3.yaml +0 -2
  1489. data/lib/puppet/vendor/safe_yaml/spec/psych_resolver_spec.rb +0 -10
  1490. data/lib/puppet/vendor/safe_yaml/spec/resolver_specs.rb +0 -250
  1491. data/lib/puppet/vendor/safe_yaml/spec/safe_yaml_spec.rb +0 -702
  1492. data/lib/puppet/vendor/safe_yaml/spec/spec_helper.rb +0 -18
  1493. data/lib/puppet/vendor/safe_yaml/spec/support/exploitable_back_door.rb +0 -29
  1494. data/lib/puppet/vendor/safe_yaml/spec/syck_resolver_spec.rb +0 -10
  1495. data/lib/puppet/vendor/safe_yaml/spec/transform/base64_spec.rb +0 -11
  1496. data/lib/puppet/vendor/safe_yaml/spec/transform/to_date_spec.rb +0 -34
  1497. data/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb +0 -42
  1498. data/lib/puppet/vendor/safe_yaml/spec/transform/to_integer_spec.rb +0 -59
  1499. data/lib/puppet/vendor/safe_yaml/spec/transform/to_symbol_spec.rb +0 -49
  1500. data/lib/puppet/vendor/safe_yaml_patches.rb +0 -9
  1501. data/lib/puppetx.rb +0 -89
  1502. data/man/man8/puppet-instrumentation_data.8 +0 -141
  1503. data/man/man8/puppet-instrumentation_listener.8 +0 -218
  1504. data/man/man8/puppet-instrumentation_probe.8 +0 -203
  1505. data/man/man8/puppet-kick.8 +0 -131
  1506. data/man/man8/puppet-queue.8 +0 -55
  1507. data/man/man8/puppet-secret_agent.8 +0 -70
  1508. data/spec/fixtures/module.tar.gz +0 -0
  1509. data/spec/fixtures/unit/provider/package/pkg/publisher +0 -2
  1510. data/spec/fixtures/unit/provider/package/pkg/simple +0 -2
  1511. data/spec/fixtures/yaml/report0.25.x.yaml +0 -64
  1512. data/spec/integration/indirector/catalog/queue_spec.rb +0 -55
  1513. data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
  1514. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -131
  1515. data/spec/integration/parser/future_compiler_spec.rb +0 -822
  1516. data/spec/integration/parser/parser_spec.rb +0 -207
  1517. data/spec/integration/parser/ruby_manifest_spec.rb +0 -119
  1518. data/spec/integration/type/sshkey_spec.rb +0 -22
  1519. data/spec/integration/util/feature_spec.rb +0 -53
  1520. data/spec/lib/puppet_spec/database.rb +0 -29
  1521. data/spec/monkey_patches/alias_should_to_must.rb +0 -21
  1522. data/spec/shared_contexts/platform.rb +0 -52
  1523. data/spec/unit/application/kick_spec.rb +0 -296
  1524. data/spec/unit/application/queue_spec.rb +0 -168
  1525. data/spec/unit/application/secret_agent_spec.rb +0 -34
  1526. data/spec/unit/dsl/resource_api_spec.rb +0 -180
  1527. data/spec/unit/dsl/resource_type_api_spec.rb +0 -53
  1528. data/spec/unit/face/instrumentation_data_spec.rb +0 -7
  1529. data/spec/unit/face/instrumentation_listener_spec.rb +0 -38
  1530. data/spec/unit/face/instrumentation_probe_spec.rb +0 -21
  1531. data/spec/unit/face/secret_agent_spec.rb +0 -27
  1532. data/spec/unit/functions/defined_spec.rb +0 -291
  1533. data/spec/unit/hiera/backend/puppet_backend_spec.rb +0 -148
  1534. data/spec/unit/indirector/active_record_spec.rb +0 -75
  1535. data/spec/unit/indirector/catalog/active_record_spec.rb +0 -107
  1536. data/spec/unit/indirector/catalog/queue_spec.rb +0 -19
  1537. data/spec/unit/indirector/facts/active_record_spec.rb +0 -113
  1538. data/spec/unit/indirector/facts/couch_spec.rb +0 -102
  1539. data/spec/unit/indirector/facts/inventory_active_record_spec.rb +0 -175
  1540. data/spec/unit/indirector/facts/inventory_service_spec.rb +0 -21
  1541. data/spec/unit/indirector/facts/rest_spec.rb +0 -10
  1542. data/spec/unit/indirector/instrumentation_data/local_spec.rb +0 -52
  1543. data/spec/unit/indirector/instrumentation_data/rest_spec.rb +0 -11
  1544. data/spec/unit/indirector/instrumentation_listener/local_spec.rb +0 -65
  1545. data/spec/unit/indirector/instrumentation_listener/rest_spec.rb +0 -11
  1546. data/spec/unit/indirector/instrumentation_probe/local_spec.rb +0 -65
  1547. data/spec/unit/indirector/instrumentation_probe/rest_spec.rb +0 -11
  1548. data/spec/unit/indirector/node/active_record_spec.rb +0 -48
  1549. data/spec/unit/indirector/queue_spec.rb +0 -115
  1550. data/spec/unit/indirector/resource/active_record_spec.rb +0 -166
  1551. data/spec/unit/indirector/resource/rest_spec.rb +0 -10
  1552. data/spec/unit/indirector/run/local_spec.rb +0 -21
  1553. data/spec/unit/indirector/run/rest_spec.rb +0 -10
  1554. data/spec/unit/network/authentication_spec.rb +0 -104
  1555. data/spec/unit/network/http/api/v2_spec.rb +0 -14
  1556. data/spec/unit/parser/ast/arithmetic_operator_spec.rb +0 -160
  1557. data/spec/unit/parser/ast/astarray_spec.rb +0 -56
  1558. data/spec/unit/parser/ast/asthash_spec.rb +0 -98
  1559. data/spec/unit/parser/ast/boolean_operator_spec.rb +0 -54
  1560. data/spec/unit/parser/ast/casestatement_spec.rb +0 -168
  1561. data/spec/unit/parser/ast/collection_spec.rb +0 -70
  1562. data/spec/unit/parser/ast/collexpr_spec.rb +0 -120
  1563. data/spec/unit/parser/ast/comparison_operator_spec.rb +0 -118
  1564. data/spec/unit/parser/ast/definition_spec.rb +0 -21
  1565. data/spec/unit/parser/ast/function_spec.rb +0 -92
  1566. data/spec/unit/parser/ast/hostclass_spec.rb +0 -72
  1567. data/spec/unit/parser/ast/ifstatement_spec.rb +0 -77
  1568. data/spec/unit/parser/ast/in_operator_spec.rb +0 -61
  1569. data/spec/unit/parser/ast/match_operator_spec.rb +0 -51
  1570. data/spec/unit/parser/ast/minus_spec.rb +0 -37
  1571. data/spec/unit/parser/ast/node_spec.rb +0 -30
  1572. data/spec/unit/parser/ast/nop_spec.rb +0 -19
  1573. data/spec/unit/parser/ast/not_spec.rb +0 -31
  1574. data/spec/unit/parser/ast/relationship_spec.rb +0 -87
  1575. data/spec/unit/parser/ast/resource_defaults_spec.rb +0 -21
  1576. data/spec/unit/parser/ast/resource_override_spec.rb +0 -50
  1577. data/spec/unit/parser/ast/resource_reference_spec.rb +0 -56
  1578. data/spec/unit/parser/ast/resource_spec.rb +0 -183
  1579. data/spec/unit/parser/ast/resourceparam_spec.rb +0 -51
  1580. data/spec/unit/parser/ast/selector_spec.rb +0 -88
  1581. data/spec/unit/parser/ast/vardef_spec.rb +0 -68
  1582. data/spec/unit/parser/ast_spec.rb +0 -76
  1583. data/spec/unit/parser/collector_spec.rb +0 -438
  1584. data/spec/unit/parser/functions/extlookup_spec.rb +0 -102
  1585. data/spec/unit/parser/functions/search_spec.rb +0 -28
  1586. data/spec/unit/parser/lexer_spec.rb +0 -877
  1587. data/spec/unit/parser/parser_spec.rb +0 -535
  1588. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -19
  1589. data/spec/unit/pops/migration_spec.rb +0 -180
  1590. data/spec/unit/pops/model/ast_transformer_spec.rb +0 -76
  1591. data/spec/unit/pops/transformer/transform_basic_expressions_spec.rb +0 -243
  1592. data/spec/unit/pops/transformer/transform_calls_spec.rb +0 -115
  1593. data/spec/unit/pops/transformer/transform_conditionals_spec.rb +0 -123
  1594. data/spec/unit/pops/transformer/transform_containers_spec.rb +0 -190
  1595. data/spec/unit/pops/transformer/transformer_rspec_helper.rb +0 -27
  1596. data/spec/unit/pops/validation_spec.rb +0 -66
  1597. data/spec/unit/provider/package/msi_spec.rb +0 -229
  1598. data/spec/unit/rails/host_spec.rb +0 -162
  1599. data/spec/unit/rails/param_value_spec.rb +0 -46
  1600. data/spec/unit/rails/resource_spec.rb +0 -115
  1601. data/spec/unit/rails_spec.rb +0 -244
  1602. data/spec/unit/reports/rrdgraph_spec.rb +0 -29
  1603. data/spec/unit/reports/tagmail_spec.rb +0 -218
  1604. data/spec/unit/run_spec.rb +0 -175
  1605. data/spec/unit/util/cache_accumulator_spec.rb +0 -74
  1606. data/spec/unit/util/cacher_spec.rb +0 -107
  1607. data/spec/unit/util/inline_docs_spec.rb +0 -31
  1608. data/spec/unit/util/instrumentation/data_spec.rb +0 -46
  1609. data/spec/unit/util/instrumentation/indirection_probe_spec.rb +0 -21
  1610. data/spec/unit/util/instrumentation/instrumentable_spec.rb +0 -186
  1611. data/spec/unit/util/instrumentation/listener_spec.rb +0 -101
  1612. data/spec/unit/util/instrumentation/listeners/log_spec.rb +0 -34
  1613. data/spec/unit/util/instrumentation/listeners/performance_spec.rb +0 -36
  1614. data/spec/unit/util/instrumentation_spec.rb +0 -181
  1615. data/spec/unit/util/log/rate_limited_logger_spec.rb +0 -51
  1616. data/spec/unit/util/monkey_patches/lines_spec.rb +0 -83
  1617. data/spec/unit/util/queue/stomp_spec.rb +0 -137
  1618. data/spec/unit/util/queue_spec.rb +0 -94
  1619. data/spec/unit/util/rdoc/parser_spec.rb +0 -608
  1620. data/spec/unit/util/reference_serializer_spec.rb +0 -51
  1621. data/spec/unit/util/zaml_spec.rb +0 -308
@@ -24,7 +24,7 @@ describe Puppet::Type.type(:file).attrclass(:source) do
24
24
  end
25
25
 
26
26
  it "should be a subclass of Parameter" do
27
- source.superclass.must == Puppet::Parameter
27
+ expect(source.superclass).to eq(Puppet::Parameter)
28
28
  end
29
29
 
30
30
  describe "#validate" do
@@ -34,26 +34,26 @@ describe Puppet::Type.type(:file).attrclass(:source) do
34
34
  it "should fail if the set values are not URLs" do
35
35
  URI.expects(:parse).with('foo').raises RuntimeError
36
36
 
37
- lambda { resource[:source] = %w{foo} }.must raise_error(Puppet::Error)
37
+ expect(lambda { resource[:source] = %w{foo} }).to raise_error(Puppet::Error)
38
38
  end
39
39
 
40
40
  it "should fail if the URI is not a local file, file URI, or puppet URI" do
41
- lambda { resource[:source] = %w{http://foo/bar} }.must raise_error(Puppet::Error, /Cannot use URLs of type 'http' as source for fileserving/)
41
+ expect(lambda { resource[:source] = %w{http://foo/bar} }).to raise_error(Puppet::Error, /Cannot use URLs of type 'http' as source for fileserving/)
42
42
  end
43
43
 
44
44
  it "should strip trailing forward slashes", :unless => Puppet.features.microsoft_windows? do
45
45
  resource[:source] = "/foo/bar\\//"
46
- resource[:source].should == %w{file:/foo/bar\\}
46
+ expect(resource[:source]).to eq(%w{file:/foo/bar\\})
47
47
  end
48
48
 
49
49
  it "should strip trailing forward and backslashes", :if => Puppet.features.microsoft_windows? do
50
50
  resource[:source] = "X:/foo/bar\\//"
51
- resource[:source].should == %w{file:/X:/foo/bar}
51
+ expect(resource[:source]).to eq(%w{file:/X:/foo/bar})
52
52
  end
53
53
 
54
54
  it "should accept an array of sources" do
55
55
  resource[:source] = %w{file:///foo/bar puppet://host:8140/foo/bar}
56
- resource[:source].should == %w{file:///foo/bar puppet://host:8140/foo/bar}
56
+ expect(resource[:source]).to eq(%w{file:///foo/bar puppet://host:8140/foo/bar})
57
57
  end
58
58
 
59
59
  it "should accept file path characters that are not valid in URI" do
@@ -61,21 +61,21 @@ describe Puppet::Type.type(:file).attrclass(:source) do
61
61
  end
62
62
 
63
63
  it "should reject relative URI sources" do
64
- lambda { resource[:source] = 'foo/bar' }.must raise_error(Puppet::Error)
64
+ expect(lambda { resource[:source] = 'foo/bar' }).to raise_error(Puppet::Error)
65
65
  end
66
66
 
67
67
  it "should reject opaque sources" do
68
- lambda { resource[:source] = 'mailto:foo@com' }.must raise_error(Puppet::Error)
68
+ expect(lambda { resource[:source] = 'mailto:foo@com' }).to raise_error(Puppet::Error)
69
69
  end
70
70
 
71
71
  it "should accept URI authority component" do
72
72
  resource[:source] = 'file://host/foo'
73
- resource[:source].should == %w{file://host/foo}
73
+ expect(resource[:source]).to eq(%w{file://host/foo})
74
74
  end
75
75
 
76
76
  it "should accept when URI authority is absent" do
77
77
  resource[:source] = 'file:///foo/bar'
78
- resource[:source].should == %w{file:///foo/bar}
78
+ expect(resource[:source]).to eq(%w{file:///foo/bar})
79
79
  end
80
80
  end
81
81
 
@@ -85,13 +85,13 @@ describe Puppet::Type.type(:file).attrclass(:source) do
85
85
 
86
86
  it "should prefix file scheme to absolute paths" do
87
87
  resource[:source] = path
88
- resource[:source].should == [URI.unescape(Puppet::Util.path_to_uri(path).to_s)]
88
+ expect(resource[:source]).to eq([URI.unescape(Puppet::Util.path_to_uri(path).to_s)])
89
89
  end
90
90
 
91
91
  %w[file puppet].each do |scheme|
92
92
  it "should not prefix valid #{scheme} URIs" do
93
93
  resource[:source] = "#{scheme}:///foo bar"
94
- resource[:source].should == ["#{scheme}:///foo bar"]
94
+ expect(resource[:source]).to eq(["#{scheme}:///foo bar"])
95
95
  end
96
96
  end
97
97
  end
@@ -100,18 +100,19 @@ describe Puppet::Type.type(:file).attrclass(:source) do
100
100
  before do
101
101
  @metadata = stub 'metadata', :source= => nil
102
102
  @resource.stubs(:[]).with(:links).returns :manage
103
- @resource.stubs(:[]).with(:source_permissions)
103
+ @resource.stubs(:[]).with(:source_permissions).returns :use
104
+ @resource.stubs(:[]).with(:checksum).returns :checksum
104
105
  end
105
106
 
106
107
  it "should return already-available metadata" do
107
108
  @source = source.new(:resource => @resource)
108
109
  @source.metadata = "foo"
109
- @source.metadata.should == "foo"
110
+ expect(@source.metadata).to eq("foo")
110
111
  end
111
112
 
112
113
  it "should return nil if no @should value is set and no metadata is available" do
113
114
  @source = source.new(:resource => @resource)
114
- @source.metadata.should be_nil
115
+ expect(@source.metadata).to be_nil
115
116
  end
116
117
 
117
118
  it "should collect its metadata using the Metadata class if it is not already set" do
@@ -120,6 +121,7 @@ describe Puppet::Type.type(:file).attrclass(:source) do
120
121
  expect(uri).to eq @foobar_uri
121
122
  expect(options[:environment]).to eq @environment
122
123
  expect(options[:links]).to eq :manage
124
+ expect(options[:checksum_type]).to eq :checksum
123
125
  end.returns @metadata
124
126
 
125
127
  @source.metadata
@@ -131,11 +133,12 @@ describe Puppet::Type.type(:file).attrclass(:source) do
131
133
  options = {
132
134
  :environment => @environment,
133
135
  :links => :manage,
134
- :source_permissions => nil
136
+ :source_permissions => :use,
137
+ :checksum_type => :checksum
135
138
  }
136
139
  Puppet::FileServing::Metadata.indirection.expects(:find).with(@foobar_uri, options).returns nil
137
140
  Puppet::FileServing::Metadata.indirection.expects(:find).with(@feebooz_uri, options).returns metadata
138
- @source.metadata.should equal(metadata)
141
+ expect(@source.metadata).to equal(metadata)
139
142
  end
140
143
 
141
144
  it "should store the found source as the metadata's source" do
@@ -145,6 +148,7 @@ describe Puppet::Type.type(:file).attrclass(:source) do
145
148
  expect(uri).to eq @foobar_uri
146
149
  expect(options[:environment]).to eq @environment
147
150
  expect(options[:links]).to eq :manage
151
+ expect(options[:checksum_type]).to eq :checksum
148
152
  end.returns metadata
149
153
 
150
154
  metadata.expects(:source=).with(@foobar_uri)
@@ -157,10 +161,11 @@ describe Puppet::Type.type(:file).attrclass(:source) do
157
161
  expect(uri).to eq @foobar_uri
158
162
  expect(options[:environment]).to eq @environment
159
163
  expect(options[:links]).to eq :manage
164
+ expect(options[:checksum_type]).to eq :checksum
160
165
  end.raises RuntimeError
161
166
 
162
167
  @source.expects(:fail).raises ArgumentError
163
- lambda { @source.metadata }.should raise_error(ArgumentError)
168
+ expect { @source.metadata }.to raise_error(ArgumentError)
164
169
  end
165
170
 
166
171
  it "should fail if no specified sources can be found" do
@@ -169,16 +174,17 @@ describe Puppet::Type.type(:file).attrclass(:source) do
169
174
  expect(uri).to eq @foobar_uri
170
175
  expect(options[:environment]).to eq @environment
171
176
  expect(options[:links]).to eq :manage
177
+ expect(options[:checksum_type]).to eq :checksum
172
178
  end.returns nil
173
179
 
174
180
  @source.expects(:fail).raises RuntimeError
175
181
 
176
- lambda { @source.metadata }.should raise_error(RuntimeError)
182
+ expect { @source.metadata }.to raise_error(RuntimeError)
177
183
  end
178
184
  end
179
185
 
180
186
  it "should have a method for setting the desired values on the resource" do
181
- source.new(:resource => @resource).must respond_to(:copy_source_values)
187
+ expect(source.new(:resource => @resource)).to respond_to(:copy_source_values)
182
188
  end
183
189
 
184
190
  describe "when copying the source values" do
@@ -192,39 +198,37 @@ describe Puppet::Type.type(:file).attrclass(:source) do
192
198
  Puppet.features.stubs(:root?).returns true
193
199
  end
194
200
 
195
- it "should not issue a deprecation warning if the source mode value is a Numeric" do
201
+ it "should not issue an error - except on Windows - if the source mode value is a Numeric" do
196
202
  @metadata.stubs(:mode).returns 0173
203
+ @resource[:source_permissions] = :use
197
204
  if Puppet::Util::Platform.windows?
198
- Puppet.expects(:deprecation_warning).with(regexp_matches(/Copying owner\/mode\/group from the source file on Windows is deprecated/)).at_least_once
205
+ expect { @source.copy_source_values }.to raise_error("Copying owner/mode/group from the source file on Windows is not supported; use source_permissions => ignore.")
199
206
  else
200
- Puppet.expects(:deprecation_warning).never
207
+ expect { @source.copy_source_values }.not_to raise_error
201
208
  end
202
-
203
- @source.copy_source_values
204
209
  end
205
210
 
206
- it "should not issue a deprecation warning if the source mode value is a String" do
211
+ it "should not issue an error - except on Windows - if the source mode value is a String" do
207
212
  @metadata.stubs(:mode).returns "173"
213
+ @resource[:source_permissions] = :use
208
214
  if Puppet::Util::Platform.windows?
209
- Puppet.expects(:deprecation_warning).with(regexp_matches(/Copying owner\/mode\/group from the source file on Windows is deprecated/)).at_least_once
215
+ expect { @source.copy_source_values }.to raise_error("Copying owner/mode/group from the source file on Windows is not supported; use source_permissions => ignore.")
210
216
  else
211
- Puppet.expects(:deprecation_warning).never
217
+ expect { @source.copy_source_values }.not_to raise_error
212
218
  end
213
-
214
- @source.copy_source_values
215
219
  end
216
220
 
217
221
  it "should fail if there is no metadata" do
218
222
  @source.stubs(:metadata).returns nil
219
223
  @source.expects(:devfail).raises ArgumentError
220
- lambda { @source.copy_source_values }.should raise_error(ArgumentError)
224
+ expect { @source.copy_source_values }.to raise_error(ArgumentError)
221
225
  end
222
226
 
223
227
  it "should set :ensure to the file type" do
224
228
  @metadata.stubs(:ftype).returns "file"
225
229
 
226
230
  @source.copy_source_values
227
- @resource[:ensure].must == :file
231
+ expect(@resource[:ensure]).to eq(:file)
228
232
  end
229
233
 
230
234
  it "should not set 'ensure' if it is already set to 'absent'" do
@@ -232,7 +236,7 @@ describe Puppet::Type.type(:file).attrclass(:source) do
232
236
 
233
237
  @resource[:ensure] = :absent
234
238
  @source.copy_source_values
235
- @resource[:ensure].must == :absent
239
+ expect(@resource[:ensure]).to eq(:absent)
236
240
  end
237
241
 
238
242
  describe "and the source is a file" do
@@ -241,44 +245,50 @@ describe Puppet::Type.type(:file).attrclass(:source) do
241
245
  Puppet.features.stubs(:microsoft_windows?).returns false
242
246
  end
243
247
 
244
- it "should copy the metadata's owner, group, checksum, and mode to the resource if they are not set on the resource" do
245
- @source.copy_source_values
248
+ context "when source_permissions is `use`" do
249
+ before :each do
250
+ @resource[:source_permissions] = "use"
251
+ end
246
252
 
247
- @resource[:owner].must == 100
248
- @resource[:group].must == 200
249
- @resource[:mode].must == "173"
253
+ it "should copy the metadata's owner, group, checksum, and mode to the resource if they are not set on the resource" do
254
+ @source.copy_source_values
250
255
 
251
- # Metadata calls it checksum, we call it content.
252
- @resource[:content].must == @metadata.checksum
253
- end
256
+ expect(@resource[:owner]).to eq(100)
257
+ expect(@resource[:group]).to eq(200)
258
+ expect(@resource[:mode]).to eq("173")
254
259
 
255
- it "should not copy the metadata's owner, group, checksum and mode to the resource if they are already set" do
256
- @resource[:owner] = 1
257
- @resource[:group] = 2
258
- @resource[:mode] = 3
259
- @resource[:content] = "foobar"
260
+ # Metadata calls it checksum, we call it content.
261
+ expect(@resource[:content]).to eq(@metadata.checksum)
262
+ end
260
263
 
261
- @source.copy_source_values
264
+ it "should not copy the metadata's owner, group, checksum and mode to the resource if they are already set" do
265
+ @resource[:owner] = 1
266
+ @resource[:group] = 2
267
+ @resource[:mode] = '173'
268
+ @resource[:content] = "foobar"
262
269
 
263
- @resource[:owner].must == 1
264
- @resource[:group].must == 2
265
- @resource[:mode].must == "3"
266
- @resource[:content].should_not == @metadata.checksum
267
- end
270
+ @source.copy_source_values
268
271
 
269
- describe "and puppet is not running as root" do
270
- before do
271
- Puppet.features.stubs(:root?).returns false
272
+ expect(@resource[:owner]).to eq(1)
273
+ expect(@resource[:group]).to eq(2)
274
+ expect(@resource[:mode]).to eq('173')
275
+ expect(@resource[:content]).not_to eq(@metadata.checksum)
272
276
  end
273
277
 
274
- it "should not try to set the owner" do
275
- @source.copy_source_values
276
- @resource[:owner].should be_nil
277
- end
278
+ describe "and puppet is not running as root" do
279
+ before do
280
+ Puppet.features.stubs(:root?).returns false
281
+ end
278
282
 
279
- it "should not try to set the group" do
280
- @source.copy_source_values
281
- @resource[:group].should be_nil
283
+ it "should not try to set the owner" do
284
+ @source.copy_source_values
285
+ expect(@resource[:owner]).to be_nil
286
+ end
287
+
288
+ it "should not try to set the group" do
289
+ @source.copy_source_values
290
+ expect(@resource[:group]).to be_nil
291
+ end
282
292
  end
283
293
  end
284
294
 
@@ -295,27 +305,27 @@ describe Puppet::Type.type(:file).attrclass(:source) do
295
305
 
296
306
  @source.copy_source_values
297
307
 
298
- @resource[:owner].must == 100
299
- @resource[:group].must == 200
300
- @resource[:mode].must == "173"
308
+ expect(@resource[:owner]).to eq(100)
309
+ expect(@resource[:group]).to eq(200)
310
+ expect(@resource[:mode]).to eq("173")
301
311
  end
302
312
 
303
313
  it "copies the remote owner" do
304
314
  @source.copy_source_values
305
315
 
306
- @resource[:owner].must == 100
316
+ expect(@resource[:owner]).to eq(100)
307
317
  end
308
318
 
309
319
  it "copies the remote group" do
310
320
  @source.copy_source_values
311
321
 
312
- @resource[:group].must == 200
322
+ expect(@resource[:group]).to eq(200)
313
323
  end
314
324
 
315
325
  it "copies the remote mode" do
316
326
  @source.copy_source_values
317
327
 
318
- @resource[:mode].must == "173"
328
+ expect(@resource[:mode]).to eq("173")
319
329
  end
320
330
  end
321
331
 
@@ -329,34 +339,33 @@ describe Puppet::Type.type(:file).attrclass(:source) do
329
339
 
330
340
  @source.copy_source_values
331
341
 
332
- @resource[:owner].must be_nil
333
- @resource[:group].must be_nil
334
- @resource[:mode].must be_nil
342
+ expect(@resource[:owner]).to be_nil
343
+ expect(@resource[:group]).to be_nil
344
+ expect(@resource[:mode]).to be_nil
335
345
  end
336
346
 
337
347
  it "preserves the local owner" do
338
348
  @source.copy_source_values
339
349
 
340
- @resource[:owner].must be_nil
350
+ expect(@resource[:owner]).to be_nil
341
351
  end
342
352
 
343
353
  it "preserves the local group" do
344
354
  @source.copy_source_values
345
355
 
346
- @resource[:group].must be_nil
356
+ expect(@resource[:group]).to be_nil
347
357
  end
348
358
 
349
359
  it "preserves the local mode" do
350
360
  @source.copy_source_values
351
361
 
352
- @resource[:mode].must be_nil
362
+ expect(@resource[:mode]).to be_nil
353
363
  end
354
364
  end
355
365
  end
356
366
 
357
- context "when source_permissions is `ignore`" do
367
+ context "when source_permissions is default" do
358
368
  before :each do
359
- @resource[:source_permissions] = "ignore"
360
369
  @source.stubs(:local?).returns(false)
361
370
  Puppet.features.expects(:root?).returns true
362
371
  end
@@ -366,108 +375,82 @@ describe Puppet::Type.type(:file).attrclass(:source) do
366
375
 
367
376
  @source.copy_source_values
368
377
 
369
- @resource[:owner].must be_nil
370
- @resource[:group].must be_nil
371
- @resource[:mode].must be_nil
378
+ expect(@resource[:owner]).to be_nil
379
+ expect(@resource[:group]).to be_nil
380
+ expect(@resource[:mode]).to be_nil
372
381
  end
373
382
 
374
383
  it "preserves the local owner" do
375
384
  @source.copy_source_values
376
385
 
377
- @resource[:owner].must be_nil
386
+ expect(@resource[:owner]).to be_nil
378
387
  end
379
388
 
380
389
  it "preserves the local group" do
381
390
  @source.copy_source_values
382
391
 
383
- @resource[:group].must be_nil
392
+ expect(@resource[:group]).to be_nil
384
393
  end
385
394
 
386
395
  it "preserves the local mode" do
387
396
  @source.copy_source_values
388
397
 
389
- @resource[:mode].must be_nil
398
+ expect(@resource[:mode]).to be_nil
390
399
  end
391
400
  end
392
401
 
393
- describe "on Windows" do
402
+ describe "on Windows when source_permissions is `use`" do
394
403
  before :each do
395
404
  Puppet.features.stubs(:microsoft_windows?).returns true
405
+ @resource[:source_permissions] = "use"
396
406
  end
397
- let(:deprecation_message) { "Copying owner/mode/group from the" <<
398
- " source file on Windows is deprecated;" <<
407
+ let(:err_message) { "Copying owner/mode/group from the" <<
408
+ " source file on Windows is not supported;" <<
399
409
  " use source_permissions => ignore." }
400
410
 
401
- it "should copy only mode from remote sources" do
411
+ it "should issue error when copying from remote sources" do
402
412
  @source.stubs(:local?).returns false
403
413
 
404
- @source.copy_source_values
405
-
406
- @resource[:owner].must be_nil
407
- @resource[:group].must be_nil
408
- @resource[:mode].must == "173"
414
+ expect { @source.copy_source_values }.to raise_error(err_message)
409
415
  end
410
416
 
411
- it "should copy mode from remote sources" do
412
- @source.stubs(:local?).returns false
413
-
414
- @source.copy_source_values
415
-
416
- @resource[:mode].must == "173"
417
- end
418
-
419
- it "should copy owner and group from local sources" do
417
+ it "should issue error when copying from local sources" do
420
418
  @source.stubs(:local?).returns true
421
419
 
422
- @source.copy_source_values
423
-
424
- @resource[:owner].must == 100
425
- @resource[:group].must == 200
426
- @resource[:mode].must == "173"
427
- end
428
-
429
- it "should issue deprecation warning when copying metadata from remote sources when group, owner, and mode are unspecified" do
430
- @source.stubs(:local?).returns false
431
- Puppet.expects(:deprecation_warning).with(deprecation_message).at_least_once
432
-
433
- @source.copy_source_values
420
+ expect { @source.copy_source_values }.to raise_error(err_message)
434
421
  end
435
422
 
436
- it "should issue deprecation warning when copying metadata from remote sources if only user is unspecified" do
423
+ it "should issue error when copying metadata from remote sources if only user is unspecified" do
437
424
  @source.stubs(:local?).returns false
438
- Puppet.expects(:deprecation_warning).with(deprecation_message).at_least_once
439
425
  @resource[:group] = 2
440
426
  @resource[:mode] = "0003"
441
427
 
442
- @source.copy_source_values
428
+ expect { @source.copy_source_values }.to raise_error(err_message)
443
429
  end
444
430
 
445
- it "should issue deprecation warning when copying metadata from remote sources if only group is unspecified" do
431
+ it "should issue error when copying metadata from remote sources if only group is unspecified" do
446
432
  @source.stubs(:local?).returns false
447
- Puppet.expects(:deprecation_warning).with(deprecation_message).at_least_once
448
433
  @resource[:owner] = 1
449
434
  @resource[:mode] = "0003"
450
435
 
451
- @source.copy_source_values
436
+ expect { @source.copy_source_values }.to raise_error(err_message)
452
437
  end
453
438
 
454
- it "should issue deprecation warning when copying metadata from remote sources if only mode is unspecified" do
439
+ it "should issue error when copying metadata from remote sources if only mode is unspecified" do
455
440
  @source.stubs(:local?).returns false
456
- Puppet.expects(:deprecation_warning).with(deprecation_message).at_least_once
457
441
  @resource[:owner] = 1
458
442
  @resource[:group] = 2
459
443
 
460
- @source.copy_source_values
444
+ expect { @source.copy_source_values }.to raise_error(err_message)
461
445
  end
462
446
 
463
- it "should not issue deprecation warning when copying metadata from remote sources if group, owner, and mode are all specified" do
447
+ it "should not issue error when copying metadata from remote sources if group, owner, and mode are all specified" do
464
448
  @source.stubs(:local?).returns false
465
- Puppet.expects(:deprecation_warning).with(deprecation_message).never
466
449
  @resource[:owner] = 1
467
450
  @resource[:group] = 2
468
451
  @resource[:mode] = "0003"
469
452
 
470
- @source.copy_source_values
453
+ expect { @source.copy_source_values }.not_to raise_error
471
454
  end
472
455
  end
473
456
  end
@@ -488,7 +471,7 @@ describe Puppet::Type.type(:file).attrclass(:source) do
488
471
  end
489
472
 
490
473
  it "should have a local? method" do
491
- source.new(:resource => @resource).must be_respond_to(:local?)
474
+ expect(source.new(:resource => @resource)).to be_respond_to(:local?)
492
475
  end
493
476
 
494
477
  context "when accessing source properties" do
@@ -506,12 +489,12 @@ describe Puppet::Type.type(:file).attrclass(:source) do
506
489
  ['', "file:", "file://"].each do |prefix|
507
490
  it "with prefix '#{prefix}' should be local" do
508
491
  resource[:source] = "#{prefix}#{sourcepath}"
509
- resource.parameter(:source).must be_local
492
+ expect(resource.parameter(:source)).to be_local
510
493
  end
511
494
 
512
495
  it "should be able to return the metadata source full path" do
513
496
  resource[:source] = "#{prefix}#{sourcepath}"
514
- resource.parameter(:source).full_path.should == sourcepath
497
+ expect(resource.parameter(:source).full_path).to eq(sourcepath)
515
498
  end
516
499
  end
517
500
  end
@@ -520,12 +503,12 @@ describe Puppet::Type.type(:file).attrclass(:source) do
520
503
  ['', "file:/", "file:///"].each do |prefix|
521
504
  it "should be local with prefix '#{prefix}'" do
522
505
  resource[:source] = "#{prefix}#{sourcepath}"
523
- resource.parameter(:source).must be_local
506
+ expect(resource.parameter(:source)).to be_local
524
507
  end
525
508
 
526
509
  it "should be able to return the metadata source full path" do
527
510
  resource[:source] = "#{prefix}#{sourcepath}"
528
- resource.parameter(:source).full_path.should == sourcepath
511
+ expect(resource.parameter(:source).full_path).to eq(sourcepath)
529
512
  end
530
513
 
531
514
  it "should convert backslashes to forward slashes" do
@@ -550,19 +533,19 @@ describe Puppet::Type.type(:file).attrclass(:source) do
550
533
  end
551
534
 
552
535
  it "should not be local" do
553
- resource.parameter(:source).should_not be_local
536
+ expect(resource.parameter(:source)).not_to be_local
554
537
  end
555
538
 
556
539
  it "should be able to return the metadata source full path" do
557
- resource.parameter(:source).full_path.should == "/path/to/source"
540
+ expect(resource.parameter(:source).full_path).to eq("/path/to/source")
558
541
  end
559
542
 
560
543
  it "should be able to return the source server" do
561
- resource.parameter(:source).server.should == "server"
544
+ expect(resource.parameter(:source).server).to eq("server")
562
545
  end
563
546
 
564
547
  it "should be able to return the source port" do
565
- resource.parameter(:source).port.should == 8192
548
+ expect(resource.parameter(:source).port).to eq(8192)
566
549
  end
567
550
 
568
551
  describe "which don't specify server or port" do
@@ -570,12 +553,12 @@ describe Puppet::Type.type(:file).attrclass(:source) do
570
553
 
571
554
  it "should return the default source server" do
572
555
  Puppet[:server] = "myserver"
573
- resource.parameter(:source).server.should == "myserver"
556
+ expect(resource.parameter(:source).server).to eq("myserver")
574
557
  end
575
558
 
576
559
  it "should return the default source port" do
577
560
  Puppet[:masterport] = 1234
578
- resource.parameter(:source).port.should == 1234
561
+ expect(resource.parameter(:source).port).to eq(1234)
579
562
  end
580
563
  end
581
564
  end
@@ -11,9 +11,9 @@ describe Puppet::Type.type(:file).attrclass(:type) do
11
11
  end
12
12
 
13
13
  it "should prevent the user from trying to set the type" do
14
- lambda {
14
+ expect {
15
15
  @resource[:type] = "fifo"
16
- }.should raise_error(Puppet::Error, /type is read-only/)
16
+ }.to raise_error(Puppet::Error, /type is read-only/)
17
17
  end
18
18
 
19
19
  end