puppet 6.0.10-x64-mingw32 → 6.1.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (748) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -27
  4. data/Guardfile.example +76 -0
  5. data/LICENSE +189 -4
  6. data/MAINTAINERS +47 -0
  7. data/README.md +3 -3
  8. data/lib/hiera/scope.rb +0 -7
  9. data/lib/puppet.rb +6 -5
  10. data/lib/puppet/application.rb +3 -3
  11. data/lib/puppet/application/cert.rb +2 -2
  12. data/lib/puppet/application/device.rb +83 -109
  13. data/lib/puppet/application/filebucket.rb +1 -10
  14. data/lib/puppet/application/ssl.rb +0 -2
  15. data/lib/puppet/configurer.rb +9 -10
  16. data/lib/puppet/confine/false.rb +1 -7
  17. data/lib/puppet/confine/true.rb +1 -7
  18. data/lib/puppet/defaults.rb +39 -51
  19. data/lib/puppet/forge.rb +1 -4
  20. data/lib/puppet/functions/abs.rb +1 -1
  21. data/lib/puppet/functions/call.rb +1 -2
  22. data/lib/puppet/functions/new.rb +1 -1
  23. data/lib/puppet/indirector/request.rb +15 -26
  24. data/lib/puppet/network/http/connection.rb +12 -32
  25. data/lib/puppet/network/http/factory.rb +0 -5
  26. data/lib/puppet/pal/catalog_compiler.rb +96 -0
  27. data/lib/puppet/pal/compiler.rb +221 -0
  28. data/lib/puppet/pal/function_signature.rb +52 -0
  29. data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
  30. data/lib/puppet/pal/pal_api.rb +15 -0
  31. data/lib/puppet/pal/pal_impl.rb +523 -0
  32. data/lib/puppet/pal/plan_signature.rb +71 -0
  33. data/lib/puppet/pal/script_compiler.rb +71 -0
  34. data/lib/puppet/pal/task_signature.rb +58 -0
  35. data/lib/puppet/parser/functions/generate.rb +7 -6
  36. data/lib/puppet/plugins/configuration.rb +5 -1
  37. data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
  38. data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
  39. data/lib/puppet/pops/issues.rb +0 -4
  40. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
  41. data/lib/puppet/pops/model/factory.rb +4 -38
  42. data/lib/puppet/pops/model/pn_transformer.rb +0 -5
  43. data/lib/puppet/pops/parser/egrammar.ra +2 -2
  44. data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
  45. data/lib/puppet/pops/parser/lexer2.rb +1 -6
  46. data/lib/puppet/pops/parser/locator.rb +86 -106
  47. data/lib/puppet/pops/parser/parser_support.rb +2 -11
  48. data/lib/puppet/pops/types/string_converter.rb +7 -2
  49. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  50. data/lib/puppet/pops/types/types.rb +3 -5
  51. data/lib/puppet/pops/validation/checker4_0.rb +13 -0
  52. data/lib/puppet/provider.rb +2 -1
  53. data/lib/puppet/provider/exec.rb +6 -1
  54. data/lib/puppet/provider/file/windows.rb +1 -49
  55. data/lib/puppet/provider/group/windows_adsi.rb +1 -4
  56. data/lib/puppet/provider/package.rb +0 -2
  57. data/lib/puppet/provider/package/dpkg.rb +2 -15
  58. data/lib/puppet/provider/package/gem.rb +42 -102
  59. data/lib/puppet/provider/package/pip.rb +111 -135
  60. data/lib/puppet/provider/package/pip3.rb +1 -1
  61. data/lib/puppet/provider/package/pkgng.rb +37 -21
  62. data/lib/puppet/provider/package/puppet_gem.rb +1 -1
  63. data/lib/puppet/provider/package/rpm.rb +16 -27
  64. data/lib/puppet/provider/package/windows.rb +1 -5
  65. data/lib/puppet/provider/package/yum.rb +1 -2
  66. data/lib/puppet/provider/service/systemd.rb +17 -0
  67. data/lib/puppet/provider/service/upstart.rb +5 -17
  68. data/lib/puppet/provider/service/windows.rb +8 -3
  69. data/lib/puppet/provider/user/directoryservice.rb +4 -16
  70. data/lib/puppet/provider/user/useradd.rb +13 -16
  71. data/lib/puppet/resource.rb +3 -1
  72. data/lib/puppet/rest/client.rb +83 -0
  73. data/lib/puppet/rest/route.rb +1 -1
  74. data/lib/puppet/settings.rb +5 -10
  75. data/lib/puppet/settings/server_list_setting.rb +0 -9
  76. data/lib/puppet/ssl/host.rb +11 -0
  77. data/lib/puppet/ssl/validator/default_validator.rb +0 -31
  78. data/lib/puppet/syntax_checkers/epp.rb +34 -0
  79. data/lib/puppet/syntax_checkers/pp.rb +34 -0
  80. data/lib/puppet/transaction.rb +7 -12
  81. data/lib/puppet/transaction/event_manager.rb +5 -1
  82. data/lib/puppet/transaction/resource_harness.rb +0 -1
  83. data/lib/puppet/type.rb +6 -0
  84. data/lib/puppet/type/exec.rb +5 -27
  85. data/lib/puppet/type/file/mode.rb +1 -6
  86. data/lib/puppet/type/file/source.rb +1 -0
  87. data/lib/puppet/type/filebucket.rb +8 -12
  88. data/lib/puppet/type/package.rb +11 -44
  89. data/lib/puppet/type/schedule.rb +0 -4
  90. data/lib/puppet/type/service.rb +12 -0
  91. data/lib/puppet/type/user.rb +1 -1
  92. data/lib/puppet/util/command_line.rb +1 -5
  93. data/lib/puppet/util/connection.rb +6 -15
  94. data/lib/puppet/util/http_proxy.rb +2 -3
  95. data/lib/puppet/util/log.rb +2 -7
  96. data/lib/puppet/util/pidlock.rb +1 -15
  97. data/lib/puppet/util/windows/process.rb +5 -73
  98. data/lib/puppet/util/windows/registry.rb +1 -7
  99. data/lib/puppet/util/windows/security.rb +8 -29
  100. data/lib/puppet/util/windows/service.rb +33 -27
  101. data/lib/puppet/util/windows/user.rb +4 -14
  102. data/lib/puppet/version.rb +1 -1
  103. data/lib/puppet_pal.rb +5 -1132
  104. data/locales/ja/puppet.po +297 -363
  105. data/locales/puppet.pot +445 -517
  106. data/man/man5/puppet.conf.5 +12 -20
  107. data/man/man8/puppet-agent.8 +1 -1
  108. data/man/man8/puppet-apply.8 +1 -1
  109. data/man/man8/puppet-catalog.8 +1 -1
  110. data/man/man8/puppet-config.8 +1 -1
  111. data/man/man8/puppet-describe.8 +1 -1
  112. data/man/man8/puppet-device.8 +1 -1
  113. data/man/man8/puppet-doc.8 +1 -1
  114. data/man/man8/puppet-epp.8 +1 -1
  115. data/man/man8/puppet-facts.8 +1 -1
  116. data/man/man8/puppet-filebucket.8 +2 -6
  117. data/man/man8/puppet-generate.8 +1 -1
  118. data/man/man8/puppet-help.8 +1 -1
  119. data/man/man8/puppet-key.8 +1 -1
  120. data/man/man8/puppet-lookup.8 +1 -1
  121. data/man/man8/puppet-man.8 +1 -1
  122. data/man/man8/puppet-module.8 +1 -1
  123. data/man/man8/puppet-node.8 +1 -1
  124. data/man/man8/puppet-parser.8 +1 -1
  125. data/man/man8/puppet-plugin.8 +1 -1
  126. data/man/man8/puppet-report.8 +1 -1
  127. data/man/man8/puppet-resource.8 +1 -1
  128. data/man/man8/puppet-script.8 +1 -1
  129. data/man/man8/puppet-ssl.8 +1 -1
  130. data/man/man8/puppet-status.8 +1 -1
  131. data/man/man8/puppet.8 +2 -2
  132. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
  133. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
  134. data/spec/integration/agent/logging_spec.rb +7 -5
  135. data/spec/integration/application/apply_spec.rb +16 -18
  136. data/spec/integration/application/doc_spec.rb +2 -1
  137. data/spec/integration/application/lookup_spec.rb +5 -5
  138. data/spec/integration/configurer_spec.rb +6 -5
  139. data/spec/integration/defaults_spec.rb +6 -5
  140. data/spec/integration/directory_environments_spec.rb +1 -1
  141. data/spec/integration/faces/config_spec.rb +4 -3
  142. data/spec/integration/faces/documentation_spec.rb +1 -0
  143. data/spec/integration/faces/plugin_spec.rb +1 -1
  144. data/spec/integration/file_bucket/file_spec.rb +4 -2
  145. data/spec/integration/file_serving/content_spec.rb +1 -0
  146. data/spec/integration/file_serving/fileset_spec.rb +1 -0
  147. data/spec/integration/file_serving/metadata_spec.rb +1 -0
  148. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
  149. data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
  150. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  151. data/spec/integration/indirector/facts/facter_spec.rb +5 -4
  152. data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
  153. data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
  154. data/spec/integration/network/authconfig_spec.rb +24 -23
  155. data/spec/integration/network/formats_spec.rb +1 -0
  156. data/spec/integration/node/environment_spec.rb +1 -0
  157. data/spec/integration/node/facts_spec.rb +10 -9
  158. data/spec/integration/node_spec.rb +7 -6
  159. data/spec/integration/parser/catalog_spec.rb +5 -1
  160. data/spec/integration/parser/collection_spec.rb +2 -1
  161. data/spec/integration/parser/compiler_spec.rb +6 -6
  162. data/spec/integration/parser/scope_spec.rb +1 -1
  163. data/spec/integration/parser/undef_param_spec.rb +1 -1
  164. data/spec/integration/provider/service/init_spec.rb +5 -4
  165. data/spec/integration/provider/service/systemd_spec.rb +2 -0
  166. data/spec/integration/provider/service/windows_spec.rb +2 -1
  167. data/spec/integration/reference/providers_spec.rb +2 -1
  168. data/spec/integration/reports_spec.rb +2 -1
  169. data/spec/integration/resource/catalog_spec.rb +17 -14
  170. data/spec/integration/resource/type_collection_spec.rb +5 -4
  171. data/spec/integration/ssl/certificate_request_spec.rb +1 -0
  172. data/spec/integration/ssl/host_spec.rb +2 -1
  173. data/spec/integration/ssl/key_spec.rb +1 -0
  174. data/spec/integration/test/test_helper_spec.rb +1 -0
  175. data/spec/integration/transaction/report_spec.rb +11 -6
  176. data/spec/integration/transaction_spec.rb +19 -18
  177. data/spec/integration/type/exec_spec.rb +1 -0
  178. data/spec/integration/type/file_spec.rb +33 -13
  179. data/spec/integration/type/package_spec.rb +24 -20
  180. data/spec/integration/type/tidy_spec.rb +2 -1
  181. data/spec/integration/type_spec.rb +1 -0
  182. data/spec/integration/util/autoload_spec.rb +2 -1
  183. data/spec/integration/util/rdoc/parser_spec.rb +1 -0
  184. data/spec/integration/util/settings_spec.rb +1 -0
  185. data/spec/integration/util/windows/adsi_spec.rb +5 -3
  186. data/spec/integration/util/windows/principal_spec.rb +1 -0
  187. data/spec/integration/util/windows/process_spec.rb +6 -4
  188. data/spec/integration/util/windows/registry_spec.rb +51 -93
  189. data/spec/integration/util/windows/security_spec.rb +4 -2
  190. data/spec/integration/util/windows/user_spec.rb +20 -37
  191. data/spec/integration/util_spec.rb +7 -4
  192. data/spec/lib/puppet_spec/compiler.rb +1 -1
  193. data/spec/lib/puppet_spec/files.rb +1 -0
  194. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  195. data/spec/lib/puppet_spec/scope.rb +2 -1
  196. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  197. data/spec/shared_behaviours/file_server_terminus.rb +9 -8
  198. data/spec/shared_behaviours/file_serving.rb +8 -6
  199. data/spec/shared_behaviours/file_serving_model.rb +5 -3
  200. data/spec/shared_behaviours/hiera_indirections.rb +4 -3
  201. data/spec/shared_behaviours/iterative_functions.rb +1 -0
  202. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  203. data/spec/shared_examples/rhel_package_provider.rb +70 -112
  204. data/spec/spec_helper.rb +2 -11
  205. data/spec/unit/agent/disabler_spec.rb +5 -4
  206. data/spec/unit/agent/locker_spec.rb +13 -12
  207. data/spec/unit/agent_spec.rb +85 -80
  208. data/spec/unit/application/agent_spec.rb +93 -88
  209. data/spec/unit/application/apply_spec.rb +83 -82
  210. data/spec/unit/application/config_spec.rb +1 -0
  211. data/spec/unit/application/describe_spec.rb +7 -6
  212. data/spec/unit/application/device_spec.rb +419 -395
  213. data/spec/unit/application/doc_spec.rb +46 -44
  214. data/spec/unit/application/face_base_spec.rb +62 -61
  215. data/spec/unit/application/facts_spec.rb +4 -3
  216. data/spec/unit/application/filebucket_spec.rb +74 -66
  217. data/spec/unit/application/indirection_base_spec.rb +6 -8
  218. data/spec/unit/application/lookup_spec.rb +26 -26
  219. data/spec/unit/application/resource_spec.rb +48 -42
  220. data/spec/unit/application/ssl_spec.rb +3 -8
  221. data/spec/unit/application_spec.rb +98 -86
  222. data/spec/unit/capability_spec.rb +6 -6
  223. data/spec/unit/certificate_factory_spec.rb +5 -3
  224. data/spec/unit/configurer/downloader_spec.rb +21 -20
  225. data/spec/unit/configurer/fact_handler_spec.rb +3 -2
  226. data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
  227. data/spec/unit/configurer_spec.rb +198 -194
  228. data/spec/unit/confine/exists_spec.rb +15 -17
  229. data/spec/unit/confine/false_spec.rb +6 -32
  230. data/spec/unit/confine/feature_spec.rb +5 -7
  231. data/spec/unit/confine/true_spec.rb +6 -32
  232. data/spec/unit/confine/variable_spec.rb +15 -14
  233. data/spec/unit/confine_collection_spec.rb +29 -28
  234. data/spec/unit/confine_spec.rb +14 -13
  235. data/spec/unit/confiner_spec.rb +11 -10
  236. data/spec/unit/context/trusted_information_spec.rb +1 -1
  237. data/spec/unit/daemon_spec.rb +36 -35
  238. data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
  239. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
  240. data/spec/unit/datatypes_spec.rb +4 -3
  241. data/spec/unit/defaults_spec.rb +27 -18
  242. data/spec/unit/environments_spec.rb +7 -7
  243. data/spec/unit/etc_spec.rb +32 -30
  244. data/spec/unit/external/pson_spec.rb +1 -0
  245. data/spec/unit/face/catalog_spec.rb +1 -0
  246. data/spec/unit/face/config_spec.rb +35 -31
  247. data/spec/unit/face/epp_face_spec.rb +4 -3
  248. data/spec/unit/face/facts_spec.rb +6 -5
  249. data/spec/unit/face/generate_spec.rb +5 -4
  250. data/spec/unit/face/help_spec.rb +8 -7
  251. data/spec/unit/face/key_spec.rb +1 -0
  252. data/spec/unit/face/man_spec.rb +2 -1
  253. data/spec/unit/face/module/install_spec.rb +5 -3
  254. data/spec/unit/face/module/list_spec.rb +12 -2
  255. data/spec/unit/face/module/search_spec.rb +9 -11
  256. data/spec/unit/face/module/uninstall_spec.rb +8 -4
  257. data/spec/unit/face/node_spec.rb +24 -23
  258. data/spec/unit/face/parser_spec.rb +18 -3
  259. data/spec/unit/face/plugin_spec.rb +9 -36
  260. data/spec/unit/face/status_spec.rb +1 -0
  261. data/spec/unit/file_bucket/dipper_spec.rb +20 -24
  262. data/spec/unit/file_bucket/file_spec.rb +2 -0
  263. data/spec/unit/file_serving/base_spec.rb +15 -14
  264. data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
  265. data/spec/unit/file_serving/configuration_spec.rb +66 -63
  266. data/spec/unit/file_serving/content_spec.rb +11 -10
  267. data/spec/unit/file_serving/fileset_spec.rb +58 -63
  268. data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
  269. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  270. data/spec/unit/file_serving/mount/file_spec.rb +32 -31
  271. data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
  272. data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
  273. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
  274. data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
  275. data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
  276. data/spec/unit/file_serving/mount_spec.rb +1 -0
  277. data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
  278. data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
  279. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  280. data/spec/unit/file_system_spec.rb +2 -2
  281. data/spec/unit/forge/errors_spec.rb +1 -1
  282. data/spec/unit/forge/forge_spec.rb +16 -17
  283. data/spec/unit/forge/module_release_spec.rb +18 -18
  284. data/spec/unit/forge/repository_spec.rb +30 -29
  285. data/spec/unit/forge_spec.rb +11 -15
  286. data/spec/unit/functions/binary_file_spec.rb +3 -3
  287. data/spec/unit/functions/contain_spec.rb +2 -0
  288. data/spec/unit/functions/defined_spec.rb +1 -0
  289. data/spec/unit/functions/epp_spec.rb +2 -2
  290. data/spec/unit/functions/find_file_spec.rb +7 -7
  291. data/spec/unit/functions/include_spec.rb +4 -0
  292. data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
  293. data/spec/unit/functions/lookup_spec.rb +2 -1
  294. data/spec/unit/functions/module_directory_spec.rb +12 -12
  295. data/spec/unit/functions/new_spec.rb +0 -15
  296. data/spec/unit/functions/require_spec.rb +3 -0
  297. data/spec/unit/functions/shared.rb +8 -5
  298. data/spec/unit/functions/versioncmp_spec.rb +2 -1
  299. data/spec/unit/functions4_spec.rb +10 -9
  300. data/spec/unit/gettext/config_spec.rb +4 -4
  301. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  302. data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
  303. data/spec/unit/graph/relationship_graph_spec.rb +2 -1
  304. data/spec/unit/graph/simple_graph_spec.rb +10 -9
  305. data/spec/unit/hiera/scope_spec.rb +0 -7
  306. data/spec/unit/hiera_puppet_spec.rb +20 -20
  307. data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
  308. data/spec/unit/indirector/catalog/json_spec.rb +2 -1
  309. data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
  310. data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
  311. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
  312. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
  313. data/spec/unit/indirector/certificate/file_spec.rb +1 -0
  314. data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
  315. data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
  316. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
  317. data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
  318. data/spec/unit/indirector/envelope_spec.rb +2 -1
  319. data/spec/unit/indirector/exec_spec.rb +5 -4
  320. data/spec/unit/indirector/face_spec.rb +9 -9
  321. data/spec/unit/indirector/facts/facter_spec.rb +43 -37
  322. data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
  323. data/spec/unit/indirector/facts/rest_spec.rb +8 -7
  324. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
  325. data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
  326. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
  327. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
  328. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
  329. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
  330. data/spec/unit/indirector/file_content/file_spec.rb +1 -0
  331. data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
  332. data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
  333. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
  334. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
  335. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
  336. data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
  337. data/spec/unit/indirector/file_server_spec.rb +87 -87
  338. data/spec/unit/indirector/indirection_spec.rb +226 -242
  339. data/spec/unit/indirector/json_spec.rb +9 -7
  340. data/spec/unit/indirector/key/file_spec.rb +22 -21
  341. data/spec/unit/indirector/memory_spec.rb +7 -6
  342. data/spec/unit/indirector/msgpack_spec.rb +9 -7
  343. data/spec/unit/indirector/node/exec_spec.rb +3 -2
  344. data/spec/unit/indirector/node/memory_spec.rb +4 -2
  345. data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
  346. data/spec/unit/indirector/node/plain_spec.rb +4 -2
  347. data/spec/unit/indirector/node/rest_spec.rb +1 -0
  348. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  349. data/spec/unit/indirector/node/yaml_spec.rb +1 -0
  350. data/spec/unit/indirector/none_spec.rb +5 -5
  351. data/spec/unit/indirector/plain_spec.rb +8 -7
  352. data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
  353. data/spec/unit/indirector/report/processor_spec.rb +22 -21
  354. data/spec/unit/indirector/report/rest_spec.rb +12 -11
  355. data/spec/unit/indirector/report/yaml_spec.rb +1 -0
  356. data/spec/unit/indirector/request_spec.rb +12 -11
  357. data/spec/unit/indirector/resource/ral_spec.rb +54 -47
  358. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
  359. data/spec/unit/indirector/rest_spec.rb +110 -113
  360. data/spec/unit/indirector/ssl_file_spec.rb +65 -64
  361. data/spec/unit/indirector/status/local_spec.rb +1 -0
  362. data/spec/unit/indirector/status/rest_spec.rb +1 -0
  363. data/spec/unit/indirector/store_configs_spec.rb +1 -0
  364. data/spec/unit/indirector/terminus_spec.rb +27 -27
  365. data/spec/unit/indirector/yaml_spec.rb +6 -5
  366. data/spec/unit/indirector_spec.rb +2 -1
  367. data/spec/unit/info_service_spec.rb +1 -1
  368. data/spec/unit/interface/action_builder_spec.rb +1 -0
  369. data/spec/unit/interface/action_manager_spec.rb +1 -0
  370. data/spec/unit/interface/action_spec.rb +3 -2
  371. data/spec/unit/interface/documentation_spec.rb +1 -0
  372. data/spec/unit/interface/face_collection_spec.rb +12 -19
  373. data/spec/unit/interface_spec.rb +3 -3
  374. data/spec/unit/man_spec.rb +4 -3
  375. data/spec/unit/module_spec.rb +51 -46
  376. data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
  377. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  378. data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
  379. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  380. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  381. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  382. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  383. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  384. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  385. data/spec/unit/module_tool/tar_spec.rb +13 -12
  386. data/spec/unit/module_tool_spec.rb +12 -7
  387. data/spec/unit/network/auth_config_parser_spec.rb +13 -11
  388. data/spec/unit/network/authconfig_spec.rb +18 -17
  389. data/spec/unit/network/authorization_spec.rb +5 -4
  390. data/spec/unit/network/authstore_spec.rb +1 -0
  391. data/spec/unit/network/format_handler_spec.rb +1 -0
  392. data/spec/unit/network/format_spec.rb +10 -9
  393. data/spec/unit/network/format_support_spec.rb +29 -28
  394. data/spec/unit/network/formats_spec.rb +5 -4
  395. data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
  396. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  397. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  398. data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
  399. data/spec/unit/network/http/api_spec.rb +2 -0
  400. data/spec/unit/network/http/compression_spec.rb +22 -21
  401. data/spec/unit/network/http/connection_spec.rb +121 -30
  402. data/spec/unit/network/http/factory_spec.rb +6 -11
  403. data/spec/unit/network/http/handler_spec.rb +18 -9
  404. data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
  405. data/spec/unit/network/http/pool_spec.rb +29 -28
  406. data/spec/unit/network/http/request_spec.rb +2 -0
  407. data/spec/unit/network/http/response_spec.rb +13 -11
  408. data/spec/unit/network/http/route_spec.rb +1 -0
  409. data/spec/unit/network/http/session_spec.rb +2 -1
  410. data/spec/unit/network/http/site_spec.rb +1 -0
  411. data/spec/unit/network/http_pool_spec.rb +9 -18
  412. data/spec/unit/network/http_spec.rb +1 -0
  413. data/spec/unit/network/resolver_spec.rb +26 -25
  414. data/spec/unit/network/rights_spec.rb +53 -52
  415. data/spec/unit/node/environment_spec.rb +15 -14
  416. data/spec/unit/node/facts_spec.rb +7 -5
  417. data/spec/unit/node_spec.rb +10 -4
  418. data/spec/unit/other/selinux_spec.rb +1 -0
  419. data/spec/unit/parameter/boolean_spec.rb +2 -1
  420. data/spec/unit/parameter/package_options_spec.rb +2 -1
  421. data/spec/unit/parameter/path_spec.rb +1 -0
  422. data/spec/unit/parameter/value_collection_spec.rb +1 -0
  423. data/spec/unit/parameter/value_spec.rb +1 -0
  424. data/spec/unit/parameter_spec.rb +9 -9
  425. data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
  426. data/spec/unit/parser/ast/leaf_spec.rb +21 -20
  427. data/spec/unit/parser/compiler_spec.rb +96 -84
  428. data/spec/unit/parser/environment_compiler_spec.rb +8 -7
  429. data/spec/unit/parser/files_spec.rb +1 -0
  430. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  431. data/spec/unit/parser/functions/digest_spec.rb +1 -0
  432. data/spec/unit/parser/functions/fail_spec.rb +2 -1
  433. data/spec/unit/parser/functions/file_spec.rb +14 -13
  434. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
  435. data/spec/unit/parser/functions/generate_spec.rb +8 -7
  436. data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
  437. data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
  438. data/spec/unit/parser/functions/scanf_spec.rb +1 -0
  439. data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
  440. data/spec/unit/parser/functions/split_spec.rb +1 -0
  441. data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
  442. data/spec/unit/parser/functions/tag_spec.rb +2 -1
  443. data/spec/unit/parser/functions/tagged_spec.rb +3 -2
  444. data/spec/unit/parser/functions/template_spec.rb +13 -13
  445. data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
  446. data/spec/unit/parser/functions_spec.rb +7 -6
  447. data/spec/unit/parser/relationship_spec.rb +1 -0
  448. data/spec/unit/parser/resource_spec.rb +42 -42
  449. data/spec/unit/parser/scope_spec.rb +35 -39
  450. data/spec/unit/parser/templatewrapper_spec.rb +12 -11
  451. data/spec/unit/parser/type_loader_spec.rb +19 -17
  452. data/spec/unit/pops/adaptable_spec.rb +1 -0
  453. data/spec/unit/pops/benchmark_spec.rb +1 -0
  454. data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
  455. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
  456. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
  457. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
  458. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
  459. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
  460. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
  461. data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
  462. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
  463. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
  464. data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
  465. data/spec/unit/pops/factory_spec.rb +4 -3
  466. data/spec/unit/pops/issues_spec.rb +20 -19
  467. data/spec/unit/pops/loaders/loader_spec.rb +4 -8
  468. data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
  469. data/spec/unit/pops/lookup/context_spec.rb +1 -0
  470. data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
  471. data/spec/unit/pops/merge_strategy_spec.rb +1 -0
  472. data/spec/unit/pops/migration_spec.rb +5 -3
  473. data/spec/unit/pops/model/model_spec.rb +1 -0
  474. data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
  475. data/spec/unit/pops/parser/locator_spec.rb +6 -48
  476. data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
  477. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
  478. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
  479. data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
  480. data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
  481. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
  482. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
  483. data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
  484. data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
  485. data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
  486. data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
  487. data/spec/unit/pops/pn_spec.rb +1 -0
  488. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
  489. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  490. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  491. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  492. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  493. data/spec/unit/pops/types/string_converter_spec.rb +5 -1
  494. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  495. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  496. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  497. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  498. data/spec/unit/pops/validator/validator_spec.rb +2 -1
  499. data/spec/unit/pops/visitor_spec.rb +1 -0
  500. data/spec/unit/property/boolean_spec.rb +1 -1
  501. data/spec/unit/property/ensure_spec.rb +1 -0
  502. data/spec/unit/property/keyvalue_spec.rb +34 -32
  503. data/spec/unit/property/list_spec.rb +27 -26
  504. data/spec/unit/property/ordered_list_spec.rb +14 -10
  505. data/spec/unit/property_spec.rb +43 -42
  506. data/spec/unit/provider/aix_object_spec.rb +45 -47
  507. data/spec/unit/provider/command_spec.rb +9 -9
  508. data/spec/unit/provider/exec/posix_spec.rb +31 -6
  509. data/spec/unit/provider/exec/shell_spec.rb +1 -0
  510. data/spec/unit/provider/exec/windows_spec.rb +4 -2
  511. data/spec/unit/provider/exec_spec.rb +1 -0
  512. data/spec/unit/provider/file/posix_spec.rb +24 -22
  513. data/spec/unit/provider/file/windows_spec.rb +17 -15
  514. data/spec/unit/provider/group/aix_spec.rb +2 -3
  515. data/spec/unit/provider/group/groupadd_spec.rb +26 -30
  516. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  517. data/spec/unit/provider/group/pw_spec.rb +11 -11
  518. data/spec/unit/provider/group/windows_adsi_spec.rb +53 -59
  519. data/spec/unit/provider/ldap_spec.rb +62 -61
  520. data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
  521. data/spec/unit/provider/nameservice_spec.rb +40 -38
  522. data/spec/unit/provider/package/aix_spec.rb +15 -15
  523. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  524. data/spec/unit/provider/package/apt_spec.rb +27 -44
  525. data/spec/unit/provider/package/aptitude_spec.rb +7 -6
  526. data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
  527. data/spec/unit/provider/package/base_spec.rb +4 -4
  528. data/spec/unit/provider/package/dnf_spec.rb +20 -18
  529. data/spec/unit/provider/package/dpkg_spec.rb +53 -70
  530. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  531. data/spec/unit/provider/package/gem_spec.rb +55 -132
  532. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  533. data/spec/unit/provider/package/macports_spec.rb +42 -46
  534. data/spec/unit/provider/package/nim_spec.rb +39 -30
  535. data/spec/unit/provider/package/openbsd_spec.rb +39 -36
  536. data/spec/unit/provider/package/opkg_spec.rb +26 -23
  537. data/spec/unit/provider/package/pacman_spec.rb +118 -97
  538. data/spec/unit/provider/package/pip3_spec.rb +0 -17
  539. data/spec/unit/provider/package/pip_spec.rb +106 -95
  540. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  541. data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
  542. data/spec/unit/provider/package/pkgin_spec.rb +8 -10
  543. data/spec/unit/provider/package/pkgng_spec.rb +31 -22
  544. data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
  545. data/spec/unit/provider/package/portage_spec.rb +74 -70
  546. data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
  547. data/spec/unit/provider/package/rpm_spec.rb +76 -154
  548. data/spec/unit/provider/package/sun_spec.rb +18 -16
  549. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  550. data/spec/unit/provider/package/up2date_spec.rb +4 -2
  551. data/spec/unit/provider/package/urpmi_spec.rb +17 -15
  552. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
  553. data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
  554. data/spec/unit/provider/package/windows/package_spec.rb +42 -37
  555. data/spec/unit/provider/package/windows_spec.rb +32 -47
  556. data/spec/unit/provider/package/yum_spec.rb +7 -7
  557. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  558. data/spec/unit/provider/parsedfile_spec.rb +45 -44
  559. data/spec/unit/provider/service/base_spec.rb +5 -4
  560. data/spec/unit/provider/service/bsd_spec.rb +29 -27
  561. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  562. data/spec/unit/provider/service/debian_spec.rb +38 -38
  563. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  564. data/spec/unit/provider/service/gentoo_spec.rb +55 -50
  565. data/spec/unit/provider/service/init_spec.rb +52 -53
  566. data/spec/unit/provider/service/launchd_spec.rb +116 -138
  567. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  568. data/spec/unit/provider/service/openrc_spec.rb +45 -43
  569. data/spec/unit/provider/service/openwrt_spec.rb +31 -26
  570. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  571. data/spec/unit/provider/service/redhat_spec.rb +43 -45
  572. data/spec/unit/provider/service/runit_spec.rb +27 -29
  573. data/spec/unit/provider/service/smf_spec.rb +66 -74
  574. data/spec/unit/provider/service/src_spec.rb +47 -46
  575. data/spec/unit/provider/service/systemd_spec.rb +136 -109
  576. data/spec/unit/provider/service/upstart_spec.rb +93 -77
  577. data/spec/unit/provider/service/windows_spec.rb +41 -33
  578. data/spec/unit/provider/user/aix_spec.rb +31 -31
  579. data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
  580. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  581. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  582. data/spec/unit/provider/user/openbsd_spec.rb +12 -10
  583. data/spec/unit/provider/user/pw_spec.rb +35 -37
  584. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  585. data/spec/unit/provider/user/useradd_spec.rb +92 -93
  586. data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
  587. data/spec/unit/provider_spec.rb +35 -35
  588. data/spec/unit/puppet_pal_2pec.rb +5 -4
  589. data/spec/unit/puppet_pal_spec.rb +1 -0
  590. data/spec/unit/puppet_spec.rb +7 -6
  591. data/spec/unit/relationship_spec.rb +1 -0
  592. data/spec/unit/reports/http_spec.rb +23 -21
  593. data/spec/unit/reports/store_spec.rb +4 -3
  594. data/spec/unit/reports_spec.rb +14 -12
  595. data/spec/unit/resource/capability_finder_spec.rb +17 -15
  596. data/spec/unit/resource/catalog_spec.rb +68 -72
  597. data/spec/unit/resource/status_spec.rb +8 -6
  598. data/spec/unit/resource/type_collection_spec.rb +18 -17
  599. data/spec/unit/resource/type_spec.rb +35 -34
  600. data/spec/unit/resource_spec.rb +63 -36
  601. data/spec/unit/rest/client_spec.rb +135 -0
  602. data/spec/unit/rest/route_spec.rb +6 -6
  603. data/spec/unit/scheduler/job_spec.rb +1 -0
  604. data/spec/unit/scheduler/scheduler_spec.rb +1 -0
  605. data/spec/unit/scheduler/splay_job_spec.rb +2 -1
  606. data/spec/unit/settings/array_setting_spec.rb +1 -1
  607. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  608. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  609. data/spec/unit/settings/config_file_spec.rb +1 -0
  610. data/spec/unit/settings/directory_setting_spec.rb +7 -2
  611. data/spec/unit/settings/duration_setting_spec.rb +2 -1
  612. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  613. data/spec/unit/settings/environment_conf_spec.rb +6 -4
  614. data/spec/unit/settings/file_setting_spec.rb +46 -44
  615. data/spec/unit/settings/path_setting_spec.rb +2 -1
  616. data/spec/unit/settings/priority_setting_spec.rb +2 -1
  617. data/spec/unit/settings/string_setting_spec.rb +15 -14
  618. data/spec/unit/settings/terminus_setting_spec.rb +2 -1
  619. data/spec/unit/settings/value_translator_spec.rb +1 -0
  620. data/spec/unit/settings_spec.rb +224 -253
  621. data/spec/unit/ssl/base_spec.rb +15 -14
  622. data/spec/unit/ssl/certificate_request_spec.rb +58 -62
  623. data/spec/unit/ssl/certificate_spec.rb +25 -23
  624. data/spec/unit/ssl/digest_spec.rb +1 -0
  625. data/spec/unit/ssl/host_spec.rb +149 -166
  626. data/spec/unit/ssl/key_spec.rb +31 -30
  627. data/spec/unit/ssl/validator_spec.rb +39 -40
  628. data/spec/unit/task_spec.rb +45 -44
  629. data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
  630. data/spec/unit/transaction/event_manager_spec.rb +88 -87
  631. data/spec/unit/transaction/event_spec.rb +15 -16
  632. data/spec/unit/transaction/persistence_spec.rb +17 -16
  633. data/spec/unit/transaction/report_spec.rb +12 -11
  634. data/spec/unit/transaction/resource_harness_spec.rb +31 -52
  635. data/spec/unit/transaction_spec.rb +87 -140
  636. data/spec/unit/type/component_spec.rb +1 -0
  637. data/spec/unit/type/exec_spec.rb +50 -101
  638. data/spec/unit/type/file/checksum_spec.rb +10 -9
  639. data/spec/unit/type/file/checksum_value_spec.rb +32 -31
  640. data/spec/unit/type/file/content_spec.rb +61 -58
  641. data/spec/unit/type/file/ctime_spec.rb +1 -0
  642. data/spec/unit/type/file/ensure_spec.rb +13 -12
  643. data/spec/unit/type/file/group_spec.rb +7 -5
  644. data/spec/unit/type/file/mode_spec.rb +6 -4
  645. data/spec/unit/type/file/mtime_spec.rb +1 -0
  646. data/spec/unit/type/file/owner_spec.rb +8 -6
  647. data/spec/unit/type/file/selinux_spec.rb +19 -17
  648. data/spec/unit/type/file/source_spec.rb +101 -104
  649. data/spec/unit/type/file/type_spec.rb +1 -0
  650. data/spec/unit/type/file_spec.rb +185 -195
  651. data/spec/unit/type/filebucket_spec.rb +10 -11
  652. data/spec/unit/type/group_spec.rb +8 -6
  653. data/spec/unit/type/noop_metaparam_spec.rb +2 -1
  654. data/spec/unit/type/package/package_settings_spec.rb +23 -44
  655. data/spec/unit/type/package_spec.rb +57 -56
  656. data/spec/unit/type/resources_spec.rb +74 -72
  657. data/spec/unit/type/schedule_spec.rb +26 -24
  658. data/spec/unit/type/service_spec.rb +75 -49
  659. data/spec/unit/type/stage_spec.rb +1 -0
  660. data/spec/unit/type/tidy_spec.rb +62 -61
  661. data/spec/unit/type/user_spec.rb +25 -24
  662. data/spec/unit/type/whit_spec.rb +1 -0
  663. data/spec/unit/type_spec.rb +54 -55
  664. data/spec/unit/util/at_fork_spec.rb +19 -18
  665. data/spec/unit/util/autoload_spec.rb +56 -55
  666. data/spec/unit/util/backups_spec.rb +35 -34
  667. data/spec/unit/util/character_encoding_spec.rb +5 -5
  668. data/spec/unit/util/checksums_spec.rb +39 -38
  669. data/spec/unit/util/colors_spec.rb +2 -1
  670. data/spec/unit/util/command_line_spec.rb +20 -40
  671. data/spec/unit/util/constant_inflector_spec.rb +1 -0
  672. data/spec/unit/util/diff_spec.rb +8 -7
  673. data/spec/unit/util/errors_spec.rb +1 -0
  674. data/spec/unit/util/execution_spec.rb +163 -187
  675. data/spec/unit/util/execution_stub_spec.rb +1 -0
  676. data/spec/unit/util/feature_spec.rb +14 -21
  677. data/spec/unit/util/filetype_spec.rb +49 -49
  678. data/spec/unit/util/http_proxy_spec.rb +12 -12
  679. data/spec/unit/util/inifile_spec.rb +31 -26
  680. data/spec/unit/util/json_lockfile_spec.rb +5 -3
  681. data/spec/unit/util/ldap/connection_spec.rb +25 -26
  682. data/spec/unit/util/ldap/generator_spec.rb +1 -0
  683. data/spec/unit/util/ldap/manager_spec.rb +101 -102
  684. data/spec/unit/util/lockfile_spec.rb +1 -0
  685. data/spec/unit/util/log/destinations_spec.rb +33 -30
  686. data/spec/unit/util/log_spec.rb +34 -48
  687. data/spec/unit/util/logging_spec.rb +72 -58
  688. data/spec/unit/util/metric_spec.rb +1 -0
  689. data/spec/unit/util/monkey_patches_spec.rb +9 -7
  690. data/spec/unit/util/multi_match_spec.rb +1 -0
  691. data/spec/unit/util/network_device/config_spec.rb +1 -0
  692. data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
  693. data/spec/unit/util/network_device_spec.rb +9 -7
  694. data/spec/unit/util/package_spec.rb +1 -0
  695. data/spec/unit/util/pidlock_spec.rb +15 -60
  696. data/spec/unit/util/plist_spec.rb +33 -40
  697. data/spec/unit/util/posix_spec.rb +51 -54
  698. data/spec/unit/util/rdoc_spec.rb +10 -9
  699. data/spec/unit/util/reference_spec.rb +1 -0
  700. data/spec/unit/util/resource_template_spec.rb +20 -20
  701. data/spec/unit/util/retry_action_spec.rb +8 -7
  702. data/spec/unit/util/rubygems_spec.rb +8 -7
  703. data/spec/unit/util/run_mode_spec.rb +4 -3
  704. data/spec/unit/util/selinux_spec.rb +72 -79
  705. data/spec/unit/util/splayer_spec.rb +9 -8
  706. data/spec/unit/util/ssl_spec.rb +1 -0
  707. data/spec/unit/util/storage_spec.rb +23 -22
  708. data/spec/unit/util/suidmanager_spec.rb +54 -45
  709. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
  710. data/spec/unit/util/tag_set_spec.rb +1 -0
  711. data/spec/unit/util/tagging_spec.rb +1 -0
  712. data/spec/unit/util/terminal_spec.rb +10 -9
  713. data/spec/unit/util/user_attr_spec.rb +2 -1
  714. data/spec/unit/util/warnings_spec.rb +4 -3
  715. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  716. data/spec/unit/util/watcher_spec.rb +21 -51
  717. data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
  718. data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
  719. data/spec/unit/util/windows/adsi_spec.rb +138 -136
  720. data/spec/unit/util/windows/api_types_spec.rb +1 -0
  721. data/spec/unit/util/windows/eventlog_spec.rb +12 -9
  722. data/spec/unit/util/windows/file_spec.rb +1 -0
  723. data/spec/unit/util/windows/root_certs_spec.rb +1 -0
  724. data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
  725. data/spec/unit/util/windows/service_spec.rb +103 -100
  726. data/spec/unit/util/windows/sid_spec.rb +13 -11
  727. data/spec/unit/util/windows/string_spec.rb +1 -0
  728. data/spec/unit/util_spec.rb +57 -55
  729. data/spec/unit/version_spec.rb +6 -6
  730. metadata +20 -32
  731. data/CODEOWNERS +0 -30
  732. data/ext/autotest/Rakefile +0 -8
  733. data/ext/autotest/config +0 -43
  734. data/ext/autotest/readme.rst +0 -16
  735. data/lib/puppet/confine/boolean.rb +0 -45
  736. data/lib/puppet/provider/package_targetable.rb +0 -68
  737. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  738. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  739. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  740. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  741. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  742. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
  743. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
  744. data/spec/integration/network/http_pool_spec.rb +0 -120
  745. data/spec/integration/provider/file/windows_spec.rb +0 -162
  746. data/spec/lib/puppet_spec/https.rb +0 -166
  747. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  748. data/spec/watchr.rb +0 -137
@@ -1,4 +1,6 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
3
+
2
4
  require 'puppet/resource/status'
3
5
 
4
6
  describe Puppet::Resource::Status do
@@ -9,7 +11,7 @@ describe Puppet::Resource::Status do
9
11
  let(:status) { Puppet::Resource::Status.new(resource) }
10
12
 
11
13
  before do
12
- allow(resource).to receive(:pathbuilder).and_return(containment_path)
14
+ resource.stubs(:pathbuilder).returns(containment_path)
13
15
  end
14
16
 
15
17
  it "should compute type and title correctly" do
@@ -41,7 +43,7 @@ describe Puppet::Resource::Status do
41
43
  end
42
44
 
43
45
  it "should set its source description to the resource's path" do
44
- expect(resource).to receive(:path).and_return("/my/path")
46
+ resource.expects(:path).returns "/my/path"
45
47
  expect(Puppet::Resource::Status.new(resource).source_description).to eq("/my/path")
46
48
  end
47
49
 
@@ -51,7 +53,7 @@ describe Puppet::Resource::Status do
51
53
 
52
54
  [:file, :line].each do |attr|
53
55
  it "should copy the resource's #{attr}" do
54
- expect(resource).to receive(attr).and_return("foo")
56
+ resource.expects(attr).returns "foo"
55
57
  expect(Puppet::Resource::Status.new(resource).send(attr)).to eq("foo")
56
58
  end
57
59
  end
@@ -64,7 +66,7 @@ describe Puppet::Resource::Status do
64
66
  end
65
67
 
66
68
  it "should always convert the resource to a string" do
67
- expect(resource).to receive(:to_s).and_return("foo")
69
+ resource.expects(:to_s).returns "foo"
68
70
  expect(Puppet::Resource::Status.new(resource).resource).to eq("foo")
69
71
  end
70
72
 
@@ -109,8 +111,8 @@ describe Puppet::Resource::Status do
109
111
 
110
112
  it "fails and records a failure event with a given exception" do
111
113
  error = StandardError.new("the message")
112
- expect(resource).to receive(:log_exception).with(error, "Could not evaluate: the message")
113
- expect(status).to receive(:fail_with_event).with("the message")
114
+ resource.expects(:log_exception).with(error, "Could not evaluate: the message")
115
+ status.expects(:fail_with_event).with("the message")
114
116
 
115
117
  status.failed_because(error)
116
118
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/resource/type_collection'
@@ -14,8 +15,8 @@ describe Puppet::Resource::TypeCollection do
14
15
  end
15
16
 
16
17
  it "should consider '<<' to be an alias to 'add' but should return self" do
17
- expect(@code).to receive(:add).with("foo")
18
- expect(@code).to receive(:add).with("bar")
18
+ @code.expects(:add).with "foo"
19
+ @code.expects(:add).with "bar"
19
20
  @code << "foo" << "bar"
20
21
  end
21
22
 
@@ -96,40 +97,39 @@ describe Puppet::Resource::TypeCollection do
96
97
 
97
98
  it "should not attempt to import anything when the type is already defined" do
98
99
  @code.add @type
99
- expect(@code.loader).not_to receive(:import)
100
+ @code.loader.expects(:import).never
100
101
  expect(@code.find_hostclass("ns::klass")).to equal(@type)
101
102
  end
102
103
 
103
104
  describe "that need to be loaded" do
104
105
  it "should use the loader to load the files" do
105
- expect(@code.loader).to receive(:try_load_fqname).with(:hostclass, "klass")
106
+ @code.loader.expects(:try_load_fqname).with(:hostclass, "klass")
106
107
  @code.find_hostclass("klass")
107
108
  end
108
-
109
109
  it "should use the loader to load the files" do
110
- expect(@code.loader).to receive(:try_load_fqname).with(:hostclass, "ns::klass")
110
+ @code.loader.expects(:try_load_fqname).with(:hostclass, "ns::klass")
111
111
  @code.find_hostclass("ns::klass")
112
112
  end
113
113
 
114
114
  it "should downcase the name and downcase and array-fy the namespaces before passing to the loader" do
115
- expect(@code.loader).to receive(:try_load_fqname).with(:hostclass, "ns::klass")
115
+ @code.loader.expects(:try_load_fqname).with(:hostclass, "ns::klass")
116
116
  @code.find_hostclass("ns::klass")
117
117
  end
118
118
 
119
119
  it "should use the class returned by the loader" do
120
- expect(@code.loader).to receive(:try_load_fqname).and_return(:klass)
121
- expect(@code).to receive(:hostclass).with("ns::klass").and_return(false)
120
+ @code.loader.expects(:try_load_fqname).returns(:klass)
121
+ @code.expects(:hostclass).with("ns::klass").returns(false)
122
122
  expect(@code.find_hostclass("ns::klass")).to eq(:klass)
123
123
  end
124
124
 
125
125
  it "should return nil if the name isn't found" do
126
- allow(@code.loader).to receive(:try_load_fqname).and_return(nil)
126
+ @code.loader.stubs(:try_load_fqname).returns(nil)
127
127
  expect(@code.find_hostclass("Ns::Klass")).to be_nil
128
128
  end
129
129
 
130
130
  it "already-loaded names at broader scopes should not shadow autoloaded names" do
131
131
  @code.add Puppet::Resource::Type.new(:hostclass, "bar")
132
- expect(@code.loader).to receive(:try_load_fqname).with(:hostclass, "foo::bar").and_return(:foobar)
132
+ @code.loader.expects(:try_load_fqname).with(:hostclass, "foo::bar").returns(:foobar)
133
133
  expect(@code.find_hostclass("foo::bar")).to eq(:foobar)
134
134
  end
135
135
 
@@ -146,9 +146,9 @@ describe Puppet::Resource::TypeCollection do
146
146
 
147
147
  it "should not try to autoload names that we couldn't autoload in a previous step if ignoremissingtypes is enabled" do
148
148
  Puppet[:ignoremissingtypes] = true
149
- expect(@code.loader).to receive(:try_load_fqname).with(:hostclass, "ns::klass").and_return(nil)
149
+ @code.loader.expects(:try_load_fqname).with(:hostclass, "ns::klass").returns(nil)
150
150
  expect(@code.find_hostclass("ns::klass")).to be_nil
151
- expect(Puppet).to receive(:debug).at_least(:once).with(/Not attempting to load hostclass/)
151
+ Puppet.expects(:debug).at_least_once.with {|msg| msg =~ /Not attempting to load hostclass/}
152
152
  expect(@code.find_hostclass("ns::klass")).to be_nil
153
153
  end
154
154
  end
@@ -255,6 +255,7 @@ describe Puppet::Resource::TypeCollection do
255
255
 
256
256
  expect(@loader.find_hostclass("::bar")).to eq(nil)
257
257
  end
258
+
258
259
  end
259
260
 
260
261
  it "should be able to find nodes" do
@@ -311,7 +312,7 @@ describe Puppet::Resource::TypeCollection do
311
312
  it "should default to the current time" do
312
313
  time = Time.now
313
314
 
314
- allow(Time).to receive(:now).and_return(time)
315
+ Time.stubs(:now).returns time
315
316
  expect(@code.version).to eq(time.to_i)
316
317
  end
317
318
 
@@ -319,15 +320,15 @@ describe Puppet::Resource::TypeCollection do
319
320
  let(:environment) { Puppet::Node::Environment.create(:testing, [], '', '/my/foo') }
320
321
 
321
322
  it "should use the output of the environment's config_version setting if one is provided" do
322
- expect(Puppet::Util::Execution).to receive(:execute)
323
+ Puppet::Util::Execution.expects(:execute)
323
324
  .with(["/my/foo"])
324
- .and_return(Puppet::Util::Execution::ProcessOutput.new("output\n", 0))
325
+ .returns Puppet::Util::Execution::ProcessOutput.new("output\n", 0)
325
326
  expect(@code.version).to be_instance_of(String)
326
327
  expect(@code.version).to eq("output")
327
328
  end
328
329
 
329
330
  it "should raise a puppet parser error if executing config_version fails" do
330
- expect(Puppet::Util::Execution).to receive(:execute).and_raise(Puppet::ExecutionFailure.new("msg"))
331
+ Puppet::Util::Execution.expects(:execute).raises(Puppet::ExecutionFailure.new("msg"))
331
332
 
332
333
  expect { @code.version }.to raise_error(Puppet::ParseError)
333
334
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/resource/type'
3
4
  require 'puppet/pops'
@@ -196,7 +197,7 @@ describe Puppet::Resource::Type do
196
197
 
197
198
  before(:each) do
198
199
  compiler = Puppet::Parser::Compiler.new(Puppet::Node.new("foo"))
199
- @scope = Puppet::Parser::Scope.new(compiler, :source => double("source"))
200
+ @scope = Puppet::Parser::Scope.new(compiler, :source => stub("source"))
200
201
  @resource = Puppet::Parser::Resource.new(:foo, "bar", :scope => @scope)
201
202
  @type = Puppet::Resource::Type.new(:definition, "foo")
202
203
  @resource.environment.known_resource_types.add @type
@@ -432,7 +433,7 @@ describe Puppet::Resource::Type do
432
433
  end
433
434
 
434
435
  it "should set its caller module name in the scope if available" do
435
- expect(@scope).to receive(:parent_module_name).and_return("mycaller")
436
+ @scope.expects(:parent_module_name).returns "mycaller"
436
437
 
437
438
  @type.set_resource_parameters(@resource, @scope)
438
439
 
@@ -471,8 +472,8 @@ describe Puppet::Resource::Type do
471
472
  end
472
473
 
473
474
  it "should cache a reference to the parent type" do
474
- allow(@krt).to receive(:hostclass).with("foo::bar").and_return(nil)
475
- expect(@krt).to receive(:hostclass).with("bar").once.and_return(@parent)
475
+ @krt.stubs(:hostclass).with("foo::bar").returns nil
476
+ @krt.expects(:hostclass).with("bar").once.returns @parent
476
477
  @child.parent_type(@scope)
477
478
  @child.parent_type
478
479
  end
@@ -517,18 +518,18 @@ describe Puppet::Resource::Type do
517
518
  @type = Puppet::Resource::Type.new(:node, /f(\w)o(.*)$/)
518
519
  match = @type.match('foo')
519
520
 
520
- code = double('code')
521
- allow(@type).to receive(:code).and_return(code)
521
+ code = stub 'code'
522
+ @type.stubs(:code).returns code
522
523
 
523
- subscope = double('subscope', :compiler => @compiler)
524
- expect(@scope).to receive(:newscope).with(:source => @type, :resource => @resource).and_return(subscope)
524
+ subscope = stub 'subscope', :compiler => @compiler
525
+ @scope.expects(:newscope).with(:source => @type, :resource => @resource).returns subscope
525
526
 
526
- expect(subscope).to receive(:with_guarded_scope).and_yield
527
- expect(subscope).to receive(:ephemeral_from).with(match, nil, nil).and_return(subscope)
528
- expect(code).to receive(:safeevaluate).with(subscope)
527
+ subscope.expects(:with_guarded_scope).yields
528
+ subscope.expects(:ephemeral_from).with(match, nil, nil).returns subscope
529
+ code.expects(:safeevaluate).with(subscope)
529
530
 
530
531
  # Just to keep the stub quiet about intermediate calls
531
- expect(@type).to receive(:set_resource_parameters).with(@resource, subscope)
532
+ @type.expects(:set_resource_parameters).with(@resource, subscope)
532
533
 
533
534
  @type.evaluate_code(@resource)
534
535
  end
@@ -545,17 +546,17 @@ describe Puppet::Resource::Type do
545
546
  end
546
547
 
547
548
  it "should set all of its parameters in a subscope" do
548
- subscope = double('subscope', :compiler => @compiler)
549
- expect(@scope).to receive(:newscope).with(:source => @type, :resource => @resource).and_return(subscope)
550
- expect(@type).to receive(:set_resource_parameters).with(@resource, subscope)
549
+ subscope = stub 'subscope', :compiler => @compiler
550
+ @scope.expects(:newscope).with(:source => @type, :resource => @resource).returns subscope
551
+ @type.expects(:set_resource_parameters).with(@resource, subscope)
551
552
 
552
553
  @type.evaluate_code(@resource)
553
554
  end
554
555
 
555
556
  it "should not create a subscope for the :main class" do
556
- allow(@resource).to receive(:title).and_return(:main)
557
- expect(@type).not_to receive(:subscope)
558
- expect(@type).to receive(:set_resource_parameters).with(@resource, @scope)
557
+ @resource.stubs(:title).returns(:main)
558
+ @type.expects(:subscope).never
559
+ @type.expects(:set_resource_parameters).with(@resource, @scope)
559
560
 
560
561
  @type.evaluate_code(@resource)
561
562
  end
@@ -572,15 +573,15 @@ describe Puppet::Resource::Type do
572
573
  end
573
574
 
574
575
  it "should evaluate the AST code if any is provided" do
575
- code = double('code')
576
- allow(@type).to receive(:code).and_return(code)
577
- expect(code).to receive(:safeevaluate).with(kind_of(Puppet::Parser::Scope))
576
+ code = stub 'code'
577
+ @type.stubs(:code).returns code
578
+ code.expects(:safeevaluate).with kind_of(Puppet::Parser::Scope)
578
579
 
579
580
  @type.evaluate_code(@resource)
580
581
  end
581
582
 
582
583
  it "should noop if there is no code" do
583
- expect(@type).to receive(:code).and_return(nil)
584
+ @type.expects(:code).returns nil
584
585
 
585
586
  @type.evaluate_code(@resource)
586
587
  end
@@ -610,7 +611,7 @@ describe Puppet::Resource::Type do
610
611
 
611
612
  @type.parent_type(@scope)
612
613
 
613
- expect(@parent_resource).not_to receive(:evaluate)
614
+ @parent_resource.expects(:evaluate).never
614
615
 
615
616
  @type.evaluate_code(@resource)
616
617
  end
@@ -650,7 +651,7 @@ describe Puppet::Resource::Type do
650
651
 
651
652
  @type.parent_type(@scope)
652
653
 
653
- expect(@parent_resource).not_to receive(:evaluate)
654
+ @parent_resource.expects(:evaluate).never
654
655
 
655
656
  @type.evaluate_code(@resource)
656
657
  end
@@ -739,14 +740,14 @@ describe Puppet::Resource::Type do
739
740
  end
740
741
 
741
742
  it "should not create a new resource if one already exists" do
742
- expect(@compiler.catalog).to receive(:resource).with(:class, "top").and_return("something")
743
- expect(@compiler.catalog).not_to receive(:add_resource)
743
+ @compiler.catalog.expects(:resource).with(:class, "top").returns("something")
744
+ @compiler.catalog.expects(:add_resource).never
744
745
  @top.ensure_in_catalog(@scope)
745
746
  end
746
747
 
747
748
  it "should return the existing resource when not creating a new one" do
748
- expect(@compiler.catalog).to receive(:resource).with(:class, "top").and_return("something")
749
- expect(@compiler.catalog).not_to receive(:add_resource)
749
+ @compiler.catalog.expects(:resource).with(:class, "top").returns("something")
750
+ @compiler.catalog.expects(:add_resource).never
750
751
  expect(@top.ensure_in_catalog(@scope)).to eq("something")
751
752
  end
752
753
 
@@ -804,9 +805,9 @@ describe Puppet::Resource::Type do
804
805
  code = Puppet::Resource::TypeCollection.new("env")
805
806
  code.add Puppet::Resource::Type.new(:hostclass, "")
806
807
  other = Puppet::Resource::Type.new(:hostclass, "")
807
- mock = double()
808
- expect(mock).to receive(:is_definitions_only?).and_return(false)
809
- expect(other).to receive(:code).and_return(mock)
808
+ mock = stub
809
+ mock.expects(:is_definitions_only?).returns(false)
810
+ other.expects(:code).returns(mock)
810
811
  expect { code.hostclass("").merge(other) }.to raise_error(Puppet::Error)
811
812
  end
812
813
 
@@ -815,9 +816,9 @@ describe Puppet::Resource::Type do
815
816
  code = Puppet::Resource::TypeCollection.new("env")
816
817
  code.add Puppet::Resource::Type.new(:hostclass, "")
817
818
  other = Puppet::Resource::Type.new(:hostclass, "")
818
- mock = double()
819
- expect(mock).to receive(:is_definitions_only?).and_return(true)
820
- expect(other).to receive(:code).at_least(:once).and_return(mock)
819
+ mock = stub
820
+ mock.expects(:is_definitions_only?).returns(true)
821
+ other.expects(:code).at_least_once.returns(mock)
821
822
  expect { code.hostclass("").merge(other) }.not_to raise_error
822
823
  end
823
824
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/resource'
3
4
 
@@ -7,13 +8,8 @@ describe Puppet::Resource do
7
8
  let(:basepath) { make_absolute("/somepath") }
8
9
  let(:environment) { Puppet::Node::Environment.create(:testing, []) }
9
10
 
10
- def expect_lookup(key, options = {})
11
- expectation = receive(:unchecked_key_lookup).with(Puppet::Pops::Lookup::LookupKey.new(key), any_args)
12
- expectation = expectation.and_throw(options[:throws]) if options[:throws]
13
- expectation = expectation.and_raise(*options[:raises]) if options[:raises]
14
- expectation = expectation.and_return(options[:returns]) if options[:returns]
15
-
16
- expect_any_instance_of(Puppet::Pops::Lookup::GlobalDataProvider).to expectation
11
+ def expect_lookup(key)
12
+ Puppet::Pops::Lookup::GlobalDataProvider.any_instance.expects(:unchecked_key_lookup).with(Puppet::Pops::Lookup::LookupKey.new(key), any_parameters)
17
13
  end
18
14
 
19
15
  [:catalog, :file, :line].each do |attr|
@@ -288,7 +284,7 @@ describe Puppet::Resource do
288
284
 
289
285
  it "should fail when asked to set default values and it is not a parser resource" do
290
286
  environment.known_resource_types.add(
291
- Puppet::Resource::Type.new(:definition, "default_param", :arguments => {"a" => ast_leaf("default")})
287
+ Puppet::Resource::Type.new(:definition, "default_param", :arguments => {"a" => ast_leaf("default")})
292
288
  )
293
289
  resource = Puppet::Resource.new("default_param", "name", :environment => environment)
294
290
  expect { resource.set_default_parameters(scope) }.to raise_error(Puppet::DevError)
@@ -331,9 +327,9 @@ describe Puppet::Resource do
331
327
  before do
332
328
  environment.known_resource_types.add(apache)
333
329
 
334
- allow(scope).to receive(:host).and_return('host')
335
- allow(scope).to receive(:environment).and_return(environment)
336
- allow(scope).to receive(:facts).and_return(Puppet::Node::Facts.new("facts", fact_values))
330
+ scope.stubs(:host).returns('host')
331
+ scope.stubs(:environment).returns(environment)
332
+ scope.stubs(:facts).returns(Puppet::Node::Facts.new("facts", fact_values))
337
333
  end
338
334
 
339
335
  context 'with a default value expression' do
@@ -345,14 +341,14 @@ describe Puppet::Resource do
345
341
  end
346
342
 
347
343
  it "should query the data_binding terminus using a namespaced key" do
348
- expect_lookup('lookup_options', throws: :no_such_key)
344
+ expect_lookup('lookup_options').throws(:no_such_key)
349
345
  expect_lookup('apache::port')
350
346
  inject_and_set_defaults(resource, scope)
351
347
  end
352
348
 
353
349
  it "should use the value from the data_binding terminus" do
354
- expect_lookup('lookup_options', throws: :no_such_key)
355
- expect_lookup('apache::port', returns: '443')
350
+ expect_lookup('lookup_options').throws(:no_such_key)
351
+ expect_lookup('apache::port').returns('443')
356
352
 
357
353
  inject_and_set_defaults(resource, scope)
358
354
 
@@ -360,8 +356,8 @@ describe Puppet::Resource do
360
356
  end
361
357
 
362
358
  it 'should use the default value if no value is found using the data_binding terminus' do
363
- expect_lookup('lookup_options', throws: :no_such_key)
364
- expect_lookup('apache::port', throws: :no_such_key)
359
+ expect_lookup('lookup_options').throws(:no_such_key)
360
+ expect_lookup('apache::port').throws(:no_such_key)
365
361
 
366
362
  inject_and_set_defaults(resource, scope)
367
363
 
@@ -369,8 +365,8 @@ describe Puppet::Resource do
369
365
  end
370
366
 
371
367
  it 'should use the default value if an undef value is found using the data_binding terminus' do
372
- expect_lookup('lookup_options', throws: :no_such_key)
373
- expect_lookup('apache::port', returns: nil)
368
+ expect_lookup('lookup_options').throws(:no_such_key)
369
+ expect_lookup('apache::port').returns(nil)
374
370
 
375
371
  inject_and_set_defaults(resource, scope)
376
372
 
@@ -378,8 +374,8 @@ describe Puppet::Resource do
378
374
  end
379
375
 
380
376
  it "should fail with error message about data binding on a hiera failure" do
381
- expect_lookup('lookup_options', throws: :no_such_key)
382
- expect_lookup('apache::port', raises: [Puppet::DataBinding::LookupError, 'Forgettabotit'])
377
+ expect_lookup('lookup_options').throws(:no_such_key)
378
+ expect_lookup('apache::port').raises(Puppet::DataBinding::LookupError, 'Forgettabotit')
383
379
  expect {
384
380
  inject_and_set_defaults(resource, scope)
385
381
  }.to raise_error(Puppet::Error, /Lookup of key 'apache::port' failed: Forgettabotit/)
@@ -399,19 +395,19 @@ describe Puppet::Resource do
399
395
  end
400
396
 
401
397
  it "should not query the data_binding terminus" do
402
- expect(Puppet::DataBinding.indirection).not_to receive(:find)
398
+ Puppet::DataBinding.indirection.expects(:find).never
403
399
  inject_and_set_defaults(resource, scope)
404
400
  end
405
401
 
406
402
  it "should use the value provided" do
407
- expect(Puppet::DataBinding.indirection).not_to receive(:find)
403
+ Puppet::DataBinding.indirection.expects(:find).never
408
404
  expect(resource.set_default_parameters(scope)).to eq([])
409
405
  expect(resource[:port]).to eq('8080')
410
406
  end
411
407
 
412
408
  it "should use the value from the data_binding terminus when provided value is undef" do
413
- expect_lookup('lookup_options', throws: :no_such_key)
414
- expect_lookup('apache::port', returns: '443')
409
+ expect_lookup('lookup_options').throws(:no_such_key)
410
+ expect_lookup('apache::port').returns('443')
415
411
 
416
412
  rs = Puppet::Parser::Resource.new("class", "apache", :scope => scope,
417
413
  :parameters => [Puppet::Parser::Resource::Param.new({ :name => 'port', :value => nil })])
@@ -427,8 +423,8 @@ describe Puppet::Resource do
427
423
  let(:resource) { Puppet::Parser::Resource.new("class", "apache", :scope => scope) }
428
424
 
429
425
  it "should use the value from the data_binding terminus" do
430
- expect_lookup('lookup_options', throws: :no_such_key)
431
- expect_lookup('apache::port', returns: '443')
426
+ expect_lookup('lookup_options').throws(:no_such_key)
427
+ expect_lookup('apache::port').returns('443')
432
428
 
433
429
  inject_and_set_defaults(resource, scope)
434
430
 
@@ -436,8 +432,8 @@ describe Puppet::Resource do
436
432
  end
437
433
 
438
434
  it "should use an undef value from the data_binding terminus" do
439
- expect_lookup('lookup_options', throws: :no_such_key)
440
- expect_lookup('apache::port', returns: nil)
435
+ expect_lookup('lookup_options').throws(:no_such_key)
436
+ expect_lookup('apache::port').returns(nil)
441
437
 
442
438
  inject_and_set_defaults(resource, scope)
443
439
 
@@ -537,14 +533,14 @@ describe Puppet::Resource do
537
533
 
538
534
  it "should set the namevar when asked to set the name" do
539
535
  resource = Puppet::Resource.new("user", "bob")
540
- allow(Puppet::Type.type(:user)).to receive(:key_attributes).and_return([:myvar])
536
+ Puppet::Type.type(:user).stubs(:key_attributes).returns [:myvar]
541
537
  resource[:name] = "bob"
542
538
  expect(resource[:myvar]).to eq("bob")
543
539
  end
544
540
 
545
541
  it "should return the namevar when asked to return the name" do
546
542
  resource = Puppet::Resource.new("user", "bob")
547
- allow(Puppet::Type.type(:user)).to receive(:key_attributes).and_return([:myvar])
543
+ Puppet::Type.type(:user).stubs(:key_attributes).returns [:myvar]
548
544
  resource[:myvar] = "test"
549
545
  expect(resource[:name]).to eq("test")
550
546
  end
@@ -623,7 +619,7 @@ describe Puppet::Resource do
623
619
 
624
620
  it "should use the title as the namevar to the hash if no namevar is present" do
625
621
  resource = Puppet::Resource.new("user", "bob")
626
- allow(Puppet::Type.type(:user)).to receive(:key_attributes).and_return([:myvar])
622
+ Puppet::Type.type(:user).stubs(:key_attributes).returns [:myvar]
627
623
  expect(resource.to_hash[:myvar]).to eq("bob")
628
624
  end
629
625
 
@@ -631,7 +627,7 @@ describe Puppet::Resource do
631
627
  krt = Puppet::Resource::TypeCollection.new("myenv")
632
628
  krt.add Puppet::Resource::Type.new(:definition, :foo)
633
629
  resource = Puppet::Resource.new :foo, "bar"
634
- allow(resource).to receive(:known_resource_types).and_return(krt)
630
+ resource.stubs(:known_resource_types).returns krt
635
631
  expect(resource.to_hash[:name]).to eq("bar")
636
632
  end
637
633
  end
@@ -980,11 +976,11 @@ describe Puppet::Resource do
980
976
 
981
977
  describe "when resolving resources with a catalog" do
982
978
  it "should resolve all resources using the catalog" do
983
- catalog = double('catalog')
979
+ catalog = mock 'catalog'
984
980
  resource = Puppet::Resource.new("foo::bar", "yay")
985
981
  resource.catalog = catalog
986
982
 
987
- expect(catalog).to receive(:resource).with("Foo::Bar[yay]").and_return(:myresource)
983
+ catalog.expects(:resource).with("Foo::Bar[yay]").returns(:myresource)
988
984
 
989
985
  expect(resource.resolve).to eq(:myresource)
990
986
  end
@@ -992,8 +988,8 @@ describe Puppet::Resource do
992
988
 
993
989
  describe "when generating the uniqueness key" do
994
990
  it "should include all of the key_attributes in alphabetical order by attribute name" do
995
- allow(Puppet::Type.type(:file)).to receive(:key_attributes).and_return([:myvar, :owner, :path])
996
- allow(Puppet::Type.type(:file)).to receive(:title_patterns).and_return(
991
+ Puppet::Type.type(:file).stubs(:key_attributes).returns [:myvar, :owner, :path]
992
+ Puppet::Type.type(:file).stubs(:title_patterns).returns(
997
993
  [ [ /(.*)/, [ [:path, lambda{|x| x} ] ] ] ]
998
994
  )
999
995
  res = Puppet::Resource.new("file", "/my/file", :parameters => {:owner => 'root', :content => 'hello'})
@@ -1086,6 +1082,18 @@ describe Puppet::Resource do
1086
1082
  newparam(:admits_to_age)
1087
1083
  newparam(:name)
1088
1084
  end
1085
+
1086
+ Puppet::Type.newtype('brown') do
1087
+ newproperty(:ensure)
1088
+ newparam(:admits_to_dying_hair)
1089
+ newparam(:admits_to_age)
1090
+ newparam(:hair_length)
1091
+ newparam(:name)
1092
+
1093
+ def self.parameters_to_include
1094
+ [:admits_to_dying_hair, :admits_to_age]
1095
+ end
1096
+ end
1089
1097
  end
1090
1098
 
1091
1099
  it "should strip all parameters and strip properties that are nil, empty or absent except for ensure" do
@@ -1128,5 +1136,24 @@ describe Puppet::Resource do
1128
1136
  })
1129
1137
  )
1130
1138
  end
1139
+
1140
+ context "when the resource type has a default set of parameters it wants to include" do
1141
+ it "should leave those parameters alone" do
1142
+ resource = Puppet::Resource.new("brown", "Esmeralda", :parameters => {
1143
+ :admits_to_age => true,
1144
+ :admits_to_dying_hair => false,
1145
+ :hair_length => 10
1146
+ })
1147
+
1148
+ pruned_resource = resource.prune_parameters
1149
+ expected_resource = Puppet::Resource.new(
1150
+ "brown",
1151
+ "Esmeralda",
1152
+ :parameters => { :admits_to_age => true, :admits_to_dying_hair => false }
1153
+ )
1154
+
1155
+ expect(pruned_resource).to eq(expected_resource)
1156
+ end
1157
+ end
1131
1158
  end
1132
1159
  end