puppet 6.4.0-x64-mingw32 → 6.4.1-x64-mingw32

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

Potentially problematic release.


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

Files changed (646) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -1
  3. data/Gemfile.lock +7 -11
  4. data/lib/puppet/application/device.rb +97 -82
  5. data/lib/puppet/application/filebucket.rb +4 -0
  6. data/lib/puppet/application/ssl.rb +2 -2
  7. data/lib/puppet/configurer.rb +5 -4
  8. data/lib/puppet/defaults.rb +33 -11
  9. data/lib/puppet/indirector/request.rb +28 -15
  10. data/lib/puppet/ssl.rb +1 -1
  11. data/lib/puppet/ssl/certificate.rb +1 -1
  12. data/lib/puppet/ssl/error.rb +1 -1
  13. data/lib/puppet/ssl/host.rb +0 -47
  14. data/lib/puppet/ssl/ssl_provider.rb +2 -2
  15. data/lib/puppet/ssl/state_machine.rb +16 -17
  16. data/lib/puppet/ssl/validator/default_validator.rb +4 -4
  17. data/lib/puppet/ssl/verifier.rb +1 -1
  18. data/lib/puppet/transaction/event_manager.rb +1 -5
  19. data/lib/puppet/util/connection.rb +15 -8
  20. data/lib/puppet/util/monkey_patches.rb +20 -1
  21. data/lib/puppet/version.rb +1 -1
  22. data/locales/puppet.pot +135 -68
  23. data/man/man5/puppet.conf.5 +9 -9
  24. data/man/man8/puppet-agent.8 +1 -1
  25. data/man/man8/puppet-apply.8 +1 -1
  26. data/man/man8/puppet-catalog.8 +1 -1
  27. data/man/man8/puppet-config.8 +1 -1
  28. data/man/man8/puppet-describe.8 +1 -1
  29. data/man/man8/puppet-device.8 +1 -1
  30. data/man/man8/puppet-doc.8 +1 -1
  31. data/man/man8/puppet-epp.8 +1 -1
  32. data/man/man8/puppet-facts.8 +1 -1
  33. data/man/man8/puppet-filebucket.8 +1 -1
  34. data/man/man8/puppet-generate.8 +1 -1
  35. data/man/man8/puppet-help.8 +1 -1
  36. data/man/man8/puppet-key.8 +1 -1
  37. data/man/man8/puppet-lookup.8 +1 -1
  38. data/man/man8/puppet-man.8 +1 -1
  39. data/man/man8/puppet-module.8 +1 -1
  40. data/man/man8/puppet-node.8 +1 -1
  41. data/man/man8/puppet-parser.8 +1 -1
  42. data/man/man8/puppet-plugin.8 +1 -1
  43. data/man/man8/puppet-report.8 +1 -1
  44. data/man/man8/puppet-resource.8 +1 -1
  45. data/man/man8/puppet-script.8 +1 -1
  46. data/man/man8/puppet-ssl.8 +1 -1
  47. data/man/man8/puppet-status.8 +1 -1
  48. data/man/man8/puppet.8 +2 -2
  49. data/spec/integration/agent/logging_spec.rb +5 -7
  50. data/spec/integration/application/apply_spec.rb +18 -16
  51. data/spec/integration/application/doc_spec.rb +1 -2
  52. data/spec/integration/application/lookup_spec.rb +5 -5
  53. data/spec/integration/configurer_spec.rb +5 -6
  54. data/spec/integration/defaults_spec.rb +5 -6
  55. data/spec/integration/directory_environments_spec.rb +1 -1
  56. data/spec/integration/faces/config_spec.rb +3 -4
  57. data/spec/integration/faces/documentation_spec.rb +0 -1
  58. data/spec/integration/faces/plugin_spec.rb +1 -1
  59. data/spec/integration/file_bucket/file_spec.rb +2 -4
  60. data/spec/integration/file_serving/content_spec.rb +0 -1
  61. data/spec/integration/file_serving/fileset_spec.rb +0 -1
  62. data/spec/integration/file_serving/metadata_spec.rb +0 -1
  63. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
  64. data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
  65. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  66. data/spec/integration/indirector/facts/facter_spec.rb +4 -5
  67. data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
  68. data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
  69. data/spec/integration/network/authconfig_spec.rb +23 -24
  70. data/spec/integration/network/formats_spec.rb +0 -1
  71. data/spec/integration/network/http_pool_spec.rb +3 -3
  72. data/spec/integration/node/environment_spec.rb +0 -1
  73. data/spec/integration/node/facts_spec.rb +9 -10
  74. data/spec/integration/node_spec.rb +6 -7
  75. data/spec/integration/parser/catalog_spec.rb +1 -5
  76. data/spec/integration/parser/collection_spec.rb +1 -2
  77. data/spec/integration/parser/compiler_spec.rb +6 -6
  78. data/spec/integration/parser/scope_spec.rb +1 -1
  79. data/spec/integration/parser/undef_param_spec.rb +1 -1
  80. data/spec/integration/provider/service/init_spec.rb +4 -5
  81. data/spec/integration/provider/service/systemd_spec.rb +0 -2
  82. data/spec/integration/provider/service/windows_spec.rb +1 -2
  83. data/spec/integration/reference/providers_spec.rb +1 -2
  84. data/spec/integration/reports_spec.rb +1 -2
  85. data/spec/integration/resource/catalog_spec.rb +14 -17
  86. data/spec/integration/resource/type_collection_spec.rb +4 -5
  87. data/spec/integration/rest/client_spec.rb +1 -1
  88. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  89. data/spec/integration/ssl/host_spec.rb +1 -2
  90. data/spec/integration/ssl/key_spec.rb +0 -1
  91. data/spec/integration/test/test_helper_spec.rb +0 -1
  92. data/spec/integration/transaction/report_spec.rb +6 -11
  93. data/spec/integration/transaction_spec.rb +18 -19
  94. data/spec/integration/type/exec_spec.rb +0 -1
  95. data/spec/integration/type/file_spec.rb +13 -14
  96. data/spec/integration/type/package_spec.rb +19 -23
  97. data/spec/integration/type/tidy_spec.rb +1 -2
  98. data/spec/integration/type_spec.rb +0 -1
  99. data/spec/integration/util/autoload_spec.rb +1 -2
  100. data/spec/integration/util/rdoc/parser_spec.rb +0 -1
  101. data/spec/integration/util/settings_spec.rb +0 -1
  102. data/spec/integration/util/windows/adsi_spec.rb +3 -5
  103. data/spec/integration/util/windows/principal_spec.rb +0 -1
  104. data/spec/integration/util/windows/process_spec.rb +4 -6
  105. data/spec/integration/util/windows/registry_spec.rb +41 -51
  106. data/spec/integration/util/windows/security_spec.rb +2 -4
  107. data/spec/integration/util/windows/user_spec.rb +18 -20
  108. data/spec/integration/util_spec.rb +4 -7
  109. data/spec/lib/puppet_spec/compiler.rb +1 -1
  110. data/spec/lib/puppet_spec/files.rb +0 -1
  111. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  112. data/spec/lib/puppet_spec/scope.rb +1 -2
  113. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  114. data/spec/shared_behaviours/file_server_terminus.rb +8 -9
  115. data/spec/shared_behaviours/file_serving.rb +6 -8
  116. data/spec/shared_behaviours/file_serving_model.rb +3 -5
  117. data/spec/shared_behaviours/hiera_indirections.rb +3 -4
  118. data/spec/shared_behaviours/iterative_functions.rb +0 -1
  119. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  120. data/spec/shared_examples/rhel_package_provider.rb +112 -70
  121. data/spec/spec_helper.rb +10 -1
  122. data/spec/unit/agent/disabler_spec.rb +4 -5
  123. data/spec/unit/agent/locker_spec.rb +12 -13
  124. data/spec/unit/agent_spec.rb +80 -85
  125. data/spec/unit/application/agent_spec.rb +88 -94
  126. data/spec/unit/application/apply_spec.rb +82 -83
  127. data/spec/unit/application/config_spec.rb +0 -1
  128. data/spec/unit/application/describe_spec.rb +6 -7
  129. data/spec/unit/application/device_spec.rb +379 -384
  130. data/spec/unit/application/doc_spec.rb +44 -46
  131. data/spec/unit/application/face_base_spec.rb +61 -62
  132. data/spec/unit/application/facts_spec.rb +3 -4
  133. data/spec/unit/application/filebucket_spec.rb +66 -74
  134. data/spec/unit/application/indirection_base_spec.rb +8 -6
  135. data/spec/unit/application/lookup_spec.rb +26 -26
  136. data/spec/unit/application/resource_spec.rb +42 -48
  137. data/spec/unit/application/ssl_spec.rb +9 -9
  138. data/spec/unit/application_spec.rb +82 -92
  139. data/spec/unit/capability_spec.rb +6 -6
  140. data/spec/unit/certificate_factory_spec.rb +3 -5
  141. data/spec/unit/configurer/downloader_spec.rb +20 -21
  142. data/spec/unit/configurer/fact_handler_spec.rb +2 -3
  143. data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
  144. data/spec/unit/configurer_spec.rb +189 -192
  145. data/spec/unit/confine/exists_spec.rb +17 -15
  146. data/spec/unit/confine/false_spec.rb +5 -6
  147. data/spec/unit/confine/feature_spec.rb +7 -5
  148. data/spec/unit/confine/true_spec.rb +5 -6
  149. data/spec/unit/confine/variable_spec.rb +14 -15
  150. data/spec/unit/confine_collection_spec.rb +28 -29
  151. data/spec/unit/confine_spec.rb +13 -14
  152. data/spec/unit/confiner_spec.rb +10 -11
  153. data/spec/unit/context/trusted_information_spec.rb +1 -1
  154. data/spec/unit/daemon_spec.rb +35 -36
  155. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
  156. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
  157. data/spec/unit/datatypes_spec.rb +3 -4
  158. data/spec/unit/defaults_spec.rb +18 -13
  159. data/spec/unit/environments_spec.rb +7 -7
  160. data/spec/unit/etc_spec.rb +30 -32
  161. data/spec/unit/external/pson_spec.rb +0 -1
  162. data/spec/unit/face/catalog_spec.rb +0 -1
  163. data/spec/unit/face/config_spec.rb +31 -35
  164. data/spec/unit/face/epp_face_spec.rb +3 -4
  165. data/spec/unit/face/facts_spec.rb +5 -6
  166. data/spec/unit/face/generate_spec.rb +4 -5
  167. data/spec/unit/face/help_spec.rb +7 -8
  168. data/spec/unit/face/key_spec.rb +0 -1
  169. data/spec/unit/face/man_spec.rb +1 -2
  170. data/spec/unit/face/module/install_spec.rb +3 -5
  171. data/spec/unit/face/module/list_spec.rb +2 -12
  172. data/spec/unit/face/module/search_spec.rb +11 -9
  173. data/spec/unit/face/module/uninstall_spec.rb +4 -8
  174. data/spec/unit/face/node_spec.rb +23 -24
  175. data/spec/unit/face/parser_spec.rb +3 -3
  176. data/spec/unit/face/plugin_spec.rb +36 -9
  177. data/spec/unit/face/status_spec.rb +0 -1
  178. data/spec/unit/file_bucket/dipper_spec.rb +24 -20
  179. data/spec/unit/file_bucket/file_spec.rb +0 -2
  180. data/spec/unit/file_serving/base_spec.rb +14 -15
  181. data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
  182. data/spec/unit/file_serving/configuration_spec.rb +63 -66
  183. data/spec/unit/file_serving/content_spec.rb +10 -11
  184. data/spec/unit/file_serving/fileset_spec.rb +63 -58
  185. data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
  186. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  187. data/spec/unit/file_serving/mount/file_spec.rb +31 -32
  188. data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
  189. data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
  190. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
  191. data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
  192. data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
  193. data/spec/unit/file_serving/mount_spec.rb +0 -1
  194. data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
  195. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
  196. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  197. data/spec/unit/file_system_spec.rb +4 -4
  198. data/spec/unit/forge/errors_spec.rb +1 -1
  199. data/spec/unit/forge/forge_spec.rb +13 -14
  200. data/spec/unit/forge/module_release_spec.rb +18 -18
  201. data/spec/unit/forge/repository_spec.rb +29 -30
  202. data/spec/unit/forge_spec.rb +15 -11
  203. data/spec/unit/functions/binary_file_spec.rb +3 -3
  204. data/spec/unit/functions/contain_spec.rb +0 -2
  205. data/spec/unit/functions/defined_spec.rb +0 -1
  206. data/spec/unit/functions/epp_spec.rb +2 -2
  207. data/spec/unit/functions/find_file_spec.rb +7 -7
  208. data/spec/unit/functions/include_spec.rb +0 -4
  209. data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
  210. data/spec/unit/functions/lookup_spec.rb +1 -2
  211. data/spec/unit/functions/module_directory_spec.rb +12 -12
  212. data/spec/unit/functions/require_spec.rb +0 -3
  213. data/spec/unit/functions/shared.rb +5 -8
  214. data/spec/unit/functions/versioncmp_spec.rb +1 -2
  215. data/spec/unit/functions4_spec.rb +9 -10
  216. data/spec/unit/gettext/config_spec.rb +4 -4
  217. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  218. data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
  219. data/spec/unit/graph/relationship_graph_spec.rb +1 -2
  220. data/spec/unit/graph/simple_graph_spec.rb +9 -10
  221. data/spec/unit/hiera_puppet_spec.rb +20 -20
  222. data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
  223. data/spec/unit/indirector/catalog/json_spec.rb +1 -2
  224. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
  225. data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
  226. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
  227. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
  228. data/spec/unit/indirector/certificate/file_spec.rb +0 -1
  229. data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
  230. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
  231. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
  232. data/spec/unit/indirector/direct_file_server_spec.rb +17 -18
  233. data/spec/unit/indirector/envelope_spec.rb +1 -2
  234. data/spec/unit/indirector/exec_spec.rb +4 -5
  235. data/spec/unit/indirector/face_spec.rb +9 -9
  236. data/spec/unit/indirector/facts/facter_spec.rb +37 -43
  237. data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
  238. data/spec/unit/indirector/facts/rest_spec.rb +7 -8
  239. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
  240. data/spec/unit/indirector/facts/yaml_spec.rb +0 -1
  241. data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
  242. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
  243. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
  244. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
  245. data/spec/unit/indirector/file_content/file_spec.rb +0 -1
  246. data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
  247. data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
  248. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
  249. data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
  250. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
  251. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
  252. data/spec/unit/indirector/file_server_spec.rb +87 -87
  253. data/spec/unit/indirector/indirection_spec.rb +242 -226
  254. data/spec/unit/indirector/json_spec.rb +7 -9
  255. data/spec/unit/indirector/key/file_spec.rb +21 -22
  256. data/spec/unit/indirector/memory_spec.rb +6 -7
  257. data/spec/unit/indirector/msgpack_spec.rb +7 -9
  258. data/spec/unit/indirector/node/exec_spec.rb +2 -3
  259. data/spec/unit/indirector/node/memory_spec.rb +2 -4
  260. data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
  261. data/spec/unit/indirector/node/plain_spec.rb +2 -4
  262. data/spec/unit/indirector/node/rest_spec.rb +0 -1
  263. data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
  264. data/spec/unit/indirector/node/yaml_spec.rb +0 -1
  265. data/spec/unit/indirector/none_spec.rb +5 -5
  266. data/spec/unit/indirector/plain_spec.rb +7 -8
  267. data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
  268. data/spec/unit/indirector/report/processor_spec.rb +21 -22
  269. data/spec/unit/indirector/report/rest_spec.rb +11 -12
  270. data/spec/unit/indirector/report/yaml_spec.rb +0 -1
  271. data/spec/unit/indirector/request_spec.rb +11 -12
  272. data/spec/unit/indirector/resource/ral_spec.rb +47 -54
  273. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
  274. data/spec/unit/indirector/rest_spec.rb +113 -110
  275. data/spec/unit/indirector/ssl_file_spec.rb +64 -65
  276. data/spec/unit/indirector/status/local_spec.rb +0 -1
  277. data/spec/unit/indirector/status/rest_spec.rb +0 -1
  278. data/spec/unit/indirector/store_configs_spec.rb +0 -1
  279. data/spec/unit/indirector/terminus_spec.rb +27 -27
  280. data/spec/unit/indirector/yaml_spec.rb +5 -6
  281. data/spec/unit/indirector_spec.rb +1 -2
  282. data/spec/unit/info_service_spec.rb +1 -1
  283. data/spec/unit/interface/action_builder_spec.rb +0 -1
  284. data/spec/unit/interface/action_manager_spec.rb +0 -1
  285. data/spec/unit/interface/action_spec.rb +2 -3
  286. data/spec/unit/interface/documentation_spec.rb +0 -1
  287. data/spec/unit/interface/face_collection_spec.rb +19 -12
  288. data/spec/unit/interface_spec.rb +3 -3
  289. data/spec/unit/man_spec.rb +3 -4
  290. data/spec/unit/module_spec.rb +46 -51
  291. data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
  292. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  293. data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
  294. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  295. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  296. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  297. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  298. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  299. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  300. data/spec/unit/module_tool/tar_spec.rb +12 -13
  301. data/spec/unit/module_tool_spec.rb +7 -12
  302. data/spec/unit/network/auth_config_parser_spec.rb +11 -13
  303. data/spec/unit/network/authconfig_spec.rb +17 -18
  304. data/spec/unit/network/authorization_spec.rb +4 -5
  305. data/spec/unit/network/authstore_spec.rb +0 -1
  306. data/spec/unit/network/format_handler_spec.rb +0 -1
  307. data/spec/unit/network/format_spec.rb +9 -10
  308. data/spec/unit/network/format_support_spec.rb +28 -29
  309. data/spec/unit/network/formats_spec.rb +4 -5
  310. data/spec/unit/network/http/api/indirected_routes_spec.rb +24 -29
  311. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  312. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  313. data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
  314. data/spec/unit/network/http/api_spec.rb +0 -2
  315. data/spec/unit/network/http/compression_spec.rb +21 -22
  316. data/spec/unit/network/http/connection_spec.rb +35 -35
  317. data/spec/unit/network/http/factory_spec.rb +5 -6
  318. data/spec/unit/network/http/handler_spec.rb +9 -18
  319. data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
  320. data/spec/unit/network/http/pool_spec.rb +33 -34
  321. data/spec/unit/network/http/request_spec.rb +0 -2
  322. data/spec/unit/network/http/response_spec.rb +11 -13
  323. data/spec/unit/network/http/route_spec.rb +0 -1
  324. data/spec/unit/network/http/session_spec.rb +2 -3
  325. data/spec/unit/network/http/site_spec.rb +0 -1
  326. data/spec/unit/network/http_pool_spec.rb +19 -10
  327. data/spec/unit/network/http_spec.rb +0 -1
  328. data/spec/unit/network/resolver_spec.rb +25 -26
  329. data/spec/unit/network/rights_spec.rb +52 -53
  330. data/spec/unit/node/environment_spec.rb +14 -15
  331. data/spec/unit/node/facts_spec.rb +5 -7
  332. data/spec/unit/node_spec.rb +4 -10
  333. data/spec/unit/other/selinux_spec.rb +0 -1
  334. data/spec/unit/parameter/boolean_spec.rb +1 -2
  335. data/spec/unit/parameter/package_options_spec.rb +1 -2
  336. data/spec/unit/parameter/path_spec.rb +0 -1
  337. data/spec/unit/parameter/value_collection_spec.rb +0 -1
  338. data/spec/unit/parameter/value_spec.rb +0 -1
  339. data/spec/unit/parameter_spec.rb +9 -9
  340. data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
  341. data/spec/unit/parser/ast/leaf_spec.rb +20 -21
  342. data/spec/unit/parser/compiler_spec.rb +84 -96
  343. data/spec/unit/parser/environment_compiler_spec.rb +7 -8
  344. data/spec/unit/parser/files_spec.rb +0 -1
  345. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  346. data/spec/unit/parser/functions/digest_spec.rb +0 -1
  347. data/spec/unit/parser/functions/fail_spec.rb +1 -2
  348. data/spec/unit/parser/functions/file_spec.rb +13 -14
  349. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
  350. data/spec/unit/parser/functions/generate_spec.rb +7 -8
  351. data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
  352. data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
  353. data/spec/unit/parser/functions/scanf_spec.rb +0 -1
  354. data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
  355. data/spec/unit/parser/functions/split_spec.rb +0 -1
  356. data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
  357. data/spec/unit/parser/functions/tag_spec.rb +1 -2
  358. data/spec/unit/parser/functions/tagged_spec.rb +2 -3
  359. data/spec/unit/parser/functions/template_spec.rb +13 -13
  360. data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
  361. data/spec/unit/parser/functions_spec.rb +6 -7
  362. data/spec/unit/parser/relationship_spec.rb +0 -1
  363. data/spec/unit/parser/resource_spec.rb +42 -42
  364. data/spec/unit/parser/scope_spec.rb +39 -35
  365. data/spec/unit/parser/templatewrapper_spec.rb +11 -12
  366. data/spec/unit/parser/type_loader_spec.rb +17 -19
  367. data/spec/unit/pops/adaptable_spec.rb +0 -1
  368. data/spec/unit/pops/benchmark_spec.rb +0 -1
  369. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
  370. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
  371. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
  372. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
  373. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
  374. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
  375. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +10 -11
  376. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
  377. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
  378. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
  379. data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
  380. data/spec/unit/pops/factory_spec.rb +3 -4
  381. data/spec/unit/pops/issues_spec.rb +19 -20
  382. data/spec/unit/pops/loaders/loader_spec.rb +9 -5
  383. data/spec/unit/pops/loaders/loaders_spec.rb +31 -28
  384. data/spec/unit/pops/lookup/context_spec.rb +0 -1
  385. data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
  386. data/spec/unit/pops/merge_strategy_spec.rb +0 -1
  387. data/spec/unit/pops/migration_spec.rb +3 -5
  388. data/spec/unit/pops/model/model_spec.rb +0 -1
  389. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
  390. data/spec/unit/pops/parser/locator_spec.rb +3 -6
  391. data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
  392. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  393. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
  394. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
  395. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
  396. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
  397. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
  398. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
  399. data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
  400. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
  401. data/spec/unit/pops/pn_spec.rb +0 -1
  402. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
  403. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  404. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  405. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  406. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  407. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  408. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  409. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  410. data/spec/unit/pops/validator/validator_spec.rb +1 -2
  411. data/spec/unit/pops/visitor_spec.rb +0 -1
  412. data/spec/unit/property/boolean_spec.rb +1 -1
  413. data/spec/unit/property/ensure_spec.rb +0 -1
  414. data/spec/unit/property/keyvalue_spec.rb +32 -34
  415. data/spec/unit/property/list_spec.rb +26 -27
  416. data/spec/unit/property/ordered_list_spec.rb +10 -14
  417. data/spec/unit/property_spec.rb +42 -43
  418. data/spec/unit/provider/aix_object_spec.rb +47 -45
  419. data/spec/unit/provider/command_spec.rb +9 -9
  420. data/spec/unit/provider/exec/posix_spec.rb +8 -9
  421. data/spec/unit/provider/exec/shell_spec.rb +0 -1
  422. data/spec/unit/provider/exec/windows_spec.rb +2 -4
  423. data/spec/unit/provider/exec_spec.rb +0 -1
  424. data/spec/unit/provider/file/posix_spec.rb +22 -24
  425. data/spec/unit/provider/file/windows_spec.rb +15 -17
  426. data/spec/unit/provider/group/aix_spec.rb +3 -2
  427. data/spec/unit/provider/group/groupadd_spec.rb +30 -26
  428. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  429. data/spec/unit/provider/group/pw_spec.rb +11 -11
  430. data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
  431. data/spec/unit/provider/ldap_spec.rb +61 -62
  432. data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
  433. data/spec/unit/provider/nameservice_spec.rb +38 -40
  434. data/spec/unit/provider/package/aix_spec.rb +15 -15
  435. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  436. data/spec/unit/provider/package/apt_spec.rb +44 -27
  437. data/spec/unit/provider/package/aptitude_spec.rb +6 -7
  438. data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
  439. data/spec/unit/provider/package/base_spec.rb +4 -4
  440. data/spec/unit/provider/package/dnf_spec.rb +18 -20
  441. data/spec/unit/provider/package/dpkg_spec.rb +52 -52
  442. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  443. data/spec/unit/provider/package/gem_spec.rb +51 -43
  444. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  445. data/spec/unit/provider/package/macports_spec.rb +46 -42
  446. data/spec/unit/provider/package/nim_spec.rb +30 -39
  447. data/spec/unit/provider/package/openbsd_spec.rb +36 -39
  448. data/spec/unit/provider/package/opkg_spec.rb +23 -26
  449. data/spec/unit/provider/package/pacman_spec.rb +97 -118
  450. data/spec/unit/provider/package/pip_spec.rb +71 -72
  451. data/spec/unit/provider/package/pkg_spec.rb +113 -114
  452. data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
  453. data/spec/unit/provider/package/pkgin_spec.rb +10 -8
  454. data/spec/unit/provider/package/pkgng_spec.rb +21 -22
  455. data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
  456. data/spec/unit/provider/package/portage_spec.rb +71 -75
  457. data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
  458. data/spec/unit/provider/package/rpm_spec.rb +53 -64
  459. data/spec/unit/provider/package/sun_spec.rb +16 -18
  460. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  461. data/spec/unit/provider/package/up2date_spec.rb +2 -4
  462. data/spec/unit/provider/package/urpmi_spec.rb +15 -17
  463. data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
  464. data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
  465. data/spec/unit/provider/package/windows/package_spec.rb +37 -42
  466. data/spec/unit/provider/package/windows_spec.rb +36 -32
  467. data/spec/unit/provider/package/yum_spec.rb +7 -7
  468. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  469. data/spec/unit/provider/parsedfile_spec.rb +44 -45
  470. data/spec/unit/provider/service/base_spec.rb +4 -5
  471. data/spec/unit/provider/service/bsd_spec.rb +27 -29
  472. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  473. data/spec/unit/provider/service/debian_spec.rb +38 -38
  474. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  475. data/spec/unit/provider/service/gentoo_spec.rb +50 -55
  476. data/spec/unit/provider/service/init_spec.rb +53 -52
  477. data/spec/unit/provider/service/launchd_spec.rb +138 -116
  478. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  479. data/spec/unit/provider/service/openrc_spec.rb +43 -45
  480. data/spec/unit/provider/service/openwrt_spec.rb +26 -31
  481. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  482. data/spec/unit/provider/service/redhat_spec.rb +45 -43
  483. data/spec/unit/provider/service/runit_spec.rb +29 -27
  484. data/spec/unit/provider/service/smf_spec.rb +74 -66
  485. data/spec/unit/provider/service/src_spec.rb +46 -47
  486. data/spec/unit/provider/service/systemd_spec.rb +113 -122
  487. data/spec/unit/provider/service/upstart_spec.rb +74 -71
  488. data/spec/unit/provider/service/windows_spec.rb +33 -41
  489. data/spec/unit/provider/user/aix_spec.rb +31 -31
  490. data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
  491. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  492. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  493. data/spec/unit/provider/user/openbsd_spec.rb +10 -12
  494. data/spec/unit/provider/user/pw_spec.rb +37 -35
  495. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  496. data/spec/unit/provider/user/useradd_spec.rb +93 -92
  497. data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
  498. data/spec/unit/provider_spec.rb +35 -35
  499. data/spec/unit/puppet_pal_2pec.rb +4 -5
  500. data/spec/unit/puppet_pal_spec.rb +0 -1
  501. data/spec/unit/puppet_spec.rb +6 -7
  502. data/spec/unit/relationship_spec.rb +0 -1
  503. data/spec/unit/reports/http_spec.rb +22 -24
  504. data/spec/unit/reports/store_spec.rb +3 -4
  505. data/spec/unit/reports_spec.rb +12 -14
  506. data/spec/unit/resource/capability_finder_spec.rb +15 -17
  507. data/spec/unit/resource/catalog_spec.rb +72 -68
  508. data/spec/unit/resource/status_spec.rb +6 -8
  509. data/spec/unit/resource/type_collection_spec.rb +17 -18
  510. data/spec/unit/resource/type_spec.rb +34 -35
  511. data/spec/unit/resource_spec.rb +36 -32
  512. data/spec/unit/rest/client_spec.rb +56 -25
  513. data/spec/unit/rest/route_spec.rb +5 -5
  514. data/spec/unit/scheduler/job_spec.rb +0 -1
  515. data/spec/unit/scheduler/scheduler_spec.rb +0 -1
  516. data/spec/unit/scheduler/splay_job_spec.rb +1 -2
  517. data/spec/unit/settings/array_setting_spec.rb +1 -1
  518. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  519. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  520. data/spec/unit/settings/config_file_spec.rb +0 -1
  521. data/spec/unit/settings/directory_setting_spec.rb +2 -7
  522. data/spec/unit/settings/duration_setting_spec.rb +1 -2
  523. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  524. data/spec/unit/settings/environment_conf_spec.rb +4 -6
  525. data/spec/unit/settings/file_setting_spec.rb +44 -46
  526. data/spec/unit/settings/path_setting_spec.rb +1 -2
  527. data/spec/unit/settings/priority_setting_spec.rb +1 -2
  528. data/spec/unit/settings/string_setting_spec.rb +14 -15
  529. data/spec/unit/settings/terminus_setting_spec.rb +1 -2
  530. data/spec/unit/settings/value_translator_spec.rb +0 -1
  531. data/spec/unit/settings_spec.rb +228 -235
  532. data/spec/unit/ssl/base_spec.rb +14 -15
  533. data/spec/unit/ssl/certificate_request_spec.rb +62 -58
  534. data/spec/unit/ssl/certificate_spec.rb +23 -25
  535. data/spec/unit/ssl/digest_spec.rb +0 -1
  536. data/spec/unit/ssl/host_spec.rb +147 -130
  537. data/spec/unit/ssl/key_spec.rb +30 -31
  538. data/spec/unit/ssl/ssl_provider_spec.rb +24 -24
  539. data/spec/unit/ssl/state_machine_spec.rb +50 -58
  540. data/spec/unit/ssl/validator_spec.rb +43 -54
  541. data/spec/unit/ssl/verifier_spec.rb +10 -10
  542. data/spec/unit/task_spec.rb +44 -45
  543. data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -5
  544. data/spec/unit/transaction/event_manager_spec.rb +87 -88
  545. data/spec/unit/transaction/event_spec.rb +16 -15
  546. data/spec/unit/transaction/persistence_spec.rb +16 -17
  547. data/spec/unit/transaction/report_spec.rb +11 -12
  548. data/spec/unit/transaction/resource_harness_spec.rb +28 -33
  549. data/spec/unit/transaction_spec.rb +100 -101
  550. data/spec/unit/type/component_spec.rb +0 -1
  551. data/spec/unit/type/exec_spec.rb +60 -56
  552. data/spec/unit/type/file/checksum_spec.rb +9 -10
  553. data/spec/unit/type/file/checksum_value_spec.rb +31 -32
  554. data/spec/unit/type/file/content_spec.rb +58 -61
  555. data/spec/unit/type/file/ctime_spec.rb +0 -1
  556. data/spec/unit/type/file/ensure_spec.rb +12 -13
  557. data/spec/unit/type/file/group_spec.rb +5 -7
  558. data/spec/unit/type/file/mode_spec.rb +4 -6
  559. data/spec/unit/type/file/mtime_spec.rb +0 -1
  560. data/spec/unit/type/file/owner_spec.rb +6 -8
  561. data/spec/unit/type/file/selinux_spec.rb +17 -19
  562. data/spec/unit/type/file/source_spec.rb +104 -101
  563. data/spec/unit/type/file/type_spec.rb +0 -1
  564. data/spec/unit/type/file_spec.rb +195 -185
  565. data/spec/unit/type/filebucket_spec.rb +4 -5
  566. data/spec/unit/type/group_spec.rb +6 -8
  567. data/spec/unit/type/noop_metaparam_spec.rb +1 -2
  568. data/spec/unit/type/package/package_settings_spec.rb +44 -23
  569. data/spec/unit/type/package_spec.rb +56 -57
  570. data/spec/unit/type/resources_spec.rb +72 -74
  571. data/spec/unit/type/schedule_spec.rb +24 -26
  572. data/spec/unit/type/service_spec.rb +49 -49
  573. data/spec/unit/type/stage_spec.rb +0 -1
  574. data/spec/unit/type/tidy_spec.rb +61 -62
  575. data/spec/unit/type/user_spec.rb +24 -25
  576. data/spec/unit/type/whit_spec.rb +0 -1
  577. data/spec/unit/type_spec.rb +55 -54
  578. data/spec/unit/util/at_fork_spec.rb +18 -19
  579. data/spec/unit/util/autoload_spec.rb +55 -56
  580. data/spec/unit/util/backups_spec.rb +34 -35
  581. data/spec/unit/util/character_encoding_spec.rb +5 -5
  582. data/spec/unit/util/checksums_spec.rb +38 -39
  583. data/spec/unit/util/colors_spec.rb +1 -2
  584. data/spec/unit/util/command_line_spec.rb +24 -25
  585. data/spec/unit/util/constant_inflector_spec.rb +0 -1
  586. data/spec/unit/util/diff_spec.rb +7 -8
  587. data/spec/unit/util/errors_spec.rb +0 -1
  588. data/spec/unit/util/execution_spec.rb +185 -161
  589. data/spec/unit/util/execution_stub_spec.rb +0 -1
  590. data/spec/unit/util/feature_spec.rb +23 -14
  591. data/spec/unit/util/filetype_spec.rb +49 -49
  592. data/spec/unit/util/http_proxy_spec.rb +12 -12
  593. data/spec/unit/util/inifile_spec.rb +26 -31
  594. data/spec/unit/util/json_lockfile_spec.rb +3 -5
  595. data/spec/unit/util/ldap/connection_spec.rb +26 -25
  596. data/spec/unit/util/ldap/generator_spec.rb +0 -1
  597. data/spec/unit/util/ldap/manager_spec.rb +102 -101
  598. data/spec/unit/util/lockfile_spec.rb +0 -1
  599. data/spec/unit/util/log/destinations_spec.rb +30 -33
  600. data/spec/unit/util/log_spec.rb +35 -36
  601. data/spec/unit/util/logging_spec.rb +58 -72
  602. data/spec/unit/util/metric_spec.rb +0 -1
  603. data/spec/unit/util/monkey_patches_spec.rb +7 -9
  604. data/spec/unit/util/multi_match_spec.rb +0 -1
  605. data/spec/unit/util/network_device/config_spec.rb +0 -1
  606. data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
  607. data/spec/unit/util/network_device_spec.rb +7 -9
  608. data/spec/unit/util/package_spec.rb +0 -1
  609. data/spec/unit/util/pidlock_spec.rb +21 -22
  610. data/spec/unit/util/plist_spec.rb +40 -33
  611. data/spec/unit/util/posix_spec.rb +54 -51
  612. data/spec/unit/util/rdoc_spec.rb +9 -10
  613. data/spec/unit/util/reference_spec.rb +0 -1
  614. data/spec/unit/util/resource_template_spec.rb +20 -20
  615. data/spec/unit/util/retry_action_spec.rb +7 -8
  616. data/spec/unit/util/rubygems_spec.rb +7 -8
  617. data/spec/unit/util/run_mode_spec.rb +3 -4
  618. data/spec/unit/util/selinux_spec.rb +79 -72
  619. data/spec/unit/util/splayer_spec.rb +8 -9
  620. data/spec/unit/util/ssl_spec.rb +0 -1
  621. data/spec/unit/util/storage_spec.rb +3 -4
  622. data/spec/unit/util/suidmanager_spec.rb +45 -54
  623. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
  624. data/spec/unit/util/tag_set_spec.rb +0 -1
  625. data/spec/unit/util/tagging_spec.rb +0 -1
  626. data/spec/unit/util/terminal_spec.rb +9 -10
  627. data/spec/unit/util/user_attr_spec.rb +1 -2
  628. data/spec/unit/util/warnings_spec.rb +3 -4
  629. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  630. data/spec/unit/util/watcher_spec.rb +51 -21
  631. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
  632. data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
  633. data/spec/unit/util/windows/adsi_spec.rb +136 -138
  634. data/spec/unit/util/windows/api_types_spec.rb +0 -1
  635. data/spec/unit/util/windows/eventlog_spec.rb +9 -12
  636. data/spec/unit/util/windows/file_spec.rb +0 -1
  637. data/spec/unit/util/windows/root_certs_spec.rb +1 -2
  638. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
  639. data/spec/unit/util/windows/service_spec.rb +66 -68
  640. data/spec/unit/util/windows/sid_spec.rb +11 -13
  641. data/spec/unit/util/windows/string_spec.rb +0 -1
  642. data/spec/unit/util_spec.rb +55 -57
  643. data/spec/unit/version_spec.rb +6 -6
  644. data/spec/unit/x509/cert_provider_spec.rb +14 -14
  645. data/spec/unit/x509/pem_store_spec.rb +5 -5
  646. metadata +2 -2
@@ -5,7 +5,7 @@ require 'puppet_spec/ssl'
5
5
  describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platform.jruby? do
6
6
  include PuppetSpec::Files
7
7
  let(:ssl_context) do
8
- mock('OpenSSL::X509::StoreContext')
8
+ double('OpenSSL::X509::StoreContext')
9
9
  end
10
10
 
11
11
  before(:all) do
@@ -17,10 +17,10 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
17
17
  end
18
18
 
19
19
  let(:ssl_host) do
20
- stub('ssl_host',
21
- :ssl_store => nil,
22
- :certificate => stub('cert', :content => nil),
23
- :key => stub('key', :content => nil))
20
+ double('ssl_host',
21
+ :ssl_store => nil,
22
+ :certificate => double('cert', :content => nil),
23
+ :key => double('key', :content => nil))
24
24
  end
25
25
 
26
26
  subject do
@@ -28,46 +28,46 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
28
28
  end
29
29
 
30
30
  before :each do
31
- subject.stubs(:read_file).returns(@pki[:root_cert].to_s)
31
+ allow(subject).to receive(:read_file).and_return(@pki[:root_cert].to_s)
32
32
  end
33
33
 
34
34
  describe '#call' do
35
35
  before :each do
36
- ssl_context.stubs(:current_cert).returns(*cert_chain_in_callback_order)
37
- ssl_context.stubs(:chain).returns(cert_chain)
36
+ allow(ssl_context).to receive(:current_cert).and_return(*cert_chain_in_callback_order)
37
+ allow(ssl_context).to receive(:chain).and_return(cert_chain)
38
38
  end
39
39
 
40
40
  context 'When pre-verification is not OK' do
41
41
  context 'and the ssl_context is in an error state' do
42
- let(:root_subject) { @pki[:root_cert].subject.to_s }
42
+ let(:root_subject) { @pki[:root_cert].subject.to_utf8 }
43
43
  let(:code) { OpenSSL::X509::V_ERR_INVALID_CA }
44
44
 
45
45
  it 'rejects the connection' do
46
- ssl_context.stubs(:error_string).returns("Something went wrong")
47
- ssl_context.stubs(:error).returns(code)
46
+ allow(ssl_context).to receive(:error_string).and_return("Something went wrong")
47
+ allow(ssl_context).to receive(:error).and_return(code)
48
48
 
49
49
  expect(subject.call(false, ssl_context)).to eq(false)
50
50
  end
51
51
 
52
52
  it 'makes the error available via #verify_errors' do
53
- ssl_context.stubs(:error_string).returns("Something went wrong")
54
- ssl_context.stubs(:error).returns(code)
53
+ allow(ssl_context).to receive(:error_string).and_return("Something went wrong")
54
+ allow(ssl_context).to receive(:error).and_return(code)
55
55
 
56
56
  subject.call(false, ssl_context)
57
57
  expect(subject.verify_errors).to eq(["Something went wrong for #{root_subject}"])
58
58
  end
59
59
 
60
60
  it 'uses a generic message if error_string is nil' do
61
- ssl_context.stubs(:error_string).returns(nil)
62
- ssl_context.stubs(:error).returns(code)
61
+ allow(ssl_context).to receive(:error_string).and_return(nil)
62
+ allow(ssl_context).to receive(:error).and_return(code)
63
63
 
64
64
  subject.call(false, ssl_context)
65
65
  expect(subject.verify_errors).to eq(["OpenSSL error #{code} for #{root_subject}"])
66
66
  end
67
67
 
68
68
  it 'uses 0 for nil error codes' do
69
- ssl_context.stubs(:error_string).returns("Something went wrong")
70
- ssl_context.stubs(:error).returns(nil)
69
+ allow(ssl_context).to receive(:error_string).and_return("Something went wrong")
70
+ allow(ssl_context).to receive(:error).and_return(nil)
71
71
 
72
72
  subject.call(false, ssl_context)
73
73
  expect(subject.verify_errors).to eq(["Something went wrong for #{root_subject}"])
@@ -75,12 +75,12 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
75
75
 
76
76
  context "when CRL is not yet valid" do
77
77
  before :each do
78
- ssl_context.stubs(:error_string).returns("CRL is not yet valid")
79
- ssl_context.stubs(:error).returns(OpenSSL::X509::V_ERR_CRL_NOT_YET_VALID)
78
+ allow(ssl_context).to receive(:error_string).and_return("CRL is not yet valid")
79
+ allow(ssl_context).to receive(:error).and_return(OpenSSL::X509::V_ERR_CRL_NOT_YET_VALID)
80
80
  end
81
81
 
82
82
  it 'rejects nil CRL' do
83
- ssl_context.stubs(:current_crl).returns(nil)
83
+ allow(ssl_context).to receive(:current_crl).and_return(nil)
84
84
 
85
85
  expect(subject.call(false, ssl_context)).to eq(false)
86
86
  expect(subject.verify_errors).to eq(["CRL is not yet valid"])
@@ -90,17 +90,17 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
90
90
  crl = OpenSSL::X509::CRL.new
91
91
  crl.issuer = OpenSSL::X509::Name.new([['CN','Puppet CA: puppetmaster.example.com']])
92
92
  crl.last_update = Time.now + 24 * 60 * 60
93
- ssl_context.stubs(:current_crl).returns(crl)
93
+ allow(ssl_context).to receive(:current_crl).and_return(crl)
94
94
 
95
95
  subject.call(false, ssl_context)
96
- expect(subject.verify_errors).to eq(["CRL is not yet valid for /CN=Puppet CA: puppetmaster.example.com"])
96
+ expect(subject.verify_errors).to eq(["CRL is not yet valid for CN=Puppet CA: puppetmaster.example.com"])
97
97
  end
98
98
 
99
99
  it 'rejects CRLs whose last_update time is more than 5 minutes in the future' do
100
100
  crl = OpenSSL::X509::CRL.new
101
101
  crl.issuer = OpenSSL::X509::Name.new([['CN','Puppet CA: puppetmaster.example.com']])
102
102
  crl.last_update = Time.now + 24 * 60 * 60
103
- ssl_context.stubs(:current_crl).returns(crl)
103
+ allow(ssl_context).to receive(:current_crl).and_return(crl)
104
104
 
105
105
  expect(subject.call(false, ssl_context)).to eq(false)
106
106
  end
@@ -109,7 +109,7 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
109
109
  crl = OpenSSL::X509::CRL.new
110
110
  crl.issuer = OpenSSL::X509::Name.new([['CN','Puppet CA: puppetmaster.example.com']])
111
111
  crl.last_update = Time.now + 10
112
- ssl_context.stubs(:current_crl).returns(crl)
112
+ allow(ssl_context).to receive(:current_crl).and_return(crl)
113
113
 
114
114
  expect(subject.call(false, ssl_context)).to eq(true)
115
115
  end
@@ -120,7 +120,7 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
120
120
  context 'When pre-verification is OK' do
121
121
  context 'and the ssl_context is in an error state' do
122
122
  before :each do
123
- ssl_context.stubs(:error_string).returns("Something went wrong")
123
+ allow(ssl_context).to receive(:error_string).and_return("Something went wrong")
124
124
  end
125
125
 
126
126
  it 'does not make the error available via #verify_errors' do
@@ -146,7 +146,7 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
146
146
 
147
147
  context 'and the chain is invalid' do
148
148
  before :each do
149
- subject.stubs(:read_file).returns(@pki[:unrevoked_leaf_node_cert])
149
+ allow(subject).to receive(:read_file).and_return(@pki[:unrevoked_leaf_node_cert])
150
150
  end
151
151
 
152
152
  it 'is true for each CA certificate in the chain' do
@@ -165,7 +165,7 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
165
165
 
166
166
  context 'an error is raised inside of #call' do
167
167
  before :each do
168
- ssl_context.expects(:current_cert).raises(StandardError, "BOOM!")
168
+ expect(ssl_context).to receive(:current_cert).and_raise(StandardError, "BOOM!")
169
169
  end
170
170
 
171
171
  it 'is false' do
@@ -182,26 +182,25 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
182
182
 
183
183
  describe '#setup_connection' do
184
184
  it 'updates the connection for verification' do
185
- subject.stubs(:ssl_certificates_are_present?).returns(true)
186
- connection = mock('Net::HTTP')
185
+ allow(subject).to receive(:ssl_certificates_are_present?).and_return(true)
186
+ connection = double('Net::HTTP')
187
187
 
188
- connection.expects(:cert_store=).with(ssl_host.ssl_store)
189
- connection.expects(:ca_file=).with(ca_path)
190
- connection.expects(:cert=).with(ssl_host.certificate.content)
191
- connection.expects(:key=).with(ssl_host.key.content)
192
- connection.expects(:verify_callback=).with(subject)
193
- connection.expects(:verify_mode=).with(OpenSSL::SSL::VERIFY_PEER)
188
+ expect(connection).to receive(:cert_store=).with(ssl_host.ssl_store)
189
+ expect(connection).to receive(:ca_file=).with(ca_path)
190
+ expect(connection).to receive(:cert=).with(ssl_host.certificate.content)
191
+ expect(connection).to receive(:key=).with(ssl_host.key.content)
192
+ expect(connection).to receive(:verify_callback=).with(subject)
193
+ expect(connection).to receive(:verify_mode=).with(OpenSSL::SSL::VERIFY_PEER)
194
194
 
195
195
  subject.setup_connection(connection, ssl_host)
196
196
  end
197
197
 
198
198
  context 'when no file path is found' do
199
-
200
199
  it 'does not perform verification if certificate files are missing' do
201
- subject.stubs(:ssl_certificates_are_present?).returns(false)
202
- connection = mock('Net::HTTP')
200
+ allow(subject).to receive(:ssl_certificates_are_present?).and_return(false)
201
+ connection = double('Net::HTTP')
203
202
 
204
- connection.expects(:verify_mode=).with(OpenSSL::SSL::VERIFY_NONE)
203
+ expect(connection).to receive(:verify_mode=).with(OpenSSL::SSL::VERIFY_NONE)
205
204
 
206
205
  subject.setup_connection(connection, ssl_host)
207
206
  end
@@ -215,7 +214,7 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
215
214
 
216
215
  context 'when the peer presents a valid chain' do
217
216
  before :each do
218
- subject.stubs(:has_authz_peer_cert).returns(true)
217
+ allow(subject).to receive(:has_authz_peer_cert).and_return(true)
219
218
  end
220
219
 
221
220
  it 'is true' do
@@ -225,7 +224,7 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
225
224
 
226
225
  context 'when the peer presents an invalid chain' do
227
226
  before :each do
228
- subject.stubs(:has_authz_peer_cert).returns(false)
227
+ allow(subject).to receive(:has_authz_peer_cert).and_return(false)
229
228
  end
230
229
 
231
230
  it 'is false' do
@@ -234,7 +233,9 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
234
233
 
235
234
  it 'makes a helpful error message available via #verify_errors' do
236
235
  subject.valid_peer?
237
- expect(subject.verify_errors).to eq([expected_authz_error_msg])
236
+ expect(subject.verify_errors).to eq([<<END.chomp])
237
+ The server presented a SSL certificate chain which does not include a CA listed in the ssl_client_ca_auth file. Authorized Issuers: CN=root-ca-𠜎 Peer Chain: CN=unrevoked-int-node => CN=unrevoked-int-caۿᚠ𠜎 => CN=root-ca-𠜎
238
+ END
238
239
  end
239
240
  end
240
241
  end
@@ -272,16 +273,4 @@ describe Puppet::SSL::Validator::DefaultValidator, unless: Puppet::Util::Platfor
272
273
  def cert_chain_in_callback_order
273
274
  cert_chain.reverse
274
275
  end
275
-
276
- let :authz_error_prefix do
277
- "The server presented a SSL certificate chain which does not include a CA listed in the ssl_client_ca_auth file. "
278
- end
279
-
280
- let :expected_authz_error_msg do
281
- authz_ca_certs = subject.decode_cert_bundle(subject.read_file)
282
- msg = authz_error_prefix
283
- msg << "Authorized Issuers: #{authz_ca_certs.collect {|c| c.subject}.join(', ')} "
284
- msg << "Peer Chain: #{cert_chain.collect {|c| c.subject}.join(' => ')}"
285
- msg
286
- end
287
276
  end
@@ -40,7 +40,7 @@ describe Puppet::SSL::Verifier do
40
40
 
41
41
  context '#setup_connection' do
42
42
  it 'copies parameters from the ssl_context to the connection' do
43
- store = stub('store')
43
+ store = double('store')
44
44
  options.merge!(store: store)
45
45
  verifier.setup_connection(http)
46
46
 
@@ -48,7 +48,7 @@ describe Puppet::SSL::Verifier do
48
48
  end
49
49
 
50
50
  it 'defaults to VERIFY_PEER' do
51
- http.expects(:verify_mode=).with(OpenSSL::SSL::VERIFY_PEER)
51
+ expect(http).to receive(:verify_mode=).with(OpenSSL::SSL::VERIFY_PEER)
52
52
 
53
53
  verifier.setup_connection(http)
54
54
  end
@@ -56,7 +56,7 @@ describe Puppet::SSL::Verifier do
56
56
  it 'only uses VERIFY_NONE if explicitly disabled' do
57
57
  options.merge!(verify_peer: false)
58
58
 
59
- http.expects(:verify_mode=).with(OpenSSL::SSL::VERIFY_NONE)
59
+ expect(http).to receive(:verify_mode=).with(OpenSSL::SSL::VERIFY_NONE)
60
60
 
61
61
  verifier.setup_connection(http)
62
62
  end
@@ -74,27 +74,27 @@ describe Puppet::SSL::Verifier do
74
74
  let(:ssl_error) { OpenSSL::SSL::SSLError.new("certificate verify failed") }
75
75
 
76
76
  it "raises a verification error for a CA cert" do
77
- store_context = stub('store_context', current_cert: peer_cert, chain: [peer_cert], error: OpenSSL::X509::V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY, error_string: "unable to get local issuer certificate")
77
+ store_context = double('store_context', current_cert: peer_cert, chain: [peer_cert], error: OpenSSL::X509::V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY, error_string: "unable to get local issuer certificate")
78
78
  verifier.call(false, store_context)
79
79
 
80
80
  expect {
81
81
  verifier.handle_connection_error(http, ssl_error)
82
- }.to raise_error(Puppet::SSL::CertVerifyError, "certificate verify failed [unable to get local issuer certificate for /CN=127.0.0.1]")
82
+ }.to raise_error(Puppet::SSL::CertVerifyError, "certificate verify failed [unable to get local issuer certificate for CN=127.0.0.1]")
83
83
  end
84
84
 
85
85
  it "raises a verification error for the server cert" do
86
- store_context = stub('store_context', current_cert: peer_cert, chain: chain, error: OpenSSL::X509::V_ERR_CERT_REJECTED, error_string: "certificate rejected")
86
+ store_context = double('store_context', current_cert: peer_cert, chain: chain, error: OpenSSL::X509::V_ERR_CERT_REJECTED, error_string: "certificate rejected")
87
87
  verifier.call(false, store_context)
88
88
 
89
89
  expect {
90
90
  verifier.handle_connection_error(http, ssl_error)
91
- }.to raise_error(Puppet::SSL::CertVerifyError, "certificate verify failed [certificate rejected for /CN=127.0.0.1]")
91
+ }.to raise_error(Puppet::SSL::CertVerifyError, "certificate verify failed [certificate rejected for CN=127.0.0.1]")
92
92
  end
93
93
 
94
94
  it "raises cert mismatch error on ruby < 2.4" do
95
- http.expects(:peer_cert).returns(peer_cert)
95
+ expect(http).to receive(:peer_cert).and_return(peer_cert)
96
96
 
97
- store_context = stub('store_context')
97
+ store_context = double('store_context')
98
98
  verifier.call(true, store_context)
99
99
 
100
100
  ssl_error = OpenSSL::SSL::SSLError.new("hostname 'example'com' does not match the server certificate")
@@ -105,7 +105,7 @@ describe Puppet::SSL::Verifier do
105
105
  end
106
106
 
107
107
  it "raises cert mismatch error on ruby >= 2.4" do
108
- store_context = stub('store_context', current_cert: peer_cert, chain: chain, error: OpenSSL::X509::V_OK, error_string: "ok")
108
+ store_context = double('store_context', current_cert: peer_cert, chain: chain, error: OpenSSL::X509::V_OK, error_string: "ok")
109
109
  verifier.call(false, store_context)
110
110
 
111
111
  expect {
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet_spec/files'
4
3
  require 'puppet_spec/modules'
@@ -24,9 +23,9 @@ describe Puppet::Module::Task do
24
23
 
25
24
  it "constructs tasks as expected when every task has a metadata file with the same name (besides extension)" do
26
25
  task_files = %w{task1.json task1 task2.json task2.exe task3.json task3.sh}.map { |bn| "#{tasks_path}/#{bn}" }
27
- Dir.expects(:glob).with(tasks_glob).returns(task_files)
26
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(task_files)
28
27
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
29
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({})
28
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({})
30
29
 
31
30
  expect(tasks.count).to eq(3)
32
31
  expect(tasks.map{|t| t.name}).to eq(%w{mymod::task1 mymod::task2 mymod::task3})
@@ -52,8 +51,8 @@ describe Puppet::Module::Task do
52
51
 
53
52
  it "constructs tasks as expected when some tasks don't have a metadata file" do
54
53
  task_files = %w{task1 task2.exe task3.json task3.sh}.map { |bn| "#{tasks_path}/#{bn}" }
55
- Dir.expects(:glob).with(tasks_glob).returns(task_files)
56
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({})
54
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(task_files)
55
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({})
57
56
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
58
57
 
59
58
  expect(tasks.count).to eq(3)
@@ -66,9 +65,9 @@ describe Puppet::Module::Task do
66
65
 
67
66
  it "constructs a task as expected when a task has implementations" do
68
67
  task_files = %w{task1.elf task1.sh task1.json}.map { |bn| "#{tasks_path}/#{bn}" }
69
- Dir.expects(:glob).with(tasks_glob).returns(task_files)
68
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(task_files)
70
69
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
71
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({'implementations' => [{"name" => "task1.sh"}]})
70
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({'implementations' => [{"name" => "task1.sh"}]})
72
71
 
73
72
  expect(tasks.count).to eq(1)
74
73
  expect(tasks.map{|t| t.name}).to eq(%w{mymod::task1})
@@ -78,10 +77,10 @@ describe Puppet::Module::Task do
78
77
 
79
78
  it "constructs a task as expected when task metadata declares additional files" do
80
79
  task_files = %w{task1.sh task1.json}.map { |bn| "#{tasks_path}/#{bn}" }
81
- Dir.expects(:glob).with(tasks_glob).returns(task_files)
82
- Puppet::Module::Task.expects(:find_extra_files).returns([{'name' => 'mymod/lib/file0.elf', 'path' => "/path/to/file0.elf"}])
80
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(task_files)
81
+ expect(Puppet::Module::Task).to receive(:find_extra_files).and_return([{'name' => 'mymod/lib/file0.elf', 'path' => "/path/to/file0.elf"}])
83
82
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
84
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({'files' => ["mymod/lib/file0.elf"]})
83
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({'files' => ["mymod/lib/file0.elf"]})
85
84
 
86
85
  expect(tasks.count).to eq(1)
87
86
  expect(tasks.map{|t| t.name}).to eq(%w{mymod::task1})
@@ -91,10 +90,10 @@ describe Puppet::Module::Task do
91
90
 
92
91
  it "constructs a task as expected when a task implementation declares additional files" do
93
92
  task_files = %w{task1.sh task1.json}.map { |bn| "#{tasks_path}/#{bn}" }
94
- Dir.expects(:glob).with(tasks_glob).returns(task_files)
95
- Puppet::Module::Task.expects(:find_extra_files).returns([{'name' => 'mymod/lib/file0.elf', 'path' => "/path/to/file0.elf"}])
93
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(task_files)
94
+ expect(Puppet::Module::Task).to receive(:find_extra_files).and_return([{'name' => 'mymod/lib/file0.elf', 'path' => "/path/to/file0.elf"}])
96
95
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
97
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({'implementations' => [{"name" => "task1.sh", "files" => ["mymod/lib/file0.elf"]}]})
96
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({'implementations' => [{"name" => "task1.sh", "files" => ["mymod/lib/file0.elf"]}]})
98
97
 
99
98
  expect(tasks.count).to eq(1)
100
99
  expect(tasks.map{|t| t.name}).to eq(%w{mymod::task1})
@@ -104,13 +103,13 @@ describe Puppet::Module::Task do
104
103
 
105
104
  it "constructs a task as expected when task metadata and a task implementation both declare additional files" do
106
105
  task_files = %w{task1.sh task1.json}.map { |bn| "#{tasks_path}/#{bn}" }
107
- Dir.expects(:glob).with(tasks_glob).returns(task_files)
108
- Puppet::Module::Task.expects(:find_extra_files).returns([
106
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(task_files)
107
+ expect(Puppet::Module::Task).to receive(:find_extra_files).and_return([
109
108
  {'name' => 'mymod/lib/file0.elf', 'path' => "/path/to/file0.elf"},
110
109
  {'name' => 'yourmod/files/file1.txt', 'path' => "/other/path/to/file1.txt"}
111
110
  ])
112
111
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
113
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({'implementations' => [{"name" => "task1.sh", "files" => ["mymod/lib/file0.elf"]}]})
112
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({'implementations' => [{"name" => "task1.sh", "files" => ["mymod/lib/file0.elf"]}]})
114
113
 
115
114
  expect(tasks.count).to eq(1)
116
115
  expect(tasks.map{|t| t.name}).to eq(%w{mymod::task1})
@@ -124,14 +123,14 @@ describe Puppet::Module::Task do
124
123
 
125
124
  it "constructs a task as expected when a task has files" do
126
125
  og_files = %w{task1.sh task1.json}.map { |bn| "#{tasks_path}/#{bn}" }
127
- Dir.expects(:glob).with(tasks_glob).returns(og_files)
128
- File.expects(:exist?).with(any_parameters).returns(true).at_least(1)
126
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(og_files)
127
+ expect(File).to receive(:exist?).with(any_args).and_return(true).at_least(:once)
129
128
 
130
- Puppet::Module.expects(:find).with(othermod.name, "production").returns(othermod).at_least(1)
129
+ expect(Puppet::Module).to receive(:find).with(othermod.name, "production").and_return(othermod).at_least(:once)
131
130
  short_files = %w{other_task.sh other_task.json task_2.sh}.map { |bn| "#{othermod.name}/tasks/#{bn}" }
132
131
  long_files = %w{other_task.sh other_task.json task_2.sh}.map { |bn| "#{other_tasks_path}/#{bn}" }
133
132
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
134
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({'files' => short_files})
133
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({'files' => short_files})
135
134
 
136
135
  expect(tasks.count).to eq(1)
137
136
  expect(tasks.map{|t| t.files.map{ |f| f["path"] } }).to eq([["#{tasks_path}/task1.sh"] + long_files])
@@ -139,18 +138,18 @@ describe Puppet::Module::Task do
139
138
 
140
139
  it "fails to load a task if its metadata specifies a non-existent file" do
141
140
  og_files = %w{task1.sh task1.json}.map { |bn| "#{tasks_path}/#{bn}" }
142
- Dir.stubs(:glob).with(tasks_glob).returns(og_files)
143
- File.stubs(:exist?).with(any_parameters).returns(true)
141
+ allow(Dir).to receive(:glob).with(tasks_glob).and_return(og_files)
142
+ allow(File).to receive(:exist?).with(any_args).and_return(true)
144
143
 
145
- Puppet::Module.expects(:find).with(othermod.name, "production").returns(nil).at_least(1)
144
+ expect(Puppet::Module).to receive(:find).with(othermod.name, "production").and_return(nil).at_least(:once)
146
145
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
147
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({'files' => ["#{othermod.name}/files/test"]})
146
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({'files' => ["#{othermod.name}/files/test"]})
148
147
 
149
148
  expect { tasks.first.files }.to raise_error(Puppet::Module::Task::InvalidMetadata, /Could not find module #{othermod.name} containing task file test/)
150
149
  end
151
150
 
152
151
  it "finds files whose names (besides extensions) are valid task names" do
153
- Dir.expects(:glob).with(tasks_glob).returns(%w{task task_1 xx_t_a_s_k_2_xx})
152
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{task task_1 xx_t_a_s_k_2_xx})
154
153
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
155
154
 
156
155
  expect(tasks.count).to eq(3)
@@ -158,7 +157,7 @@ describe Puppet::Module::Task do
158
157
  end
159
158
 
160
159
  it "ignores files that have names (besides extensions) that are not valid task names" do
161
- Dir.expects(:glob).with(tasks_glob).returns(%w{.nottask.exe .wat !runme _task 2task2furious def_a_task_PSYCH Fake_task not-a-task realtask})
160
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{.nottask.exe .wat !runme _task 2task2furious def_a_task_PSYCH Fake_task not-a-task realtask})
162
161
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
163
162
 
164
163
  expect(tasks.count).to eq(1)
@@ -166,7 +165,7 @@ describe Puppet::Module::Task do
166
165
  end
167
166
 
168
167
  it "ignores files that have names ending in .conf and .md" do
169
- Dir.expects(:glob).with(tasks_glob).returns(%w{ginuwine_task task.conf readme.md other_task.md})
168
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{ginuwine_task task.conf readme.md other_task.md})
170
169
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
171
170
 
172
171
  expect(tasks.count).to eq(1)
@@ -180,8 +179,8 @@ describe Puppet::Module::Task do
180
179
  describe :metadata do
181
180
  it "loads metadata for a task" do
182
181
  metadata = {'desciption': 'some info'}
183
- Dir.expects(:glob).with(tasks_glob).returns(%w{task1.exe task1.json})
184
- Puppet::Module::Task.stubs(:read_metadata).returns(metadata)
182
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{task1.exe task1.json})
183
+ allow(Puppet::Module::Task).to receive(:read_metadata).and_return(metadata)
185
184
 
186
185
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
187
186
 
@@ -190,7 +189,7 @@ describe Puppet::Module::Task do
190
189
  end
191
190
 
192
191
  it 'returns nil for metadata if no file is present' do
193
- Dir.expects(:glob).with(tasks_glob).returns(%w{task1.exe})
192
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{task1.exe})
194
193
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
195
194
 
196
195
  expect(tasks.count).to eq(1)
@@ -213,7 +212,7 @@ describe Puppet::Module::Task do
213
212
 
214
213
  describe :validate do
215
214
  it "validates when there is no metadata" do
216
- Dir.expects(:glob).with(tasks_glob).returns(%w{task1.exe})
215
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{task1.exe})
217
216
 
218
217
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
219
218
 
@@ -224,8 +223,8 @@ describe Puppet::Module::Task do
224
223
  it "validates when an implementation isn't used" do
225
224
  metadata = {'desciption' => 'some info',
226
225
  'implementations' => [ {"name" => "task1.exe"}, ] }
227
- Dir.expects(:glob).with(tasks_glob).returns(%w{task1.exe task1.sh task1.json})
228
- Puppet::Module::Task.stubs(:read_metadata).returns(metadata)
226
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{task1.exe task1.sh task1.json})
227
+ allow(Puppet::Module::Task).to receive(:read_metadata).and_return(metadata)
229
228
 
230
229
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
231
230
 
@@ -236,8 +235,8 @@ describe Puppet::Module::Task do
236
235
  it "validates when an implementation is another task" do
237
236
  metadata = {'desciption' => 'some info',
238
237
  'implementations' => [ {"name" => "task2.sh"}, ] }
239
- Dir.expects(:glob).with(tasks_glob).returns(%w{task1.exe task2.sh task1.json})
240
- Puppet::Module::Task.stubs(:read_metadata).returns(metadata)
238
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{task1.exe task2.sh task1.json})
239
+ allow(Puppet::Module::Task).to receive(:read_metadata).and_return(metadata)
241
240
 
242
241
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
243
242
 
@@ -246,9 +245,9 @@ describe Puppet::Module::Task do
246
245
  end
247
246
 
248
247
  it "fails validation when there is no metadata and multiple task files" do
249
- Dir.expects(:glob).with(tasks_glob).returns(%w{task1.elf task1.exe task1.json task2.ps1 task2.sh})
248
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{task1.elf task1.exe task1.json task2.ps1 task2.sh})
250
249
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
251
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({})
250
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({})
252
251
 
253
252
  tasks.each do |task|
254
253
  expect {task.validate}.to raise_error(Puppet::Module::Task::InvalidTask)
@@ -256,9 +255,9 @@ describe Puppet::Module::Task do
256
255
  end
257
256
 
258
257
  it "fails validation when an implementation references a non-existant file" do
259
- Dir.expects(:glob).with(tasks_glob).returns(%w{task1.elf task1.exe task1.json})
258
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{task1.elf task1.exe task1.json})
260
259
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
261
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({'implementations' => [ { 'name' => 'task1.sh' } ] })
260
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({'implementations' => [ { 'name' => 'task1.sh' } ] })
262
261
 
263
262
  tasks.each do |task|
264
263
  expect {task.validate}.to raise_error(Puppet::Module::Task::InvalidTask)
@@ -266,25 +265,25 @@ describe Puppet::Module::Task do
266
265
  end
267
266
 
268
267
  it 'fails validation when there is metadata but no executable' do
269
- Dir.expects(:glob).with(tasks_glob).returns(%w{task1.json task2.sh})
268
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{task1.json task2.sh})
270
269
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
271
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({})
270
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({})
272
271
 
273
272
  expect { tasks.find { |t| t.name == 'mymod::task1' }.validate }.to raise_error(Puppet::Module::Task::InvalidTask)
274
273
  end
275
274
 
276
275
  it 'fails validation when the implementations are not an array' do
277
- Dir.expects(:glob).with(tasks_glob).returns(%w{task1.json task2.sh})
276
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{task1.json task2.sh})
278
277
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
279
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({"implemenations" => {}})
278
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({"implemenations" => {}})
280
279
 
281
280
  expect { tasks.find { |t| t.name == 'mymod::task1' }.validate }.to raise_error(Puppet::Module::Task::InvalidTask)
282
281
  end
283
282
 
284
283
  it 'fails validation when the implementation is json' do
285
- Dir.expects(:glob).with(tasks_glob).returns(%w{task1.json task1.sh})
284
+ expect(Dir).to receive(:glob).with(tasks_glob).and_return(%w{task1.json task1.sh})
286
285
  tasks = Puppet::Module::Task.tasks_in_module(mymod)
287
- Puppet::Module::Task.any_instance.stubs(:metadata).returns({'implementations' => [ { 'name' => 'task1.json' } ] })
286
+ allow_any_instance_of(Puppet::Module::Task).to receive(:metadata).and_return({'implementations' => [ { 'name' => 'task1.json' } ] })
288
287
 
289
288
  expect { tasks.find { |t| t.name == 'mymod::task1' }.validate }.to raise_error(Puppet::Module::Task::InvalidTask)
290
289
  end