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
@@ -15,6 +15,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
15
15
  @sids = {
16
16
  :current_user => Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_user_name),
17
17
  :system => Win32::Security::SID::LocalSystem,
18
+ :admin => Puppet::Util::Windows::SID.name_to_sid("Administrator"),
18
19
  :administrators => Win32::Security::SID::BuiltinAdministrators,
19
20
  :guest => Puppet::Util::Windows::SID.name_to_sid("Guest"),
20
21
  :users => Win32::Security::SID::BuiltinUsers,
@@ -70,7 +71,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
70
71
  winsec.set_group(sids[:current_user], path)
71
72
  winsec.set_mode(0700, path)
72
73
 
73
- lambda { check_delete(path) }.should raise_error(Errno::EACCES)
74
+ expect { check_delete(path) }.to raise_error(Errno::EACCES)
74
75
  end
75
76
 
76
77
  it "should deny group" do
@@ -78,7 +79,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
78
79
  winsec.set_group(sids[:current_user], path)
79
80
  winsec.set_mode(0700, path)
80
81
 
81
- lambda { check_delete(path) }.should raise_error(Errno::EACCES)
82
+ expect { check_delete(path) }.to raise_error(Errno::EACCES)
82
83
  end
83
84
 
84
85
  it "should deny other" do
@@ -86,7 +87,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
86
87
  winsec.set_group(sids[:current_user], path)
87
88
  winsec.set_mode(0700, path)
88
89
 
89
- lambda { check_delete(path) }.should raise_error(Errno::EACCES)
90
+ expect { check_delete(path) }.to raise_error(Errno::EACCES)
90
91
  end
91
92
  end
92
93
 
@@ -96,7 +97,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
96
97
  it "should return nil #{p}" do
97
98
  winsec.stubs(:supports_acl?).returns false
98
99
 
99
- winsec.send("get_#{p}", path).should be_nil
100
+ expect(winsec.send("get_#{p}", path)).to be_nil
100
101
  end
101
102
  end
102
103
  end
@@ -115,7 +116,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
115
116
  describe "#supports_acl?" do
116
117
  %w[c:/ c:\\ c:/windows/system32 \\\\localhost\\C$ \\\\127.0.0.1\\C$\\foo].each do |path|
117
118
  it "should accept #{path}" do
118
- winsec.should be_supports_acl(path)
119
+ expect(winsec).to be_supports_acl(path)
119
120
  end
120
121
  end
121
122
 
@@ -132,17 +133,17 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
132
133
  end
133
134
 
134
135
  it "should raise an exception when setting to a different user" do
135
- lambda { winsec.set_owner(sids[:guest], path) }.should raise_error(Puppet::Error, /This security ID may not be assigned as the owner of this object./)
136
+ expect { winsec.set_owner(sids[:guest], path) }.to raise_error(Puppet::Error, /This security ID may not be assigned as the owner of this object./)
136
137
  end
137
138
  end
138
139
 
139
140
  describe "#owner" do
140
141
  it "it should not be empty" do
141
- winsec.get_owner(path).should_not be_empty
142
+ expect(winsec.get_owner(path)).not_to be_empty
142
143
  end
143
144
 
144
145
  it "should raise an exception if an invalid path is provided" do
145
- lambda { winsec.get_owner("c:\\doesnotexist.txt") }.should raise_error(Puppet::Error, /The system cannot find the file specified./)
146
+ expect { winsec.get_owner("c:\\doesnotexist.txt") }.to raise_error(Puppet::Error, /The system cannot find the file specified./)
146
147
  end
147
148
  end
148
149
 
@@ -160,32 +161,32 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
160
161
 
161
162
  describe "#group" do
162
163
  it "should not be empty" do
163
- winsec.get_group(path).should_not be_empty
164
+ expect(winsec.get_group(path)).not_to be_empty
164
165
  end
165
166
 
166
167
  it "should raise an exception if an invalid path is provided" do
167
- lambda { winsec.get_group("c:\\doesnotexist.txt") }.should raise_error(Puppet::Error, /The system cannot find the file specified./)
168
+ expect { winsec.get_group("c:\\doesnotexist.txt") }.to raise_error(Puppet::Error, /The system cannot find the file specified./)
168
169
  end
169
170
  end
170
171
 
171
172
  it "should preserve inherited full control for SYSTEM when setting owner and group" do
172
173
  # new file has SYSTEM
173
174
  system_aces = winsec.get_aces_for_path_by_sid(path, sids[:system])
174
- system_aces.should_not be_empty
175
+ expect(system_aces).not_to be_empty
175
176
 
176
177
  # when running under SYSTEM account, multiple ACEs come back
177
178
  # so we only care that we have at least one of these
178
- system_aces.any? do |ace|
179
+ expect(system_aces.any? do |ace|
179
180
  ace.mask == klass::FILE_ALL_ACCESS
180
- end.should be_true
181
+ end).to be_truthy
181
182
 
182
183
  # changing the owner/group will no longer make the SD protected
183
184
  winsec.set_group(sids[:power_users], path)
184
185
  winsec.set_owner(sids[:administrators], path)
185
186
 
186
- system_aces.find do |ace|
187
+ expect(system_aces.find do |ace|
187
188
  ace.mask == klass::FILE_ALL_ACCESS && ace.inherited?
188
- end.should_not be_nil
189
+ end).not_to be_nil
189
190
  end
190
191
 
191
192
  describe "#mode=" do
@@ -210,7 +211,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
210
211
 
211
212
  mode = (s << 9 | u << 6 | g << 3 | o << 0)
212
213
  winsec.set_mode(mode, path)
213
- winsec.get_mode(path).to_s(8).should == mode.to_s(8)
214
+ expect(winsec.get_mode(path).to_s(8)).to eq(mode.to_s(8))
214
215
  end
215
216
  end
216
217
  end
@@ -220,13 +221,13 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
220
221
  it "should preserve full control for SYSTEM when setting mode" do
221
222
  # new file has SYSTEM
222
223
  system_aces = winsec.get_aces_for_path_by_sid(path, sids[:system])
223
- system_aces.should_not be_empty
224
+ expect(system_aces).not_to be_empty
224
225
 
225
226
  # when running under SYSTEM account, multiple ACEs come back
226
227
  # so we only care that we have at least one of these
227
- system_aces.any? do |ace|
228
+ expect(system_aces.any? do |ace|
228
229
  ace.mask == klass::FILE_ALL_ACCESS
229
- end.should be_true
230
+ end).to be_truthy
230
231
 
231
232
  # changing the mode will make the SD protected
232
233
  winsec.set_group(sids[:none], path)
@@ -235,39 +236,22 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
235
236
  # and should have a non-inherited SYSTEM ACE(s)
236
237
  system_aces = winsec.get_aces_for_path_by_sid(path, sids[:system])
237
238
  system_aces.each do |ace|
238
- ace.mask.should == klass::FILE_ALL_ACCESS && ! ace.inherited?
239
- end
240
-
241
- if Puppet::FileSystem.directory?(path)
242
- system_aces.each do |ace|
243
- ace.object_inherit?.should be_true
244
- ace.container_inherit?.should be_true
245
- end
246
-
247
- # it's critically important that this file be default created
248
- # and that this file not have it's owner / group / mode set by winsec
249
- nested_file = File.join(path, 'nested_file')
250
- File.new(nested_file, 'w').close
251
-
252
- system_aces = winsec.get_aces_for_path_by_sid(nested_file, sids[:system])
253
- # even when SYSTEM is the owner (in CI), there should be an inherited SYSTEM
254
- system_aces.any? do |ace|
255
- ace.mask == klass::FILE_ALL_ACCESS && ace.inherited?
256
- end.should be_true
239
+ expect(ace.mask).to eq(klass::FILE_ALL_ACCESS)
240
+ expect(ace).not_to be_inherited
257
241
  end
258
242
  end
259
243
 
260
244
  describe "for modes that require deny aces" do
261
245
  it "should map everyone to group and owner" do
262
246
  winsec.set_mode(0426, path)
263
- winsec.get_mode(path).to_s(8).should == "666"
247
+ expect(winsec.get_mode(path).to_s(8)).to eq("666")
264
248
  end
265
249
 
266
250
  it "should combine user and group modes when owner and group sids are equal" do
267
251
  winsec.set_group(winsec.get_owner(path), path)
268
252
 
269
253
  winsec.set_mode(0410, path)
270
- winsec.get_mode(path).to_s(8).should == "550"
254
+ expect(winsec.get_mode(path).to_s(8)).to eq("550")
271
255
  end
272
256
  end
273
257
 
@@ -276,30 +260,30 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
276
260
  winsec.set_group(sids[:none], path)
277
261
  winsec.set_mode(0600, path)
278
262
  Puppet::Util::Windows::File.add_attributes(path, klass::FILE_ATTRIBUTE_READONLY)
279
- (Puppet::Util::Windows::File.get_attributes(path) & klass::FILE_ATTRIBUTE_READONLY).should be_nonzero
263
+ expect(Puppet::Util::Windows::File.get_attributes(path) & klass::FILE_ATTRIBUTE_READONLY).to be_nonzero
280
264
  end
281
265
 
282
266
  it "should make them writable if any sid has write permission" do
283
267
  winsec.set_mode(WindowsSecurityTester::S_IWUSR, path)
284
- (Puppet::Util::Windows::File.get_attributes(path) & klass::FILE_ATTRIBUTE_READONLY).should == 0
268
+ expect(Puppet::Util::Windows::File.get_attributes(path) & klass::FILE_ATTRIBUTE_READONLY).to eq(0)
285
269
  end
286
270
 
287
271
  it "should leave them read-only if no sid has write permission and should allow full access for SYSTEM" do
288
272
  winsec.set_mode(WindowsSecurityTester::S_IRUSR | WindowsSecurityTester::S_IXGRP, path)
289
- (Puppet::Util::Windows::File.get_attributes(path) & klass::FILE_ATTRIBUTE_READONLY).should be_nonzero
273
+ expect(Puppet::Util::Windows::File.get_attributes(path) & klass::FILE_ATTRIBUTE_READONLY).to be_nonzero
290
274
 
291
275
  system_aces = winsec.get_aces_for_path_by_sid(path, sids[:system])
292
276
 
293
277
  # when running under SYSTEM account, and set_group / set_owner hasn't been called
294
278
  # SYSTEM full access will be restored
295
- system_aces.any? do |ace|
279
+ expect(system_aces.any? do |ace|
296
280
  ace.mask == klass::FILE_ALL_ACCESS
297
- end.should be_true
281
+ end).to be_truthy
298
282
  end
299
283
  end
300
284
 
301
285
  it "should raise an exception if an invalid path is provided" do
302
- lambda { winsec.set_mode(sids[:guest], "c:\\doesnotexist.txt") }.should raise_error(Puppet::Error, /The system cannot find the file specified./)
286
+ expect { winsec.set_mode(sids[:guest], "c:\\doesnotexist.txt") }.to raise_error(Puppet::Error, /The system cannot find the file specified./)
303
287
  end
304
288
  end
305
289
 
@@ -312,7 +296,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
312
296
  winsec.set_security_descriptor(path, sd)
313
297
 
314
298
  mode = winsec.get_mode(path)
315
- (mode & WindowsSecurityTester::S_IEXTRA).should == WindowsSecurityTester::S_IEXTRA
299
+ expect(mode & WindowsSecurityTester::S_IEXTRA).to eq(WindowsSecurityTester::S_IEXTRA)
316
300
  end
317
301
 
318
302
  it "should return deny aces" do
@@ -321,9 +305,9 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
321
305
  winsec.set_security_descriptor(path, sd)
322
306
 
323
307
  guest_aces = winsec.get_aces_for_path_by_sid(path, sids[:guest])
324
- guest_aces.find do |ace|
308
+ expect(guest_aces.find do |ace|
325
309
  ace.type == Puppet::Util::Windows::AccessControlEntry::ACCESS_DENIED_ACE_TYPE
326
- end.should_not be_nil
310
+ end).not_to be_nil
327
311
  end
328
312
 
329
313
  it "should skip inherit-only ace" do
@@ -339,11 +323,11 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
339
323
  )
340
324
  winsec.set_security_descriptor(path, sd)
341
325
 
342
- (winsec.get_mode(path) & WindowsSecurityTester::S_IRWXO).should == 0
326
+ expect(winsec.get_mode(path) & WindowsSecurityTester::S_IRWXO).to eq(0)
343
327
  end
344
328
 
345
329
  it "should raise an exception if an invalid path is provided" do
346
- lambda { winsec.get_mode("c:\\doesnotexist.txt") }.should raise_error(Puppet::Error, /The system cannot find the file specified./)
330
+ expect { winsec.get_mode("c:\\doesnotexist.txt") }.to raise_error(Puppet::Error, /The system cannot find the file specified./)
347
331
  end
348
332
  end
349
333
 
@@ -354,7 +338,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
354
338
  mode = winsec.get_mode(path)
355
339
  [ WindowsSecurityTester::S_IEXTRA,
356
340
  WindowsSecurityTester::S_ISYSTEM_MISSING ].each do |flag|
357
- (mode & flag).should_not == flag
341
+ expect(mode & flag).not_to eq(flag)
358
342
  end
359
343
  end
360
344
 
@@ -380,19 +364,19 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
380
364
 
381
365
  # unprotect child, it should inherit from parent
382
366
  winsec.set_mode(WindowsSecurityTester::S_IRWXU, path, false)
383
- (winsec.get_mode(path) & WindowsSecurityTester::S_IEXTRA).should == WindowsSecurityTester::S_IEXTRA
367
+ expect(winsec.get_mode(path) & WindowsSecurityTester::S_IEXTRA).to eq(WindowsSecurityTester::S_IEXTRA)
384
368
  end
385
369
  end
386
370
  end
387
371
 
388
- describe "for an administrator", :if => Puppet.features.root? do
372
+ describe "for an administrator", :if => (Puppet.features.root? && Puppet.features.microsoft_windows?) do
389
373
  before :each do
390
374
  is_dir = Puppet::FileSystem.directory?(path)
391
375
  winsec.set_mode(WindowsSecurityTester::S_IRWXU | WindowsSecurityTester::S_IRWXG, path)
392
376
  set_group_depending_on_current_user(path)
393
377
  winsec.set_owner(sids[:guest], path)
394
378
  expected_error = RUBY_VERSION =~ /^2\./ && is_dir ? Errno::EISDIR : Errno::EACCES
395
- lambda { File.open(path, 'r') }.should raise_error(expected_error)
379
+ expect { File.open(path, 'r') }.to raise_error(expected_error)
396
380
  end
397
381
 
398
382
  after :each do
@@ -403,44 +387,34 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
403
387
  end
404
388
 
405
389
  describe "#owner=" do
406
- it "should accept the guest sid" do
407
- winsec.set_owner(sids[:guest], path)
408
- expect(winsec.get_owner(path)).to eq(sids[:guest])
409
- end
410
-
411
390
  it "should accept a user sid" do
412
- winsec.set_owner(sids[:current_user], path)
413
- winsec.get_owner(path).should == sids[:current_user]
391
+ winsec.set_owner(sids[:admin], path)
392
+ expect(winsec.get_owner(path)).to eq(sids[:admin])
414
393
  end
415
394
 
416
395
  it "should accept a group sid" do
417
396
  winsec.set_owner(sids[:power_users], path)
418
- winsec.get_owner(path).should == sids[:power_users]
397
+ expect(winsec.get_owner(path)).to eq(sids[:power_users])
419
398
  end
420
399
 
421
400
  it "should raise an exception if an invalid sid is provided" do
422
- lambda { winsec.set_owner("foobar", path) }.should raise_error(Puppet::Error, /Failed to convert string SID/)
401
+ expect { winsec.set_owner("foobar", path) }.to raise_error(Puppet::Error, /Failed to convert string SID/)
423
402
  end
424
403
 
425
404
  it "should raise an exception if an invalid path is provided" do
426
- lambda { winsec.set_owner(sids[:guest], "c:\\doesnotexist.txt") }.should raise_error(Puppet::Error, /The system cannot find the file specified./)
405
+ expect { winsec.set_owner(sids[:guest], "c:\\doesnotexist.txt") }.to raise_error(Puppet::Error, /The system cannot find the file specified./)
427
406
  end
428
407
  end
429
408
 
430
409
  describe "#group=" do
431
- it "should accept the test group" do
432
- winsec.set_group(sids[:guest], path)
433
- expect(winsec.get_group(path)).to eq(sids[:guest])
434
- end
435
-
436
410
  it "should accept a group sid" do
437
411
  winsec.set_group(sids[:power_users], path)
438
- winsec.get_group(path).should == sids[:power_users]
412
+ expect(winsec.get_group(path)).to eq(sids[:power_users])
439
413
  end
440
414
 
441
415
  it "should accept a user sid" do
442
- winsec.set_group(sids[:current_user], path)
443
- winsec.get_group(path).should == sids[:current_user]
416
+ winsec.set_group(sids[:admin], path)
417
+ expect(winsec.get_group(path)).to eq(sids[:admin])
444
418
  end
445
419
 
446
420
  it "should combine owner and group rights when they are the same sid" do
@@ -448,21 +422,21 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
448
422
  winsec.set_group(sids[:power_users], path)
449
423
  winsec.set_mode(0610, path)
450
424
 
451
- winsec.get_owner(path).should == sids[:power_users]
452
- winsec.get_group(path).should == sids[:power_users]
425
+ expect(winsec.get_owner(path)).to eq(sids[:power_users])
426
+ expect(winsec.get_group(path)).to eq(sids[:power_users])
453
427
  # note group execute permission added to user ace, and then group rwx value
454
428
  # reflected to match
455
429
 
456
430
  # Exclude missing system ace, since that's not relevant
457
- (winsec.get_mode(path) & 0777).to_s(8).should == "770"
431
+ expect((winsec.get_mode(path) & 0777).to_s(8)).to eq("770")
458
432
  end
459
433
 
460
434
  it "should raise an exception if an invalid sid is provided" do
461
- lambda { winsec.set_group("foobar", path) }.should raise_error(Puppet::Error, /Failed to convert string SID/)
435
+ expect { winsec.set_group("foobar", path) }.to raise_error(Puppet::Error, /Failed to convert string SID/)
462
436
  end
463
437
 
464
438
  it "should raise an exception if an invalid path is provided" do
465
- lambda { winsec.set_group(sids[:guest], "c:\\doesnotexist.txt") }.should raise_error(Puppet::Error, /The system cannot find the file specified./)
439
+ expect { winsec.set_group(sids[:guest], "c:\\doesnotexist.txt") }.to raise_error(Puppet::Error, /The system cannot find the file specified./)
466
440
  end
467
441
  end
468
442
 
@@ -484,8 +458,8 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
484
458
  Puppet::Util::Windows::ADSI::User.delete(user.name)
485
459
  end
486
460
 
487
- winsec.get_owner(path).should == sid
488
- winsec.get_mode(path).should == WindowsSecurityTester::S_IRWXU
461
+ expect(winsec.get_owner(path)).to eq(sid)
462
+ expect(winsec.get_mode(path)).to eq(WindowsSecurityTester::S_IRWXU)
489
463
  end
490
464
 
491
465
  it "should retrieve the group sid" do
@@ -499,8 +473,8 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
499
473
  ensure
500
474
  Puppet::Util::Windows::ADSI::Group.delete(group.name)
501
475
  end
502
- winsec.get_group(path).should == sid
503
- winsec.get_mode(path).should == WindowsSecurityTester::S_IRWXG
476
+ expect(winsec.get_group(path)).to eq(sid)
477
+ expect(winsec.get_mode(path)).to eq(WindowsSecurityTester::S_IRWXG)
504
478
  end
505
479
  end
506
480
 
@@ -512,7 +486,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
512
486
  new_sd = Puppet::Util::Windows::SecurityDescriptor.new(sd.owner, sd.group, [], protect)
513
487
  winsec.set_security_descriptor(path, new_sd)
514
488
 
515
- winsec.get_mode(path).should == WindowsSecurityTester::S_ISYSTEM_MISSING
489
+ expect(winsec.get_mode(path)).to eq(WindowsSecurityTester::S_ISYSTEM_MISSING)
516
490
  end
517
491
 
518
492
  # REMIND: ruby crashes when trying to set a NULL DACL
@@ -563,7 +537,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
563
537
  winsec.set_group(sids[:current_user], path)
564
538
  winsec.set_mode(0700, path)
565
539
 
566
- lambda { check_delete(path) }.should raise_error(Errno::EACCES)
540
+ expect { check_delete(path) }.to raise_error(Errno::EACCES)
567
541
  end
568
542
 
569
543
  it "should deny other" do
@@ -575,7 +549,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
575
549
  winsec.set_group(sids[:current_user], path)
576
550
  winsec.set_mode(0700, path)
577
551
 
578
- lambda { check_delete(path) }.should raise_error(Errno::EACCES)
552
+ expect { check_delete(path) }.to raise_error(Errno::EACCES)
579
553
  end
580
554
  end
581
555
 
@@ -669,19 +643,19 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
669
643
  if (mode & WindowsSecurityTester::S_IRUSR).nonzero?
670
644
  check_read(path)
671
645
  else
672
- lambda { check_read(path) }.should raise_error(Errno::EACCES)
646
+ expect { check_read(path) }.to raise_error(Errno::EACCES)
673
647
  end
674
648
 
675
649
  if (mode & WindowsSecurityTester::S_IWUSR).nonzero?
676
650
  check_write(path)
677
651
  else
678
- lambda { check_write(path) }.should raise_error(Errno::EACCES)
652
+ expect { check_write(path) }.to raise_error(Errno::EACCES)
679
653
  end
680
654
 
681
655
  if (mode & WindowsSecurityTester::S_IXUSR).nonzero?
682
- lambda { check_execute(path) }.should raise_error(Errno::ENOEXEC)
656
+ expect { check_execute(path) }.to raise_error(Errno::ENOEXEC)
683
657
  else
684
- lambda { check_execute(path) }.should raise_error(Errno::EACCES)
658
+ expect { check_execute(path) }.to raise_error(Errno::EACCES)
685
659
  end
686
660
  end
687
661
 
@@ -706,15 +680,15 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
706
680
  let (:explorer) { File.join(Dir::WINDOWS, "explorer.exe") }
707
681
 
708
682
  it "should get the owner" do
709
- winsec.get_owner(explorer).should match /^S-1-5-/
683
+ expect(winsec.get_owner(explorer)).to match /^S-1-5-/
710
684
  end
711
685
 
712
686
  it "should get the group" do
713
- winsec.get_group(explorer).should match /^S-1-5-/
687
+ expect(winsec.get_group(explorer)).to match /^S-1-5-/
714
688
  end
715
689
 
716
690
  it "should get the mode" do
717
- winsec.get_mode(explorer).should == (WindowsSecurityTester::S_IRWXU | WindowsSecurityTester::S_IRWXG | WindowsSecurityTester::S_IEXTRA)
691
+ expect(winsec.get_mode(explorer)).to eq(WindowsSecurityTester::S_IRWXU | WindowsSecurityTester::S_IRWXG | WindowsSecurityTester::S_IEXTRA)
718
692
  end
719
693
  end
720
694
  end
@@ -740,19 +714,19 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
740
714
  if (mode & WindowsSecurityTester::S_IRUSR).nonzero?
741
715
  check_read(path)
742
716
  else
743
- lambda { check_read(path) }.should raise_error(Errno::EACCES)
717
+ expect { check_read(path) }.to raise_error(Errno::EACCES)
744
718
  end
745
719
 
746
720
  if (mode & WindowsSecurityTester::S_IWUSR).nonzero?
747
721
  check_write(path)
748
722
  else
749
- lambda { check_write(path) }.should raise_error(Errno::EACCES)
723
+ expect { check_write(path) }.to raise_error(Errno::EACCES)
750
724
  end
751
725
 
752
726
  if (mode & WindowsSecurityTester::S_IXUSR).nonzero?
753
727
  check_execute(path)
754
728
  else
755
- lambda { check_execute(path) }.should raise_error(Errno::EACCES)
729
+ expect { check_execute(path) }.to raise_error(Errno::EACCES)
756
730
  end
757
731
  end
758
732
 
@@ -786,7 +760,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
786
760
 
787
761
  [newfile, newdir].each do |p|
788
762
  mode = winsec.get_mode(p)
789
- (mode & 07777).to_s(8).should == mode640.to_s(8)
763
+ expect((mode & 07777).to_s(8)).to eq(mode640.to_s(8))
790
764
  end
791
765
  end
792
766
  end
@@ -811,13 +785,13 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
811
785
  winsec.set_security_descriptor(path, sd)
812
786
 
813
787
  aces = winsec.get_security_descriptor(path).dacl.to_a
814
- aces.map(&:sid).should == sids_in_dacl
815
- aces.map(&:mask).all? { |mask| mask == read_execute }.should be_true
788
+ expect(aces.map(&:sid)).to eq(sids_in_dacl)
789
+ expect(aces.map(&:mask).all? { |mask| mask == read_execute }).to be_truthy
816
790
  end
817
791
 
818
792
  it "changes the sid for all aces that were assigned to the old owner" do
819
793
  sd = winsec.get_security_descriptor(path)
820
- sd.owner.should_not == sids[:guest]
794
+ expect(sd.owner).not_to eq(sids[:guest])
821
795
 
822
796
  sd.dacl.allow(sd.owner, read_execute)
823
797
  sd.dacl.allow(sd.owner, synchronize)
@@ -829,7 +803,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
829
803
  aces = dacl.find_all { |ace| ace.sid == sids[:guest] }
830
804
  # only non-inherited aces will be reassigned to guest, so
831
805
  # make sure we find at least the two we added
832
- aces.size.should >= 2
806
+ expect(aces.size).to be >= 2
833
807
  end
834
808
 
835
809
  it "preserves INHERIT_ONLY_ACEs" do
@@ -849,9 +823,9 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
849
823
  winsec.set_owner(sids[:guest], dir)
850
824
 
851
825
  sd = winsec.get_security_descriptor(dir)
852
- sd.dacl.find do |ace|
826
+ expect(sd.dacl.find do |ace|
853
827
  ace.sid == sids[:guest] && ace.inherit_only?
854
- end.should_not be_nil
828
+ end).not_to be_nil
855
829
  end
856
830
 
857
831
  it "allows deny ACEs with inheritance" do
@@ -866,9 +840,9 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
866
840
  winsec.set_security_descriptor(dir, sd)
867
841
 
868
842
  sd = winsec.get_security_descriptor(dir)
869
- sd.dacl.find do |ace|
843
+ expect(sd.dacl.find do |ace|
870
844
  ace.sid == sids[:guest] && ace.flags != 0
871
- end.should_not be_nil
845
+ end).not_to be_nil
872
846
  end
873
847
 
874
848
  context "when managing mode" do
@@ -884,7 +858,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet.features.microsoft_win
884
858
  # make sure it's gone
885
859
  dacl = winsec.get_security_descriptor(path).dacl
886
860
  aces = dacl.find_all { |ace| ace.sid == sids[:guest] }
887
- aces.should be_empty
861
+ expect(aces).to be_empty
888
862
  end
889
863
  end
890
864
  end
@@ -5,55 +5,55 @@ require 'spec_helper'
5
5
  describe "Puppet::Util::Windows::User", :if => Puppet.features.microsoft_windows? do
6
6
  describe "2003 without UAC" do
7
7
  before :each do
8
- Facter.stubs(:value).with(:kernelmajversion).returns("5.2")
8
+ Puppet::Util::Windows::Process.stubs(:windows_major_version).returns(5)
9
9
  end
10
10
 
11
11
  it "should be an admin if user's token contains the Administrators SID" do
12
12
  Puppet::Util::Windows::User.expects(:check_token_membership).returns(true)
13
13
  Puppet::Util::Windows::Process.expects(:elevated_security?).never
14
14
 
15
- Puppet::Util::Windows::User.should be_admin
15
+ expect(Puppet::Util::Windows::User).to be_admin
16
16
  end
17
17
 
18
18
  it "should not be an admin if user's token doesn't contain the Administrators SID" do
19
19
  Puppet::Util::Windows::User.expects(:check_token_membership).returns(false)
20
20
  Puppet::Util::Windows::Process.expects(:elevated_security?).never
21
21
 
22
- Puppet::Util::Windows::User.should_not be_admin
22
+ expect(Puppet::Util::Windows::User).not_to be_admin
23
23
  end
24
24
 
25
25
  it "should raise an exception if we can't check token membership" do
26
26
  Puppet::Util::Windows::User.expects(:check_token_membership).raises(Puppet::Util::Windows::Error, "Access denied.")
27
27
  Puppet::Util::Windows::Process.expects(:elevated_security?).never
28
28
 
29
- lambda { Puppet::Util::Windows::User.admin? }.should raise_error(Puppet::Util::Windows::Error, /Access denied./)
29
+ expect { Puppet::Util::Windows::User.admin? }.to raise_error(Puppet::Util::Windows::Error, /Access denied./)
30
30
  end
31
31
  end
32
32
 
33
33
  describe "2008 with UAC" do
34
34
  before :each do
35
- Facter.stubs(:value).with(:kernelmajversion).returns("6.0")
35
+ Puppet::Util::Windows::Process.stubs(:windows_major_version).returns(6)
36
36
  end
37
37
 
38
38
  it "should be an admin if user is running with elevated privileges" do
39
39
  Puppet::Util::Windows::Process.stubs(:elevated_security?).returns(true)
40
40
  Puppet::Util::Windows::User.expects(:check_token_membership).never
41
41
 
42
- Puppet::Util::Windows::User.should be_admin
42
+ expect(Puppet::Util::Windows::User).to be_admin
43
43
  end
44
44
 
45
45
  it "should not be an admin if user is not running with elevated privileges" do
46
46
  Puppet::Util::Windows::Process.stubs(:elevated_security?).returns(false)
47
47
  Puppet::Util::Windows::User.expects(:check_token_membership).never
48
48
 
49
- Puppet::Util::Windows::User.should_not be_admin
49
+ expect(Puppet::Util::Windows::User).not_to be_admin
50
50
  end
51
51
 
52
52
  it "should raise an exception if the process fails to open the process token" do
53
53
  Puppet::Util::Windows::Process.stubs(:elevated_security?).raises(Puppet::Util::Windows::Error, "Access denied.")
54
54
  Puppet::Util::Windows::User.expects(:check_token_membership).never
55
55
 
56
- lambda { Puppet::Util::Windows::User.admin? }.should raise_error(Puppet::Util::Windows::Error, /Access denied./)
56
+ expect { Puppet::Util::Windows::User.admin? }.to raise_error(Puppet::Util::Windows::Error, /Access denied./)
57
57
  end
58
58
  end
59
59
 
@@ -103,22 +103,22 @@ describe "Puppet::Util::Windows::User", :if => Puppet.features.microsoft_windows
103
103
 
104
104
  describe "password_is?" do
105
105
  it "should return false given an incorrect username and password" do
106
- Puppet::Util::Windows::User.password_is?(username, bad_password).should be_false
106
+ expect(Puppet::Util::Windows::User.password_is?(username, bad_password)).to be_falsey
107
107
  end
108
108
 
109
109
  it "should return false given an incorrect username and nil password" do
110
- Puppet::Util::Windows::User.password_is?(username, nil).should be_false
110
+ expect(Puppet::Util::Windows::User.password_is?(username, nil)).to be_falsey
111
111
  end
112
112
 
113
113
  it "should return false given a nil username and an incorrect password" do
114
- Puppet::Util::Windows::User.password_is?(nil, bad_password).should be_false
114
+ expect(Puppet::Util::Windows::User.password_is?(nil, bad_password)).to be_falsey
115
115
  end
116
116
  end
117
117
 
118
118
  describe "check_token_membership" do
119
119
  it "should not raise an error" do
120
120
  # added just to call an FFI code path on all platforms
121
- lambda { Puppet::Util::Windows::User.check_token_membership }.should_not raise_error
121
+ expect { Puppet::Util::Windows::User.check_token_membership }.not_to raise_error
122
122
  end
123
123
  end
124
124
  end