puppet 5.5.12 → 5.5.13

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 (733) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -5
  3. data/Gemfile.lock +11 -11
  4. data/lib/puppet/application/filebucket.rb +4 -0
  5. data/lib/puppet/configurer.rb +9 -3
  6. data/lib/puppet/indirector/request.rb +26 -15
  7. data/lib/puppet/indirector/rest.rb +16 -7
  8. data/lib/puppet/network/http/connection.rb +15 -7
  9. data/lib/puppet/transaction/event_manager.rb +1 -5
  10. data/lib/puppet/type/file/source.rb +0 -1
  11. data/lib/puppet/util/http_proxy.rb +3 -2
  12. data/lib/puppet/version.rb +1 -1
  13. data/locales/puppet.pot +108 -36
  14. data/man/man5/puppet.conf.5 +2 -2
  15. data/man/man8/puppet-agent.8 +1 -1
  16. data/man/man8/puppet-apply.8 +1 -1
  17. data/man/man8/puppet-ca.8 +1 -1
  18. data/man/man8/puppet-catalog.8 +1 -1
  19. data/man/man8/puppet-cert.8 +1 -1
  20. data/man/man8/puppet-certificate.8 +1 -1
  21. data/man/man8/puppet-certificate_request.8 +1 -1
  22. data/man/man8/puppet-certificate_revocation_list.8 +1 -1
  23. data/man/man8/puppet-config.8 +1 -1
  24. data/man/man8/puppet-describe.8 +1 -1
  25. data/man/man8/puppet-device.8 +1 -1
  26. data/man/man8/puppet-doc.8 +1 -1
  27. data/man/man8/puppet-epp.8 +1 -1
  28. data/man/man8/puppet-facts.8 +1 -1
  29. data/man/man8/puppet-filebucket.8 +1 -1
  30. data/man/man8/puppet-generate.8 +1 -1
  31. data/man/man8/puppet-help.8 +1 -1
  32. data/man/man8/puppet-key.8 +1 -1
  33. data/man/man8/puppet-lookup.8 +1 -1
  34. data/man/man8/puppet-man.8 +1 -1
  35. data/man/man8/puppet-master.8 +1 -1
  36. data/man/man8/puppet-module.8 +1 -1
  37. data/man/man8/puppet-node.8 +1 -1
  38. data/man/man8/puppet-parser.8 +1 -1
  39. data/man/man8/puppet-plugin.8 +1 -1
  40. data/man/man8/puppet-report.8 +1 -1
  41. data/man/man8/puppet-resource.8 +1 -1
  42. data/man/man8/puppet-script.8 +1 -1
  43. data/man/man8/puppet-status.8 +1 -1
  44. data/man/man8/puppet.8 +2 -2
  45. data/spec/integration/agent/logging_spec.rb +5 -7
  46. data/spec/integration/application/apply_spec.rb +28 -26
  47. data/spec/integration/application/doc_spec.rb +1 -2
  48. data/spec/integration/application/lookup_spec.rb +5 -5
  49. data/spec/integration/configurer_spec.rb +5 -6
  50. data/spec/integration/defaults_spec.rb +5 -6
  51. data/spec/integration/directory_environments_spec.rb +1 -1
  52. data/spec/integration/faces/ca_spec.rb +2 -3
  53. data/spec/integration/faces/config_spec.rb +3 -4
  54. data/spec/integration/faces/documentation_spec.rb +0 -1
  55. data/spec/integration/faces/plugin_spec.rb +1 -1
  56. data/spec/integration/file_bucket/file_spec.rb +3 -5
  57. data/spec/integration/file_serving/content_spec.rb +0 -1
  58. data/spec/integration/file_serving/fileset_spec.rb +0 -1
  59. data/spec/integration/file_serving/metadata_spec.rb +0 -1
  60. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
  61. data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
  62. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  63. data/spec/integration/indirector/facts/facter_spec.rb +5 -5
  64. data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
  65. data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
  66. data/spec/integration/indirector/node/ldap_spec.rb +2 -3
  67. data/spec/integration/network/authconfig_spec.rb +23 -24
  68. data/spec/integration/network/formats_spec.rb +0 -1
  69. data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -1
  70. data/spec/integration/node/environment_spec.rb +0 -1
  71. data/spec/integration/node/facts_spec.rb +9 -10
  72. data/spec/integration/node_spec.rb +6 -7
  73. data/spec/integration/parser/catalog_spec.rb +4 -2
  74. data/spec/integration/parser/collection_spec.rb +1 -2
  75. data/spec/integration/parser/compiler_spec.rb +6 -6
  76. data/spec/integration/parser/scope_spec.rb +1 -1
  77. data/spec/integration/parser/undef_param_spec.rb +1 -1
  78. data/spec/integration/provider/cron/crontab_spec.rb +8 -10
  79. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -1
  80. data/spec/integration/provider/mount_spec.rb +9 -9
  81. data/spec/integration/provider/service/init_spec.rb +4 -5
  82. data/spec/integration/provider/service/systemd_spec.rb +0 -2
  83. data/spec/integration/provider/service/windows_spec.rb +1 -2
  84. data/spec/integration/provider/ssh_authorized_key_spec.rb +6 -8
  85. data/spec/integration/provider/sshkey_spec.rb +6 -12
  86. data/spec/integration/provider/yumrepo_spec.rb +8 -12
  87. data/spec/integration/reference/providers_spec.rb +0 -1
  88. data/spec/integration/reports_spec.rb +1 -2
  89. data/spec/integration/resource/catalog_spec.rb +14 -17
  90. data/spec/integration/resource/type_collection_spec.rb +4 -5
  91. data/spec/integration/ssl/certificate_authority_spec.rb +0 -1
  92. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  93. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -1
  94. data/spec/integration/ssl/host_spec.rb +0 -1
  95. data/spec/integration/ssl/key_spec.rb +0 -1
  96. data/spec/integration/test/test_helper_spec.rb +1 -2
  97. data/spec/integration/transaction/report_spec.rb +6 -11
  98. data/spec/integration/transaction_spec.rb +18 -19
  99. data/spec/integration/type/exec_spec.rb +0 -1
  100. data/spec/integration/type/file_spec.rb +13 -14
  101. data/spec/integration/type/nagios_spec.rb +3 -5
  102. data/spec/integration/type/package_spec.rb +19 -23
  103. data/spec/integration/type/tidy_spec.rb +1 -2
  104. data/spec/integration/type/user_spec.rb +0 -1
  105. data/spec/integration/type_spec.rb +0 -1
  106. data/spec/integration/util/autoload_spec.rb +1 -2
  107. data/spec/integration/util/rdoc/parser_spec.rb +0 -1
  108. data/spec/integration/util/settings_spec.rb +0 -1
  109. data/spec/integration/util/windows/adsi_spec.rb +3 -5
  110. data/spec/integration/util/windows/principal_spec.rb +0 -1
  111. data/spec/integration/util/windows/process_spec.rb +4 -6
  112. data/spec/integration/util/windows/registry_spec.rb +41 -51
  113. data/spec/integration/util/windows/security_spec.rb +2 -4
  114. data/spec/integration/util/windows/user_spec.rb +18 -20
  115. data/spec/integration/util_spec.rb +4 -7
  116. data/spec/lib/puppet_spec/compiler.rb +1 -1
  117. data/spec/lib/puppet_spec/files.rb +0 -1
  118. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  119. data/spec/lib/puppet_spec/scope.rb +1 -2
  120. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  121. data/spec/shared_behaviours/file_server_terminus.rb +8 -9
  122. data/spec/shared_behaviours/file_serving.rb +6 -8
  123. data/spec/shared_behaviours/file_serving_model.rb +4 -6
  124. data/spec/shared_behaviours/hiera_indirections.rb +3 -4
  125. data/spec/shared_behaviours/iterative_functions.rb +0 -1
  126. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  127. data/spec/shared_examples/rhel_package_provider.rb +112 -70
  128. data/spec/spec_helper.rb +11 -2
  129. data/spec/unit/agent/disabler_spec.rb +4 -5
  130. data/spec/unit/agent/locker_spec.rb +12 -13
  131. data/spec/unit/agent_spec.rb +80 -85
  132. data/spec/unit/application/agent_spec.rb +88 -93
  133. data/spec/unit/application/apply_spec.rb +78 -79
  134. data/spec/unit/application/cert_spec.rb +42 -49
  135. data/spec/unit/application/certificate_spec.rb +2 -3
  136. data/spec/unit/application/config_spec.rb +0 -1
  137. data/spec/unit/application/describe_spec.rb +6 -7
  138. data/spec/unit/application/device_spec.rb +175 -184
  139. data/spec/unit/application/doc_spec.rb +44 -46
  140. data/spec/unit/application/face_base_spec.rb +61 -62
  141. data/spec/unit/application/facts_spec.rb +3 -4
  142. data/spec/unit/application/filebucket_spec.rb +66 -74
  143. data/spec/unit/application/indirection_base_spec.rb +8 -6
  144. data/spec/unit/application/lookup_spec.rb +26 -26
  145. data/spec/unit/application/master_spec.rb +95 -95
  146. data/spec/unit/application/resource_spec.rb +42 -48
  147. data/spec/unit/application_spec.rb +74 -84
  148. data/spec/unit/capability_spec.rb +9 -6
  149. data/spec/unit/configurer/downloader_spec.rb +20 -21
  150. data/spec/unit/configurer/fact_handler_spec.rb +2 -3
  151. data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
  152. data/spec/unit/configurer_spec.rb +190 -193
  153. data/spec/unit/confine/exists_spec.rb +17 -15
  154. data/spec/unit/confine/false_spec.rb +5 -6
  155. data/spec/unit/confine/feature_spec.rb +7 -5
  156. data/spec/unit/confine/true_spec.rb +5 -6
  157. data/spec/unit/confine/variable_spec.rb +14 -15
  158. data/spec/unit/confine_collection_spec.rb +28 -29
  159. data/spec/unit/confine_spec.rb +13 -14
  160. data/spec/unit/confiner_spec.rb +10 -11
  161. data/spec/unit/context/trusted_information_spec.rb +1 -1
  162. data/spec/unit/daemon_spec.rb +34 -35
  163. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
  164. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
  165. data/spec/unit/datatypes_spec.rb +3 -4
  166. data/spec/unit/defaults_spec.rb +17 -12
  167. data/spec/unit/environments_spec.rb +7 -7
  168. data/spec/unit/etc_spec.rb +30 -32
  169. data/spec/unit/external/pson_spec.rb +0 -1
  170. data/spec/unit/face/ca_spec.rb +0 -1
  171. data/spec/unit/face/catalog_spec.rb +0 -1
  172. data/spec/unit/face/certificate_request_spec.rb +0 -1
  173. data/spec/unit/face/certificate_revocation_list_spec.rb +0 -1
  174. data/spec/unit/face/certificate_spec.rb +7 -10
  175. data/spec/unit/face/config_spec.rb +31 -35
  176. data/spec/unit/face/epp_face_spec.rb +3 -4
  177. data/spec/unit/face/facts_spec.rb +5 -6
  178. data/spec/unit/face/generate_spec.rb +4 -5
  179. data/spec/unit/face/help_spec.rb +7 -8
  180. data/spec/unit/face/key_spec.rb +0 -1
  181. data/spec/unit/face/man_spec.rb +1 -2
  182. data/spec/unit/face/module/build_spec.rb +17 -17
  183. data/spec/unit/face/module/install_spec.rb +3 -5
  184. data/spec/unit/face/module/list_spec.rb +2 -12
  185. data/spec/unit/face/module/search_spec.rb +11 -9
  186. data/spec/unit/face/module/uninstall_spec.rb +4 -8
  187. data/spec/unit/face/node_spec.rb +33 -34
  188. data/spec/unit/face/parser_spec.rb +3 -3
  189. data/spec/unit/face/plugin_spec.rb +36 -9
  190. data/spec/unit/face/status_spec.rb +0 -1
  191. data/spec/unit/file_bucket/dipper_spec.rb +24 -20
  192. data/spec/unit/file_bucket/file_spec.rb +0 -2
  193. data/spec/unit/file_serving/base_spec.rb +16 -17
  194. data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
  195. data/spec/unit/file_serving/configuration_spec.rb +63 -66
  196. data/spec/unit/file_serving/content_spec.rb +10 -11
  197. data/spec/unit/file_serving/fileset_spec.rb +63 -58
  198. data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
  199. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  200. data/spec/unit/file_serving/mount/file_spec.rb +31 -32
  201. data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
  202. data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
  203. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
  204. data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
  205. data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
  206. data/spec/unit/file_serving/mount_spec.rb +0 -1
  207. data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
  208. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
  209. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  210. data/spec/unit/file_system_spec.rb +2 -2
  211. data/spec/unit/forge/errors_spec.rb +1 -1
  212. data/spec/unit/forge/forge_spec.rb +13 -14
  213. data/spec/unit/forge/module_release_spec.rb +18 -18
  214. data/spec/unit/forge/repository_spec.rb +29 -30
  215. data/spec/unit/forge_spec.rb +15 -11
  216. data/spec/unit/functions/binary_file_spec.rb +3 -3
  217. data/spec/unit/functions/contain_spec.rb +0 -2
  218. data/spec/unit/functions/defined_spec.rb +0 -1
  219. data/spec/unit/functions/epp_spec.rb +2 -2
  220. data/spec/unit/functions/find_file_spec.rb +7 -7
  221. data/spec/unit/functions/include_spec.rb +0 -4
  222. data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
  223. data/spec/unit/functions/lookup_spec.rb +1 -2
  224. data/spec/unit/functions/module_directory_spec.rb +12 -12
  225. data/spec/unit/functions/require_spec.rb +0 -3
  226. data/spec/unit/functions/shared.rb +5 -8
  227. data/spec/unit/functions/versioncmp_spec.rb +1 -2
  228. data/spec/unit/functions4_spec.rb +7 -8
  229. data/spec/unit/gettext/config_spec.rb +4 -4
  230. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  231. data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
  232. data/spec/unit/graph/relationship_graph_spec.rb +1 -2
  233. data/spec/unit/graph/simple_graph_spec.rb +8 -9
  234. data/spec/unit/hiera_puppet_spec.rb +20 -20
  235. data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
  236. data/spec/unit/indirector/catalog/json_spec.rb +1 -2
  237. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
  238. data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
  239. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
  240. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
  241. data/spec/unit/indirector/certificate/ca_spec.rb +2 -4
  242. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +1 -2
  243. data/spec/unit/indirector/certificate/file_spec.rb +2 -3
  244. data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
  245. data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -1
  246. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +1 -2
  247. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
  248. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
  249. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +1 -2
  250. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +1 -2
  251. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +1 -2
  252. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +2 -3
  253. data/spec/unit/indirector/certificate_status/file_spec.rb +2 -3
  254. data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -1
  255. data/spec/unit/indirector/code_spec.rb +5 -6
  256. data/spec/unit/indirector/direct_file_server_spec.rb +33 -27
  257. data/spec/unit/indirector/envelope_spec.rb +1 -2
  258. data/spec/unit/indirector/exec_spec.rb +15 -14
  259. data/spec/unit/indirector/face_spec.rb +9 -9
  260. data/spec/unit/indirector/facts/facter_spec.rb +37 -43
  261. data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
  262. data/spec/unit/indirector/facts/rest_spec.rb +7 -8
  263. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
  264. data/spec/unit/indirector/facts/yaml_spec.rb +2 -4
  265. data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
  266. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
  267. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
  268. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
  269. data/spec/unit/indirector/file_content/file_spec.rb +0 -1
  270. data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
  271. data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
  272. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
  273. data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
  274. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
  275. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
  276. data/spec/unit/indirector/file_server_spec.rb +99 -93
  277. data/spec/unit/indirector/indirection_spec.rb +242 -226
  278. data/spec/unit/indirector/json_spec.rb +7 -9
  279. data/spec/unit/indirector/key/ca_spec.rb +2 -3
  280. data/spec/unit/indirector/key/disabled_ca_spec.rb +1 -2
  281. data/spec/unit/indirector/key/file_spec.rb +25 -26
  282. data/spec/unit/indirector/ldap_spec.rb +34 -41
  283. data/spec/unit/indirector/memory_spec.rb +6 -7
  284. data/spec/unit/indirector/msgpack_spec.rb +7 -9
  285. data/spec/unit/indirector/node/exec_spec.rb +6 -6
  286. data/spec/unit/indirector/node/ldap_spec.rb +74 -76
  287. data/spec/unit/indirector/node/memory_spec.rb +2 -4
  288. data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
  289. data/spec/unit/indirector/node/plain_spec.rb +2 -4
  290. data/spec/unit/indirector/node/rest_spec.rb +0 -1
  291. data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
  292. data/spec/unit/indirector/node/write_only_yaml_spec.rb +1 -2
  293. data/spec/unit/indirector/node/yaml_spec.rb +0 -1
  294. data/spec/unit/indirector/none_spec.rb +5 -5
  295. data/spec/unit/indirector/plain_spec.rb +7 -8
  296. data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
  297. data/spec/unit/indirector/report/processor_spec.rb +21 -22
  298. data/spec/unit/indirector/report/rest_spec.rb +11 -12
  299. data/spec/unit/indirector/report/yaml_spec.rb +0 -1
  300. data/spec/unit/indirector/request_spec.rb +11 -12
  301. data/spec/unit/indirector/resource/ral_spec.rb +47 -54
  302. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
  303. data/spec/unit/indirector/rest_spec.rb +113 -110
  304. data/spec/unit/indirector/ssl_file_spec.rb +74 -77
  305. data/spec/unit/indirector/status/local_spec.rb +0 -1
  306. data/spec/unit/indirector/status/rest_spec.rb +0 -1
  307. data/spec/unit/indirector/store_configs_spec.rb +0 -1
  308. data/spec/unit/indirector/terminus_spec.rb +31 -29
  309. data/spec/unit/indirector/yaml_spec.rb +33 -32
  310. data/spec/unit/indirector_spec.rb +1 -2
  311. data/spec/unit/info_service_spec.rb +3 -1
  312. data/spec/unit/interface/action_builder_spec.rb +0 -1
  313. data/spec/unit/interface/action_manager_spec.rb +0 -1
  314. data/spec/unit/interface/action_spec.rb +2 -3
  315. data/spec/unit/interface/documentation_spec.rb +0 -1
  316. data/spec/unit/interface/face_collection_spec.rb +19 -12
  317. data/spec/unit/interface_spec.rb +3 -3
  318. data/spec/unit/man_spec.rb +3 -4
  319. data/spec/unit/module_spec.rb +46 -51
  320. data/spec/unit/module_tool/applications/builder_spec.rb +5 -5
  321. data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
  322. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  323. data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
  324. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  325. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  326. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  327. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  328. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  329. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  330. data/spec/unit/module_tool/tar_spec.rb +12 -13
  331. data/spec/unit/module_tool_spec.rb +7 -12
  332. data/spec/unit/network/auth_config_parser_spec.rb +11 -13
  333. data/spec/unit/network/authconfig_spec.rb +17 -18
  334. data/spec/unit/network/authorization_spec.rb +4 -5
  335. data/spec/unit/network/authstore_spec.rb +0 -1
  336. data/spec/unit/network/format_handler_spec.rb +0 -1
  337. data/spec/unit/network/format_spec.rb +9 -10
  338. data/spec/unit/network/format_support_spec.rb +28 -29
  339. data/spec/unit/network/formats_spec.rb +4 -5
  340. data/spec/unit/network/http/api/ca/v1_spec.rb +1 -1
  341. data/spec/unit/network/http/api/indirected_routes_spec.rb +22 -29
  342. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  343. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  344. data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
  345. data/spec/unit/network/http/api_spec.rb +1 -3
  346. data/spec/unit/network/http/compression_spec.rb +21 -22
  347. data/spec/unit/network/http/connection_spec.rb +39 -36
  348. data/spec/unit/network/http/factory_spec.rb +5 -6
  349. data/spec/unit/network/http/handler_spec.rb +9 -18
  350. data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
  351. data/spec/unit/network/http/pool_spec.rb +28 -29
  352. data/spec/unit/network/http/rack/rest_spec.rb +24 -27
  353. data/spec/unit/network/http/rack_spec.rb +5 -6
  354. data/spec/unit/network/http/request_spec.rb +0 -2
  355. data/spec/unit/network/http/response_spec.rb +11 -13
  356. data/spec/unit/network/http/route_spec.rb +0 -1
  357. data/spec/unit/network/http/session_spec.rb +1 -2
  358. data/spec/unit/network/http/site_spec.rb +0 -1
  359. data/spec/unit/network/http/webrick/rest_spec.rb +40 -41
  360. data/spec/unit/network/http/webrick_spec.rb +49 -52
  361. data/spec/unit/network/http_pool_spec.rb +18 -9
  362. data/spec/unit/network/http_spec.rb +0 -1
  363. data/spec/unit/network/resolver_spec.rb +16 -17
  364. data/spec/unit/network/rights_spec.rb +52 -53
  365. data/spec/unit/network/server_spec.rb +12 -13
  366. data/spec/unit/node/environment_spec.rb +16 -14
  367. data/spec/unit/node/facts_spec.rb +5 -7
  368. data/spec/unit/node_spec.rb +4 -10
  369. data/spec/unit/other/selinux_spec.rb +2 -3
  370. data/spec/unit/parameter/boolean_spec.rb +1 -2
  371. data/spec/unit/parameter/package_options_spec.rb +1 -2
  372. data/spec/unit/parameter/path_spec.rb +0 -1
  373. data/spec/unit/parameter/value_collection_spec.rb +0 -1
  374. data/spec/unit/parameter/value_spec.rb +0 -1
  375. data/spec/unit/parameter_spec.rb +9 -9
  376. data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
  377. data/spec/unit/parser/ast/leaf_spec.rb +20 -21
  378. data/spec/unit/parser/compiler_spec.rb +84 -96
  379. data/spec/unit/parser/environment_compiler_spec.rb +11 -9
  380. data/spec/unit/parser/files_spec.rb +0 -1
  381. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  382. data/spec/unit/parser/functions/digest_spec.rb +0 -1
  383. data/spec/unit/parser/functions/fail_spec.rb +1 -2
  384. data/spec/unit/parser/functions/file_spec.rb +13 -14
  385. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
  386. data/spec/unit/parser/functions/generate_spec.rb +7 -8
  387. data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
  388. data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
  389. data/spec/unit/parser/functions/scanf_spec.rb +0 -1
  390. data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
  391. data/spec/unit/parser/functions/split_spec.rb +0 -1
  392. data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
  393. data/spec/unit/parser/functions/tag_spec.rb +1 -2
  394. data/spec/unit/parser/functions/tagged_spec.rb +2 -3
  395. data/spec/unit/parser/functions/template_spec.rb +13 -13
  396. data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
  397. data/spec/unit/parser/functions_spec.rb +3 -4
  398. data/spec/unit/parser/relationship_spec.rb +0 -1
  399. data/spec/unit/parser/resource_spec.rb +42 -42
  400. data/spec/unit/parser/scope_spec.rb +39 -35
  401. data/spec/unit/parser/templatewrapper_spec.rb +11 -12
  402. data/spec/unit/parser/type_loader_spec.rb +17 -19
  403. data/spec/unit/pops/adaptable_spec.rb +0 -1
  404. data/spec/unit/pops/benchmark_spec.rb +0 -1
  405. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
  406. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
  407. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
  408. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
  409. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
  410. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
  411. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +6 -6
  412. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
  413. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
  414. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
  415. data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
  416. data/spec/unit/pops/factory_spec.rb +3 -4
  417. data/spec/unit/pops/issues_spec.rb +19 -20
  418. data/spec/unit/pops/loaders/loader_spec.rb +8 -4
  419. data/spec/unit/pops/loaders/loaders_spec.rb +30 -27
  420. data/spec/unit/pops/lookup/context_spec.rb +0 -1
  421. data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
  422. data/spec/unit/pops/merge_strategy_spec.rb +0 -1
  423. data/spec/unit/pops/migration_spec.rb +3 -5
  424. data/spec/unit/pops/model/model_spec.rb +0 -1
  425. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
  426. data/spec/unit/pops/parser/locator_spec.rb +3 -6
  427. data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
  428. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  429. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
  430. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
  431. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
  432. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
  433. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
  434. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
  435. data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
  436. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
  437. data/spec/unit/pops/pn_spec.rb +0 -1
  438. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
  439. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  440. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  441. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  442. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  443. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  444. data/spec/unit/pops/types/type_calculator_spec.rb +36 -36
  445. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  446. data/spec/unit/pops/validator/validator_spec.rb +1 -2
  447. data/spec/unit/pops/visitor_spec.rb +0 -1
  448. data/spec/unit/property/boolean_spec.rb +1 -1
  449. data/spec/unit/property/ensure_spec.rb +0 -1
  450. data/spec/unit/property/keyvalue_spec.rb +32 -34
  451. data/spec/unit/property/list_spec.rb +26 -27
  452. data/spec/unit/property/ordered_list_spec.rb +10 -14
  453. data/spec/unit/property_spec.rb +42 -43
  454. data/spec/unit/provider/aix_object_spec.rb +47 -45
  455. data/spec/unit/provider/augeas/augeas_spec.rb +192 -192
  456. data/spec/unit/provider/cisco_spec.rb +1 -2
  457. data/spec/unit/provider/command_spec.rb +9 -9
  458. data/spec/unit/provider/cron/crontab_spec.rb +10 -11
  459. data/spec/unit/provider/cron/parsed_spec.rb +22 -24
  460. data/spec/unit/provider/exec/posix_spec.rb +6 -7
  461. data/spec/unit/provider/exec/shell_spec.rb +0 -1
  462. data/spec/unit/provider/exec/windows_spec.rb +2 -4
  463. data/spec/unit/provider/exec_spec.rb +0 -1
  464. data/spec/unit/provider/file/posix_spec.rb +22 -24
  465. data/spec/unit/provider/file/windows_spec.rb +15 -17
  466. data/spec/unit/provider/group/aix_spec.rb +3 -2
  467. data/spec/unit/provider/group/groupadd_spec.rb +30 -26
  468. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  469. data/spec/unit/provider/group/pw_spec.rb +11 -11
  470. data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
  471. data/spec/unit/provider/host/parsed_spec.rb +6 -6
  472. data/spec/unit/provider/interface/cisco_spec.rb +20 -24
  473. data/spec/unit/provider/ldap_spec.rb +61 -62
  474. data/spec/unit/provider/macauthorization_spec.rb +26 -47
  475. data/spec/unit/provider/mcx/mcxcontent_spec.rb +45 -47
  476. data/spec/unit/provider/mount/parsed_spec.rb +18 -24
  477. data/spec/unit/provider/mount_spec.rb +57 -66
  478. data/spec/unit/provider/naginator_spec.rb +13 -14
  479. data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
  480. data/spec/unit/provider/nameservice_spec.rb +38 -40
  481. data/spec/unit/provider/network_device_spec.rb +28 -28
  482. data/spec/unit/provider/package/aix_spec.rb +15 -15
  483. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  484. data/spec/unit/provider/package/apt_spec.rb +44 -27
  485. data/spec/unit/provider/package/aptitude_spec.rb +6 -7
  486. data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
  487. data/spec/unit/provider/package/base_spec.rb +4 -4
  488. data/spec/unit/provider/package/dnf_spec.rb +14 -16
  489. data/spec/unit/provider/package/dpkg_spec.rb +52 -52
  490. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  491. data/spec/unit/provider/package/gem_spec.rb +51 -43
  492. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  493. data/spec/unit/provider/package/macports_spec.rb +46 -42
  494. data/spec/unit/provider/package/nim_spec.rb +30 -39
  495. data/spec/unit/provider/package/openbsd_spec.rb +36 -39
  496. data/spec/unit/provider/package/opkg_spec.rb +23 -26
  497. data/spec/unit/provider/package/pacman_spec.rb +97 -118
  498. data/spec/unit/provider/package/pip_spec.rb +69 -71
  499. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  500. data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
  501. data/spec/unit/provider/package/pkgin_spec.rb +10 -8
  502. data/spec/unit/provider/package/pkgng_spec.rb +17 -18
  503. data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
  504. data/spec/unit/provider/package/portage_spec.rb +70 -74
  505. data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
  506. data/spec/unit/provider/package/rpm_spec.rb +53 -64
  507. data/spec/unit/provider/package/sun_spec.rb +16 -18
  508. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  509. data/spec/unit/provider/package/up2date_spec.rb +2 -4
  510. data/spec/unit/provider/package/urpmi_spec.rb +15 -17
  511. data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
  512. data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
  513. data/spec/unit/provider/package/windows/package_spec.rb +37 -42
  514. data/spec/unit/provider/package/windows_spec.rb +36 -32
  515. data/spec/unit/provider/package/yum_spec.rb +4 -4
  516. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  517. data/spec/unit/provider/parsedfile_spec.rb +44 -45
  518. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +120 -130
  519. data/spec/unit/provider/selboolean_spec.rb +9 -11
  520. data/spec/unit/provider/selmodule_spec.rb +20 -22
  521. data/spec/unit/provider/service/base_spec.rb +4 -5
  522. data/spec/unit/provider/service/bsd_spec.rb +27 -29
  523. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  524. data/spec/unit/provider/service/debian_spec.rb +37 -37
  525. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  526. data/spec/unit/provider/service/gentoo_spec.rb +50 -56
  527. data/spec/unit/provider/service/init_spec.rb +55 -55
  528. data/spec/unit/provider/service/launchd_spec.rb +138 -116
  529. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  530. data/spec/unit/provider/service/openrc_spec.rb +43 -46
  531. data/spec/unit/provider/service/openwrt_spec.rb +26 -32
  532. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  533. data/spec/unit/provider/service/redhat_spec.rb +45 -43
  534. data/spec/unit/provider/service/runit_spec.rb +29 -27
  535. data/spec/unit/provider/service/smf_spec.rb +74 -66
  536. data/spec/unit/provider/service/src_spec.rb +46 -47
  537. data/spec/unit/provider/service/systemd_spec.rb +93 -98
  538. data/spec/unit/provider/service/upstart_spec.rb +74 -72
  539. data/spec/unit/provider/service/windows_spec.rb +33 -41
  540. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +54 -68
  541. data/spec/unit/provider/sshkey/parsed_spec.rb +7 -8
  542. data/spec/unit/provider/user/aix_spec.rb +31 -31
  543. data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
  544. data/spec/unit/provider/user/hpux_spec.rb +15 -15
  545. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  546. data/spec/unit/provider/user/openbsd_spec.rb +10 -12
  547. data/spec/unit/provider/user/pw_spec.rb +37 -35
  548. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  549. data/spec/unit/provider/user/useradd_spec.rb +93 -92
  550. data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
  551. data/spec/unit/provider/vlan/cisco_spec.rb +10 -12
  552. data/spec/unit/provider/yumrepo/inifile_spec.rb +75 -80
  553. data/spec/unit/provider/zfs/zfs_spec.rb +26 -21
  554. data/spec/unit/provider/zone/solaris_spec.rb +56 -42
  555. data/spec/unit/provider/zpool/zpool_spec.rb +19 -20
  556. data/spec/unit/provider_spec.rb +29 -29
  557. data/spec/unit/puppet_pal_2pec.rb +4 -5
  558. data/spec/unit/puppet_pal_spec.rb +0 -1
  559. data/spec/unit/puppet_spec.rb +7 -8
  560. data/spec/unit/relationship_spec.rb +0 -1
  561. data/spec/unit/reports/http_spec.rb +21 -23
  562. data/spec/unit/reports/store_spec.rb +3 -4
  563. data/spec/unit/reports_spec.rb +12 -14
  564. data/spec/unit/resource/capability_finder_spec.rb +18 -16
  565. data/spec/unit/resource/catalog_spec.rb +72 -68
  566. data/spec/unit/resource/status_spec.rb +6 -8
  567. data/spec/unit/resource/type_collection_spec.rb +17 -18
  568. data/spec/unit/resource/type_spec.rb +34 -35
  569. data/spec/unit/resource_spec.rb +36 -32
  570. data/spec/unit/scheduler/job_spec.rb +0 -1
  571. data/spec/unit/scheduler/scheduler_spec.rb +0 -1
  572. data/spec/unit/scheduler/splay_job_spec.rb +1 -2
  573. data/spec/unit/settings/array_setting_spec.rb +1 -1
  574. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  575. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  576. data/spec/unit/settings/config_file_spec.rb +0 -1
  577. data/spec/unit/settings/directory_setting_spec.rb +2 -7
  578. data/spec/unit/settings/duration_setting_spec.rb +1 -2
  579. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  580. data/spec/unit/settings/environment_conf_spec.rb +4 -6
  581. data/spec/unit/settings/file_setting_spec.rb +44 -46
  582. data/spec/unit/settings/path_setting_spec.rb +1 -2
  583. data/spec/unit/settings/priority_setting_spec.rb +1 -2
  584. data/spec/unit/settings/string_setting_spec.rb +14 -15
  585. data/spec/unit/settings/terminus_setting_spec.rb +1 -2
  586. data/spec/unit/settings/value_translator_spec.rb +0 -1
  587. data/spec/unit/settings_spec.rb +226 -233
  588. data/spec/unit/ssl/base_spec.rb +14 -15
  589. data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +6 -7
  590. data/spec/unit/ssl/certificate_authority/interface_spec.rb +116 -113
  591. data/spec/unit/ssl/certificate_authority_spec.rb +258 -268
  592. data/spec/unit/ssl/certificate_factory_spec.rb +3 -5
  593. data/spec/unit/ssl/certificate_request_attributes_spec.rb +2 -3
  594. data/spec/unit/ssl/certificate_request_spec.rb +66 -67
  595. data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -4
  596. data/spec/unit/ssl/certificate_spec.rb +23 -25
  597. data/spec/unit/ssl/configuration_spec.rb +1 -4
  598. data/spec/unit/ssl/digest_spec.rb +0 -1
  599. data/spec/unit/ssl/host_spec.rb +217 -188
  600. data/spec/unit/ssl/inventory_spec.rb +25 -21
  601. data/spec/unit/ssl/key_spec.rb +30 -31
  602. data/spec/unit/ssl/validator_spec.rb +40 -40
  603. data/spec/unit/task_spec.rb +6 -7
  604. data/spec/unit/transaction/additional_resource_generator_spec.rb +6 -5
  605. data/spec/unit/transaction/event_manager_spec.rb +88 -88
  606. data/spec/unit/transaction/event_spec.rb +16 -15
  607. data/spec/unit/transaction/persistence_spec.rb +16 -17
  608. data/spec/unit/transaction/report_spec.rb +11 -12
  609. data/spec/unit/transaction/resource_harness_spec.rb +28 -33
  610. data/spec/unit/transaction_spec.rb +98 -100
  611. data/spec/unit/type/augeas_spec.rb +11 -10
  612. data/spec/unit/type/component_spec.rb +0 -1
  613. data/spec/unit/type/computer_spec.rb +7 -10
  614. data/spec/unit/type/cron_spec.rb +3 -7
  615. data/spec/unit/type/exec_spec.rb +60 -56
  616. data/spec/unit/type/file/checksum_spec.rb +9 -10
  617. data/spec/unit/type/file/checksum_value_spec.rb +31 -32
  618. data/spec/unit/type/file/content_spec.rb +58 -61
  619. data/spec/unit/type/file/ctime_spec.rb +0 -1
  620. data/spec/unit/type/file/ensure_spec.rb +12 -13
  621. data/spec/unit/type/file/group_spec.rb +5 -7
  622. data/spec/unit/type/file/mode_spec.rb +4 -6
  623. data/spec/unit/type/file/mtime_spec.rb +0 -1
  624. data/spec/unit/type/file/owner_spec.rb +6 -8
  625. data/spec/unit/type/file/selinux_spec.rb +17 -19
  626. data/spec/unit/type/file/source_spec.rb +104 -101
  627. data/spec/unit/type/file/type_spec.rb +0 -1
  628. data/spec/unit/type/file_spec.rb +195 -185
  629. data/spec/unit/type/filebucket_spec.rb +4 -5
  630. data/spec/unit/type/group_spec.rb +6 -8
  631. data/spec/unit/type/host_spec.rb +2 -3
  632. data/spec/unit/type/interface_spec.rb +2 -3
  633. data/spec/unit/type/k5login_spec.rb +3 -4
  634. data/spec/unit/type/macauthorization_spec.rb +6 -8
  635. data/spec/unit/type/mailalias_spec.rb +2 -3
  636. data/spec/unit/type/maillist_spec.rb +6 -9
  637. data/spec/unit/type/mcx_spec.rb +4 -8
  638. data/spec/unit/type/mount_spec.rb +26 -38
  639. data/spec/unit/type/nagios_spec.rb +0 -1
  640. data/spec/unit/type/noop_metaparam_spec.rb +1 -2
  641. data/spec/unit/type/package/package_settings_spec.rb +44 -23
  642. data/spec/unit/type/package_spec.rb +53 -54
  643. data/spec/unit/type/resources_spec.rb +86 -88
  644. data/spec/unit/type/schedule_spec.rb +24 -26
  645. data/spec/unit/type/scheduled_task_spec.rb +1 -2
  646. data/spec/unit/type/selboolean_spec.rb +5 -6
  647. data/spec/unit/type/selmodule_spec.rb +0 -1
  648. data/spec/unit/type/service_spec.rb +47 -47
  649. data/spec/unit/type/ssh_authorized_key_spec.rb +5 -35
  650. data/spec/unit/type/sshkey_spec.rb +0 -2
  651. data/spec/unit/type/stage_spec.rb +0 -1
  652. data/spec/unit/type/tidy_spec.rb +61 -62
  653. data/spec/unit/type/user_spec.rb +41 -27
  654. data/spec/unit/type/vlan_spec.rb +2 -4
  655. data/spec/unit/type/whit_spec.rb +0 -1
  656. data/spec/unit/type/zfs_spec.rb +6 -7
  657. data/spec/unit/type/zone_spec.rb +14 -4
  658. data/spec/unit/type/zpool_spec.rb +4 -5
  659. data/spec/unit/type_spec.rb +54 -53
  660. data/spec/unit/util/at_fork_spec.rb +18 -19
  661. data/spec/unit/util/autoload_spec.rb +53 -54
  662. data/spec/unit/util/backups_spec.rb +34 -35
  663. data/spec/unit/util/character_encoding_spec.rb +8 -8
  664. data/spec/unit/util/checksums_spec.rb +38 -39
  665. data/spec/unit/util/colors_spec.rb +1 -2
  666. data/spec/unit/util/command_line_spec.rb +24 -25
  667. data/spec/unit/util/constant_inflector_spec.rb +0 -1
  668. data/spec/unit/util/diff_spec.rb +7 -8
  669. data/spec/unit/util/errors_spec.rb +0 -1
  670. data/spec/unit/util/execution_spec.rb +187 -162
  671. data/spec/unit/util/execution_stub_spec.rb +0 -1
  672. data/spec/unit/util/feature_spec.rb +13 -13
  673. data/spec/unit/util/filetype_spec.rb +49 -49
  674. data/spec/unit/util/http_proxy_spec.rb +12 -12
  675. data/spec/unit/util/inifile_spec.rb +26 -31
  676. data/spec/unit/util/json_lockfile_spec.rb +3 -5
  677. data/spec/unit/util/ldap/connection_spec.rb +26 -25
  678. data/spec/unit/util/ldap/generator_spec.rb +0 -1
  679. data/spec/unit/util/ldap/manager_spec.rb +102 -101
  680. data/spec/unit/util/lockfile_spec.rb +0 -1
  681. data/spec/unit/util/log/destinations_spec.rb +30 -33
  682. data/spec/unit/util/log_spec.rb +35 -36
  683. data/spec/unit/util/logging_spec.rb +58 -66
  684. data/spec/unit/util/metric_spec.rb +0 -1
  685. data/spec/unit/util/monkey_patches_spec.rb +7 -9
  686. data/spec/unit/util/multi_match_spec.rb +0 -1
  687. data/spec/unit/util/nagios_maker_spec.rb +35 -36
  688. data/spec/unit/util/network_device/cisco/device_spec.rb +59 -50
  689. data/spec/unit/util/network_device/cisco/facts_spec.rb +4 -5
  690. data/spec/unit/util/network_device/cisco/interface_spec.rb +29 -20
  691. data/spec/unit/util/network_device/config_spec.rb +0 -1
  692. data/spec/unit/util/network_device/ipcalc_spec.rb +0 -1
  693. data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
  694. data/spec/unit/util/network_device/transport/ssh_spec.rb +94 -60
  695. data/spec/unit/util/network_device/transport/telnet_spec.rb +18 -14
  696. data/spec/unit/util/network_device_spec.rb +7 -9
  697. data/spec/unit/util/package_spec.rb +0 -1
  698. data/spec/unit/util/pidlock_spec.rb +13 -14
  699. data/spec/unit/util/plist_spec.rb +40 -33
  700. data/spec/unit/util/posix_spec.rb +54 -51
  701. data/spec/unit/util/rdoc_spec.rb +9 -10
  702. data/spec/unit/util/reference_spec.rb +0 -1
  703. data/spec/unit/util/resource_template_spec.rb +20 -20
  704. data/spec/unit/util/retry_action_spec.rb +7 -8
  705. data/spec/unit/util/rubygems_spec.rb +14 -14
  706. data/spec/unit/util/run_mode_spec.rb +3 -4
  707. data/spec/unit/util/selinux_spec.rb +79 -72
  708. data/spec/unit/util/splayer_spec.rb +8 -9
  709. data/spec/unit/util/ssl_spec.rb +0 -1
  710. data/spec/unit/util/storage_spec.rb +3 -4
  711. data/spec/unit/util/suidmanager_spec.rb +45 -54
  712. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
  713. data/spec/unit/util/tag_set_spec.rb +0 -1
  714. data/spec/unit/util/tagging_spec.rb +0 -1
  715. data/spec/unit/util/terminal_spec.rb +9 -10
  716. data/spec/unit/util/user_attr_spec.rb +1 -2
  717. data/spec/unit/util/warnings_spec.rb +3 -4
  718. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  719. data/spec/unit/util/watcher_spec.rb +51 -21
  720. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
  721. data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
  722. data/spec/unit/util/windows/adsi_spec.rb +136 -138
  723. data/spec/unit/util/windows/api_types_spec.rb +0 -1
  724. data/spec/unit/util/windows/eventlog_spec.rb +9 -12
  725. data/spec/unit/util/windows/file_spec.rb +0 -1
  726. data/spec/unit/util/windows/root_certs_spec.rb +0 -1
  727. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
  728. data/spec/unit/util/windows/service_spec.rb +66 -68
  729. data/spec/unit/util/windows/sid_spec.rb +11 -13
  730. data/spec/unit/util/windows/string_spec.rb +0 -1
  731. data/spec/unit/util_spec.rb +55 -59
  732. data/spec/unit/version_spec.rb +6 -6
  733. metadata +2 -2
@@ -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(:err)
224
+ expect(Puppet).to receive(:err)
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(:report => report)
362
+ allow(@catalog).to receive(:apply).with(: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
@@ -466,10 +465,8 @@ describe Puppet::Configurer do
466
465
  describe "when using a REST terminus for catalogs" do
467
466
  it "should pass the prepared facts and the facts format as arguments when retrieving the catalog" do
468
467
  Puppet::Resource::Catalog.indirection.terminus_class = :rest
469
- @agent.expects(:facts_for_uploading).returns(:facts => "myfacts", :facts_format => :foo)
470
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options|
471
- options[:facts] == "myfacts" and options[:facts_format] == :foo
472
- }.returns @catalog
468
+ expect(@agent).to receive(:facts_for_uploading).and_return(:facts => "myfacts", :facts_format => :foo)
469
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(facts: "myfacts", facts_format: :foo)).and_return(@catalog)
473
470
 
474
471
  @agent.run
475
472
  end
@@ -478,7 +475,7 @@ describe Puppet::Configurer do
478
475
 
479
476
  describe "when initialized with a transaction_uuid" do
480
477
  it "stores it" do
481
- SecureRandom.expects(:uuid).never
478
+ expect(SecureRandom).not_to receive(:uuid)
482
479
  configurer = Puppet::Configurer.new('foo')
483
480
  expect(configurer.instance_variable_get(:@transaction_uuid) == 'foo')
484
481
  end
@@ -488,7 +485,7 @@ describe Puppet::Configurer do
488
485
  include PuppetSpec::Files
489
486
 
490
487
  before do
491
- Puppet.settings.stubs(:use).returns(true)
488
+ allow(Puppet.settings).to receive(:use).and_return(true)
492
489
  @configurer = Puppet::Configurer.new
493
490
  Puppet[:lastrunfile] = tmpfile('last_run_file')
494
491
 
@@ -499,53 +496,53 @@ describe Puppet::Configurer do
499
496
  it "should print a report summary if configured to do so" do
500
497
  Puppet.settings[:summarize] = true
501
498
 
502
- @report.expects(:summary).returns "stuff"
499
+ expect(@report).to receive(:summary).and_return("stuff")
503
500
 
504
- @configurer.expects(:puts).with("stuff")
501
+ expect(@configurer).to receive(:puts).with("stuff")
505
502
  @configurer.send_report(@report)
506
503
  end
507
504
 
508
505
  it "should not print a report summary if not configured to do so" do
509
506
  Puppet.settings[:summarize] = false
510
507
 
511
- @configurer.expects(:puts).never
508
+ expect(@configurer).not_to receive(:puts)
512
509
  @configurer.send_report(@report)
513
510
  end
514
511
 
515
512
  it "should save the report if reporting is enabled" do
516
513
  Puppet.settings[:report] = true
517
514
 
518
- Puppet::Transaction::Report.indirection.expects(:save).with(@report, nil, instance_of(Hash))
515
+ expect(Puppet::Transaction::Report.indirection).to receive(:save).with(@report, nil, instance_of(Hash))
519
516
  @configurer.send_report(@report)
520
517
  end
521
518
 
522
519
  it "should not save the report if reporting is disabled" do
523
520
  Puppet.settings[:report] = false
524
521
 
525
- Puppet::Transaction::Report.indirection.expects(:save).with(@report, nil, instance_of(Hash)).never
522
+ expect(Puppet::Transaction::Report.indirection).not_to receive(:save).with(@report, nil, instance_of(Hash))
526
523
  @configurer.send_report(@report)
527
524
  end
528
525
 
529
526
  it "should save the last run summary if reporting is enabled" do
530
527
  Puppet.settings[:report] = true
531
528
 
532
- @configurer.expects(:save_last_run_summary).with(@report)
529
+ expect(@configurer).to receive(:save_last_run_summary).with(@report)
533
530
  @configurer.send_report(@report)
534
531
  end
535
532
 
536
533
  it "should save the last run summary if reporting is disabled" do
537
534
  Puppet.settings[:report] = false
538
535
 
539
- @configurer.expects(:save_last_run_summary).with(@report)
536
+ expect(@configurer).to receive(:save_last_run_summary).with(@report)
540
537
  @configurer.send_report(@report)
541
538
  end
542
539
 
543
540
  it "should log but not fail if saving the report fails" do
544
541
  Puppet.settings[:report] = true
545
542
 
546
- Puppet::Transaction::Report.indirection.expects(:save).raises("whatever")
543
+ expect(Puppet::Transaction::Report.indirection).to receive(:save).and_raise("whatever")
547
544
 
548
- Puppet.expects(:err)
545
+ expect(Puppet).to receive(:err)
549
546
  expect { @configurer.send_report(@report) }.not_to raise_error
550
547
  end
551
548
  end
@@ -554,10 +551,10 @@ describe Puppet::Configurer do
554
551
  include PuppetSpec::Files
555
552
 
556
553
  before do
557
- Puppet.settings.stubs(:use).returns(true)
554
+ allow(Puppet.settings).to receive(:use).and_return(true)
558
555
  @configurer = Puppet::Configurer.new
559
556
 
560
- @report = stub 'report', :raw_summary => {}
557
+ @report = double('report', :raw_summary => {})
561
558
 
562
559
  Puppet[:lastrunfile] = tmpfile('last_run_file')
563
560
  end
@@ -568,7 +565,7 @@ describe Puppet::Configurer do
568
565
  end
569
566
 
570
567
  it "should write the raw summary as yaml" do
571
- @report.expects(:raw_summary).returns("summary")
568
+ expect(@report).to receive(:raw_summary).and_return("summary")
572
569
  @configurer.save_last_run_summary(@report)
573
570
  expect(File.read(Puppet[:lastrunfile])).to eq(YAML.dump("summary"))
574
571
  end
@@ -582,14 +579,14 @@ describe Puppet::Configurer do
582
579
  end
583
580
  end.new
584
581
 
585
- Puppet::Util.expects(:replace_file).yields(fh)
582
+ expect(Puppet::Util).to receive(:replace_file).and_yield(fh)
586
583
 
587
- Puppet.expects(:err)
584
+ expect(Puppet).to receive(:err)
588
585
  expect { @configurer.save_last_run_summary(@report) }.to_not raise_error
589
586
  end
590
587
 
591
588
  it "should create the last run file with the correct mode" do
592
- Puppet.settings.setting(:lastrunfile).expects(:mode).returns('664')
589
+ expect(Puppet.settings.setting(:lastrunfile)).to receive(:mode).and_return('664')
593
590
  @configurer.save_last_run_summary(@report)
594
591
 
595
592
  if Puppet::Util::Platform.windows?
@@ -602,66 +599,66 @@ describe Puppet::Configurer do
602
599
  end
603
600
 
604
601
  it "should report invalid last run file permissions" do
605
- Puppet.settings.setting(:lastrunfile).expects(:mode).returns('892')
606
- Puppet.expects(:err).with(regexp_matches(/Could not save last run local report.*892 is invalid/))
602
+ expect(Puppet.settings.setting(:lastrunfile)).to receive(:mode).and_return('892')
603
+ expect(Puppet).to receive(:err).with(/Could not save last run local report.*892 is invalid/)
607
604
  @configurer.save_last_run_summary(@report)
608
605
  end
609
606
  end
610
607
 
611
608
  describe "when requesting a node" do
612
609
  it "uses the transaction uuid in the request" do
613
- Puppet::Node.indirection.expects(:find).with(anything, has_entries(:transaction_uuid => anything)).twice
610
+ expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(transaction_uuid: anything)).twice
614
611
  @agent.run
615
612
  end
616
613
 
617
614
  it "sends an explicitly configured environment request" do
618
- Puppet.settings.expects(:set_by_config?).with(:environment).returns(true)
619
- Puppet::Node.indirection.expects(:find).with(anything, has_entries(:configured_environment => Puppet[:environment])).twice
615
+ expect(Puppet.settings).to receive(:set_by_config?).with(:environment).and_return(true)
616
+ expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(configured_environment: Puppet[:environment])).twice
620
617
  @agent.run
621
618
  end
622
619
 
623
620
  it "does not send a configured_environment when using the default" do
624
- Puppet::Node.indirection.expects(:find).with(anything, has_entries(:configured_environment => nil)).twice
621
+ expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(configured_environment: nil)).twice
625
622
  @agent.run
626
623
  end
627
624
  end
628
625
 
629
626
  def expects_new_catalog_only(catalog)
630
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns catalog
631
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.never
627
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(catalog)
628
+ expect(Puppet::Resource::Catalog.indirection).not_to receive(:find).with(anything, hash_including(ignore_terminus: true))
632
629
  end
633
630
 
634
631
  def expects_cached_catalog_only(catalog)
635
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns catalog
636
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.never
632
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(catalog)
633
+ expect(Puppet::Resource::Catalog.indirection).not_to receive(:find).with(anything, hash_including(ignore_cache: true))
637
634
  end
638
635
 
639
636
  def expects_fallback_to_cached_catalog(catalog)
640
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns nil
641
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns catalog
637
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
638
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(catalog)
642
639
  end
643
640
 
644
641
  def expects_fallback_to_new_catalog(catalog)
645
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns nil
646
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns catalog
642
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(nil)
643
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(catalog)
647
644
  end
648
645
 
649
646
  def expects_neither_new_or_cached_catalog
650
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns nil
651
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns nil
647
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
648
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(nil)
652
649
  end
653
650
 
654
651
  describe "when retrieving a catalog" do
655
652
  before do
656
- Puppet.settings.stubs(:use).returns(true)
657
- @agent.stubs(:facts_for_uploading).returns({})
658
- @agent.stubs(:download_plugins)
653
+ allow(Puppet.settings).to receive(:use).and_return(true)
654
+ allow(@agent).to receive(:facts_for_uploading).and_return({})
655
+ allow(@agent).to receive(:download_plugins)
659
656
 
660
657
  # retrieve a catalog in the current environment, so we don't try to converge unexpectedly
661
658
  @catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote(Puppet[:environment].to_sym))
662
659
 
663
660
  # this is the default when using a Configurer instance
664
- Puppet::Resource::Catalog.indirection.stubs(:terminus_class).returns :rest
661
+ allow(Puppet::Resource::Catalog.indirection).to receive(:terminus_class).and_return(:rest)
665
662
  end
666
663
 
667
664
  describe "and configured to only retrieve a catalog from the cache" do
@@ -676,17 +673,17 @@ describe Puppet::Configurer do
676
673
  end
677
674
 
678
675
  it "should not make a node request or pluginsync when a cached catalog is successfully retrieved" do
679
- Puppet::Node.indirection.expects(:find).never
676
+ expect(Puppet::Node.indirection).not_to receive(:find)
680
677
  expects_cached_catalog_only(@catalog)
681
- @agent.expects(:download_plugins).never
678
+ expect(@agent).not_to receive(:download_plugins)
682
679
 
683
680
  @agent.run
684
681
  end
685
682
 
686
683
  it "should make a node request and pluginsync when a cached catalog cannot be retrieved" do
687
- Puppet::Node.indirection.expects(:find).returns nil
684
+ expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
688
685
  expects_fallback_to_new_catalog(@catalog)
689
- @agent.expects(:download_plugins)
686
+ expect(@agent).to receive(:download_plugins)
690
687
 
691
688
  @agent.run
692
689
  end
@@ -720,7 +717,7 @@ describe Puppet::Configurer do
720
717
  end
721
718
 
722
719
  it "should not attempt to retrieve a cached catalog again if the first attempt failed" do
723
- Puppet::Node.indirection.expects(:find).returns(nil)
720
+ expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
724
721
  expects_neither_new_or_cached_catalog
725
722
 
726
723
  @agent.run
@@ -730,23 +727,23 @@ describe Puppet::Configurer do
730
727
  cached_catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote('second_env'))
731
728
  expects_cached_catalog_only(cached_catalog)
732
729
 
733
- Puppet.expects(:info).with("Using cached catalog from environment 'second_env'")
730
+ expect(Puppet).to receive(:info).with("Using cached catalog from environment 'second_env'")
734
731
  expect(@agent.retrieve_catalog({})).to eq(cached_catalog)
735
732
  end
736
733
  end
737
734
 
738
735
  describe "and strict environment mode is set" do
739
736
  before do
740
- @catalog.stubs(:to_ral).returns(@catalog)
741
- @catalog.stubs(:write_class_file)
742
- @catalog.stubs(:write_resource_file)
743
- @agent.stubs(:send_report)
744
- @agent.stubs(:save_last_run_summary)
737
+ allow(@catalog).to receive(:to_ral).and_return(@catalog)
738
+ allow(@catalog).to receive(:write_class_file)
739
+ allow(@catalog).to receive(:write_resource_file)
740
+ allow(@agent).to receive(:send_report)
741
+ allow(@agent).to receive(:save_last_run_summary)
745
742
  Puppet.settings[:strict_environment_mode] = true
746
743
  end
747
744
 
748
745
  it "should not make a node request" do
749
- Puppet::Node.indirection.expects(:find).never
746
+ expect(Puppet::Node.indirection).not_to receive(:find)
750
747
 
751
748
  @agent.run
752
749
  end
@@ -755,7 +752,7 @@ describe Puppet::Configurer do
755
752
  @agent.instance_variable_set(:@environment, 'second_env')
756
753
  expects_new_catalog_only(@catalog)
757
754
 
758
- 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")
755
+ 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")
759
756
  expect(@agent.run).to be_nil
760
757
  end
761
758
 
@@ -775,7 +772,7 @@ describe Puppet::Configurer do
775
772
  @agent.instance_variable_set(:@environment, 'second_env')
776
773
  expects_cached_catalog_only(@catalog)
777
774
 
778
- 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")
775
+ 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")
779
776
  expect(@agent.run).to be_nil
780
777
  end
781
778
 
@@ -790,28 +787,28 @@ describe Puppet::Configurer do
790
787
  end
791
788
 
792
789
  it "should use the Catalog class to get its catalog" do
793
- Puppet::Resource::Catalog.indirection.expects(:find).returns @catalog
790
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).and_return(@catalog)
794
791
 
795
792
  @agent.retrieve_catalog({})
796
793
  end
797
794
 
798
795
  it "should set its cached_catalog_status to 'not_used' when downloading a new catalog" do
799
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns @catalog
796
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(@catalog)
800
797
 
801
798
  @agent.retrieve_catalog({})
802
799
  expect(@agent.instance_variable_get(:@cached_catalog_status)).to eq('not_used')
803
800
  end
804
801
 
805
802
  it "should use its node_name_value to retrieve the catalog" do
806
- Facter.stubs(:value).returns "eh"
803
+ allow(Facter).to receive(:value).and_return("eh")
807
804
  Puppet.settings[:node_name_value] = "myhost.domain.com"
808
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| name == "myhost.domain.com" }.returns @catalog
805
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with("myhost.domain.com", anything).and_return(@catalog)
809
806
 
810
807
  @agent.retrieve_catalog({})
811
808
  end
812
809
 
813
810
  it "should default to returning a catalog retrieved directly from the server, skipping the cache" do
814
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns @catalog
811
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(@catalog)
815
812
 
816
813
  expect(@agent.retrieve_catalog({})).to eq(@catalog)
817
814
  end
@@ -819,7 +816,7 @@ describe Puppet::Configurer do
819
816
  it "should log and return the cached catalog when no catalog can be retrieved from the server" do
820
817
  expects_fallback_to_cached_catalog(@catalog)
821
818
 
822
- Puppet.expects(:info).with("Using cached catalog from environment 'production'")
819
+ expect(Puppet).to receive(:info).with("Using cached catalog from environment 'production'")
823
820
  expect(@agent.retrieve_catalog({})).to eq(@catalog)
824
821
  end
825
822
 
@@ -837,15 +834,15 @@ describe Puppet::Configurer do
837
834
  end
838
835
 
839
836
  it "should return the cached catalog when retrieving the remote catalog throws an exception" do
840
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.raises "eh"
841
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns @catalog
837
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_raise("eh")
838
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(@catalog)
842
839
 
843
840
  expect(@agent.retrieve_catalog({})).to eq(@catalog)
844
841
  end
845
842
 
846
843
  it "should set its cached_catalog_status to 'on_failure' when retrieving the remote catalog throws an exception" do
847
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.raises "eh"
848
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns @catalog
844
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_raise("eh")
845
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(@catalog)
849
846
 
850
847
  @agent.retrieve_catalog({})
851
848
  expect(@agent.instance_variable_get(:@cached_catalog_status)).to eq('on_failure')
@@ -853,16 +850,16 @@ describe Puppet::Configurer do
853
850
 
854
851
  it "should log and return nil if no catalog can be retrieved from the server and :usecacheonfailure is disabled" do
855
852
  Puppet[:usecacheonfailure] = false
856
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns nil
853
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
857
854
 
858
- Puppet.expects(:warning).with('Not using cache on failed catalog')
855
+ expect(Puppet).to receive(:warning).with('Not using cache on failed catalog')
859
856
 
860
857
  expect(@agent.retrieve_catalog({})).to be_nil
861
858
  end
862
859
 
863
860
  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
864
861
  Puppet[:usecacheonfailure] = false
865
- Puppet::Resource::Catalog.indirection.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns nil
862
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
866
863
 
867
864
  @agent.retrieve_catalog({})
868
865
  expect(@agent.instance_variable_get(:@cached_catalog_status)).to eq('not_used')
@@ -880,7 +877,7 @@ describe Puppet::Configurer do
880
877
 
881
878
  expects_fallback_to_cached_catalog(cached_catalog)
882
879
 
883
- Puppet.expects(:err).with("Not using cached catalog because its environment 'second_env' does not match 'production'")
880
+ expect(Puppet).to receive(:err).with("Not using cached catalog because its environment 'second_env' does not match 'production'")
884
881
  expect(@agent.retrieve_catalog({})).to be_nil
885
882
  end
886
883
 
@@ -915,14 +912,14 @@ describe Puppet::Configurer do
915
912
 
916
913
  it "should not update the cached catalog in noop mode" do
917
914
  Puppet[:noop] = true
918
- Puppet::Resource::Catalog.indirection.expects(:find).with(anything, has_entries(:ignore_cache => true, :ignore_cache_save => true)).returns(@catalog)
915
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true, ignore_cache_save: true)).and_return(@catalog)
919
916
 
920
917
  @agent.retrieve_catalog({})
921
918
  end
922
919
 
923
920
  it "should update the cached catalog when not in noop mode" do
924
921
  Puppet[:noop] = false
925
- Puppet::Resource::Catalog.indirection.expects(:find).with(anything, has_entries(:ignore_cache => true, :ignore_cache_save => false)).returns(@catalog)
922
+ expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true, ignore_cache_save: false)).and_return(@catalog)
926
923
 
927
924
  @agent.retrieve_catalog({})
928
925
  end
@@ -930,9 +927,9 @@ describe Puppet::Configurer do
930
927
 
931
928
  describe "when converting the catalog" do
932
929
  before do
933
- Puppet.settings.stubs(:use).returns(true)
930
+ allow(Puppet.settings).to receive(:use).and_return(true)
934
931
 
935
- catalog.stubs(:to_ral).returns ral_catalog
932
+ allow(catalog).to receive(:to_ral).and_return(ral_catalog)
936
933
  end
937
934
 
938
935
  let (:catalog) { Puppet::Resource::Catalog.new('tester', Puppet::Node::Environment.remote(Puppet[:environment].to_sym)) }
@@ -943,25 +940,25 @@ describe Puppet::Configurer do
943
940
  end
944
941
 
945
942
  it "should finalize the catalog" do
946
- ral_catalog.expects(:finalize)
943
+ expect(ral_catalog).to receive(:finalize)
947
944
 
948
945
  @agent.convert_catalog(catalog, 10)
949
946
  end
950
947
 
951
948
  it "should record the passed retrieval time with the RAL catalog" do
952
- ral_catalog.expects(:retrieval_duration=).with 10
949
+ expect(ral_catalog).to receive(:retrieval_duration=).with(10)
953
950
 
954
951
  @agent.convert_catalog(catalog, 10)
955
952
  end
956
953
 
957
954
  it "should write the RAL catalog's class file" do
958
- ral_catalog.expects(:write_class_file)
955
+ expect(ral_catalog).to receive(:write_class_file)
959
956
 
960
957
  @agent.convert_catalog(catalog, 10)
961
958
  end
962
959
 
963
960
  it "should write the RAL catalog's resource file" do
964
- ral_catalog.expects(:write_resource_file)
961
+ expect(ral_catalog).to receive(:write_resource_file)
965
962
 
966
963
  @agent.convert_catalog(catalog, 10)
967
964
  end
@@ -969,7 +966,7 @@ describe Puppet::Configurer do
969
966
  it "should set catalog conversion time on the report" do
970
967
  report = Puppet::Transaction::Report.new
971
968
 
972
- report.expects(:add_times).with(:convert_catalog, kind_of(Numeric))
969
+ expect(report).to receive(:add_times).with(:convert_catalog, kind_of(Numeric))
973
970
  @agent.convert_catalog(catalog, 10, {:report => report})
974
971
  end
975
972
  end
@@ -977,14 +974,14 @@ describe Puppet::Configurer do
977
974
  describe "when determining whether to pluginsync" do
978
975
  it "should default to Puppet[:pluginsync] when explicitly set by the commandline" do
979
976
  Puppet.settings[:pluginsync] = false
980
- Puppet.settings.expects(:set_by_cli?).returns(true)
977
+ expect(Puppet.settings).to receive(:set_by_cli?).and_return(true)
981
978
 
982
979
  expect(described_class).not_to be_should_pluginsync
983
980
  end
984
981
 
985
982
  it "should default to Puppet[:pluginsync] when explicitly set by config" do
986
983
  Puppet.settings[:pluginsync] = false
987
- Puppet.settings.expects(:set_by_config?).returns(true)
984
+ expect(Puppet.settings).to receive(:set_by_config?).and_return(true)
988
985
 
989
986
  expect(described_class).not_to be_should_pluginsync
990
987
  end
@@ -1005,13 +1002,13 @@ describe Puppet::Configurer do
1005
1002
  describe "when attempting failover" do
1006
1003
  it "should not failover if server_list is not set" do
1007
1004
  Puppet.settings[:server_list] = []
1008
- @agent.expects(:find_functional_server).never
1005
+ expect(@agent).not_to receive(:find_functional_server)
1009
1006
  @agent.run
1010
1007
  end
1011
1008
 
1012
1009
  it "should not failover during an apply run" do
1013
1010
  Puppet.settings[:server_list] = ["myserver:123"]
1014
- @agent.expects(:find_functional_server).never
1011
+ expect(@agent).not_to receive(:find_functional_server)
1015
1012
  catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote(Puppet[:environment].to_sym))
1016
1013
  @agent.run :catalog => catalog
1017
1014
  end
@@ -1019,29 +1016,29 @@ describe Puppet::Configurer do
1019
1016
  it "should select a server when provided" do
1020
1017
  Puppet.settings[:server_list] = ["myserver:123"]
1021
1018
  pool = Puppet::Network::HTTP::Pool.new(Puppet[:http_keepalive_timeout])
1022
- Puppet::Network::HTTP::Pool.expects(:new).returns(pool)
1023
- Puppet.expects(:override).with({:http_pool => pool}).yields
1024
- Puppet.expects(:override).with({:server => "myserver", :serverport => '123'}).twice.yields
1025
- Puppet::Node.indirection.expects(:find).returns(nil)
1026
- @agent.expects(:run_internal).returns(nil)
1019
+ expect(Puppet::Network::HTTP::Pool).to receive(:new).and_return(pool)
1020
+ expect(Puppet).to receive(:override).with({:http_pool => pool}).and_yield
1021
+ expect(Puppet).to receive(:override).with({:server => "myserver", :serverport => '123'}).twice.and_yield
1022
+ expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
1023
+ expect(@agent).to receive(:run_internal).and_return(nil)
1027
1024
  @agent.run
1028
1025
  end
1029
1026
 
1030
1027
  it "should error when no servers in 'server_list' are reachable" do
1031
1028
  Puppet.settings[:server_list] = ["myserver:123"]
1032
1029
  pool = Puppet::Network::HTTP::Pool.new(Puppet[:http_keepalive_timeout])
1033
- Puppet::Network::HTTP::Pool.expects(:new).returns(pool)
1034
- Puppet.expects(:override).with({:http_pool => pool}).yields
1035
- Puppet.expects(:override).with({:server => "myserver", :serverport => '123'}).yields
1030
+ expect(Puppet::Network::HTTP::Pool).to receive(:new).and_return(pool)
1031
+ expect(Puppet).to receive(:override).with({:http_pool => pool}).and_yield
1032
+ expect(Puppet).to receive(:override).with({:server => "myserver", :serverport => '123'}).and_yield
1036
1033
  error = Net::HTTPError.new(400, 'dummy server communication error')
1037
- Puppet::Node.indirection.expects(:find).raises(error)
1034
+ expect(Puppet::Node.indirection).to receive(:find).and_raise(error)
1038
1035
  expect{ @agent.run }.to raise_error(Puppet::Error, /Could not select a functional puppet master from server_list/)
1039
1036
  end
1040
1037
 
1041
1038
  it "should not make multiple node requets when the server is found" do
1042
1039
  Puppet.settings[:server_list] = ["myserver:123"]
1043
- Puppet::Node.indirection.expects(:find).returns("mynode").once
1044
- @agent.expects(:prepare_and_retrieve_catalog).returns(nil)
1040
+ expect(Puppet::Node.indirection).to receive(:find).and_return("mynode").once
1041
+ expect(@agent).to receive(:prepare_and_retrieve_catalog).and_return(nil)
1045
1042
  @agent.run
1046
1043
  end
1047
1044
  end