puppet 6.4.0-x64-mingw32 → 6.4.1-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 (646) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -1
  3. data/Gemfile.lock +7 -11
  4. data/lib/puppet/application/device.rb +97 -82
  5. data/lib/puppet/application/filebucket.rb +4 -0
  6. data/lib/puppet/application/ssl.rb +2 -2
  7. data/lib/puppet/configurer.rb +5 -4
  8. data/lib/puppet/defaults.rb +33 -11
  9. data/lib/puppet/indirector/request.rb +28 -15
  10. data/lib/puppet/ssl.rb +1 -1
  11. data/lib/puppet/ssl/certificate.rb +1 -1
  12. data/lib/puppet/ssl/error.rb +1 -1
  13. data/lib/puppet/ssl/host.rb +0 -47
  14. data/lib/puppet/ssl/ssl_provider.rb +2 -2
  15. data/lib/puppet/ssl/state_machine.rb +16 -17
  16. data/lib/puppet/ssl/validator/default_validator.rb +4 -4
  17. data/lib/puppet/ssl/verifier.rb +1 -1
  18. data/lib/puppet/transaction/event_manager.rb +1 -5
  19. data/lib/puppet/util/connection.rb +15 -8
  20. data/lib/puppet/util/monkey_patches.rb +20 -1
  21. data/lib/puppet/version.rb +1 -1
  22. data/locales/puppet.pot +135 -68
  23. data/man/man5/puppet.conf.5 +9 -9
  24. data/man/man8/puppet-agent.8 +1 -1
  25. data/man/man8/puppet-apply.8 +1 -1
  26. data/man/man8/puppet-catalog.8 +1 -1
  27. data/man/man8/puppet-config.8 +1 -1
  28. data/man/man8/puppet-describe.8 +1 -1
  29. data/man/man8/puppet-device.8 +1 -1
  30. data/man/man8/puppet-doc.8 +1 -1
  31. data/man/man8/puppet-epp.8 +1 -1
  32. data/man/man8/puppet-facts.8 +1 -1
  33. data/man/man8/puppet-filebucket.8 +1 -1
  34. data/man/man8/puppet-generate.8 +1 -1
  35. data/man/man8/puppet-help.8 +1 -1
  36. data/man/man8/puppet-key.8 +1 -1
  37. data/man/man8/puppet-lookup.8 +1 -1
  38. data/man/man8/puppet-man.8 +1 -1
  39. data/man/man8/puppet-module.8 +1 -1
  40. data/man/man8/puppet-node.8 +1 -1
  41. data/man/man8/puppet-parser.8 +1 -1
  42. data/man/man8/puppet-plugin.8 +1 -1
  43. data/man/man8/puppet-report.8 +1 -1
  44. data/man/man8/puppet-resource.8 +1 -1
  45. data/man/man8/puppet-script.8 +1 -1
  46. data/man/man8/puppet-ssl.8 +1 -1
  47. data/man/man8/puppet-status.8 +1 -1
  48. data/man/man8/puppet.8 +2 -2
  49. data/spec/integration/agent/logging_spec.rb +5 -7
  50. data/spec/integration/application/apply_spec.rb +18 -16
  51. data/spec/integration/application/doc_spec.rb +1 -2
  52. data/spec/integration/application/lookup_spec.rb +5 -5
  53. data/spec/integration/configurer_spec.rb +5 -6
  54. data/spec/integration/defaults_spec.rb +5 -6
  55. data/spec/integration/directory_environments_spec.rb +1 -1
  56. data/spec/integration/faces/config_spec.rb +3 -4
  57. data/spec/integration/faces/documentation_spec.rb +0 -1
  58. data/spec/integration/faces/plugin_spec.rb +1 -1
  59. data/spec/integration/file_bucket/file_spec.rb +2 -4
  60. data/spec/integration/file_serving/content_spec.rb +0 -1
  61. data/spec/integration/file_serving/fileset_spec.rb +0 -1
  62. data/spec/integration/file_serving/metadata_spec.rb +0 -1
  63. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
  64. data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
  65. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  66. data/spec/integration/indirector/facts/facter_spec.rb +4 -5
  67. data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
  68. data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
  69. data/spec/integration/network/authconfig_spec.rb +23 -24
  70. data/spec/integration/network/formats_spec.rb +0 -1
  71. data/spec/integration/network/http_pool_spec.rb +3 -3
  72. data/spec/integration/node/environment_spec.rb +0 -1
  73. data/spec/integration/node/facts_spec.rb +9 -10
  74. data/spec/integration/node_spec.rb +6 -7
  75. data/spec/integration/parser/catalog_spec.rb +1 -5
  76. data/spec/integration/parser/collection_spec.rb +1 -2
  77. data/spec/integration/parser/compiler_spec.rb +6 -6
  78. data/spec/integration/parser/scope_spec.rb +1 -1
  79. data/spec/integration/parser/undef_param_spec.rb +1 -1
  80. data/spec/integration/provider/service/init_spec.rb +4 -5
  81. data/spec/integration/provider/service/systemd_spec.rb +0 -2
  82. data/spec/integration/provider/service/windows_spec.rb +1 -2
  83. data/spec/integration/reference/providers_spec.rb +1 -2
  84. data/spec/integration/reports_spec.rb +1 -2
  85. data/spec/integration/resource/catalog_spec.rb +14 -17
  86. data/spec/integration/resource/type_collection_spec.rb +4 -5
  87. data/spec/integration/rest/client_spec.rb +1 -1
  88. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  89. data/spec/integration/ssl/host_spec.rb +1 -2
  90. data/spec/integration/ssl/key_spec.rb +0 -1
  91. data/spec/integration/test/test_helper_spec.rb +0 -1
  92. data/spec/integration/transaction/report_spec.rb +6 -11
  93. data/spec/integration/transaction_spec.rb +18 -19
  94. data/spec/integration/type/exec_spec.rb +0 -1
  95. data/spec/integration/type/file_spec.rb +13 -14
  96. data/spec/integration/type/package_spec.rb +19 -23
  97. data/spec/integration/type/tidy_spec.rb +1 -2
  98. data/spec/integration/type_spec.rb +0 -1
  99. data/spec/integration/util/autoload_spec.rb +1 -2
  100. data/spec/integration/util/rdoc/parser_spec.rb +0 -1
  101. data/spec/integration/util/settings_spec.rb +0 -1
  102. data/spec/integration/util/windows/adsi_spec.rb +3 -5
  103. data/spec/integration/util/windows/principal_spec.rb +0 -1
  104. data/spec/integration/util/windows/process_spec.rb +4 -6
  105. data/spec/integration/util/windows/registry_spec.rb +41 -51
  106. data/spec/integration/util/windows/security_spec.rb +2 -4
  107. data/spec/integration/util/windows/user_spec.rb +18 -20
  108. data/spec/integration/util_spec.rb +4 -7
  109. data/spec/lib/puppet_spec/compiler.rb +1 -1
  110. data/spec/lib/puppet_spec/files.rb +0 -1
  111. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  112. data/spec/lib/puppet_spec/scope.rb +1 -2
  113. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  114. data/spec/shared_behaviours/file_server_terminus.rb +8 -9
  115. data/spec/shared_behaviours/file_serving.rb +6 -8
  116. data/spec/shared_behaviours/file_serving_model.rb +3 -5
  117. data/spec/shared_behaviours/hiera_indirections.rb +3 -4
  118. data/spec/shared_behaviours/iterative_functions.rb +0 -1
  119. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  120. data/spec/shared_examples/rhel_package_provider.rb +112 -70
  121. data/spec/spec_helper.rb +10 -1
  122. data/spec/unit/agent/disabler_spec.rb +4 -5
  123. data/spec/unit/agent/locker_spec.rb +12 -13
  124. data/spec/unit/agent_spec.rb +80 -85
  125. data/spec/unit/application/agent_spec.rb +88 -94
  126. data/spec/unit/application/apply_spec.rb +82 -83
  127. data/spec/unit/application/config_spec.rb +0 -1
  128. data/spec/unit/application/describe_spec.rb +6 -7
  129. data/spec/unit/application/device_spec.rb +379 -384
  130. data/spec/unit/application/doc_spec.rb +44 -46
  131. data/spec/unit/application/face_base_spec.rb +61 -62
  132. data/spec/unit/application/facts_spec.rb +3 -4
  133. data/spec/unit/application/filebucket_spec.rb +66 -74
  134. data/spec/unit/application/indirection_base_spec.rb +8 -6
  135. data/spec/unit/application/lookup_spec.rb +26 -26
  136. data/spec/unit/application/resource_spec.rb +42 -48
  137. data/spec/unit/application/ssl_spec.rb +9 -9
  138. data/spec/unit/application_spec.rb +82 -92
  139. data/spec/unit/capability_spec.rb +6 -6
  140. data/spec/unit/certificate_factory_spec.rb +3 -5
  141. data/spec/unit/configurer/downloader_spec.rb +20 -21
  142. data/spec/unit/configurer/fact_handler_spec.rb +2 -3
  143. data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
  144. data/spec/unit/configurer_spec.rb +189 -192
  145. data/spec/unit/confine/exists_spec.rb +17 -15
  146. data/spec/unit/confine/false_spec.rb +5 -6
  147. data/spec/unit/confine/feature_spec.rb +7 -5
  148. data/spec/unit/confine/true_spec.rb +5 -6
  149. data/spec/unit/confine/variable_spec.rb +14 -15
  150. data/spec/unit/confine_collection_spec.rb +28 -29
  151. data/spec/unit/confine_spec.rb +13 -14
  152. data/spec/unit/confiner_spec.rb +10 -11
  153. data/spec/unit/context/trusted_information_spec.rb +1 -1
  154. data/spec/unit/daemon_spec.rb +35 -36
  155. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
  156. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
  157. data/spec/unit/datatypes_spec.rb +3 -4
  158. data/spec/unit/defaults_spec.rb +18 -13
  159. data/spec/unit/environments_spec.rb +7 -7
  160. data/spec/unit/etc_spec.rb +30 -32
  161. data/spec/unit/external/pson_spec.rb +0 -1
  162. data/spec/unit/face/catalog_spec.rb +0 -1
  163. data/spec/unit/face/config_spec.rb +31 -35
  164. data/spec/unit/face/epp_face_spec.rb +3 -4
  165. data/spec/unit/face/facts_spec.rb +5 -6
  166. data/spec/unit/face/generate_spec.rb +4 -5
  167. data/spec/unit/face/help_spec.rb +7 -8
  168. data/spec/unit/face/key_spec.rb +0 -1
  169. data/spec/unit/face/man_spec.rb +1 -2
  170. data/spec/unit/face/module/install_spec.rb +3 -5
  171. data/spec/unit/face/module/list_spec.rb +2 -12
  172. data/spec/unit/face/module/search_spec.rb +11 -9
  173. data/spec/unit/face/module/uninstall_spec.rb +4 -8
  174. data/spec/unit/face/node_spec.rb +23 -24
  175. data/spec/unit/face/parser_spec.rb +3 -3
  176. data/spec/unit/face/plugin_spec.rb +36 -9
  177. data/spec/unit/face/status_spec.rb +0 -1
  178. data/spec/unit/file_bucket/dipper_spec.rb +24 -20
  179. data/spec/unit/file_bucket/file_spec.rb +0 -2
  180. data/spec/unit/file_serving/base_spec.rb +14 -15
  181. data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
  182. data/spec/unit/file_serving/configuration_spec.rb +63 -66
  183. data/spec/unit/file_serving/content_spec.rb +10 -11
  184. data/spec/unit/file_serving/fileset_spec.rb +63 -58
  185. data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
  186. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  187. data/spec/unit/file_serving/mount/file_spec.rb +31 -32
  188. data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
  189. data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
  190. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
  191. data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
  192. data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
  193. data/spec/unit/file_serving/mount_spec.rb +0 -1
  194. data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
  195. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
  196. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  197. data/spec/unit/file_system_spec.rb +4 -4
  198. data/spec/unit/forge/errors_spec.rb +1 -1
  199. data/spec/unit/forge/forge_spec.rb +13 -14
  200. data/spec/unit/forge/module_release_spec.rb +18 -18
  201. data/spec/unit/forge/repository_spec.rb +29 -30
  202. data/spec/unit/forge_spec.rb +15 -11
  203. data/spec/unit/functions/binary_file_spec.rb +3 -3
  204. data/spec/unit/functions/contain_spec.rb +0 -2
  205. data/spec/unit/functions/defined_spec.rb +0 -1
  206. data/spec/unit/functions/epp_spec.rb +2 -2
  207. data/spec/unit/functions/find_file_spec.rb +7 -7
  208. data/spec/unit/functions/include_spec.rb +0 -4
  209. data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
  210. data/spec/unit/functions/lookup_spec.rb +1 -2
  211. data/spec/unit/functions/module_directory_spec.rb +12 -12
  212. data/spec/unit/functions/require_spec.rb +0 -3
  213. data/spec/unit/functions/shared.rb +5 -8
  214. data/spec/unit/functions/versioncmp_spec.rb +1 -2
  215. data/spec/unit/functions4_spec.rb +9 -10
  216. data/spec/unit/gettext/config_spec.rb +4 -4
  217. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  218. data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
  219. data/spec/unit/graph/relationship_graph_spec.rb +1 -2
  220. data/spec/unit/graph/simple_graph_spec.rb +9 -10
  221. data/spec/unit/hiera_puppet_spec.rb +20 -20
  222. data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
  223. data/spec/unit/indirector/catalog/json_spec.rb +1 -2
  224. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
  225. data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
  226. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
  227. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
  228. data/spec/unit/indirector/certificate/file_spec.rb +0 -1
  229. data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
  230. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
  231. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
  232. data/spec/unit/indirector/direct_file_server_spec.rb +17 -18
  233. data/spec/unit/indirector/envelope_spec.rb +1 -2
  234. data/spec/unit/indirector/exec_spec.rb +4 -5
  235. data/spec/unit/indirector/face_spec.rb +9 -9
  236. data/spec/unit/indirector/facts/facter_spec.rb +37 -43
  237. data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
  238. data/spec/unit/indirector/facts/rest_spec.rb +7 -8
  239. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
  240. data/spec/unit/indirector/facts/yaml_spec.rb +0 -1
  241. data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
  242. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
  243. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
  244. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
  245. data/spec/unit/indirector/file_content/file_spec.rb +0 -1
  246. data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
  247. data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
  248. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
  249. data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
  250. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
  251. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
  252. data/spec/unit/indirector/file_server_spec.rb +87 -87
  253. data/spec/unit/indirector/indirection_spec.rb +242 -226
  254. data/spec/unit/indirector/json_spec.rb +7 -9
  255. data/spec/unit/indirector/key/file_spec.rb +21 -22
  256. data/spec/unit/indirector/memory_spec.rb +6 -7
  257. data/spec/unit/indirector/msgpack_spec.rb +7 -9
  258. data/spec/unit/indirector/node/exec_spec.rb +2 -3
  259. data/spec/unit/indirector/node/memory_spec.rb +2 -4
  260. data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
  261. data/spec/unit/indirector/node/plain_spec.rb +2 -4
  262. data/spec/unit/indirector/node/rest_spec.rb +0 -1
  263. data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
  264. data/spec/unit/indirector/node/yaml_spec.rb +0 -1
  265. data/spec/unit/indirector/none_spec.rb +5 -5
  266. data/spec/unit/indirector/plain_spec.rb +7 -8
  267. data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
  268. data/spec/unit/indirector/report/processor_spec.rb +21 -22
  269. data/spec/unit/indirector/report/rest_spec.rb +11 -12
  270. data/spec/unit/indirector/report/yaml_spec.rb +0 -1
  271. data/spec/unit/indirector/request_spec.rb +11 -12
  272. data/spec/unit/indirector/resource/ral_spec.rb +47 -54
  273. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
  274. data/spec/unit/indirector/rest_spec.rb +113 -110
  275. data/spec/unit/indirector/ssl_file_spec.rb +64 -65
  276. data/spec/unit/indirector/status/local_spec.rb +0 -1
  277. data/spec/unit/indirector/status/rest_spec.rb +0 -1
  278. data/spec/unit/indirector/store_configs_spec.rb +0 -1
  279. data/spec/unit/indirector/terminus_spec.rb +27 -27
  280. data/spec/unit/indirector/yaml_spec.rb +5 -6
  281. data/spec/unit/indirector_spec.rb +1 -2
  282. data/spec/unit/info_service_spec.rb +1 -1
  283. data/spec/unit/interface/action_builder_spec.rb +0 -1
  284. data/spec/unit/interface/action_manager_spec.rb +0 -1
  285. data/spec/unit/interface/action_spec.rb +2 -3
  286. data/spec/unit/interface/documentation_spec.rb +0 -1
  287. data/spec/unit/interface/face_collection_spec.rb +19 -12
  288. data/spec/unit/interface_spec.rb +3 -3
  289. data/spec/unit/man_spec.rb +3 -4
  290. data/spec/unit/module_spec.rb +46 -51
  291. data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
  292. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  293. data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
  294. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  295. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  296. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  297. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  298. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  299. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  300. data/spec/unit/module_tool/tar_spec.rb +12 -13
  301. data/spec/unit/module_tool_spec.rb +7 -12
  302. data/spec/unit/network/auth_config_parser_spec.rb +11 -13
  303. data/spec/unit/network/authconfig_spec.rb +17 -18
  304. data/spec/unit/network/authorization_spec.rb +4 -5
  305. data/spec/unit/network/authstore_spec.rb +0 -1
  306. data/spec/unit/network/format_handler_spec.rb +0 -1
  307. data/spec/unit/network/format_spec.rb +9 -10
  308. data/spec/unit/network/format_support_spec.rb +28 -29
  309. data/spec/unit/network/formats_spec.rb +4 -5
  310. data/spec/unit/network/http/api/indirected_routes_spec.rb +24 -29
  311. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  312. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  313. data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
  314. data/spec/unit/network/http/api_spec.rb +0 -2
  315. data/spec/unit/network/http/compression_spec.rb +21 -22
  316. data/spec/unit/network/http/connection_spec.rb +35 -35
  317. data/spec/unit/network/http/factory_spec.rb +5 -6
  318. data/spec/unit/network/http/handler_spec.rb +9 -18
  319. data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
  320. data/spec/unit/network/http/pool_spec.rb +33 -34
  321. data/spec/unit/network/http/request_spec.rb +0 -2
  322. data/spec/unit/network/http/response_spec.rb +11 -13
  323. data/spec/unit/network/http/route_spec.rb +0 -1
  324. data/spec/unit/network/http/session_spec.rb +2 -3
  325. data/spec/unit/network/http/site_spec.rb +0 -1
  326. data/spec/unit/network/http_pool_spec.rb +19 -10
  327. data/spec/unit/network/http_spec.rb +0 -1
  328. data/spec/unit/network/resolver_spec.rb +25 -26
  329. data/spec/unit/network/rights_spec.rb +52 -53
  330. data/spec/unit/node/environment_spec.rb +14 -15
  331. data/spec/unit/node/facts_spec.rb +5 -7
  332. data/spec/unit/node_spec.rb +4 -10
  333. data/spec/unit/other/selinux_spec.rb +0 -1
  334. data/spec/unit/parameter/boolean_spec.rb +1 -2
  335. data/spec/unit/parameter/package_options_spec.rb +1 -2
  336. data/spec/unit/parameter/path_spec.rb +0 -1
  337. data/spec/unit/parameter/value_collection_spec.rb +0 -1
  338. data/spec/unit/parameter/value_spec.rb +0 -1
  339. data/spec/unit/parameter_spec.rb +9 -9
  340. data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
  341. data/spec/unit/parser/ast/leaf_spec.rb +20 -21
  342. data/spec/unit/parser/compiler_spec.rb +84 -96
  343. data/spec/unit/parser/environment_compiler_spec.rb +7 -8
  344. data/spec/unit/parser/files_spec.rb +0 -1
  345. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  346. data/spec/unit/parser/functions/digest_spec.rb +0 -1
  347. data/spec/unit/parser/functions/fail_spec.rb +1 -2
  348. data/spec/unit/parser/functions/file_spec.rb +13 -14
  349. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
  350. data/spec/unit/parser/functions/generate_spec.rb +7 -8
  351. data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
  352. data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
  353. data/spec/unit/parser/functions/scanf_spec.rb +0 -1
  354. data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
  355. data/spec/unit/parser/functions/split_spec.rb +0 -1
  356. data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
  357. data/spec/unit/parser/functions/tag_spec.rb +1 -2
  358. data/spec/unit/parser/functions/tagged_spec.rb +2 -3
  359. data/spec/unit/parser/functions/template_spec.rb +13 -13
  360. data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
  361. data/spec/unit/parser/functions_spec.rb +6 -7
  362. data/spec/unit/parser/relationship_spec.rb +0 -1
  363. data/spec/unit/parser/resource_spec.rb +42 -42
  364. data/spec/unit/parser/scope_spec.rb +39 -35
  365. data/spec/unit/parser/templatewrapper_spec.rb +11 -12
  366. data/spec/unit/parser/type_loader_spec.rb +17 -19
  367. data/spec/unit/pops/adaptable_spec.rb +0 -1
  368. data/spec/unit/pops/benchmark_spec.rb +0 -1
  369. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
  370. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
  371. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
  372. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
  373. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
  374. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
  375. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +10 -11
  376. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
  377. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
  378. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
  379. data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
  380. data/spec/unit/pops/factory_spec.rb +3 -4
  381. data/spec/unit/pops/issues_spec.rb +19 -20
  382. data/spec/unit/pops/loaders/loader_spec.rb +9 -5
  383. data/spec/unit/pops/loaders/loaders_spec.rb +31 -28
  384. data/spec/unit/pops/lookup/context_spec.rb +0 -1
  385. data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
  386. data/spec/unit/pops/merge_strategy_spec.rb +0 -1
  387. data/spec/unit/pops/migration_spec.rb +3 -5
  388. data/spec/unit/pops/model/model_spec.rb +0 -1
  389. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
  390. data/spec/unit/pops/parser/locator_spec.rb +3 -6
  391. data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
  392. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  393. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
  394. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
  395. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
  396. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
  397. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
  398. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
  399. data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
  400. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
  401. data/spec/unit/pops/pn_spec.rb +0 -1
  402. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
  403. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  404. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  405. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  406. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  407. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  408. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  409. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  410. data/spec/unit/pops/validator/validator_spec.rb +1 -2
  411. data/spec/unit/pops/visitor_spec.rb +0 -1
  412. data/spec/unit/property/boolean_spec.rb +1 -1
  413. data/spec/unit/property/ensure_spec.rb +0 -1
  414. data/spec/unit/property/keyvalue_spec.rb +32 -34
  415. data/spec/unit/property/list_spec.rb +26 -27
  416. data/spec/unit/property/ordered_list_spec.rb +10 -14
  417. data/spec/unit/property_spec.rb +42 -43
  418. data/spec/unit/provider/aix_object_spec.rb +47 -45
  419. data/spec/unit/provider/command_spec.rb +9 -9
  420. data/spec/unit/provider/exec/posix_spec.rb +8 -9
  421. data/spec/unit/provider/exec/shell_spec.rb +0 -1
  422. data/spec/unit/provider/exec/windows_spec.rb +2 -4
  423. data/spec/unit/provider/exec_spec.rb +0 -1
  424. data/spec/unit/provider/file/posix_spec.rb +22 -24
  425. data/spec/unit/provider/file/windows_spec.rb +15 -17
  426. data/spec/unit/provider/group/aix_spec.rb +3 -2
  427. data/spec/unit/provider/group/groupadd_spec.rb +30 -26
  428. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  429. data/spec/unit/provider/group/pw_spec.rb +11 -11
  430. data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
  431. data/spec/unit/provider/ldap_spec.rb +61 -62
  432. data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
  433. data/spec/unit/provider/nameservice_spec.rb +38 -40
  434. data/spec/unit/provider/package/aix_spec.rb +15 -15
  435. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  436. data/spec/unit/provider/package/apt_spec.rb +44 -27
  437. data/spec/unit/provider/package/aptitude_spec.rb +6 -7
  438. data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
  439. data/spec/unit/provider/package/base_spec.rb +4 -4
  440. data/spec/unit/provider/package/dnf_spec.rb +18 -20
  441. data/spec/unit/provider/package/dpkg_spec.rb +52 -52
  442. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  443. data/spec/unit/provider/package/gem_spec.rb +51 -43
  444. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  445. data/spec/unit/provider/package/macports_spec.rb +46 -42
  446. data/spec/unit/provider/package/nim_spec.rb +30 -39
  447. data/spec/unit/provider/package/openbsd_spec.rb +36 -39
  448. data/spec/unit/provider/package/opkg_spec.rb +23 -26
  449. data/spec/unit/provider/package/pacman_spec.rb +97 -118
  450. data/spec/unit/provider/package/pip_spec.rb +71 -72
  451. data/spec/unit/provider/package/pkg_spec.rb +113 -114
  452. data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
  453. data/spec/unit/provider/package/pkgin_spec.rb +10 -8
  454. data/spec/unit/provider/package/pkgng_spec.rb +21 -22
  455. data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
  456. data/spec/unit/provider/package/portage_spec.rb +71 -75
  457. data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
  458. data/spec/unit/provider/package/rpm_spec.rb +53 -64
  459. data/spec/unit/provider/package/sun_spec.rb +16 -18
  460. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  461. data/spec/unit/provider/package/up2date_spec.rb +2 -4
  462. data/spec/unit/provider/package/urpmi_spec.rb +15 -17
  463. data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
  464. data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
  465. data/spec/unit/provider/package/windows/package_spec.rb +37 -42
  466. data/spec/unit/provider/package/windows_spec.rb +36 -32
  467. data/spec/unit/provider/package/yum_spec.rb +7 -7
  468. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  469. data/spec/unit/provider/parsedfile_spec.rb +44 -45
  470. data/spec/unit/provider/service/base_spec.rb +4 -5
  471. data/spec/unit/provider/service/bsd_spec.rb +27 -29
  472. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  473. data/spec/unit/provider/service/debian_spec.rb +38 -38
  474. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  475. data/spec/unit/provider/service/gentoo_spec.rb +50 -55
  476. data/spec/unit/provider/service/init_spec.rb +53 -52
  477. data/spec/unit/provider/service/launchd_spec.rb +138 -116
  478. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  479. data/spec/unit/provider/service/openrc_spec.rb +43 -45
  480. data/spec/unit/provider/service/openwrt_spec.rb +26 -31
  481. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  482. data/spec/unit/provider/service/redhat_spec.rb +45 -43
  483. data/spec/unit/provider/service/runit_spec.rb +29 -27
  484. data/spec/unit/provider/service/smf_spec.rb +74 -66
  485. data/spec/unit/provider/service/src_spec.rb +46 -47
  486. data/spec/unit/provider/service/systemd_spec.rb +113 -122
  487. data/spec/unit/provider/service/upstart_spec.rb +74 -71
  488. data/spec/unit/provider/service/windows_spec.rb +33 -41
  489. data/spec/unit/provider/user/aix_spec.rb +31 -31
  490. data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
  491. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  492. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  493. data/spec/unit/provider/user/openbsd_spec.rb +10 -12
  494. data/spec/unit/provider/user/pw_spec.rb +37 -35
  495. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  496. data/spec/unit/provider/user/useradd_spec.rb +93 -92
  497. data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
  498. data/spec/unit/provider_spec.rb +35 -35
  499. data/spec/unit/puppet_pal_2pec.rb +4 -5
  500. data/spec/unit/puppet_pal_spec.rb +0 -1
  501. data/spec/unit/puppet_spec.rb +6 -7
  502. data/spec/unit/relationship_spec.rb +0 -1
  503. data/spec/unit/reports/http_spec.rb +22 -24
  504. data/spec/unit/reports/store_spec.rb +3 -4
  505. data/spec/unit/reports_spec.rb +12 -14
  506. data/spec/unit/resource/capability_finder_spec.rb +15 -17
  507. data/spec/unit/resource/catalog_spec.rb +72 -68
  508. data/spec/unit/resource/status_spec.rb +6 -8
  509. data/spec/unit/resource/type_collection_spec.rb +17 -18
  510. data/spec/unit/resource/type_spec.rb +34 -35
  511. data/spec/unit/resource_spec.rb +36 -32
  512. data/spec/unit/rest/client_spec.rb +56 -25
  513. data/spec/unit/rest/route_spec.rb +5 -5
  514. data/spec/unit/scheduler/job_spec.rb +0 -1
  515. data/spec/unit/scheduler/scheduler_spec.rb +0 -1
  516. data/spec/unit/scheduler/splay_job_spec.rb +1 -2
  517. data/spec/unit/settings/array_setting_spec.rb +1 -1
  518. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  519. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  520. data/spec/unit/settings/config_file_spec.rb +0 -1
  521. data/spec/unit/settings/directory_setting_spec.rb +2 -7
  522. data/spec/unit/settings/duration_setting_spec.rb +1 -2
  523. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  524. data/spec/unit/settings/environment_conf_spec.rb +4 -6
  525. data/spec/unit/settings/file_setting_spec.rb +44 -46
  526. data/spec/unit/settings/path_setting_spec.rb +1 -2
  527. data/spec/unit/settings/priority_setting_spec.rb +1 -2
  528. data/spec/unit/settings/string_setting_spec.rb +14 -15
  529. data/spec/unit/settings/terminus_setting_spec.rb +1 -2
  530. data/spec/unit/settings/value_translator_spec.rb +0 -1
  531. data/spec/unit/settings_spec.rb +228 -235
  532. data/spec/unit/ssl/base_spec.rb +14 -15
  533. data/spec/unit/ssl/certificate_request_spec.rb +62 -58
  534. data/spec/unit/ssl/certificate_spec.rb +23 -25
  535. data/spec/unit/ssl/digest_spec.rb +0 -1
  536. data/spec/unit/ssl/host_spec.rb +147 -130
  537. data/spec/unit/ssl/key_spec.rb +30 -31
  538. data/spec/unit/ssl/ssl_provider_spec.rb +24 -24
  539. data/spec/unit/ssl/state_machine_spec.rb +50 -58
  540. data/spec/unit/ssl/validator_spec.rb +43 -54
  541. data/spec/unit/ssl/verifier_spec.rb +10 -10
  542. data/spec/unit/task_spec.rb +44 -45
  543. data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -5
  544. data/spec/unit/transaction/event_manager_spec.rb +87 -88
  545. data/spec/unit/transaction/event_spec.rb +16 -15
  546. data/spec/unit/transaction/persistence_spec.rb +16 -17
  547. data/spec/unit/transaction/report_spec.rb +11 -12
  548. data/spec/unit/transaction/resource_harness_spec.rb +28 -33
  549. data/spec/unit/transaction_spec.rb +100 -101
  550. data/spec/unit/type/component_spec.rb +0 -1
  551. data/spec/unit/type/exec_spec.rb +60 -56
  552. data/spec/unit/type/file/checksum_spec.rb +9 -10
  553. data/spec/unit/type/file/checksum_value_spec.rb +31 -32
  554. data/spec/unit/type/file/content_spec.rb +58 -61
  555. data/spec/unit/type/file/ctime_spec.rb +0 -1
  556. data/spec/unit/type/file/ensure_spec.rb +12 -13
  557. data/spec/unit/type/file/group_spec.rb +5 -7
  558. data/spec/unit/type/file/mode_spec.rb +4 -6
  559. data/spec/unit/type/file/mtime_spec.rb +0 -1
  560. data/spec/unit/type/file/owner_spec.rb +6 -8
  561. data/spec/unit/type/file/selinux_spec.rb +17 -19
  562. data/spec/unit/type/file/source_spec.rb +104 -101
  563. data/spec/unit/type/file/type_spec.rb +0 -1
  564. data/spec/unit/type/file_spec.rb +195 -185
  565. data/spec/unit/type/filebucket_spec.rb +4 -5
  566. data/spec/unit/type/group_spec.rb +6 -8
  567. data/spec/unit/type/noop_metaparam_spec.rb +1 -2
  568. data/spec/unit/type/package/package_settings_spec.rb +44 -23
  569. data/spec/unit/type/package_spec.rb +56 -57
  570. data/spec/unit/type/resources_spec.rb +72 -74
  571. data/spec/unit/type/schedule_spec.rb +24 -26
  572. data/spec/unit/type/service_spec.rb +49 -49
  573. data/spec/unit/type/stage_spec.rb +0 -1
  574. data/spec/unit/type/tidy_spec.rb +61 -62
  575. data/spec/unit/type/user_spec.rb +24 -25
  576. data/spec/unit/type/whit_spec.rb +0 -1
  577. data/spec/unit/type_spec.rb +55 -54
  578. data/spec/unit/util/at_fork_spec.rb +18 -19
  579. data/spec/unit/util/autoload_spec.rb +55 -56
  580. data/spec/unit/util/backups_spec.rb +34 -35
  581. data/spec/unit/util/character_encoding_spec.rb +5 -5
  582. data/spec/unit/util/checksums_spec.rb +38 -39
  583. data/spec/unit/util/colors_spec.rb +1 -2
  584. data/spec/unit/util/command_line_spec.rb +24 -25
  585. data/spec/unit/util/constant_inflector_spec.rb +0 -1
  586. data/spec/unit/util/diff_spec.rb +7 -8
  587. data/spec/unit/util/errors_spec.rb +0 -1
  588. data/spec/unit/util/execution_spec.rb +185 -161
  589. data/spec/unit/util/execution_stub_spec.rb +0 -1
  590. data/spec/unit/util/feature_spec.rb +23 -14
  591. data/spec/unit/util/filetype_spec.rb +49 -49
  592. data/spec/unit/util/http_proxy_spec.rb +12 -12
  593. data/spec/unit/util/inifile_spec.rb +26 -31
  594. data/spec/unit/util/json_lockfile_spec.rb +3 -5
  595. data/spec/unit/util/ldap/connection_spec.rb +26 -25
  596. data/spec/unit/util/ldap/generator_spec.rb +0 -1
  597. data/spec/unit/util/ldap/manager_spec.rb +102 -101
  598. data/spec/unit/util/lockfile_spec.rb +0 -1
  599. data/spec/unit/util/log/destinations_spec.rb +30 -33
  600. data/spec/unit/util/log_spec.rb +35 -36
  601. data/spec/unit/util/logging_spec.rb +58 -72
  602. data/spec/unit/util/metric_spec.rb +0 -1
  603. data/spec/unit/util/monkey_patches_spec.rb +7 -9
  604. data/spec/unit/util/multi_match_spec.rb +0 -1
  605. data/spec/unit/util/network_device/config_spec.rb +0 -1
  606. data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
  607. data/spec/unit/util/network_device_spec.rb +7 -9
  608. data/spec/unit/util/package_spec.rb +0 -1
  609. data/spec/unit/util/pidlock_spec.rb +21 -22
  610. data/spec/unit/util/plist_spec.rb +40 -33
  611. data/spec/unit/util/posix_spec.rb +54 -51
  612. data/spec/unit/util/rdoc_spec.rb +9 -10
  613. data/spec/unit/util/reference_spec.rb +0 -1
  614. data/spec/unit/util/resource_template_spec.rb +20 -20
  615. data/spec/unit/util/retry_action_spec.rb +7 -8
  616. data/spec/unit/util/rubygems_spec.rb +7 -8
  617. data/spec/unit/util/run_mode_spec.rb +3 -4
  618. data/spec/unit/util/selinux_spec.rb +79 -72
  619. data/spec/unit/util/splayer_spec.rb +8 -9
  620. data/spec/unit/util/ssl_spec.rb +0 -1
  621. data/spec/unit/util/storage_spec.rb +3 -4
  622. data/spec/unit/util/suidmanager_spec.rb +45 -54
  623. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
  624. data/spec/unit/util/tag_set_spec.rb +0 -1
  625. data/spec/unit/util/tagging_spec.rb +0 -1
  626. data/spec/unit/util/terminal_spec.rb +9 -10
  627. data/spec/unit/util/user_attr_spec.rb +1 -2
  628. data/spec/unit/util/warnings_spec.rb +3 -4
  629. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  630. data/spec/unit/util/watcher_spec.rb +51 -21
  631. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
  632. data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
  633. data/spec/unit/util/windows/adsi_spec.rb +136 -138
  634. data/spec/unit/util/windows/api_types_spec.rb +0 -1
  635. data/spec/unit/util/windows/eventlog_spec.rb +9 -12
  636. data/spec/unit/util/windows/file_spec.rb +0 -1
  637. data/spec/unit/util/windows/root_certs_spec.rb +1 -2
  638. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
  639. data/spec/unit/util/windows/service_spec.rb +66 -68
  640. data/spec/unit/util/windows/sid_spec.rb +11 -13
  641. data/spec/unit/util/windows/string_spec.rb +0 -1
  642. data/spec/unit/util_spec.rb +55 -57
  643. data/spec/unit/version_spec.rb +6 -6
  644. data/spec/unit/x509/cert_provider_spec.rb +14 -14
  645. data/spec/unit/x509/pem_store_spec.rb +5 -5
  646. metadata +2 -2
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet_spec/compiler'
4
3
 
@@ -9,7 +8,7 @@ describe 'Capability types' do
9
8
  let(:loaders) { Puppet::Pops::Loaders.new(env) }
10
9
 
11
10
  before(:each) do
12
- Puppet::Parser::Compiler.any_instance.stubs(:loaders).returns(loaders)
11
+ allow_any_instance_of(Puppet::Parser::Compiler).to receive(:loaders).and_return(loaders)
13
12
  Puppet.push_context({:loaders => loaders, :current_environment => env})
14
13
  Puppet::Type.newtype :cap, :is_capability => true do
15
14
  newparam :name
@@ -86,7 +85,7 @@ describe 'Capability types' do
86
85
  parse_results << parser.parse
87
86
 
88
87
  main = Puppet::Parser::AST::Hostclass.new('', :code => Puppet::Parser::ParserFactory.code_merger.concatenate(parse_results))
89
- Puppet::Node::Environment.any_instance.stubs(:perform_initial_import).returns main
88
+ allow_any_instance_of(Puppet::Node::Environment).to receive(:perform_initial_import).and_return(main)
90
89
 
91
90
  type = compile_to_catalog(nil).environment_instance.known_resource_types.definition(:test)
92
91
  expect(type.produces).to be_instance_of(Array)
@@ -120,7 +119,7 @@ describe 'Capability types' do
120
119
  parse_results << parser.parse
121
120
 
122
121
  main = Puppet::Parser::AST::Hostclass.new('', :code => Puppet::Parser::ParserFactory.code_merger.concatenate(parse_results))
123
- Puppet::Node::Environment.any_instance.stubs(:perform_initial_import).returns main
122
+ allow_any_instance_of(Puppet::Node::Environment).to receive(:perform_initial_import).and_return(main)
124
123
 
125
124
  type = compile_to_catalog(nil).environment_instance.known_resource_types.definition('Mod::Test')
126
125
  expect(type.produces).to be_instance_of(Array)
@@ -131,6 +130,7 @@ describe 'Capability types' do
131
130
  expect(cns[:mappings]).to be_instance_of(Hash)
132
131
  expect(cns[:mappings]['host']).to be_instance_of(Puppet::Parser::AST::PopsBridge::Expression)
133
132
  end
133
+
134
134
  it "does not allow operator '+>' in a mapping" do
135
135
  expect do
136
136
  compile_to_catalog(<<-MANIFEST, node)
@@ -256,12 +256,12 @@ test { one: hostname => "ahost", export => Cap[two] }
256
256
  def mock_cap_finding
257
257
  cap = Puppet::Resource.new("Cap", "two")
258
258
  cap["host"] = "ahost"
259
- Puppet::Resource::CapabilityFinder.expects(:find).returns(cap)
259
+ expect(Puppet::Resource::CapabilityFinder).to receive(:find).and_return(cap)
260
260
  cap
261
261
  end
262
262
 
263
263
  it "does not fetch a consumed resource when consume metaparam not set" do
264
- Puppet::Resource::CapabilityFinder.expects(:find).never
264
+ expect(Puppet::Resource::CapabilityFinder).not_to receive(:find)
265
265
  catalog = make_catalog("test { one: }")
266
266
  expect(catalog.resource_keys.find { |type, _| type == "Cap" }).to be_nil
267
267
  expect(catalog.resource("Test", "one")["hostname"]).to eq("nohost")
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/test_ca'
4
3
 
@@ -20,7 +19,7 @@ describe Puppet::CertificateFactory, :unless => RUBY_PLATFORM == 'java' do
20
19
  it "should return a new X509 certificate" do
21
20
  a = subject.build(:server, csr, issuer, serial)
22
21
  b = subject.build(:server, csr, issuer, serial)
23
- # The two instances are equal in every aspect except that they are
22
+ # The two instances are equal in every aspect except that they are
24
23
  # different instances - they are `==`, but not hash `eql?`
25
24
  expect(a).not_to eql(b)
26
25
  end
@@ -63,7 +62,7 @@ describe Puppet::CertificateFactory, :unless => RUBY_PLATFORM == 'java' do
63
62
 
64
63
  it "should respect a custom TTL for the CA" do
65
64
  now = Time.now.utc
66
- Time.expects(:now).at_least_once.returns(now)
65
+ expect(Time).to receive(:now).at_least(:once).and_return(now)
67
66
  cert = subject.build(:server, csr, issuer, serial, 12)
68
67
  expect(cert.not_after.to_i).to eq(now.to_i + 12)
69
68
  end
@@ -87,7 +86,6 @@ describe Puppet::CertificateFactory, :unless => RUBY_PLATFORM == 'java' do
87
86
  )
88
87
  end
89
88
 
90
-
91
89
  it "should add an extension for the authorityKeyIdentifer" do
92
90
  cert = subject.build(:server, csr, issuer, serial)
93
91
  ef = OpenSSL::X509::ExtensionFactory.new(issuer, cert)
@@ -131,7 +129,7 @@ describe Puppet::CertificateFactory, :unless => RUBY_PLATFORM == 'java' do
131
129
  csr = Puppet::SSL::CertificateRequest.new(name)
132
130
  csr.generate(key)
133
131
 
134
- csr.stubs(:request_extensions).returns([
132
+ allow(csr).to receive(:request_extensions).and_return([
135
133
  {'oid' => '1.3.6.1.4.1.34380.1.2.1', 'value' => 'some-value'},
136
134
  {'oid' => 'pp_uuid', 'value' => 'some-uuid'},
137
135
  ])
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/configurer/downloader'
@@ -90,14 +89,14 @@ describe Puppet::Configurer::Downloader do
90
89
  end
91
90
 
92
91
  it "should always set the owner to the current UID" do
93
- Process.expects(:uid).returns 51
92
+ expect(Process).to receive(:uid).and_return(51)
94
93
 
95
94
  file = generate_file_resource(:path => '/path')
96
95
  expect(file[:owner]).to eq(51)
97
96
  end
98
97
 
99
98
  it "should always set the group to the current GID" do
100
- Process.expects(:gid).returns 61
99
+ expect(Process).to receive(:gid).and_return(61)
101
100
 
102
101
  file = generate_file_resource(:path => '/path')
103
102
  expect(file[:group]).to eq(61)
@@ -161,7 +160,7 @@ describe Puppet::Configurer::Downloader do
161
160
  end
162
161
 
163
162
  it "should not issue a deprecation warning for source_permissions" do
164
- Puppet.expects(:puppet_deprecation_warning).never
163
+ expect(Puppet).not_to receive(:puppet_deprecation_warning)
165
164
  catalog = @dler.catalog
166
165
  expect(catalog.resources.size).to eq(1) # Must consume catalog to fix warnings
167
166
  end
@@ -184,37 +183,37 @@ describe Puppet::Configurer::Downloader do
184
183
  end
185
184
 
186
185
  it "should log that it is downloading" do
187
- Puppet.expects(:info)
186
+ expect(Puppet).to receive(:info)
188
187
 
189
188
  @dler.evaluate
190
189
  end
191
190
 
192
191
  it "should return all changed file paths" do
193
- trans = mock 'transaction'
192
+ trans = double('transaction')
194
193
 
195
- catalog = mock 'catalog'
196
- @dler.expects(:catalog).returns(catalog)
197
- catalog.expects(:apply).yields(trans)
194
+ catalog = double('catalog')
195
+ expect(@dler).to receive(:catalog).and_return(catalog)
196
+ expect(catalog).to receive(:apply).and_yield(trans)
198
197
 
199
- resource = mock 'resource'
200
- resource.expects(:[]).with(:path).returns "/changed/file"
198
+ resource = double('resource')
199
+ expect(resource).to receive(:[]).with(:path).and_return("/changed/file")
201
200
 
202
- trans.expects(:changed?).returns([resource])
201
+ expect(trans).to receive(:changed?).and_return([resource])
203
202
 
204
203
  expect(@dler.evaluate).to eq(%w{/changed/file})
205
204
  end
206
205
 
207
206
  it "should yield the resources if a block is given" do
208
- trans = mock 'transaction'
207
+ trans = double('transaction')
209
208
 
210
- catalog = mock 'catalog'
211
- @dler.expects(:catalog).returns(catalog)
212
- catalog.expects(:apply).yields(trans)
209
+ catalog = double('catalog')
210
+ expect(@dler).to receive(:catalog).and_return(catalog)
211
+ expect(catalog).to receive(:apply).and_yield(trans)
213
212
 
214
- resource = mock 'resource'
215
- resource.expects(:[]).with(:path).returns "/changed/file"
213
+ resource = double('resource')
214
+ expect(resource).to receive(:[]).with(:path).and_return("/changed/file")
216
215
 
217
- trans.expects(:changed?).returns([resource])
216
+ expect(trans).to receive(:changed?).and_return([resource])
218
217
 
219
218
  yielded = nil
220
219
  @dler.evaluate { |r| yielded = r }
@@ -222,10 +221,10 @@ describe Puppet::Configurer::Downloader do
222
221
  end
223
222
 
224
223
  it "should catch and log exceptions" do
225
- Puppet.expects(:log_exception)
224
+ expect(Puppet).to receive(:log_exception)
226
225
  # The downloader creates a new catalog for each apply, and really the only object
227
226
  # that it is possible to stub for the purpose of generating a puppet error
228
- Puppet::Resource::Catalog.any_instance.stubs(:apply).raises(Puppet::Error, "testing")
227
+ allow_any_instance_of(Puppet::Resource::Catalog).to receive(:apply).and_raise(Puppet::Error, "testing")
229
228
 
230
229
  expect { @dler.evaluate }.not_to raise_error
231
230
  end
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/configurer'
4
3
  require 'puppet/configurer/fact_handler'
@@ -58,13 +57,13 @@ describe Puppet::Configurer::FactHandler do
58
57
  end
59
58
 
60
59
  it "should fail if finding facts fails" do
61
- Puppet::Node::Facts.indirection.expects(:find).raises RuntimeError
60
+ expect(Puppet::Node::Facts.indirection).to receive(:find).and_raise(RuntimeError)
62
61
 
63
62
  expect { facthandler.find_facts }.to raise_error(Puppet::Error, /Could not retrieve local facts/)
64
63
  end
65
64
 
66
65
  it "should only load fact plugins once" do
67
- Puppet::Node::Facts.indirection.expects(:find).once
66
+ expect(Puppet::Node::Facts.indirection).to receive(:find).once
68
67
  facthandler.find_facts
69
68
  end
70
69
  end
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/configurer'
4
3
  require 'puppet/configurer/plugin_handler'
@@ -11,21 +10,35 @@ describe Puppet::Configurer::PluginHandler do
11
10
  before :each do
12
11
  # PluginHandler#load_plugin has an extra-strong rescue clause
13
12
  # this mock is to make sure that we don't silently ignore errors
14
- Puppet.expects(:err).never
13
+ expect(Puppet).not_to receive(:err)
15
14
  # Server_agent version needs to be at 5.3.4 in order to mount locales
16
15
  Puppet.push_context({:server_agent_version => "5.3.4"})
17
16
  end
18
17
 
19
18
  it "downloads plugins, facts, and locales" do
20
- Puppet::Configurer::Downloader.any_instance.expects(:evaluate).times(3).returns([])
19
+ times_called = 0
20
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { times_called += 1 }.and_return([])
21
21
 
22
22
  pluginhandler.download_plugins(environment)
23
+ expect(times_called).to eq(3)
23
24
  end
24
25
 
25
26
  it "returns downloaded plugin, fact, and locale filenames" do
26
- Puppet::Configurer::Downloader.any_instance.expects(:evaluate).times(3).returns(%w[/a]).then.returns(%w[/b]).then.returns(%w[/c])
27
+ times_called = 0
28
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
29
+ times_called += 1
30
+
31
+ if times_called == 1
32
+ %w[/a]
33
+ elsif times_called == 2
34
+ %w[/b]
35
+ else
36
+ %w[/c]
37
+ end
38
+ end
27
39
 
28
40
  expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a /b /c])
41
+ expect(times_called).to eq(3)
29
42
  end
30
43
  end
31
44
 
@@ -33,15 +46,25 @@ describe Puppet::Configurer::PluginHandler do
33
46
  before :each do
34
47
  # PluginHandler#load_plugin has an extra-strong rescue clause
35
48
  # this mock is to make sure that we don't silently ignore errors
36
- Puppet.expects(:err).never
49
+ expect(Puppet).not_to receive(:err)
37
50
  # Server_agent version needs to be at 5.3.4 in order to mount locales
38
51
  Puppet.push_context({:server_agent_version => "5.3.3"})
39
52
  end
40
53
 
41
54
  it "returns downloaded plugin, fact, but not locale filenames" do
42
- Puppet::Configurer::Downloader.any_instance.expects(:evaluate).times(2).returns(%w[/a]).then.returns(%w[/b])
55
+ times_called = 0
56
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
57
+ times_called += 1
58
+
59
+ if times_called == 1
60
+ %w[/a]
61
+ else
62
+ %w[/b]
63
+ end
64
+ end
43
65
 
44
66
  expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a /b])
67
+ expect(times_called).to eq(2)
45
68
  end
46
69
  end
47
70
 
@@ -49,16 +72,26 @@ describe Puppet::Configurer::PluginHandler do
49
72
  before :each do
50
73
  # PluginHandler#load_plugin has an extra-strong rescue clause
51
74
  # this mock is to make sure that we don't silently ignore errors
52
- Puppet.expects(:err).never
75
+ expect(Puppet).not_to receive(:err)
53
76
  # Server_agent version needs to be at 5.3.4 in order to mount locales
54
77
  # A blank version will default to 0.0
55
78
  Puppet.push_context({:server_agent_version => ""})
56
79
  end
57
80
 
58
81
  it "returns downloaded plugin, fact, but not locale filenames" do
59
- Puppet::Configurer::Downloader.any_instance.expects(:evaluate).times(2).returns(%w[/a]).then.returns(%w[/b])
82
+ times_called = 0
83
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
84
+ times_called += 1
85
+
86
+ if times_called == 1
87
+ %w[/a]
88
+ else
89
+ %w[/b]
90
+ end
91
+ end
60
92
 
61
93
  expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a /b])
94
+ expect(times_called).to eq(2)
62
95
  end
63
96
  end
64
97
  end
@@ -1,13 +1,12 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/configurer'
4
3
 
5
4
  describe Puppet::Configurer do
6
5
  before do
7
- Puppet.settings.stubs(:use).returns(true)
6
+ allow(Puppet.settings).to receive(:use).and_return(true)
8
7
  @agent = Puppet::Configurer.new
9
- @agent.stubs(:init_storage)
10
- Puppet::Util::Storage.stubs(:store)
8
+ allow(@agent).to receive(:init_storage)
9
+ allow(Puppet::Util::Storage).to receive(:store)
11
10
  Puppet[:server] = "puppetmaster"
12
11
  Puppet[:report] = true
13
12
  end
@@ -19,21 +18,21 @@ describe Puppet::Configurer do
19
18
  describe "when executing a pre-run hook" do
20
19
  it "should do nothing if the hook is set to an empty string" do
21
20
  Puppet.settings[:prerun_command] = ""
22
- Puppet::Util.expects(:exec).never
21
+ expect(Puppet::Util).not_to receive(:exec)
23
22
 
24
23
  @agent.execute_prerun_command
25
24
  end
26
25
 
27
26
  it "should execute any pre-run command provided via the 'prerun_command' setting" do
28
27
  Puppet.settings[:prerun_command] = "/my/command"
29
- Puppet::Util::Execution.expects(:execute).with(["/my/command"]).raises(Puppet::ExecutionFailure, "Failed")
28
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
30
29
 
31
30
  @agent.execute_prerun_command
32
31
  end
33
32
 
34
33
  it "should fail if the command fails" do
35
34
  Puppet.settings[:prerun_command] = "/my/command"
36
- Puppet::Util::Execution.expects(:execute).with(["/my/command"]).raises(Puppet::ExecutionFailure, "Failed")
35
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
37
36
 
38
37
  expect(@agent.execute_prerun_command).to be_falsey
39
38
  end
@@ -42,21 +41,21 @@ describe Puppet::Configurer do
42
41
  describe "when executing a post-run hook" do
43
42
  it "should do nothing if the hook is set to an empty string" do
44
43
  Puppet.settings[:postrun_command] = ""
45
- Puppet::Util.expects(:exec).never
44
+ expect(Puppet::Util).not_to receive(:exec)
46
45
 
47
46
  @agent.execute_postrun_command
48
47
  end
49
48
 
50
49
  it "should execute any post-run command provided via the 'postrun_command' setting" do
51
50
  Puppet.settings[:postrun_command] = "/my/command"
52
- Puppet::Util::Execution.expects(:execute).with(["/my/command"]).raises(Puppet::ExecutionFailure, "Failed")
51
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
53
52
 
54
53
  @agent.execute_postrun_command
55
54
  end
56
55
 
57
56
  it "should fail if the command fails" do
58
57
  Puppet.settings[:postrun_command] = "/my/command"
59
- Puppet::Util::Execution.expects(:execute).with(["/my/command"]).raises(Puppet::ExecutionFailure, "Failed")
58
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
60
59
 
61
60
  expect(@agent.execute_postrun_command).to be_falsey
62
61
  end
@@ -64,20 +63,20 @@ describe Puppet::Configurer do
64
63
 
65
64
  describe "when executing a catalog run" do
66
65
  before do
67
- Puppet.settings.stubs(:use).returns(true)
68
- @agent.stubs(:download_plugins)
66
+ allow(Puppet.settings).to receive(:use).and_return(true)
67
+ allow(@agent).to receive(:download_plugins)
69
68
  Puppet::Node::Facts.indirection.terminus_class = :memory
70
69
  @facts = Puppet::Node::Facts.new(Puppet[:node_name_value])
71
70
  Puppet::Node::Facts.indirection.save(@facts)
72
71
 
73
72
  @catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote(Puppet[:environment].to_sym))
74
- @catalog.stubs(:to_ral).returns(@catalog)
73
+ allow(@catalog).to receive(:to_ral).and_return(@catalog)
75
74
  Puppet::Resource::Catalog.indirection.terminus_class = :rest
76
- Puppet::Resource::Catalog.indirection.stubs(:find).returns(@catalog)
77
- @agent.stubs(:send_report)
78
- @agent.stubs(:save_last_run_summary)
75
+ allow(Puppet::Resource::Catalog.indirection).to receive(:find).and_return(@catalog)
76
+ allow(@agent).to receive(:send_report)
77
+ allow(@agent).to receive(:save_last_run_summary)
79
78
 
80
- Puppet::Util::Log.stubs(:close_all)
79
+ allow(Puppet::Util::Log).to receive(:close_all)
81
80
  end
82
81
 
83
82
  after :all do
@@ -86,39 +85,39 @@ describe Puppet::Configurer do
86
85
  end
87
86
 
88
87
  it "should initialize storage" do
89
- Puppet::Util::Storage.expects(:load)
88
+ expect(Puppet::Util::Storage).to receive(:load)
90
89
  @agent.run
91
90
  end
92
91
 
93
92
  it "downloads plugins when told" do
94
- @agent.expects(:download_plugins)
93
+ expect(@agent).to receive(:download_plugins)
95
94
  @agent.run(:pluginsync => true)
96
95
  end
97
96
 
98
97
  it "does not download plugins when told" do
99
- @agent.expects(:download_plugins).never
98
+ expect(@agent).not_to receive(:download_plugins)
100
99
  @agent.run(:pluginsync => false)
101
100
  end
102
101
 
103
102
  it "should carry on when it can't fetch its node definition" do
104
103
  error = Net::HTTPError.new(400, 'dummy server communication error')
105
- Puppet::Node.indirection.expects(:find).raises(error)
104
+ expect(Puppet::Node.indirection).to receive(:find).and_raise(error)
106
105
  expect(@agent.run).to eq(0)
107
106
  end
108
107
 
109
108
  it "applies a cached catalog when it can't connect to the master" do
110
109
  error = Errno::ECONNREFUSED.new('Connection refused - connect(2)')
111
110
 
112
- Puppet::Node.indirection.expects(:find).raises(error)
113
- Puppet::Resource::Catalog.indirection.expects(:find).with(anything, has_entry(:ignore_cache => true)).raises(error)
114
- Puppet::Resource::Catalog.indirection.expects(:find).with(anything, has_entry(:ignore_terminus => true)).returns(@catalog)
111
+ expect(Puppet::Node.indirection).to receive(:find).and_raise(error)
112
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(:ignore_cache => true)).and_raise(error)
113
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(:ignore_terminus => true)).and_return(@catalog)
115
114
 
116
115
  expect(@agent.run).to eq(0)
117
116
  end
118
117
 
119
118
  it "should initialize a transaction report if one is not provided" do
120
119
  report = Puppet::Transaction::Report.new
121
- Puppet::Transaction::Report.expects(:new).returns report
120
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
122
121
 
123
122
  @agent.run
124
123
  end
@@ -135,15 +134,15 @@ describe Puppet::Configurer do
135
134
 
136
135
  it "should pass the new report to the catalog" do
137
136
  report = Puppet::Transaction::Report.new
138
- Puppet::Transaction::Report.stubs(:new).returns report
139
- @catalog.expects(:apply).with{|options| options[:report] == report}
137
+ allow(Puppet::Transaction::Report).to receive(:new).and_return(report)
138
+ expect(@catalog).to receive(:apply).with(hash_including(report: report))
140
139
 
141
140
  @agent.run
142
141
  end
143
142
 
144
143
  it "should use the provided report if it was passed one" do
145
144
  report = Puppet::Transaction::Report.new
146
- @catalog.expects(:apply).with {|options| options[:report] == report}
145
+ expect(@catalog).to receive(:apply).with(hash_including(report: report))
147
146
 
148
147
  @agent.run(:report => report)
149
148
  end
@@ -151,69 +150,69 @@ describe Puppet::Configurer do
151
150
  it "should set the report as a log destination" do
152
151
  report = Puppet::Transaction::Report.new
153
152
 
154
- report.expects(:<<).with(instance_of(Puppet::Util::Log)).at_least_once
153
+ expect(report).to receive(:<<).with(instance_of(Puppet::Util::Log)).at_least(:once)
155
154
 
156
155
  @agent.run(:report => report)
157
156
  end
158
157
 
159
158
  it "should retrieve the catalog" do
160
- @agent.expects(:retrieve_catalog)
159
+ expect(@agent).to receive(:retrieve_catalog)
161
160
 
162
161
  @agent.run
163
162
  end
164
163
 
165
164
  it "should log a failure and do nothing if no catalog can be retrieved" do
166
- @agent.expects(:retrieve_catalog).returns nil
165
+ expect(@agent).to receive(:retrieve_catalog).and_return(nil)
167
166
 
168
- Puppet.expects(:err).with "Could not retrieve catalog; skipping run"
167
+ expect(Puppet).to receive(:err).with("Could not retrieve catalog; skipping run")
169
168
 
170
169
  @agent.run
171
170
  end
172
171
 
173
172
  it "should apply the catalog with all options to :run" do
174
- @agent.expects(:retrieve_catalog).returns @catalog
173
+ expect(@agent).to receive(:retrieve_catalog).and_return(@catalog)
175
174
 
176
- @catalog.expects(:apply).with { |args| args[:one] == true }
175
+ expect(@catalog).to receive(:apply).with(hash_including(one: true))
177
176
  @agent.run :one => true
178
177
  end
179
178
 
180
179
  it "should accept a catalog and use it instead of retrieving a different one" do
181
- @agent.expects(:retrieve_catalog).never
180
+ expect(@agent).not_to receive(:retrieve_catalog)
182
181
 
183
- @catalog.expects(:apply)
182
+ expect(@catalog).to receive(:apply)
184
183
  @agent.run :one => true, :catalog => @catalog
185
184
  end
186
185
 
187
186
  it "should benchmark how long it takes to apply the catalog" do
188
- @agent.expects(:benchmark).with(:notice, instance_of(String))
187
+ expect(@agent).to receive(:benchmark).with(:notice, instance_of(String))
189
188
 
190
- @agent.expects(:retrieve_catalog).returns @catalog
189
+ expect(@agent).to receive(:retrieve_catalog).and_return(@catalog)
191
190
 
192
- @catalog.expects(:apply).never # because we're not yielding
191
+ expect(@catalog).not_to receive(:apply) # because we're not yielding
193
192
  @agent.run
194
193
  end
195
194
 
196
195
  it "should execute post-run hooks after the run" do
197
- @agent.expects(:execute_postrun_command)
196
+ expect(@agent).to receive(:execute_postrun_command)
198
197
 
199
198
  @agent.run
200
199
  end
201
200
 
202
201
  it "should create report with passed transaction_uuid and job_id" do
203
202
  @agent = Puppet::Configurer.new("test_tuuid", "test_jid")
204
- @agent.stubs(:init_storage)
203
+ allow(@agent).to receive(:init_storage)
205
204
 
206
205
  report = Puppet::Transaction::Report.new(nil, "test", "aaaa")
207
- Puppet::Transaction::Report.expects(:new).with(anything, anything, 'test_tuuid', 'test_jid').returns(report)
208
- @agent.expects(:send_report).with(report)
206
+ expect(Puppet::Transaction::Report).to receive(:new).with(anything, anything, 'test_tuuid', 'test_jid').and_return(report)
207
+ expect(@agent).to receive(:send_report).with(report)
209
208
 
210
209
  @agent.run
211
210
  end
212
211
 
213
212
  it "should send the report" do
214
213
  report = Puppet::Transaction::Report.new(nil, "test", "aaaa")
215
- Puppet::Transaction::Report.expects(:new).returns(report)
216
- @agent.expects(:send_report).with(report)
214
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
215
+ expect(@agent).to receive(:send_report).with(report)
217
216
 
218
217
  expect(report.environment).to eq("test")
219
218
  expect(report.transaction_uuid).to eq("aaaa")
@@ -222,11 +221,11 @@ describe Puppet::Configurer do
222
221
  end
223
222
 
224
223
  it "should send the transaction report even if the catalog could not be retrieved" do
225
- @agent.expects(:retrieve_catalog).returns nil
224
+ expect(@agent).to receive(:retrieve_catalog).and_return(nil)
226
225
 
227
226
  report = Puppet::Transaction::Report.new(nil, "test", "aaaa")
228
- Puppet::Transaction::Report.expects(:new).returns(report)
229
- @agent.expects(:send_report).with(report)
227
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
228
+ expect(@agent).to receive(:send_report).with(report)
230
229
 
231
230
  expect(report.environment).to eq("test")
232
231
  expect(report.transaction_uuid).to eq("aaaa")
@@ -235,11 +234,11 @@ describe Puppet::Configurer do
235
234
  end
236
235
 
237
236
  it "should send the transaction report even if there is a failure" do
238
- @agent.expects(:retrieve_catalog).raises "whatever"
237
+ expect(@agent).to receive(:retrieve_catalog).and_raise("whatever")
239
238
 
240
239
  report = Puppet::Transaction::Report.new(nil, "test", "aaaa")
241
- Puppet::Transaction::Report.expects(:new).returns(report)
242
- @agent.expects(:send_report).with(report)
240
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
241
+ expect(@agent).to receive(:send_report).with(report)
243
242
 
244
243
  expect(report.environment).to eq("test")
245
244
  expect(report.transaction_uuid).to eq("aaaa")
@@ -249,7 +248,7 @@ describe Puppet::Configurer do
249
248
 
250
249
  it "should remove the report as a log destination when the run is finished" do
251
250
  report = Puppet::Transaction::Report.new
252
- Puppet::Transaction::Report.expects(:new).returns(report)
251
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
253
252
 
254
253
  @agent.run
255
254
 
@@ -258,35 +257,35 @@ describe Puppet::Configurer do
258
257
 
259
258
  it "should return the report exit_status as the result of the run" do
260
259
  report = Puppet::Transaction::Report.new
261
- Puppet::Transaction::Report.expects(:new).returns(report)
262
- report.expects(:exit_status).returns(1234)
260
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
261
+ expect(report).to receive(:exit_status).and_return(1234)
263
262
 
264
263
  expect(@agent.run).to eq(1234)
265
264
  end
266
265
 
267
266
  it "should return nil if catalog application fails" do
268
- @catalog.expects(:apply).raises(Puppet::Error, 'One or more resource dependency cycles detected in graph')
267
+ expect(@catalog).to receive(:apply).and_raise(Puppet::Error, 'One or more resource dependency cycles detected in graph')
269
268
  report = Puppet::Transaction::Report.new
270
269
  expect(@agent.run(catalog: @catalog, report: report)).to be_nil
271
270
  end
272
271
 
273
272
  it "should send the transaction report even if the pre-run command fails" do
274
273
  report = Puppet::Transaction::Report.new
275
- Puppet::Transaction::Report.expects(:new).returns(report)
274
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
276
275
 
277
276
  Puppet.settings[:prerun_command] = "/my/command"
278
- Puppet::Util::Execution.expects(:execute).with(["/my/command"]).raises(Puppet::ExecutionFailure, "Failed")
279
- @agent.expects(:send_report).with(report)
277
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
278
+ expect(@agent).to receive(:send_report).with(report)
280
279
 
281
280
  expect(@agent.run).to be_nil
282
281
  end
283
282
 
284
283
  it "should include the pre-run command failure in the report" do
285
284
  report = Puppet::Transaction::Report.new
286
- Puppet::Transaction::Report.expects(:new).returns(report)
285
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
287
286
 
288
287
  Puppet.settings[:prerun_command] = "/my/command"
289
- Puppet::Util::Execution.expects(:execute).with(["/my/command"]).raises(Puppet::ExecutionFailure, "Failed")
288
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
290
289
 
291
290
  expect(@agent.run).to be_nil
292
291
  expect(report.logs.find { |x| x.message =~ /Could not run command from prerun_command/ }).to be
@@ -294,23 +293,23 @@ describe Puppet::Configurer do
294
293
 
295
294
  it "should send the transaction report even if the post-run command fails" do
296
295
  report = Puppet::Transaction::Report.new
297
- Puppet::Transaction::Report.expects(:new).returns(report)
296
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
298
297
 
299
298
  Puppet.settings[:postrun_command] = "/my/command"
300
- Puppet::Util::Execution.expects(:execute).with(["/my/command"]).raises(Puppet::ExecutionFailure, "Failed")
301
- @agent.expects(:send_report).with(report)
299
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
300
+ expect(@agent).to receive(:send_report).with(report)
302
301
 
303
302
  expect(@agent.run).to be_nil
304
303
  end
305
304
 
306
305
  it "should include the post-run command failure in the report" do
307
306
  report = Puppet::Transaction::Report.new
308
- Puppet::Transaction::Report.expects(:new).returns(report)
307
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
309
308
 
310
309
  Puppet.settings[:postrun_command] = "/my/command"
311
- Puppet::Util::Execution.expects(:execute).with(["/my/command"]).raises(Puppet::ExecutionFailure, "Failed")
310
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
312
311
 
313
- report.expects(:<<).with { |log| log.message.include?("Could not run command from postrun_command") }
312
+ expect(report).to receive(:<<) { |log, _| expect(log.message).to match(/Could not run command from postrun_command/) }.at_least(:once)
314
313
 
315
314
  expect(@agent.run).to be_nil
316
315
  end
@@ -318,49 +317,49 @@ describe Puppet::Configurer do
318
317
  it "should execute post-run command even if the pre-run command fails" do
319
318
  Puppet.settings[:prerun_command] = "/my/precommand"
320
319
  Puppet.settings[:postrun_command] = "/my/postcommand"
321
- Puppet::Util::Execution.expects(:execute).with(["/my/precommand"]).raises(Puppet::ExecutionFailure, "Failed")
322
- Puppet::Util::Execution.expects(:execute).with(["/my/postcommand"])
320
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/precommand"]).and_raise(Puppet::ExecutionFailure, "Failed")
321
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/postcommand"])
323
322
 
324
323
  expect(@agent.run).to be_nil
325
324
  end
326
325
 
327
326
  it "should finalize the report" do
328
327
  report = Puppet::Transaction::Report.new
329
- Puppet::Transaction::Report.expects(:new).returns(report)
328
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
330
329
 
331
- report.expects(:finalize_report)
330
+ expect(report).to receive(:finalize_report)
332
331
  @agent.run
333
332
  end
334
333
 
335
334
  it "should not apply the catalog if the pre-run command fails" do
336
335
  report = Puppet::Transaction::Report.new
337
- Puppet::Transaction::Report.expects(:new).returns(report)
336
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
338
337
 
339
338
  Puppet.settings[:prerun_command] = "/my/command"
340
- Puppet::Util::Execution.expects(:execute).with(["/my/command"]).raises(Puppet::ExecutionFailure, "Failed")
339
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
341
340
 
342
- @catalog.expects(:apply).never()
343
- @agent.expects(:send_report)
341
+ expect(@catalog).not_to receive(:apply)
342
+ expect(@agent).to receive(:send_report)
344
343
 
345
344
  expect(@agent.run).to be_nil
346
345
  end
347
346
 
348
347
  it "should apply the catalog, send the report, and return nil if the post-run command fails" do
349
348
  report = Puppet::Transaction::Report.new
350
- Puppet::Transaction::Report.expects(:new).returns(report)
349
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
351
350
 
352
351
  Puppet.settings[:postrun_command] = "/my/command"
353
- Puppet::Util::Execution.expects(:execute).with(["/my/command"]).raises(Puppet::ExecutionFailure, "Failed")
352
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
354
353
 
355
- @catalog.expects(:apply)
356
- @agent.expects(:send_report)
354
+ expect(@catalog).to receive(:apply)
355
+ expect(@agent).to receive(:send_report)
357
356
 
358
357
  expect(@agent.run).to be_nil
359
358
  end
360
359
 
361
360
  it 'includes total time metrics in the report after successfully applying the catalog' do
362
361
  report = Puppet::Transaction::Report.new
363
- @catalog.stubs(:apply).with() {|options| options[:report] == report }
362
+ allow(@catalog).to receive(:apply).with(hash_including(report: report))
364
363
  @agent.run(report: report)
365
364
 
366
365
  expect(report.metrics['time']).to be
@@ -369,7 +368,7 @@ describe Puppet::Configurer do
369
368
 
370
369
  it 'includes total time metrics in the report even if prerun fails' do
371
370
  Puppet.settings[:prerun_command] = "/my/command"
372
- Puppet::Util::Execution.expects(:execute).with(["/my/command"]).raises(Puppet::ExecutionFailure, "Failed")
371
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
373
372
 
374
373
  report = Puppet::Transaction::Report.new
375
374
  @agent.run(report: report)
@@ -380,7 +379,7 @@ describe Puppet::Configurer do
380
379
 
381
380
  it 'includes total time metrics in the report even if catalog retrieval fails' do
382
381
  report = Puppet::Transaction::Report.new
383
- @agent.stubs(:prepare_and_retrieve_catalog_from_cache).raises
382
+ allow(@agent).to receive(:prepare_and_retrieve_catalog_from_cache).and_raise
384
383
  @agent.run(:report => report)
385
384
 
386
385
  expect(report.metrics['time']).to be
@@ -389,13 +388,13 @@ describe Puppet::Configurer do
389
388
 
390
389
  it "should refetch the catalog if the server specifies a new environment in the catalog" do
391
390
  catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote('second_env'))
392
- @agent.expects(:retrieve_catalog).returns(catalog).twice
391
+ expect(@agent).to receive(:retrieve_catalog).and_return(catalog).twice
393
392
 
394
393
  @agent.run
395
394
  end
396
395
 
397
396
  it "should change the environment setting if the server specifies a new environment in the catalog" do
398
- @catalog.stubs(:environment).returns("second_env")
397
+ allow(@catalog).to receive(:environment).and_return("second_env")
399
398
 
400
399
  @agent.run
401
400
 
@@ -404,11 +403,11 @@ describe Puppet::Configurer do
404
403
 
405
404
  it "should fix the report if the server specifies a new environment in the catalog" do
406
405
  report = Puppet::Transaction::Report.new(nil, "test", "aaaa")
407
- Puppet::Transaction::Report.expects(:new).returns(report)
408
- @agent.expects(:send_report).with(report)
406
+ expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
407
+ expect(@agent).to receive(:send_report).with(report)
409
408
 
410
- @catalog.stubs(:environment).returns("second_env")
411
- @agent.stubs(:retrieve_catalog).returns(@catalog)
409
+ allow(@catalog).to receive(:environment).and_return("second_env")
410
+ allow(@agent).to receive(:retrieve_catalog).and_return(@catalog)
412
411
 
413
412
  @agent.run
414
413
 
@@ -417,24 +416,24 @@ describe Puppet::Configurer do
417
416
 
418
417
  it "sends the transaction uuid in a catalog request" do
419
418
  @agent.instance_variable_set(:@transaction_uuid, 'aaa')
420
- Puppet::Resource::Catalog.indirection.expects(:find).with(anything, has_entries(:transaction_uuid => 'aaa'))
419
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(transaction_uuid: 'aaa'))
421
420
  @agent.run
422
421
  end
423
422
 
424
423
  it "sends the transaction uuid in a catalog request" do
425
424
  @agent.instance_variable_set(:@job_id, 'aaa')
426
- Puppet::Resource::Catalog.indirection.expects(:find).with(anything, has_entries(:job_id => 'aaa'))
425
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(job_id: 'aaa'))
427
426
  @agent.run
428
427
  end
429
428
 
430
429
  it "sets the static_catalog query param to true in a catalog request" do
431
- Puppet::Resource::Catalog.indirection.expects(:find).with(anything, has_entries(:static_catalog => true))
430
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(static_catalog: true))
432
431
  @agent.run
433
432
  end
434
433
 
435
434
  it "sets the checksum_type query param to the default supported_checksum_types in a catalog request" do
436
- Puppet::Resource::Catalog.indirection.expects(:find).with(anything,
437
- has_entries(:checksum_type => 'md5.sha256.sha384.sha512.sha224'))
435
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything,
436
+ hash_including(checksum_type: 'md5.sha256.sha384.sha512.sha224'))
438
437
  @agent.run
439
438
  end
440
439
 
@@ -442,22 +441,22 @@ describe Puppet::Configurer do
442
441
  # Regenerate the agent to pick up the new setting
443
442
  Puppet[:supported_checksum_types] = ['sha256']
444
443
  @agent = Puppet::Configurer.new
445
- @agent.stubs(:init_storage)
446
- @agent.stubs(:download_plugins)
447
- @agent.stubs(:send_report)
448
- @agent.stubs(:save_last_run_summary)
444
+ allow(@agent).to receive(:init_storage)
445
+ allow(@agent).to receive(:download_plugins)
446
+ allow(@agent).to receive(:send_report)
447
+ allow(@agent).to receive(:save_last_run_summary)
449
448
 
450
- Puppet::Resource::Catalog.indirection.expects(:find).with(anything, has_entries(:checksum_type => 'sha256'))
449
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(checksum_type: 'sha256'))
451
450
  @agent.run
452
451
  end
453
452
 
454
453
  describe "when not using a REST terminus for catalogs" do
455
454
  it "should not pass any facts when retrieving the catalog" do
456
455
  Puppet::Resource::Catalog.indirection.terminus_class = :compiler
457
- @agent.expects(:facts_for_uploading).never
458
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options|
456
+ expect(@agent).not_to receive(:facts_for_uploading)
457
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find) do |name, options|
459
458
  options[:facts].nil?
460
- }.returns @catalog
459
+ end.and_return(@catalog)
461
460
 
462
461
  @agent.run
463
462
  end
@@ -471,11 +470,9 @@ describe Puppet::Configurer do
471
470
  # call to "encode" - the encode in turn returns mocked data that is asserted as being
472
471
  # presented to the catalog terminus as options.
473
472
  #
474
- @agent.expects(:find_facts).returns(12345)
475
- @agent.expects(:encode_facts).with(12345).returns(:facts => "myfacts", :facts_format => :foo)
476
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options|
477
- options[:facts] == "myfacts" and options[:facts_format] == :foo
478
- }.returns @catalog
473
+ expect(@agent).to receive(:find_facts).and_return(12345)
474
+ expect(@agent).to receive(:encode_facts).with(12345).and_return(:facts => "myfacts", :facts_format => :foo)
475
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(facts: "myfacts", facts_format: :foo)).and_return(@catalog)
479
476
 
480
477
  @agent.run
481
478
  end
@@ -484,7 +481,7 @@ describe Puppet::Configurer do
484
481
 
485
482
  describe "when initialized with a transaction_uuid" do
486
483
  it "stores it" do
487
- SecureRandom.expects(:uuid).never
484
+ expect(SecureRandom).not_to receive(:uuid)
488
485
  configurer = Puppet::Configurer.new('foo')
489
486
  expect(configurer.instance_variable_get(:@transaction_uuid) == 'foo')
490
487
  end
@@ -494,7 +491,7 @@ describe Puppet::Configurer do
494
491
  include PuppetSpec::Files
495
492
 
496
493
  before do
497
- Puppet.settings.stubs(:use).returns(true)
494
+ allow(Puppet.settings).to receive(:use).and_return(true)
498
495
  @configurer = Puppet::Configurer.new
499
496
  Puppet[:lastrunfile] = tmpfile('last_run_file')
500
497
 
@@ -505,53 +502,53 @@ describe Puppet::Configurer do
505
502
  it "should print a report summary if configured to do so" do
506
503
  Puppet.settings[:summarize] = true
507
504
 
508
- @report.expects(:summary).returns "stuff"
505
+ expect(@report).to receive(:summary).and_return("stuff")
509
506
 
510
- @configurer.expects(:puts).with("stuff")
507
+ expect(@configurer).to receive(:puts).with("stuff")
511
508
  @configurer.send_report(@report)
512
509
  end
513
510
 
514
511
  it "should not print a report summary if not configured to do so" do
515
512
  Puppet.settings[:summarize] = false
516
513
 
517
- @configurer.expects(:puts).never
514
+ expect(@configurer).not_to receive(:puts)
518
515
  @configurer.send_report(@report)
519
516
  end
520
517
 
521
518
  it "should save the report if reporting is enabled" do
522
519
  Puppet.settings[:report] = true
523
520
 
524
- Puppet::Transaction::Report.indirection.expects(:save).with(@report, nil, instance_of(Hash))
521
+ expect(Puppet::Transaction::Report.indirection).to receive(:save).with(@report, nil, instance_of(Hash))
525
522
  @configurer.send_report(@report)
526
523
  end
527
524
 
528
525
  it "should not save the report if reporting is disabled" do
529
526
  Puppet.settings[:report] = false
530
527
 
531
- Puppet::Transaction::Report.indirection.expects(:save).with(@report, nil, instance_of(Hash)).never
528
+ expect(Puppet::Transaction::Report.indirection).not_to receive(:save).with(@report, nil, instance_of(Hash))
532
529
  @configurer.send_report(@report)
533
530
  end
534
531
 
535
532
  it "should save the last run summary if reporting is enabled" do
536
533
  Puppet.settings[:report] = true
537
534
 
538
- @configurer.expects(:save_last_run_summary).with(@report)
535
+ expect(@configurer).to receive(:save_last_run_summary).with(@report)
539
536
  @configurer.send_report(@report)
540
537
  end
541
538
 
542
539
  it "should save the last run summary if reporting is disabled" do
543
540
  Puppet.settings[:report] = false
544
541
 
545
- @configurer.expects(:save_last_run_summary).with(@report)
542
+ expect(@configurer).to receive(:save_last_run_summary).with(@report)
546
543
  @configurer.send_report(@report)
547
544
  end
548
545
 
549
546
  it "should log but not fail if saving the report fails" do
550
547
  Puppet.settings[:report] = true
551
548
 
552
- Puppet::Transaction::Report.indirection.expects(:save).raises("whatever")
549
+ expect(Puppet::Transaction::Report.indirection).to receive(:save).and_raise("whatever")
553
550
 
554
- Puppet.expects(:send_log).with(:err, 'Could not send report: whatever')
551
+ expect(Puppet).to receive(:send_log).with(:err, 'Could not send report: whatever')
555
552
  @configurer.send_report(@report)
556
553
  end
557
554
  end
@@ -560,10 +557,10 @@ describe Puppet::Configurer do
560
557
  include PuppetSpec::Files
561
558
 
562
559
  before do
563
- Puppet.settings.stubs(:use).returns(true)
560
+ allow(Puppet.settings).to receive(:use).and_return(true)
564
561
  @configurer = Puppet::Configurer.new
565
562
 
566
- @report = stub 'report', :raw_summary => {}
563
+ @report = double('report', :raw_summary => {})
567
564
 
568
565
  Puppet[:lastrunfile] = tmpfile('last_run_file')
569
566
  end
@@ -574,7 +571,7 @@ describe Puppet::Configurer do
574
571
  end
575
572
 
576
573
  it "should write the raw summary as yaml" do
577
- @report.expects(:raw_summary).returns("summary")
574
+ expect(@report).to receive(:raw_summary).and_return("summary")
578
575
  @configurer.save_last_run_summary(@report)
579
576
  expect(File.read(Puppet[:lastrunfile])).to eq(YAML.dump("summary"))
580
577
  end
@@ -588,14 +585,14 @@ describe Puppet::Configurer do
588
585
  end
589
586
  end.new
590
587
 
591
- Puppet::Util.expects(:replace_file).yields(fh)
588
+ expect(Puppet::Util).to receive(:replace_file).and_yield(fh)
592
589
 
593
- Puppet.expects(:send_log).with(:err, 'Could not save last run local report: failed to do print')
590
+ expect(Puppet).to receive(:send_log).with(:err, 'Could not save last run local report: failed to do print')
594
591
  @configurer.save_last_run_summary(@report)
595
592
  end
596
593
 
597
594
  it "should create the last run file with the correct mode" do
598
- Puppet.settings.setting(:lastrunfile).expects(:mode).returns('664')
595
+ expect(Puppet.settings.setting(:lastrunfile)).to receive(:mode).and_return('664')
599
596
  @configurer.save_last_run_summary(@report)
600
597
 
601
598
  if Puppet::Util::Platform.windows?
@@ -608,66 +605,66 @@ describe Puppet::Configurer do
608
605
  end
609
606
 
610
607
  it "should report invalid last run file permissions" do
611
- Puppet.settings.setting(:lastrunfile).expects(:mode).returns('892')
612
- Puppet.expects(:send_log).with(:err, regexp_matches(/Could not save last run local report.*892 is invalid/))
608
+ expect(Puppet.settings.setting(:lastrunfile)).to receive(:mode).and_return('892')
609
+ expect(Puppet).to receive(:send_log).with(:err, /Could not save last run local report.*892 is invalid/)
613
610
  @configurer.save_last_run_summary(@report)
614
611
  end
615
612
  end
616
613
 
617
614
  describe "when requesting a node" do
618
615
  it "uses the transaction uuid in the request" do
619
- Puppet::Node.indirection.expects(:find).with(anything, has_entries(:transaction_uuid => anything)).twice
616
+ expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(transaction_uuid: anything)).twice
620
617
  @agent.run
621
618
  end
622
619
 
623
620
  it "sends an explicitly configured environment request" do
624
- Puppet.settings.expects(:set_by_config?).with(:environment).returns(true)
625
- Puppet::Node.indirection.expects(:find).with(anything, has_entries(:configured_environment => Puppet[:environment])).twice
621
+ expect(Puppet.settings).to receive(:set_by_config?).with(:environment).and_return(true)
622
+ expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(configured_environment: Puppet[:environment])).twice
626
623
  @agent.run
627
624
  end
628
625
 
629
626
  it "does not send a configured_environment when using the default" do
630
- Puppet::Node.indirection.expects(:find).with(anything, has_entries(:configured_environment => nil)).twice
627
+ expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(configured_environment: nil)).twice
631
628
  @agent.run
632
629
  end
633
630
  end
634
631
 
635
632
  def expects_new_catalog_only(catalog)
636
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns catalog
637
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.never
633
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(catalog)
634
+ expect(Puppet::Resource::Catalog.indirection).not_to receive(:find).with(anything, hash_including(ignore_terminus: true))
638
635
  end
639
636
 
640
637
  def expects_cached_catalog_only(catalog)
641
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns catalog
642
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.never
638
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(catalog)
639
+ expect(Puppet::Resource::Catalog.indirection).not_to receive(:find).with(anything, hash_including(ignore_cache: true))
643
640
  end
644
641
 
645
642
  def expects_fallback_to_cached_catalog(catalog)
646
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns nil
647
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns catalog
643
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
644
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(catalog)
648
645
  end
649
646
 
650
647
  def expects_fallback_to_new_catalog(catalog)
651
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns nil
652
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns catalog
648
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(nil)
649
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(catalog)
653
650
  end
654
651
 
655
652
  def expects_neither_new_or_cached_catalog
656
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns nil
657
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns nil
653
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
654
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(nil)
658
655
  end
659
656
 
660
657
  describe "when retrieving a catalog" do
661
658
  before do
662
- Puppet.settings.stubs(:use).returns(true)
663
- @agent.stubs(:facts_for_uploading).returns({})
664
- @agent.stubs(:download_plugins)
659
+ allow(Puppet.settings).to receive(:use).and_return(true)
660
+ allow(@agent).to receive(:facts_for_uploading).and_return({})
661
+ allow(@agent).to receive(:download_plugins)
665
662
 
666
663
  # retrieve a catalog in the current environment, so we don't try to converge unexpectedly
667
664
  @catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote(Puppet[:environment].to_sym))
668
665
 
669
666
  # this is the default when using a Configurer instance
670
- Puppet::Resource::Catalog.indirection.stubs(:terminus_class).returns :rest
667
+ allow(Puppet::Resource::Catalog.indirection).to receive(:terminus_class).and_return(:rest)
671
668
  end
672
669
 
673
670
  describe "and configured to only retrieve a catalog from the cache" do
@@ -682,17 +679,17 @@ describe Puppet::Configurer do
682
679
  end
683
680
 
684
681
  it "should not make a node request or pluginsync when a cached catalog is successfully retrieved" do
685
- Puppet::Node.indirection.expects(:find).never
682
+ expect(Puppet::Node.indirection).not_to receive(:find)
686
683
  expects_cached_catalog_only(@catalog)
687
- @agent.expects(:download_plugins).never
684
+ expect(@agent).not_to receive(:download_plugins)
688
685
 
689
686
  @agent.run
690
687
  end
691
688
 
692
689
  it "should make a node request and pluginsync when a cached catalog cannot be retrieved" do
693
- Puppet::Node.indirection.expects(:find).returns nil
690
+ expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
694
691
  expects_fallback_to_new_catalog(@catalog)
695
- @agent.expects(:download_plugins)
692
+ expect(@agent).to receive(:download_plugins)
696
693
 
697
694
  @agent.run
698
695
  end
@@ -726,7 +723,7 @@ describe Puppet::Configurer do
726
723
  end
727
724
 
728
725
  it "should not attempt to retrieve a cached catalog again if the first attempt failed" do
729
- Puppet::Node.indirection.expects(:find).returns(nil)
726
+ expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
730
727
  expects_neither_new_or_cached_catalog
731
728
 
732
729
  @agent.run
@@ -736,23 +733,23 @@ describe Puppet::Configurer do
736
733
  cached_catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote('second_env'))
737
734
  expects_cached_catalog_only(cached_catalog)
738
735
 
739
- Puppet.expects(:info).with("Using cached catalog from environment 'second_env'")
736
+ expect(Puppet).to receive(:info).with("Using cached catalog from environment 'second_env'")
740
737
  expect(@agent.retrieve_catalog({})).to eq(cached_catalog)
741
738
  end
742
739
  end
743
740
 
744
741
  describe "and strict environment mode is set" do
745
742
  before do
746
- @catalog.stubs(:to_ral).returns(@catalog)
747
- @catalog.stubs(:write_class_file)
748
- @catalog.stubs(:write_resource_file)
749
- @agent.stubs(:send_report)
750
- @agent.stubs(:save_last_run_summary)
743
+ allow(@catalog).to receive(:to_ral).and_return(@catalog)
744
+ allow(@catalog).to receive(:write_class_file)
745
+ allow(@catalog).to receive(:write_resource_file)
746
+ allow(@agent).to receive(:send_report)
747
+ allow(@agent).to receive(:save_last_run_summary)
751
748
  Puppet.settings[:strict_environment_mode] = true
752
749
  end
753
750
 
754
751
  it "should not make a node request" do
755
- Puppet::Node.indirection.expects(:find).never
752
+ expect(Puppet::Node.indirection).not_to receive(:find)
756
753
 
757
754
  @agent.run
758
755
  end
@@ -761,7 +758,7 @@ describe Puppet::Configurer do
761
758
  @agent.instance_variable_set(:@environment, 'second_env')
762
759
  expects_new_catalog_only(@catalog)
763
760
 
764
- Puppet.expects(:err).with("Not using catalog because its environment 'production' does not match agent specified environment 'second_env' and strict_environment_mode is set")
761
+ expect(Puppet).to receive(:err).with("Not using catalog because its environment 'production' does not match agent specified environment 'second_env' and strict_environment_mode is set")
765
762
  expect(@agent.run).to be_nil
766
763
  end
767
764
 
@@ -781,7 +778,7 @@ describe Puppet::Configurer do
781
778
  @agent.instance_variable_set(:@environment, 'second_env')
782
779
  expects_cached_catalog_only(@catalog)
783
780
 
784
- Puppet.expects(:err).with("Not using catalog because its environment 'production' does not match agent specified environment 'second_env' and strict_environment_mode is set")
781
+ expect(Puppet).to receive(:err).with("Not using catalog because its environment 'production' does not match agent specified environment 'second_env' and strict_environment_mode is set")
785
782
  expect(@agent.run).to be_nil
786
783
  end
787
784
 
@@ -796,28 +793,28 @@ describe Puppet::Configurer do
796
793
  end
797
794
 
798
795
  it "should use the Catalog class to get its catalog" do
799
- Puppet::Resource::Catalog.indirection.expects(:find).returns @catalog
796
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).and_return(@catalog)
800
797
 
801
798
  @agent.retrieve_catalog({})
802
799
  end
803
800
 
804
801
  it "should set its cached_catalog_status to 'not_used' when downloading a new catalog" do
805
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns @catalog
802
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(@catalog)
806
803
 
807
804
  @agent.retrieve_catalog({})
808
805
  expect(@agent.instance_variable_get(:@cached_catalog_status)).to eq('not_used')
809
806
  end
810
807
 
811
808
  it "should use its node_name_value to retrieve the catalog" do
812
- Facter.stubs(:value).returns "eh"
809
+ allow(Facter).to receive(:value).and_return("eh")
813
810
  Puppet.settings[:node_name_value] = "myhost.domain.com"
814
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| name == "myhost.domain.com" }.returns @catalog
811
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with("myhost.domain.com", anything).and_return(@catalog)
815
812
 
816
813
  @agent.retrieve_catalog({})
817
814
  end
818
815
 
819
816
  it "should default to returning a catalog retrieved directly from the server, skipping the cache" do
820
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns @catalog
817
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(@catalog)
821
818
 
822
819
  expect(@agent.retrieve_catalog({})).to eq(@catalog)
823
820
  end
@@ -825,7 +822,7 @@ describe Puppet::Configurer do
825
822
  it "should log and return the cached catalog when no catalog can be retrieved from the server" do
826
823
  expects_fallback_to_cached_catalog(@catalog)
827
824
 
828
- Puppet.expects(:info).with("Using cached catalog from environment 'production'")
825
+ expect(Puppet).to receive(:info).with("Using cached catalog from environment 'production'")
829
826
  expect(@agent.retrieve_catalog({})).to eq(@catalog)
830
827
  end
831
828
 
@@ -843,15 +840,15 @@ describe Puppet::Configurer do
843
840
  end
844
841
 
845
842
  it "should return the cached catalog when retrieving the remote catalog throws an exception" do
846
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.raises "eh"
847
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns @catalog
843
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_raise("eh")
844
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(@catalog)
848
845
 
849
846
  expect(@agent.retrieve_catalog({})).to eq(@catalog)
850
847
  end
851
848
 
852
849
  it "should set its cached_catalog_status to 'on_failure' when retrieving the remote catalog throws an exception" do
853
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.raises "eh"
854
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns @catalog
850
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_raise("eh")
851
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(@catalog)
855
852
 
856
853
  @agent.retrieve_catalog({})
857
854
  expect(@agent.instance_variable_get(:@cached_catalog_status)).to eq('on_failure')
@@ -859,16 +856,16 @@ describe Puppet::Configurer do
859
856
 
860
857
  it "should log and return nil if no catalog can be retrieved from the server and :usecacheonfailure is disabled" do
861
858
  Puppet[:usecacheonfailure] = false
862
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns nil
859
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
863
860
 
864
- Puppet.expects(:warning).with('Not using cache on failed catalog')
861
+ expect(Puppet).to receive(:warning).with('Not using cache on failed catalog')
865
862
 
866
863
  expect(@agent.retrieve_catalog({})).to be_nil
867
864
  end
868
865
 
869
866
  it "should set its cached_catalog_status to 'not_used' if no catalog can be retrieved from the server and :usecacheonfailure is disabled or fails to retrieve a catalog" do
870
867
  Puppet[:usecacheonfailure] = false
871
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns nil
868
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
872
869
 
873
870
  @agent.retrieve_catalog({})
874
871
  expect(@agent.instance_variable_get(:@cached_catalog_status)).to eq('not_used')
@@ -886,7 +883,7 @@ describe Puppet::Configurer do
886
883
 
887
884
  expects_fallback_to_cached_catalog(cached_catalog)
888
885
 
889
- Puppet.expects(:err).with("Not using cached catalog because its environment 'second_env' does not match 'production'")
886
+ expect(Puppet).to receive(:err).with("Not using cached catalog because its environment 'second_env' does not match 'production'")
890
887
  expect(@agent.retrieve_catalog({})).to be_nil
891
888
  end
892
889
 
@@ -921,14 +918,14 @@ describe Puppet::Configurer do
921
918
 
922
919
  it "should not update the cached catalog in noop mode" do
923
920
  Puppet[:noop] = true
924
- Puppet::Resource::Catalog.indirection.expects(:find).with(anything, has_entries(:ignore_cache => true, :ignore_cache_save => true)).returns(@catalog)
921
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true, ignore_cache_save: true)).and_return(@catalog)
925
922
 
926
923
  @agent.retrieve_catalog({})
927
924
  end
928
925
 
929
926
  it "should update the cached catalog when not in noop mode" do
930
927
  Puppet[:noop] = false
931
- Puppet::Resource::Catalog.indirection.expects(:find).with(anything, has_entries(:ignore_cache => true, :ignore_cache_save => false)).returns(@catalog)
928
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true, ignore_cache_save: false)).and_return(@catalog)
932
929
 
933
930
  @agent.retrieve_catalog({})
934
931
  end
@@ -936,9 +933,9 @@ describe Puppet::Configurer do
936
933
 
937
934
  describe "when converting the catalog" do
938
935
  before do
939
- Puppet.settings.stubs(:use).returns(true)
936
+ allow(Puppet.settings).to receive(:use).and_return(true)
940
937
 
941
- catalog.stubs(:to_ral).returns ral_catalog
938
+ allow(catalog).to receive(:to_ral).and_return(ral_catalog)
942
939
  end
943
940
 
944
941
  let (:catalog) { Puppet::Resource::Catalog.new('tester', Puppet::Node::Environment.remote(Puppet[:environment].to_sym)) }
@@ -949,25 +946,25 @@ describe Puppet::Configurer do
949
946
  end
950
947
 
951
948
  it "should finalize the catalog" do
952
- ral_catalog.expects(:finalize)
949
+ expect(ral_catalog).to receive(:finalize)
953
950
 
954
951
  @agent.convert_catalog(catalog, 10)
955
952
  end
956
953
 
957
954
  it "should record the passed retrieval time with the RAL catalog" do
958
- ral_catalog.expects(:retrieval_duration=).with 10
955
+ expect(ral_catalog).to receive(:retrieval_duration=).with(10)
959
956
 
960
957
  @agent.convert_catalog(catalog, 10)
961
958
  end
962
959
 
963
960
  it "should write the RAL catalog's class file" do
964
- ral_catalog.expects(:write_class_file)
961
+ expect(ral_catalog).to receive(:write_class_file)
965
962
 
966
963
  @agent.convert_catalog(catalog, 10)
967
964
  end
968
965
 
969
966
  it "should write the RAL catalog's resource file" do
970
- ral_catalog.expects(:write_resource_file)
967
+ expect(ral_catalog).to receive(:write_resource_file)
971
968
 
972
969
  @agent.convert_catalog(catalog, 10)
973
970
  end
@@ -975,7 +972,7 @@ describe Puppet::Configurer do
975
972
  it "should set catalog conversion time on the report" do
976
973
  report = Puppet::Transaction::Report.new
977
974
 
978
- report.expects(:add_times).with(:convert_catalog, kind_of(Numeric))
975
+ expect(report).to receive(:add_times).with(:convert_catalog, kind_of(Numeric))
979
976
  @agent.convert_catalog(catalog, 10, {:report => report})
980
977
  end
981
978
  end
@@ -997,13 +994,13 @@ describe Puppet::Configurer do
997
994
  describe "when attempting failover" do
998
995
  it "should not failover if server_list is not set" do
999
996
  Puppet.settings[:server_list] = []
1000
- @agent.expects(:find_functional_server).never
997
+ expect(@agent).not_to receive(:find_functional_server)
1001
998
  @agent.run
1002
999
  end
1003
1000
 
1004
1001
  it "should not failover during an apply run" do
1005
1002
  Puppet.settings[:server_list] = ["myserver:123"]
1006
- @agent.expects(:find_functional_server).never
1003
+ expect(@agent).not_to receive(:find_functional_server)
1007
1004
  catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote(Puppet[:environment].to_sym))
1008
1005
  @agent.run :catalog => catalog
1009
1006
  end
@@ -1011,8 +1008,8 @@ describe Puppet::Configurer do
1011
1008
  it "should select a server when provided" do
1012
1009
  Puppet.settings[:server_list] = ["myserver:123"]
1013
1010
  response = Net::HTTPOK.new(nil, 200, 'OK')
1014
- Puppet::Network::HttpPool.stubs(:connection).with('myserver', 123, anything).returns(mock('request', get: response))
1015
- @agent.stubs(:run_internal)
1011
+ allow(Puppet::Network::HttpPool).to receive(:connection).with('myserver', 123, anything).and_return(double('request', get: response))
1012
+ allow(@agent).to receive(:run_internal)
1016
1013
 
1017
1014
  options = {}
1018
1015
  @agent.run(options)
@@ -1022,10 +1019,10 @@ describe Puppet::Configurer do
1022
1019
  it "queries the simple status for the 'master' service" do
1023
1020
  Puppet.settings[:server_list] = ["myserver:123"]
1024
1021
  response = Net::HTTPOK.new(nil, 200, 'OK')
1025
- http = mock('request')
1026
- http.expects(:get).with('/status/v1/simple/master').returns(response)
1027
- Puppet::Network::HttpPool.stubs(:connection).with('myserver', 123, anything).returns(http)
1028
- @agent.stubs(:run_internal)
1022
+ http = double('request')
1023
+ expect(http).to receive(:get).with('/status/v1/simple/master').and_return(response)
1024
+ allow(Puppet::Network::HttpPool).to receive(:connection).with('myserver', 123, anything).and_return(http)
1025
+ allow(@agent).to receive(:run_internal)
1029
1026
 
1030
1027
  @agent.run
1031
1028
  end
@@ -1033,16 +1030,16 @@ describe Puppet::Configurer do
1033
1030
  it "should report when a server is unavailable" do
1034
1031
  Puppet.settings[:server_list] = ["myserver:123"]
1035
1032
  response = Net::HTTPInternalServerError.new(nil, 500, 'Internal Server Error')
1036
- Puppet::Network::HttpPool.stubs(:connection).with('myserver', 123, anything).returns(mock('request', get: response))
1033
+ allow(Puppet::Network::HttpPool).to receive(:connection).with('myserver', 123, anything).and_return(double('request', get: response))
1037
1034
 
1038
- Puppet.expects(:debug).with("Puppet server myserver:123 is unavailable: 500 Internal Server Error")
1035
+ expect(Puppet).to receive(:debug).with("Puppet server myserver:123 is unavailable: 500 Internal Server Error")
1039
1036
  expect{ @agent.run }.to raise_error(Puppet::Error, /Could not select a functional puppet master from server_list/)
1040
1037
  end
1041
1038
 
1042
1039
  it "should error when no servers in 'server_list' are reachable" do
1043
1040
  Puppet.settings[:server_list] = ["myserver:123"]
1044
1041
  error = Net::HTTPError.new(400, 'dummy server communication error')
1045
- Puppet::Network::HttpPool.stubs(:connection).with('myserver', 123, anything).returns(mock('request', get: error))
1042
+ allow(Puppet::Network::HttpPool).to receive(:connection).with('myserver', 123, anything).and_return(double('request', get: error))
1046
1043
 
1047
1044
  options = {}
1048
1045
  expect{ @agent.run(options) }.to raise_error(Puppet::Error, /Could not select a functional puppet master from server_list/)
@@ -1053,8 +1050,8 @@ describe Puppet::Configurer do
1053
1050
  Puppet.settings[:server_list] = ["myserver:123"]
1054
1051
  response = Net::HTTPOK.new(nil, 200, 'OK')
1055
1052
 
1056
- Puppet::Network::HttpPool.expects(:connection).with('myserver', 123, anything).returns(mock('request', get: response))
1057
- @agent.stubs(:run_internal)
1053
+ expect(Puppet::Network::HttpPool).to receive(:connection).with('myserver', 123, anything).and_return(double('request', get: response))
1054
+ allow(@agent).to receive(:run_internal)
1058
1055
 
1059
1056
  @agent.run
1060
1057
  end