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
 
4
3
  require 'yaml'
@@ -14,7 +13,7 @@ describe Puppet::Transaction::Persistence do
14
13
 
15
14
  describe "when loading from file" do
16
15
  before do
17
- Puppet.settings.stubs(:use).returns(true)
16
+ allow(Puppet.settings).to receive(:use).and_return(true)
18
17
  end
19
18
 
20
19
  describe "when the file/directory does not exist" do
@@ -48,7 +47,7 @@ describe Puppet::Transaction::Persistence do
48
47
  property = "my"
49
48
  value = "something"
50
49
 
51
- Puppet.expects(:err).never
50
+ expect(Puppet).not_to receive(:err)
52
51
 
53
52
  persistence = Puppet::Transaction::Persistence.new
54
53
  persistence.set_system_value(resource, property, value)
@@ -62,7 +61,7 @@ describe Puppet::Transaction::Persistence do
62
61
  test_yaml = {"resources"=>{"a"=>"b"}}
63
62
  write_state_file(test_yaml.to_yaml)
64
63
 
65
- Puppet.expects(:err).never
64
+ expect(Puppet).not_to receive(:err)
66
65
 
67
66
  persistence = Puppet::Transaction::Persistence.new
68
67
  persistence.load
@@ -73,7 +72,7 @@ describe Puppet::Transaction::Persistence do
73
72
  it "should initialize with a clear internal state if the file does not contain valid YAML" do
74
73
  write_state_file('{ invalid')
75
74
 
76
- Puppet.expects(:send_log).with(:err, regexp_matches(/Transaction store file .* is corrupt/))
75
+ expect(Puppet).to receive(:send_log).with(:err, /Transaction store file .* is corrupt/)
77
76
 
78
77
  persistence = Puppet::Transaction::Persistence.new
79
78
  persistence.load
@@ -84,7 +83,7 @@ describe Puppet::Transaction::Persistence do
84
83
  it "should initialize with a clear internal state if the file does not contain a hash of data" do
85
84
  write_state_file("not_a_hash")
86
85
 
87
- Puppet.expects(:err).with(regexp_matches(/Transaction store file .* is valid YAML but not returning a hash/))
86
+ expect(Puppet).to receive(:err).with(/Transaction store file .* is valid YAML but not returning a hash/)
88
87
 
89
88
  persistence = Puppet::Transaction::Persistence.new
90
89
  persistence.load
@@ -95,10 +94,10 @@ describe Puppet::Transaction::Persistence do
95
94
  it "should raise an error if the file does not contain valid YAML and cannot be renamed" do
96
95
  write_state_file('{ invalid')
97
96
 
98
- File.expects(:rename).raises(SystemCallError)
97
+ expect(File).to receive(:rename).and_raise(SystemCallError)
99
98
 
100
- Puppet.expects(:send_log).with(:err, regexp_matches(/Transaction store file .* is corrupt/))
101
- Puppet.expects(:send_log).with(:err, regexp_matches(/Unable to rename/))
99
+ expect(Puppet).to receive(:send_log).with(:err, /Transaction store file .* is corrupt/)
100
+ expect(Puppet).to receive(:send_log).with(:err, /Unable to rename/)
102
101
 
103
102
  persistence = Puppet::Transaction::Persistence.new
104
103
  expect { persistence.load }.to raise_error(Puppet::Error, /Could not rename/)
@@ -107,9 +106,9 @@ describe Puppet::Transaction::Persistence do
107
106
  it "should attempt to rename the file if the file is corrupted" do
108
107
  write_state_file('{ invalid')
109
108
 
110
- File.expects(:rename).at_least_once
109
+ expect(File).to receive(:rename).at_least(:once)
111
110
 
112
- Puppet.expects(:send_log).with(:err, regexp_matches(/Transaction store file .* is corrupt/))
111
+ expect(Puppet).to receive(:send_log).with(:err, /Transaction store file .* is corrupt/)
113
112
 
114
113
  persistence = Puppet::Transaction::Persistence.new
115
114
  persistence.load
@@ -119,7 +118,7 @@ describe Puppet::Transaction::Persistence do
119
118
  FileUtils.rm_f(@tmpfile)
120
119
  Dir.mkdir(@tmpfile)
121
120
 
122
- Puppet.expects(:warning).with(regexp_matches(/Transaction store file .* is not a file/))
121
+ expect(Puppet).to receive(:warning).with(/Transaction store file .* is not a file/)
123
122
 
124
123
  persistence = Puppet::Transaction::Persistence.new
125
124
  persistence.load
@@ -178,7 +177,7 @@ describe Puppet::Transaction::Persistence do
178
177
 
179
178
  describe "when checking if persistence is enabled" do
180
179
  let(:mock_catalog) do
181
- mock
180
+ double()
182
181
  end
183
182
 
184
183
  let (:persistence) do
@@ -195,25 +194,25 @@ describe Puppet::Transaction::Persistence do
195
194
 
196
195
  it "should not be enabled when not running in agent mode" do
197
196
  Puppet.settings.preferred_run_mode = :user
198
- mock_catalog.stubs(:host_config?).returns(true)
197
+ allow(mock_catalog).to receive(:host_config?).and_return(true)
199
198
  expect(persistence.enabled?(mock_catalog)).to be false
200
199
  end
201
200
 
202
201
  it "should not be enabled when the catalog is not the host catalog" do
203
202
  Puppet.settings.preferred_run_mode = :agent
204
- mock_catalog.stubs(:host_config?).returns(false)
203
+ allow(mock_catalog).to receive(:host_config?).and_return(false)
205
204
  expect(persistence.enabled?(mock_catalog)).to be false
206
205
  end
207
206
 
208
207
  it "should not be enabled outside of agent mode and the catalog is not the host catalog" do
209
208
  Puppet.settings.preferred_run_mode = :user
210
- mock_catalog.stubs(:host_config?).returns(false)
209
+ allow(mock_catalog).to receive(:host_config?).and_return(false)
211
210
  expect(persistence.enabled?(mock_catalog)).to be false
212
211
  end
213
212
 
214
213
  it "should be enabled in agent mode and when the catalog is the host catalog" do
215
214
  Puppet.settings.preferred_run_mode = :agent
216
- mock_catalog.stubs(:host_config?).returns(true)
215
+ allow(mock_catalog).to receive(:host_config?).and_return(true)
217
216
  expect(persistence.enabled?(mock_catalog)).to be true
218
217
  end
219
218
  end
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet'
@@ -10,7 +9,7 @@ describe Puppet::Transaction::Report do
10
9
  include PuppetSpec::Files
11
10
 
12
11
  before do
13
- Puppet::Util::Storage.stubs(:store)
12
+ allow(Puppet::Util::Storage).to receive(:store)
14
13
  end
15
14
 
16
15
  it "should set its host name to the node_name_value" do
@@ -24,7 +23,7 @@ describe Puppet::Transaction::Report do
24
23
  end
25
24
 
26
25
  it "should create an initialization timestamp" do
27
- Time.expects(:now).returns "mytime"
26
+ expect(Time).to receive(:now).and_return("mytime")
28
27
  expect(Puppet::Transaction::Report.new.time).to eq("mytime")
29
28
  end
30
29
 
@@ -116,7 +115,7 @@ describe Puppet::Transaction::Report do
116
115
  end
117
116
 
118
117
  it "should not include whits" do
119
- Puppet::FileBucket::File.indirection.stubs(:save)
118
+ allow(Puppet::FileBucket::File.indirection).to receive(:save)
120
119
 
121
120
  filename = tmpfile('whit_test')
122
121
  file = Puppet::Type.type(:file).new(:path => filename)
@@ -167,7 +166,7 @@ describe Puppet::Transaction::Report do
167
166
  end
168
167
 
169
168
  it "should add each status to its status list" do
170
- status = stub 'status', :resource => "foo"
169
+ status = double('status', :resource => "foo")
171
170
  @report.add_resource_status status
172
171
  expect(@report.resource_statuses["foo"]).to equal(status)
173
172
  end
@@ -175,11 +174,11 @@ describe Puppet::Transaction::Report do
175
174
 
176
175
  describe "when using the indirector" do
177
176
  it "should redirect :save to the indirection" do
178
- Facter.stubs(:value).returns("eh")
179
- @indirection = stub 'indirection', :name => :report
180
- Puppet::Transaction::Report.stubs(:indirection).returns(@indirection)
177
+ allow(Facter).to receive(:value).and_return("eh")
178
+ @indirection = double('indirection', :name => :report)
179
+ allow(Puppet::Transaction::Report).to receive(:indirection).and_return(@indirection)
181
180
  report = Puppet::Transaction::Report.new
182
- @indirection.expects(:save)
181
+ expect(@indirection).to receive(:save)
183
182
  Puppet::Transaction::Report.indirection.save(report)
184
183
  end
185
184
 
@@ -189,7 +188,7 @@ describe Puppet::Transaction::Report do
189
188
 
190
189
  it "should delegate its name attribute to its host method" do
191
190
  report = Puppet::Transaction::Report.new
192
- report.expects(:host).returns "me"
191
+ expect(report).to receive(:host).and_return("me")
193
192
  expect(report.name).to eq("me")
194
193
  end
195
194
  end
@@ -455,7 +454,7 @@ describe Puppet::Transaction::Report do
455
454
 
456
455
  describe "when producing a summary" do
457
456
  before do
458
- Benchmark.stubs(:realtime).returns(5.05683418)
457
+ allow(Benchmark).to receive(:realtime).and_return(5.05683418)
459
458
  resource = Puppet::Type.type(:notify).new(:name => "testing")
460
459
  catalog = Puppet::Resource::Catalog.new
461
460
  catalog.add_resource resource
@@ -474,7 +473,7 @@ describe Puppet::Transaction::Report do
474
473
  end
475
474
 
476
475
  it "should include the last run time in the raw summary hash" do
477
- Time.stubs(:now).returns(Time.utc(2010,11,10,12,0,24))
476
+ allow(Time).to receive(:now).and_return(Time.utc(2010,11,10,12,0,24))
478
477
  expect(@report.raw_summary["time"]["last_run"]).to eq(1289390424)
479
478
  end
480
479
 
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/transaction/resource_harness'
@@ -15,7 +14,7 @@ describe Puppet::Transaction::ResourceHarness do
15
14
  @resource = Puppet::Type.type(:file).new :path => path
16
15
  @harness = Puppet::Transaction::ResourceHarness.new(@transaction)
17
16
  @current_state = Puppet::Resource.new(:file, path)
18
- @resource.stubs(:retrieve).returns @current_state
17
+ allow(@resource).to receive(:retrieve).and_return(@current_state)
19
18
  end
20
19
 
21
20
  it "should accept a transaction at initialization" do
@@ -24,7 +23,7 @@ describe Puppet::Transaction::ResourceHarness do
24
23
  end
25
24
 
26
25
  it "should delegate to the transaction for its relationship graph" do
27
- @transaction.expects(:relationship_graph).returns "relgraph"
26
+ expect(@transaction).to receive(:relationship_graph).and_return("relgraph")
28
27
  expect(Puppet::Transaction::ResourceHarness.new(@transaction).relationship_graph).to eq("relgraph")
29
28
  end
30
29
 
@@ -38,14 +37,14 @@ describe Puppet::Transaction::ResourceHarness do
38
37
  end
39
38
 
40
39
  it "retrieves the current state of the resource" do
41
- @resource.expects(:retrieve).returns @current_state
40
+ expect(@resource).to receive(:retrieve).and_return(@current_state)
42
41
 
43
42
  @harness.evaluate(@resource)
44
43
  end
45
44
 
46
45
  it "produces a failure status for the resource when an error occurs" do
47
46
  the_message = "retrieve failed in testing"
48
- @resource.expects(:retrieve).raises(ArgumentError.new(the_message))
47
+ expect(@resource).to receive(:retrieve).and_raise(ArgumentError.new(the_message))
49
48
 
50
49
  status = @harness.evaluate(@resource)
51
50
 
@@ -290,7 +289,7 @@ describe Puppet::Transaction::ResourceHarness do
290
289
  before :each do
291
290
  stub_provider = make_stub_provider
292
291
  resource = stub_provider.new :name => 'name', :foo => 1, :bar => 2
293
- resource.expects(:err).never
292
+ expect(resource).not_to receive(:err)
294
293
  @status = @harness.evaluate(resource)
295
294
  end
296
295
 
@@ -309,7 +308,7 @@ describe Puppet::Transaction::ResourceHarness do
309
308
  before :each do
310
309
  stub_provider = make_stub_provider
311
310
  @resource = stub_provider.new :name => 'name', :baz => 1
312
- @resource.expects(:err).never
311
+ expect(@resource).not_to receive(:err)
313
312
  end
314
313
 
315
314
  it "should log and pass the exception through" do
@@ -323,7 +322,7 @@ describe Puppet::Transaction::ResourceHarness do
323
322
  before :each do
324
323
  stub_provider = make_stub_provider
325
324
  @resource = stub_provider.new :name => 'name', :brillig => 1
326
- @resource.expects(:err).never
325
+ expect(@resource).not_to receive(:err)
327
326
  end
328
327
 
329
328
  it "should record a failure event" do
@@ -338,7 +337,7 @@ describe Puppet::Transaction::ResourceHarness do
338
337
  before :each do
339
338
  stub_provider = make_stub_provider
340
339
  @resource = stub_provider.new :name => 'name', :slithy => 1
341
- @resource.expects(:err).never
340
+ expect(@resource).not_to receive(:err)
342
341
  end
343
342
 
344
343
  it "should log and pass the exception through" do
@@ -352,7 +351,7 @@ describe Puppet::Transaction::ResourceHarness do
352
351
  it "should not call insync? on parameters that are merely audited" do
353
352
  stub_provider = make_stub_provider
354
353
  resource = stub_provider.new :name => 'name', :audit => ['foo']
355
- resource.property(:foo).expects(:insync?).never
354
+ expect(resource.property(:foo)).not_to receive(:insync?)
356
355
  status = @harness.evaluate(resource)
357
356
 
358
357
  expect(status.events).to be_empty
@@ -362,7 +361,7 @@ describe Puppet::Transaction::ResourceHarness do
362
361
  test_file = tmpfile('foo')
363
362
  File.open(test_file, 'w').close
364
363
  resource = Puppet::Type.type(:file).new :path => test_file, :audit => ['group'], :backup => false
365
- resource.expects(:err).never # make sure no exceptions get swallowed
364
+ expect(resource).not_to receive(:err) # make sure no exceptions get swallowed
366
365
 
367
366
  status = @harness.evaluate(resource)
368
367
 
@@ -388,11 +387,9 @@ describe Puppet::Transaction::ResourceHarness do
388
387
  # set up the sequence of stubs; yeah, this is pretty
389
388
  # brittle, so this might need to be adjusted if the
390
389
  # resource_harness logic changes
391
- resource.expects(:retrieve).returns(current_from_filesystem)
392
- Puppet::Util::Storage.stubs(:cache).with(resource).
393
- returns(historical_from_state_yaml).then.
394
- returns(current_from_filesystem).then.
395
- returns(current_from_filesystem)
390
+ expect(resource).to receive(:retrieve).and_return(current_from_filesystem)
391
+ allow(Puppet::Util::Storage).to receive(:cache).with(resource).
392
+ and_return(historical_from_state_yaml, current_from_filesystem, current_from_filesystem)
396
393
 
397
394
  # there should be an audit change recorded, since the two
398
395
  # timestamps differ by at least 1 microsecond
@@ -421,11 +418,9 @@ describe Puppet::Transaction::ResourceHarness do
421
418
  # set up the sequence of stubs; yeah, this is pretty
422
419
  # brittle, so this might need to be adjusted if the
423
420
  # resource_harness logic changes
424
- resource.expects(:retrieve).returns(current_from_filesystem)
425
- Puppet::Util::Storage.stubs(:cache).with(resource).
426
- returns(historical_from_state_yaml).then.
427
- returns(current_from_filesystem).then.
428
- returns(current_from_filesystem)
421
+ expect(resource).to receive(:retrieve).and_return(current_from_filesystem)
422
+ allow(Puppet::Util::Storage).to receive(:cache).with(resource).
423
+ and_return(historical_from_state_yaml, current_from_filesystem, current_from_filesystem)
429
424
 
430
425
  # there should be no audit change recorded, despite the
431
426
  # slight difference in the two timestamps
@@ -476,19 +471,19 @@ describe Puppet::Transaction::ResourceHarness do
476
471
  end
477
472
 
478
473
  it "redacts notices when a parameter is newly audited" do
479
- resource.property(:content).expects(:notice).with("audit change: newly-recorded value [redacted]")
474
+ expect(resource.property(:content)).to receive(:notice).with("audit change: newly-recorded value [redacted]")
480
475
  @harness.evaluate(resource)
481
476
  end
482
477
 
483
478
  it "redacts event messages for sensitive properties" do
484
- Puppet::Util::Storage.stubs(:cache).with(resource).returns({:content => "historical world"})
479
+ allow(Puppet::Util::Storage).to receive(:cache).with(resource).and_return({:content => "historical world"})
485
480
  status = @harness.evaluate(resource)
486
481
  sync_event = status.events[0]
487
482
  expect(sync_event.message).to eq 'changed [redacted] to [redacted] (previously recorded value was [redacted])'
488
483
  end
489
484
 
490
485
  it "redacts audit event messages for sensitive properties when simulating noop changes" do
491
- Puppet::Util::Storage.stubs(:cache).with(resource).returns({:content => "historical world"})
486
+ allow(Puppet::Util::Storage).to receive(:cache).with(resource).and_return({:content => "historical world"})
492
487
  resource[:noop] = true
493
488
  status = @harness.evaluate(resource)
494
489
  sync_event = status.events[0]
@@ -496,7 +491,7 @@ describe Puppet::Transaction::ResourceHarness do
496
491
  end
497
492
 
498
493
  it "redacts event contents for sensitive properties" do
499
- Puppet::Util::Storage.stubs(:cache).with(resource).returns({:content => "historical world"})
494
+ allow(Puppet::Util::Storage).to receive(:cache).with(resource).and_return({:content => "historical world"})
500
495
  status = @harness.evaluate(resource)
501
496
  sync_event = status.events[0]
502
497
  expect(sync_event.historical_value).to eq '[redacted]'
@@ -535,7 +530,7 @@ describe Puppet::Transaction::ResourceHarness do
535
530
 
536
531
  it "should warn and return nil if the resource has no catalog" do
537
532
  @resource.catalog = nil
538
- @resource.expects(:warning)
533
+ expect(@resource).to receive(:warning)
539
534
 
540
535
  expect(@harness.schedule(@resource)).to be_nil
541
536
  end
@@ -546,7 +541,7 @@ describe Puppet::Transaction::ResourceHarness do
546
541
 
547
542
  it "should fail if the named schedule cannot be found" do
548
543
  @resource[:schedule] = "whatever"
549
- @resource.expects(:fail)
544
+ expect(@resource).to receive(:fail)
550
545
  @harness.schedule(@resource)
551
546
  end
552
547
 
@@ -576,13 +571,13 @@ describe Puppet::Transaction::ResourceHarness do
576
571
 
577
572
  it "should return the result of matching the schedule with the cached 'checked' time if a schedule is set" do
578
573
  t = Time.now
579
- @harness.expects(:cached).with(@resource, :checked).returns(t)
574
+ expect(@harness).to receive(:cached).with(@resource, :checked).and_return(t)
580
575
 
581
576
  sched = Puppet::Type.type(:schedule).new(:name => "sched")
582
577
  @catalog.add_resource(sched)
583
578
  @resource[:schedule] = "sched"
584
579
 
585
- sched.expects(:match?).with(t.to_i).returns "feh"
580
+ expect(sched).to receive(:match?).with(t.to_i).and_return("feh")
586
581
 
587
582
  expect(@harness.scheduled?(@resource)).to eq("feh")
588
583
  end
@@ -590,7 +585,7 @@ describe Puppet::Transaction::ResourceHarness do
590
585
 
591
586
  it "should be able to cache data in the Storage module" do
592
587
  data = {}
593
- Puppet::Util::Storage.expects(:cache).with(@resource).returns data
588
+ expect(Puppet::Util::Storage).to receive(:cache).with(@resource).and_return(data)
594
589
  @harness.cache(@resource, :foo, "something")
595
590
 
596
591
  expect(data[:foo]).to eq("something")
@@ -598,7 +593,7 @@ describe Puppet::Transaction::ResourceHarness do
598
593
 
599
594
  it "should be able to retrieve data from the cache" do
600
595
  data = {:foo => "other"}
601
- Puppet::Util::Storage.expects(:cache).with(@resource).returns data
596
+ expect(Puppet::Util::Storage).to receive(:cache).with(@resource).and_return(data)
602
597
  expect(@harness.cached(@resource, :foo)).to eq("other")
603
598
  end
604
599
 
@@ -614,14 +609,14 @@ describe Puppet::Transaction::ResourceHarness do
614
609
  end
615
610
 
616
611
  it "contains (corrective) when corrective change" do
617
- Puppet::Transaction::Event.any_instance.stubs(:corrective_change).returns(true)
612
+ allow_any_instance_of(Puppet::Transaction::Event).to receive(:corrective_change).and_return(true)
618
613
  status = @harness.evaluate(resource)
619
614
  sync_event = status.events[0]
620
615
  expect(sync_event.message).to match(/content changed '{md5}[0-9a-f]+' to '{md5}[0-9a-f]+' \(corrective\)/)
621
616
  end
622
617
 
623
618
  it "contains no modifier when intentional change" do
624
- Puppet::Transaction::Event.any_instance.stubs(:corrective_change).returns(false)
619
+ allow_any_instance_of(Puppet::Transaction::Event).to receive(:corrective_change).and_return(false)
625
620
  status = @harness.evaluate(resource)
626
621
  sync_event = status.events[0]
627
622
  expect(sync_event.message).to match(/content changed '{md5}[0-9a-f]+' to '{md5}[0-9a-f]+'$/)
@@ -89,7 +89,7 @@ describe Puppet::Transaction do
89
89
  report = Puppet::Transaction::Report.new
90
90
  catalog.retrieval_duration = 5
91
91
 
92
- report.expects(:add_times).with(:config_retrieval, 5)
92
+ expect(report).to receive(:add_times).with(:config_retrieval, 5)
93
93
 
94
94
  Puppet::Transaction.new(catalog, report, nil)
95
95
  end
@@ -101,8 +101,8 @@ describe Puppet::Transaction do
101
101
  it "should process events" do
102
102
  transaction = transaction_with_resource(resource)
103
103
 
104
- transaction.expects(:skip?).with(resource).returns false
105
- transaction.event_manager.expects(:process_events).with(resource)
104
+ expect(transaction).to receive(:skip?).with(resource).and_return(false)
105
+ expect(transaction.event_manager).to receive(:process_events).with(resource)
106
106
 
107
107
  transaction.evaluate
108
108
  end
@@ -111,7 +111,7 @@ describe Puppet::Transaction do
111
111
  it "should mark the resource's status as skipped" do
112
112
  transaction = transaction_with_resource(resource)
113
113
 
114
- transaction.expects(:skip?).with(resource).returns true
114
+ expect(transaction).to receive(:skip?).with(resource).and_return(true)
115
115
 
116
116
  transaction.evaluate
117
117
  expect(transaction.resource_status(resource)).to be_skipped
@@ -119,15 +119,15 @@ describe Puppet::Transaction do
119
119
 
120
120
  it "does not process any scheduled events" do
121
121
  transaction = transaction_with_resource(resource)
122
- transaction.expects(:skip?).with(resource).returns true
123
- transaction.event_manager.expects(:process_events).with(resource).never
122
+ expect(transaction).to receive(:skip?).with(resource).and_return(true)
123
+ expect(transaction.event_manager).not_to receive(:process_events).with(resource)
124
124
  transaction.evaluate
125
125
  end
126
126
 
127
127
  it "dequeues all events scheduled on that resource" do
128
128
  transaction = transaction_with_resource(resource)
129
- transaction.expects(:skip?).with(resource).returns true
130
- transaction.event_manager.expects(:dequeue_all_events_for_resource).with(resource)
129
+ expect(transaction).to receive(:skip?).with(resource).and_return(true)
130
+ expect(transaction.event_manager).to receive(:dequeue_all_events_for_resource).with(resource)
131
131
  transaction.evaluate
132
132
  end
133
133
  end
@@ -136,7 +136,7 @@ describe Puppet::Transaction do
136
136
  describe "when evaluating a skipped resource for corrective change it" do
137
137
  before :each do
138
138
  # Enable persistence during tests
139
- Puppet::Transaction::Persistence.any_instance.stubs(:enabled?).returns(true)
139
+ allow_any_instance_of(Puppet::Transaction::Persistence).to receive(:enabled?).and_return(true)
140
140
  end
141
141
 
142
142
  it "should persist in the transactionstore" do
@@ -148,8 +148,8 @@ describe Puppet::Transaction do
148
148
  expect(transaction.resource_status(resource)).to be_changed
149
149
 
150
150
  transaction = transaction_with_resource(resource)
151
- transaction.expects(:skip?).with(resource).returns true
152
- transaction.event_manager.expects(:process_events).with(resource).never
151
+ expect(transaction).to receive(:skip?).with(resource).and_return(true)
152
+ expect(transaction.event_manager).not_to receive(:process_events).with(resource)
153
153
  transaction.evaluate
154
154
  expect(transaction.resource_status(resource)).to be_skipped
155
155
 
@@ -167,35 +167,35 @@ describe Puppet::Transaction do
167
167
  @status = Puppet::Resource::Status.new(@resource)
168
168
 
169
169
  @transaction = Puppet::Transaction.new(@catalog, nil, Puppet::Graph::SequentialPrioritizer.new)
170
- @transaction.event_manager.stubs(:queue_events)
170
+ allow(@transaction.event_manager).to receive(:queue_events)
171
171
  end
172
172
 
173
173
  it "should use its resource harness to apply the resource" do
174
- @transaction.resource_harness.expects(:evaluate).with(@resource)
174
+ expect(@transaction.resource_harness).to receive(:evaluate).with(@resource)
175
175
  @transaction.evaluate
176
176
  end
177
177
 
178
178
  it "should add the resulting resource status to its status list" do
179
- @transaction.resource_harness.stubs(:evaluate).returns(@status)
179
+ allow(@transaction.resource_harness).to receive(:evaluate).and_return(@status)
180
180
  @transaction.evaluate
181
181
  expect(@transaction.resource_status(@resource)).to be_instance_of(Puppet::Resource::Status)
182
182
  end
183
183
 
184
184
  it "should queue any events added to the resource status" do
185
- @transaction.resource_harness.stubs(:evaluate).returns(@status)
186
- @status.expects(:events).returns %w{a b}
187
- @transaction.event_manager.expects(:queue_events).with(@resource, ["a", "b"])
185
+ allow(@transaction.resource_harness).to receive(:evaluate).and_return(@status)
186
+ expect(@status).to receive(:events).and_return(%w{a b})
187
+ expect(@transaction.event_manager).to receive(:queue_events).with(@resource, ["a", "b"])
188
188
  @transaction.evaluate
189
189
  end
190
190
 
191
191
  it "should log and skip any resources that cannot be applied" do
192
- @resource.expects(:properties).raises ArgumentError
192
+ expect(@resource).to receive(:properties).and_raise(ArgumentError)
193
193
  @transaction.evaluate
194
194
  expect(@transaction.report.resource_statuses[@resource.to_s]).to be_failed
195
195
  end
196
196
 
197
197
  it "should report any_failed if any resources failed" do
198
- @resource.expects(:properties).raises ArgumentError
198
+ expect(@resource).to receive(:properties).and_raise(ArgumentError)
199
199
  @transaction.evaluate
200
200
 
201
201
  expect(@transaction).to be_any_failed
@@ -235,8 +235,8 @@ describe Puppet::Transaction do
235
235
  end
236
236
 
237
237
  it "should warn if there are no blockers" do
238
- vertex = stub('vertex')
239
- vertex.expects(:warning).with "appears to have a negative number of dependencies"
238
+ vertex = double('vertex')
239
+ expect(vertex).to receive(:warning).with("appears to have a negative number of dependencies")
240
240
  graph.blockers[vertex] = 0
241
241
 
242
242
  graph.unblock(vertex)
@@ -264,7 +264,7 @@ describe Puppet::Transaction do
264
264
  end
265
265
 
266
266
  it "should yield the resource even if eval_generate is called" do
267
- Puppet::Transaction::AdditionalResourceGenerator.any_instance.expects(:eval_generate).with(resource).returns true
267
+ expect_any_instance_of(Puppet::Transaction::AdditionalResourceGenerator).to receive(:eval_generate).with(resource).and_return(true)
268
268
 
269
269
  yielded = false
270
270
  @transaction.evaluate do |res|
@@ -275,7 +275,7 @@ describe Puppet::Transaction do
275
275
  end
276
276
 
277
277
  it "should prefetch the provider if necessary" do
278
- @transaction.expects(:prefetch_if_necessary).with(resource)
278
+ expect(@transaction).to receive(:prefetch_if_necessary).with(resource)
279
279
 
280
280
  @transaction.evaluate {}
281
281
  end
@@ -308,7 +308,7 @@ describe Puppet::Transaction do
308
308
  dependent = Puppet::Type.type(:notify).new(:name => "hello", :require => resource)
309
309
  @transaction.catalog.add_resource(dependent)
310
310
 
311
- resource.stubs(:suitable?).returns false
311
+ allow(resource).to receive(:suitable?).and_return(false)
312
312
 
313
313
  evaluated = []
314
314
  @transaction.evaluate do |res|
@@ -331,20 +331,20 @@ describe Puppet::Transaction do
331
331
 
332
332
  before :each do
333
333
  catalog.add_resource generator
334
- generator.stubs(:generate).returns generated
334
+ allow(generator).to receive(:generate).and_return(generated)
335
335
  # avoid crude failures because of nil resources that result
336
336
  # from implicit containment and lacking containers
337
- catalog.stubs(:container_of).returns generator
337
+ allow(catalog).to receive(:container_of).and_return(generator)
338
338
  end
339
339
 
340
340
  it "should call 'generate' on all created resources" do
341
- generated.each { |res| res.expects(:generate) }
341
+ generated.each { |res| expect(res).to receive(:generate) }
342
342
 
343
343
  transaction.evaluate
344
344
  end
345
345
 
346
346
  it "should finish all resources" do
347
- generated.each { |res| res.expects(:finish) }
347
+ generated.each { |res| expect(res).to receive(:finish) }
348
348
 
349
349
  transaction.evaluate
350
350
  end
@@ -369,30 +369,29 @@ describe Puppet::Transaction do
369
369
 
370
370
  before :each do
371
371
  generator = Puppet::Transaction::AdditionalResourceGenerator.new(catalog, nil, prioritizer)
372
- Puppet::Transaction::AdditionalResourceGenerator.stubs(:new).returns(generator)
372
+ allow(Puppet::Transaction::AdditionalResourceGenerator).to receive(:new).and_return(generator)
373
373
  end
374
374
 
375
375
  it "should should query the generator for whether resources failed to generate" do
376
376
  relationship_graph = Puppet::Graph::RelationshipGraph.new(prioritizer)
377
- catalog.stubs(:relationship_graph).returns(relationship_graph)
377
+ allow(catalog).to receive(:relationship_graph).and_return(relationship_graph)
378
378
 
379
- sequence = sequence(:traverse_first)
380
- relationship_graph.expects(:traverse).in_sequence(sequence)
381
- generator.expects(:resources_failed_to_generate).in_sequence(sequence)
379
+ expect(relationship_graph).to receive(:traverse).ordered
380
+ expect(generator).to receive(:resources_failed_to_generate).ordered
382
381
 
383
382
  transaction.evaluate
384
383
  end
385
384
 
386
385
  it "should report that resources failed to generate" do
387
- generator.expects(:resources_failed_to_generate).returns(true)
388
- report.expects(:resources_failed_to_generate=).with(true)
386
+ expect(generator).to receive(:resources_failed_to_generate).and_return(true)
387
+ expect(report).to receive(:resources_failed_to_generate=).with(true)
389
388
 
390
389
  transaction.evaluate
391
390
  end
392
391
 
393
392
  it "should not report that resources failed to generate if none did" do
394
- generator.expects(:resources_failed_to_generate).returns(false)
395
- report.expects(:resources_failed_to_generate=).never
393
+ expect(generator).to receive(:resources_failed_to_generate).and_return(false)
394
+ expect(report).not_to receive(:resources_failed_to_generate=)
396
395
 
397
396
  transaction.evaluate
398
397
  end
@@ -404,20 +403,20 @@ describe Puppet::Transaction do
404
403
  let(:spec_exception) { 'spec-exception' }
405
404
 
406
405
  it "should invoke each resource's hook and apply the catalog after no failures" do
407
- resource.expects(:pre_run_check)
406
+ expect(resource).to receive(:pre_run_check)
408
407
 
409
408
  transaction.evaluate
410
409
  end
411
410
 
412
411
  it "should abort the transaction on failure" do
413
- resource.expects(:pre_run_check).raises(Puppet::Error, spec_exception)
412
+ expect(resource).to receive(:pre_run_check).and_raise(Puppet::Error, spec_exception)
414
413
 
415
414
  expect { transaction.evaluate }.to raise_error(Puppet::Error, /Some pre-run checks failed/)
416
415
  end
417
416
 
418
417
  it "should log the resource-specific exception" do
419
- resource.expects(:pre_run_check).raises(Puppet::Error, spec_exception)
420
- resource.expects(:log_exception).with(responds_with(:message, spec_exception))
418
+ expect(resource).to receive(:pre_run_check).and_raise(Puppet::Error, spec_exception)
419
+ expect(resource).to receive(:log_exception).with(have_attributes(message: match(/#{spec_exception}/)))
421
420
 
422
421
  expect { transaction.evaluate }.to raise_error(Puppet::Error)
423
422
  end
@@ -432,61 +431,61 @@ describe Puppet::Transaction do
432
431
  end
433
432
 
434
433
  it "should skip resource with missing tags" do
435
- @transaction.stubs(:missing_tags?).returns(true)
434
+ allow(@transaction).to receive(:missing_tags?).and_return(true)
436
435
  expect(@transaction).to be_skip(@resource)
437
436
  end
438
437
 
439
438
  it "should skip resources tagged with the skip tags" do
440
- @transaction.stubs(:skip_tags?).returns(true)
439
+ allow(@transaction).to receive(:skip_tags?).and_return(true)
441
440
  expect(@transaction).to be_skip(@resource)
442
441
  end
443
442
 
444
443
  it "should skip unscheduled resources" do
445
- @transaction.stubs(:scheduled?).returns(false)
444
+ allow(@transaction).to receive(:scheduled?).and_return(false)
446
445
  expect(@transaction).to be_skip(@resource)
447
446
  end
448
447
 
449
448
  it "should skip resources with failed dependencies" do
450
- @transaction.stubs(:failed_dependencies?).returns(true)
449
+ allow(@transaction).to receive(:failed_dependencies?).and_return(true)
451
450
  expect(@transaction).to be_skip(@resource)
452
451
  end
453
452
 
454
453
  it "should skip virtual resource" do
455
- @resource.stubs(:virtual?).returns true
454
+ allow(@resource).to receive(:virtual?).and_return(true)
456
455
  expect(@transaction).to be_skip(@resource)
457
456
  end
458
457
 
459
458
  it "should skip device only resouce on normal host" do
460
- @resource.stubs(:appliable_to_host?).returns false
461
- @resource.stubs(:appliable_to_device?).returns true
459
+ allow(@resource).to receive(:appliable_to_host?).and_return(false)
460
+ allow(@resource).to receive(:appliable_to_device?).and_return(true)
462
461
  @transaction.for_network_device = false
463
462
  expect(@transaction).to be_skip(@resource)
464
463
  end
465
464
 
466
465
  it "should not skip device only resouce on remote device" do
467
- @resource.stubs(:appliable_to_host?).returns false
468
- @resource.stubs(:appliable_to_device?).returns true
466
+ allow(@resource).to receive(:appliable_to_host?).and_return(false)
467
+ allow(@resource).to receive(:appliable_to_device?).and_return(true)
469
468
  @transaction.for_network_device = true
470
469
  expect(@transaction).not_to be_skip(@resource)
471
470
  end
472
471
 
473
472
  it "should skip host resouce on device" do
474
- @resource.stubs(:appliable_to_host?).returns true
475
- @resource.stubs(:appliable_to_device?).returns false
473
+ allow(@resource).to receive(:appliable_to_host?).and_return(true)
474
+ allow(@resource).to receive(:appliable_to_device?).and_return(false)
476
475
  @transaction.for_network_device = true
477
476
  expect(@transaction).to be_skip(@resource)
478
477
  end
479
478
 
480
479
  it "should not skip resouce available on both device and host when on device" do
481
- @resource.stubs(:appliable_to_host?).returns true
482
- @resource.stubs(:appliable_to_device?).returns true
480
+ allow(@resource).to receive(:appliable_to_host?).and_return(true)
481
+ allow(@resource).to receive(:appliable_to_device?).and_return(true)
483
482
  @transaction.for_network_device = true
484
483
  expect(@transaction).not_to be_skip(@resource)
485
484
  end
486
485
 
487
486
  it "should not skip resouce available on both device and host when on host" do
488
- @resource.stubs(:appliable_to_host?).returns true
489
- @resource.stubs(:appliable_to_device?).returns true
487
+ allow(@resource).to receive(:appliable_to_host?).and_return(true)
488
+ allow(@resource).to receive(:appliable_to_device?).and_return(true)
490
489
  @transaction.for_network_device = false
491
490
  expect(@transaction).not_to be_skip(@resource)
492
491
  end
@@ -499,20 +498,20 @@ describe Puppet::Transaction do
499
498
  @resource.catalog = @catalog
500
499
  @transaction = Puppet::Transaction.new(@catalog, nil, nil)
501
500
 
502
- @transaction.stubs(:ignore_tags?).returns false
501
+ allow(@transaction).to receive(:ignore_tags?).and_return(false)
503
502
  end
504
503
 
505
504
  it "should not be missing tags if tags are being ignored" do
506
- @transaction.expects(:ignore_tags?).returns true
505
+ expect(@transaction).to receive(:ignore_tags?).and_return(true)
507
506
 
508
- @resource.expects(:tagged?).never
507
+ expect(@resource).not_to receive(:tagged?)
509
508
 
510
509
  expect(@transaction).not_to be_missing_tags(@resource)
511
510
  end
512
511
 
513
512
  it "should not be missing tags if the transaction tags are empty" do
514
513
  @transaction.tags = []
515
- @resource.expects(:tagged?).never
514
+ expect(@resource).not_to receive(:tagged?)
516
515
  expect(@transaction).not_to be_missing_tags(@resource)
517
516
  end
518
517
 
@@ -533,14 +532,14 @@ describe Puppet::Transaction do
533
532
 
534
533
  it "should always schedule resources if 'ignoreschedules' is set" do
535
534
  @transaction.ignoreschedules = true
536
- @transaction.resource_harness.expects(:scheduled?).never
535
+ expect(@transaction.resource_harness).not_to receive(:scheduled?)
537
536
 
538
537
  @transaction.evaluate
539
538
  expect(@transaction.resource_status(@resource)).to be_changed
540
539
  end
541
540
 
542
541
  it "should let the resource harness determine whether the resource should be scheduled" do
543
- @transaction.resource_harness.expects(:scheduled?).with(@resource).returns "feh"
542
+ expect(@transaction.resource_harness).to receive(:scheduled?).with(@resource).and_return("feh")
544
543
 
545
544
  @transaction.evaluate
546
545
  end
@@ -553,13 +552,13 @@ describe Puppet::Transaction do
553
552
  let(:resource2) { Puppet::Type.type(:package).new :title => "blah", :provider => :apt }
554
553
 
555
554
  before :each do
556
- resource.stubs(:suitable?).returns(true)
555
+ allow(resource).to receive(:suitable?).and_return(true)
557
556
  catalog.add_resource resource
558
557
  catalog.add_resource resource2
559
558
  end
560
559
 
561
560
  it "should match resources by name, not title" do
562
- resource.provider.class.expects(:prefetch).with("bar" => resource)
561
+ expect(resource.provider.class).to receive(:prefetch).with("bar" => resource)
563
562
 
564
563
  transaction.prefetch_if_necessary(resource)
565
564
  end
@@ -567,13 +566,13 @@ describe Puppet::Transaction do
567
566
  it "should not prefetch a provider which has already been prefetched" do
568
567
  transaction.prefetched_providers[:package][:pkgng] = true
569
568
 
570
- resource.provider.class.expects(:prefetch).never
569
+ expect(resource.provider.class).not_to receive(:prefetch)
571
570
 
572
571
  transaction.prefetch_if_necessary(resource)
573
572
  end
574
573
 
575
574
  it "should mark the provider prefetched" do
576
- resource.provider.class.stubs(:prefetch)
575
+ allow(resource.provider.class).to receive(:prefetch)
577
576
 
578
577
  transaction.prefetch_if_necessary(resource)
579
578
 
@@ -586,8 +585,8 @@ describe Puppet::Transaction do
586
585
 
587
586
  catalog.add_resource other
588
587
 
589
- resource.class.stubs(:defaultprovider).returns(resource.provider.class)
590
- resource.provider.class.expects(:prefetch).with('bar' => resource, 'other' => other)
588
+ allow(resource.class).to receive(:defaultprovider).and_return(resource.provider.class)
589
+ expect(resource.provider.class).to receive(:prefetch).with('bar' => resource, 'other' => other)
591
590
 
592
591
  transaction.prefetch_if_necessary(resource)
593
592
  end
@@ -595,38 +594,38 @@ describe Puppet::Transaction do
595
594
  it "should not prefetch a provider which has failed" do
596
595
  transaction.prefetch_failed_providers[:package][:pkgng] = true
597
596
 
598
- resource.provider.class.expects(:prefetch).never
597
+ expect(resource.provider.class).not_to receive(:prefetch)
599
598
 
600
599
  transaction.prefetch_if_necessary(resource)
601
600
  end
602
601
 
603
602
  it "should not rescue SystemExit without future_features flag" do
604
603
  Puppet.settings[:future_features] = false
605
- resource.provider.class.expects(:prefetch).raises(SystemExit, "SystemMessage")
604
+ expect(resource.provider.class).to receive(:prefetch).and_raise(SystemExit, "SystemMessage")
606
605
  expect { transaction.prefetch_if_necessary(resource) }.to raise_error(SystemExit, "SystemMessage")
607
606
  end
608
607
 
609
608
  it "should not rescue SystemExit with future_features flag" do
610
609
  Puppet.settings[:future_features] = true
611
- resource.provider.class.expects(:prefetch).raises(SystemExit, "SystemMessage")
610
+ expect(resource.provider.class).to receive(:prefetch).and_raise(SystemExit, "SystemMessage")
612
611
  expect { transaction.prefetch_if_necessary(resource) }.to raise_error(SystemExit, "SystemMessage")
613
612
  end
614
613
 
615
614
  it "should rescue LoadError without future_features flag" do
616
615
  Puppet.settings[:future_features] = false
617
- resource.provider.class.expects(:prefetch).raises(LoadError, "LoadMessage")
616
+ expect(resource.provider.class).to receive(:prefetch).and_raise(LoadError, "LoadMessage")
618
617
  expect { transaction.prefetch_if_necessary(resource) }.not_to raise_error
619
618
  end
620
619
 
621
620
  it "should rescue LoadError with future_features flag" do
622
621
  Puppet.settings[:future_features] = true
623
- resource.provider.class.expects(:prefetch).raises(LoadError, "LoadMessage")
622
+ expect(resource.provider.class).to receive(:prefetch).and_raise(LoadError, "LoadMessage")
624
623
  expect { transaction.prefetch_if_necessary(resource) }.not_to raise_error
625
624
  end
626
625
 
627
626
  describe "and prefetching fails" do
628
627
  before :each do
629
- resource.provider.class.expects(:prefetch).raises(Puppet::Error, "message")
628
+ expect(resource.provider.class).to receive(:prefetch).and_raise(Puppet::Error, "message")
630
629
  end
631
630
 
632
631
  context "without future_features flag" do
@@ -639,7 +638,7 @@ describe Puppet::Transaction do
639
638
  end
640
639
 
641
640
  it "should log the exception during prefetch" do
642
- Puppet.expects(:log_exception).with(anything, "Could not prefetch package provider 'pkgng': message")
641
+ expect(Puppet).to receive(:log_exception).with(anything, "Could not prefetch package provider 'pkgng': message")
643
642
  expect { transaction.prefetch_if_necessary(resource) }.to raise_error(Puppet::Error, "message")
644
643
  end
645
644
  end
@@ -675,14 +674,14 @@ describe Puppet::Transaction do
675
674
 
676
675
  before :each do
677
676
  catalog.add_resource generator
678
- generator.stubs(:generate).returns generated
679
- catalog.stubs(:container_of).returns generator
677
+ allow(generator).to receive(:generate).and_return(generated)
678
+ allow(catalog).to receive(:container_of).and_return(generator)
680
679
  end
681
680
 
682
681
  it "should not evaluate resources with a failed provider, even if the prefetch is rescued" do
683
682
  #Only the generator resource should be applied, all the other resources are failed, and skipped.
684
683
  catalog.remove_resource resource2
685
- transaction.expects(:apply).once
684
+ expect(transaction).to receive(:apply).once
686
685
 
687
686
  transaction.evaluate
688
687
  end
@@ -701,7 +700,7 @@ describe Puppet::Transaction do
701
700
  catalog.add_resource(new_resource)
702
701
 
703
702
  catalog.remove_resource resource2
704
- transaction.expects(:apply).once
703
+ expect(transaction).to receive(:apply).once
705
704
 
706
705
  transaction.evaluate
707
706
 
@@ -773,10 +772,10 @@ describe Puppet::Transaction do
773
772
 
774
773
  it "should call ::post_resource_eval even if one of the resources fails" do
775
774
  resource = teardown_type.new(:title => "foo", :provider => :teardown_provider)
776
- resource.stubs(:retrieve_resource).raises
775
+ allow(resource).to receive(:retrieve_resource).and_raise
777
776
  catalog.add_resource resource
778
777
 
779
- resource.provider.class.expects(:post_resource_eval)
778
+ expect(resource.provider.class).to receive(:post_resource_eval)
780
779
 
781
780
  transaction.evaluate
782
781
  end
@@ -790,7 +789,7 @@ describe Puppet::Transaction do
790
789
 
791
790
  context "when stop is requested" do
792
791
  before :each do
793
- Puppet::Application.stubs(:stop_requested?).returns(true)
792
+ allow(Puppet::Application).to receive(:stop_requested?).and_return(true)
794
793
  end
795
794
 
796
795
  it 'should return true for :stop_processing?' do
@@ -804,7 +803,7 @@ describe Puppet::Transaction do
804
803
  end
805
804
 
806
805
  it 'should return false for :stop_processing? if Puppet::Application.stop_requested? is false' do
807
- Puppet::Application.stubs(:stop_requested?).returns(false)
806
+ allow(Puppet::Application).to receive(:stop_requested?).and_return(false)
808
807
  expect(@transaction.stop_processing?).to be_falsey
809
808
  end
810
809
 
@@ -812,25 +811,25 @@ describe Puppet::Transaction do
812
811
  before do
813
812
  @resource = Puppet::Type.type(:notify).new :title => "foobar"
814
813
  @catalog.add_resource @resource
815
- @transaction.stubs(:add_dynamically_generated_resources)
814
+ allow(@transaction).to receive(:add_dynamically_generated_resources)
816
815
  end
817
816
 
818
817
  it 'should stop processing if :stop_processing? is true' do
819
- @transaction.stubs(:stop_processing?).returns(true)
820
- @transaction.expects(:eval_resource).never
818
+ allow(@transaction).to receive(:stop_processing?).and_return(true)
819
+ expect(@transaction).not_to receive(:eval_resource)
821
820
  @transaction.evaluate
822
821
  end
823
822
 
824
823
  it 'should continue processing if :stop_processing? is false' do
825
- @transaction.stubs(:stop_processing?).returns(false)
826
- @transaction.expects(:eval_resource).returns(nil)
824
+ allow(@transaction).to receive(:stop_processing?).and_return(false)
825
+ expect(@transaction).to receive(:eval_resource).and_return(nil)
827
826
  @transaction.evaluate
828
827
  end
829
828
  end
830
829
  end
831
830
 
832
831
  it "errors with a dependency cycle for a resource that requires itself" do
833
- Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
832
+ expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
834
833
  expect do
835
834
  apply_compiled_manifest(<<-MANIFEST)
836
835
  notify { cycle: require => Notify[cycle] }
@@ -839,7 +838,7 @@ describe Puppet::Transaction do
839
838
  end
840
839
 
841
840
  it "errors with a dependency cycle for a self-requiring resource also required by another resource" do
842
- Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
841
+ expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
843
842
  expect do
844
843
  apply_compiled_manifest(<<-MANIFEST)
845
844
  notify { cycle: require => Notify[cycle] }
@@ -849,7 +848,7 @@ describe Puppet::Transaction do
849
848
  end
850
849
 
851
850
  it "errors with a dependency cycle for a resource that requires itself and another resource" do
852
- Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
851
+ expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
853
852
  expect do
854
853
  apply_compiled_manifest(<<-MANIFEST)
855
854
  notify { cycle:
@@ -861,7 +860,7 @@ describe Puppet::Transaction do
861
860
  end
862
861
 
863
862
  it "errors with a dependency cycle for a resource that is later modified to require itself" do
864
- Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
863
+ expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
865
864
  expect do
866
865
  apply_compiled_manifest(<<-MANIFEST)
867
866
  notify { cycle: }
@@ -930,15 +929,16 @@ describe Puppet::Transaction do
930
929
  describe "failed dependency is depended on multiple times" do
931
930
  it "notifies the failed dependency once" do
932
931
  command_string = File.expand_path('/my/command')
933
- Puppet::Util::Execution.stubs(:execute).with([command_string]).raises(Puppet::ExecutionFailure, "Failed")
932
+ allow(Puppet::Util::Execution).to receive(:execute).with([command_string]).and_raise(Puppet::ExecutionFailure, "Failed")
934
933
 
935
- Puppet::Type::Notify.any_instance.expects(:send_log).with(:notice, "Dependency Exec[exec1] has failures: true")
936
- Puppet::Type::Notify.any_instance.expects(:send_log).with(:notice, "Dependency Exec[exec2] has failures: true")
937
- Puppet::Type::Notify.any_instance.expects(:send_log).with(:notice, "Dependency Exec[exec3] has failures: true")
938
- Puppet::Type::Notify.any_instance.expects(:send_log).with(:notice, "Dependency Exec[exec4] has failures: true")
939
- Puppet::Type::Notify.any_instance.expects(:send_log).with(:notice, "Dependency Exec[exec5] has failures: true")
934
+ allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec1] has failures: true")
935
+ allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec2] has failures: true")
936
+ allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec3] has failures: true")
937
+ allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec4] has failures: true")
938
+ allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec5] has failures: true")
940
939
 
941
- Puppet::Type::Notify.any_instance.expects(:send_log).with(:warning, "Skipping because of failed dependencies").times(3)
940
+ times_send_log_with_skipping_called = 0
941
+ allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log) {times_send_log_with_skipping_called += 1; nil}.with(:warning, "Skipping because of failed dependencies")
942
942
 
943
943
  apply_compiled_manifest(<<-MANIFEST)
944
944
  exec { ['exec1', 'exec2', 'exec3', 'exec4', 'exec5']:
@@ -946,10 +946,9 @@ describe Puppet::Transaction do
946
946
  } ->
947
947
  notify { ['notify1', 'notify2', 'notify3']: }
948
948
  MANIFEST
949
-
949
+ expect(times_send_log_with_skipping_called).to eq(3)
950
950
  end
951
951
  end
952
-
953
952
  end
954
953
 
955
954
  describe Puppet::Transaction, " when determining tags" do