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

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

Potentially problematic release.


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

Files changed (646) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -1
  3. data/Gemfile.lock +7 -11
  4. data/lib/puppet/application/device.rb +97 -82
  5. data/lib/puppet/application/filebucket.rb +4 -0
  6. data/lib/puppet/application/ssl.rb +2 -2
  7. data/lib/puppet/configurer.rb +5 -4
  8. data/lib/puppet/defaults.rb +33 -11
  9. data/lib/puppet/indirector/request.rb +28 -15
  10. data/lib/puppet/ssl.rb +1 -1
  11. data/lib/puppet/ssl/certificate.rb +1 -1
  12. data/lib/puppet/ssl/error.rb +1 -1
  13. data/lib/puppet/ssl/host.rb +0 -47
  14. data/lib/puppet/ssl/ssl_provider.rb +2 -2
  15. data/lib/puppet/ssl/state_machine.rb +16 -17
  16. data/lib/puppet/ssl/validator/default_validator.rb +4 -4
  17. data/lib/puppet/ssl/verifier.rb +1 -1
  18. data/lib/puppet/transaction/event_manager.rb +1 -5
  19. data/lib/puppet/util/connection.rb +15 -8
  20. data/lib/puppet/util/monkey_patches.rb +20 -1
  21. data/lib/puppet/version.rb +1 -1
  22. data/locales/puppet.pot +135 -68
  23. data/man/man5/puppet.conf.5 +9 -9
  24. data/man/man8/puppet-agent.8 +1 -1
  25. data/man/man8/puppet-apply.8 +1 -1
  26. data/man/man8/puppet-catalog.8 +1 -1
  27. data/man/man8/puppet-config.8 +1 -1
  28. data/man/man8/puppet-describe.8 +1 -1
  29. data/man/man8/puppet-device.8 +1 -1
  30. data/man/man8/puppet-doc.8 +1 -1
  31. data/man/man8/puppet-epp.8 +1 -1
  32. data/man/man8/puppet-facts.8 +1 -1
  33. data/man/man8/puppet-filebucket.8 +1 -1
  34. data/man/man8/puppet-generate.8 +1 -1
  35. data/man/man8/puppet-help.8 +1 -1
  36. data/man/man8/puppet-key.8 +1 -1
  37. data/man/man8/puppet-lookup.8 +1 -1
  38. data/man/man8/puppet-man.8 +1 -1
  39. data/man/man8/puppet-module.8 +1 -1
  40. data/man/man8/puppet-node.8 +1 -1
  41. data/man/man8/puppet-parser.8 +1 -1
  42. data/man/man8/puppet-plugin.8 +1 -1
  43. data/man/man8/puppet-report.8 +1 -1
  44. data/man/man8/puppet-resource.8 +1 -1
  45. data/man/man8/puppet-script.8 +1 -1
  46. data/man/man8/puppet-ssl.8 +1 -1
  47. data/man/man8/puppet-status.8 +1 -1
  48. data/man/man8/puppet.8 +2 -2
  49. data/spec/integration/agent/logging_spec.rb +5 -7
  50. data/spec/integration/application/apply_spec.rb +18 -16
  51. data/spec/integration/application/doc_spec.rb +1 -2
  52. data/spec/integration/application/lookup_spec.rb +5 -5
  53. data/spec/integration/configurer_spec.rb +5 -6
  54. data/spec/integration/defaults_spec.rb +5 -6
  55. data/spec/integration/directory_environments_spec.rb +1 -1
  56. data/spec/integration/faces/config_spec.rb +3 -4
  57. data/spec/integration/faces/documentation_spec.rb +0 -1
  58. data/spec/integration/faces/plugin_spec.rb +1 -1
  59. data/spec/integration/file_bucket/file_spec.rb +2 -4
  60. data/spec/integration/file_serving/content_spec.rb +0 -1
  61. data/spec/integration/file_serving/fileset_spec.rb +0 -1
  62. data/spec/integration/file_serving/metadata_spec.rb +0 -1
  63. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
  64. data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
  65. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  66. data/spec/integration/indirector/facts/facter_spec.rb +4 -5
  67. data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
  68. data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
  69. data/spec/integration/network/authconfig_spec.rb +23 -24
  70. data/spec/integration/network/formats_spec.rb +0 -1
  71. data/spec/integration/network/http_pool_spec.rb +3 -3
  72. data/spec/integration/node/environment_spec.rb +0 -1
  73. data/spec/integration/node/facts_spec.rb +9 -10
  74. data/spec/integration/node_spec.rb +6 -7
  75. data/spec/integration/parser/catalog_spec.rb +1 -5
  76. data/spec/integration/parser/collection_spec.rb +1 -2
  77. data/spec/integration/parser/compiler_spec.rb +6 -6
  78. data/spec/integration/parser/scope_spec.rb +1 -1
  79. data/spec/integration/parser/undef_param_spec.rb +1 -1
  80. data/spec/integration/provider/service/init_spec.rb +4 -5
  81. data/spec/integration/provider/service/systemd_spec.rb +0 -2
  82. data/spec/integration/provider/service/windows_spec.rb +1 -2
  83. data/spec/integration/reference/providers_spec.rb +1 -2
  84. data/spec/integration/reports_spec.rb +1 -2
  85. data/spec/integration/resource/catalog_spec.rb +14 -17
  86. data/spec/integration/resource/type_collection_spec.rb +4 -5
  87. data/spec/integration/rest/client_spec.rb +1 -1
  88. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  89. data/spec/integration/ssl/host_spec.rb +1 -2
  90. data/spec/integration/ssl/key_spec.rb +0 -1
  91. data/spec/integration/test/test_helper_spec.rb +0 -1
  92. data/spec/integration/transaction/report_spec.rb +6 -11
  93. data/spec/integration/transaction_spec.rb +18 -19
  94. data/spec/integration/type/exec_spec.rb +0 -1
  95. data/spec/integration/type/file_spec.rb +13 -14
  96. data/spec/integration/type/package_spec.rb +19 -23
  97. data/spec/integration/type/tidy_spec.rb +1 -2
  98. data/spec/integration/type_spec.rb +0 -1
  99. data/spec/integration/util/autoload_spec.rb +1 -2
  100. data/spec/integration/util/rdoc/parser_spec.rb +0 -1
  101. data/spec/integration/util/settings_spec.rb +0 -1
  102. data/spec/integration/util/windows/adsi_spec.rb +3 -5
  103. data/spec/integration/util/windows/principal_spec.rb +0 -1
  104. data/spec/integration/util/windows/process_spec.rb +4 -6
  105. data/spec/integration/util/windows/registry_spec.rb +41 -51
  106. data/spec/integration/util/windows/security_spec.rb +2 -4
  107. data/spec/integration/util/windows/user_spec.rb +18 -20
  108. data/spec/integration/util_spec.rb +4 -7
  109. data/spec/lib/puppet_spec/compiler.rb +1 -1
  110. data/spec/lib/puppet_spec/files.rb +0 -1
  111. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  112. data/spec/lib/puppet_spec/scope.rb +1 -2
  113. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  114. data/spec/shared_behaviours/file_server_terminus.rb +8 -9
  115. data/spec/shared_behaviours/file_serving.rb +6 -8
  116. data/spec/shared_behaviours/file_serving_model.rb +3 -5
  117. data/spec/shared_behaviours/hiera_indirections.rb +3 -4
  118. data/spec/shared_behaviours/iterative_functions.rb +0 -1
  119. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  120. data/spec/shared_examples/rhel_package_provider.rb +112 -70
  121. data/spec/spec_helper.rb +10 -1
  122. data/spec/unit/agent/disabler_spec.rb +4 -5
  123. data/spec/unit/agent/locker_spec.rb +12 -13
  124. data/spec/unit/agent_spec.rb +80 -85
  125. data/spec/unit/application/agent_spec.rb +88 -94
  126. data/spec/unit/application/apply_spec.rb +82 -83
  127. data/spec/unit/application/config_spec.rb +0 -1
  128. data/spec/unit/application/describe_spec.rb +6 -7
  129. data/spec/unit/application/device_spec.rb +379 -384
  130. data/spec/unit/application/doc_spec.rb +44 -46
  131. data/spec/unit/application/face_base_spec.rb +61 -62
  132. data/spec/unit/application/facts_spec.rb +3 -4
  133. data/spec/unit/application/filebucket_spec.rb +66 -74
  134. data/spec/unit/application/indirection_base_spec.rb +8 -6
  135. data/spec/unit/application/lookup_spec.rb +26 -26
  136. data/spec/unit/application/resource_spec.rb +42 -48
  137. data/spec/unit/application/ssl_spec.rb +9 -9
  138. data/spec/unit/application_spec.rb +82 -92
  139. data/spec/unit/capability_spec.rb +6 -6
  140. data/spec/unit/certificate_factory_spec.rb +3 -5
  141. data/spec/unit/configurer/downloader_spec.rb +20 -21
  142. data/spec/unit/configurer/fact_handler_spec.rb +2 -3
  143. data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
  144. data/spec/unit/configurer_spec.rb +189 -192
  145. data/spec/unit/confine/exists_spec.rb +17 -15
  146. data/spec/unit/confine/false_spec.rb +5 -6
  147. data/spec/unit/confine/feature_spec.rb +7 -5
  148. data/spec/unit/confine/true_spec.rb +5 -6
  149. data/spec/unit/confine/variable_spec.rb +14 -15
  150. data/spec/unit/confine_collection_spec.rb +28 -29
  151. data/spec/unit/confine_spec.rb +13 -14
  152. data/spec/unit/confiner_spec.rb +10 -11
  153. data/spec/unit/context/trusted_information_spec.rb +1 -1
  154. data/spec/unit/daemon_spec.rb +35 -36
  155. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
  156. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
  157. data/spec/unit/datatypes_spec.rb +3 -4
  158. data/spec/unit/defaults_spec.rb +18 -13
  159. data/spec/unit/environments_spec.rb +7 -7
  160. data/spec/unit/etc_spec.rb +30 -32
  161. data/spec/unit/external/pson_spec.rb +0 -1
  162. data/spec/unit/face/catalog_spec.rb +0 -1
  163. data/spec/unit/face/config_spec.rb +31 -35
  164. data/spec/unit/face/epp_face_spec.rb +3 -4
  165. data/spec/unit/face/facts_spec.rb +5 -6
  166. data/spec/unit/face/generate_spec.rb +4 -5
  167. data/spec/unit/face/help_spec.rb +7 -8
  168. data/spec/unit/face/key_spec.rb +0 -1
  169. data/spec/unit/face/man_spec.rb +1 -2
  170. data/spec/unit/face/module/install_spec.rb +3 -5
  171. data/spec/unit/face/module/list_spec.rb +2 -12
  172. data/spec/unit/face/module/search_spec.rb +11 -9
  173. data/spec/unit/face/module/uninstall_spec.rb +4 -8
  174. data/spec/unit/face/node_spec.rb +23 -24
  175. data/spec/unit/face/parser_spec.rb +3 -3
  176. data/spec/unit/face/plugin_spec.rb +36 -9
  177. data/spec/unit/face/status_spec.rb +0 -1
  178. data/spec/unit/file_bucket/dipper_spec.rb +24 -20
  179. data/spec/unit/file_bucket/file_spec.rb +0 -2
  180. data/spec/unit/file_serving/base_spec.rb +14 -15
  181. data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
  182. data/spec/unit/file_serving/configuration_spec.rb +63 -66
  183. data/spec/unit/file_serving/content_spec.rb +10 -11
  184. data/spec/unit/file_serving/fileset_spec.rb +63 -58
  185. data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
  186. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  187. data/spec/unit/file_serving/mount/file_spec.rb +31 -32
  188. data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
  189. data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
  190. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
  191. data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
  192. data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
  193. data/spec/unit/file_serving/mount_spec.rb +0 -1
  194. data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
  195. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
  196. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  197. data/spec/unit/file_system_spec.rb +4 -4
  198. data/spec/unit/forge/errors_spec.rb +1 -1
  199. data/spec/unit/forge/forge_spec.rb +13 -14
  200. data/spec/unit/forge/module_release_spec.rb +18 -18
  201. data/spec/unit/forge/repository_spec.rb +29 -30
  202. data/spec/unit/forge_spec.rb +15 -11
  203. data/spec/unit/functions/binary_file_spec.rb +3 -3
  204. data/spec/unit/functions/contain_spec.rb +0 -2
  205. data/spec/unit/functions/defined_spec.rb +0 -1
  206. data/spec/unit/functions/epp_spec.rb +2 -2
  207. data/spec/unit/functions/find_file_spec.rb +7 -7
  208. data/spec/unit/functions/include_spec.rb +0 -4
  209. data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
  210. data/spec/unit/functions/lookup_spec.rb +1 -2
  211. data/spec/unit/functions/module_directory_spec.rb +12 -12
  212. data/spec/unit/functions/require_spec.rb +0 -3
  213. data/spec/unit/functions/shared.rb +5 -8
  214. data/spec/unit/functions/versioncmp_spec.rb +1 -2
  215. data/spec/unit/functions4_spec.rb +9 -10
  216. data/spec/unit/gettext/config_spec.rb +4 -4
  217. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  218. data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
  219. data/spec/unit/graph/relationship_graph_spec.rb +1 -2
  220. data/spec/unit/graph/simple_graph_spec.rb +9 -10
  221. data/spec/unit/hiera_puppet_spec.rb +20 -20
  222. data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
  223. data/spec/unit/indirector/catalog/json_spec.rb +1 -2
  224. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
  225. data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
  226. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
  227. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
  228. data/spec/unit/indirector/certificate/file_spec.rb +0 -1
  229. data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
  230. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
  231. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
  232. data/spec/unit/indirector/direct_file_server_spec.rb +17 -18
  233. data/spec/unit/indirector/envelope_spec.rb +1 -2
  234. data/spec/unit/indirector/exec_spec.rb +4 -5
  235. data/spec/unit/indirector/face_spec.rb +9 -9
  236. data/spec/unit/indirector/facts/facter_spec.rb +37 -43
  237. data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
  238. data/spec/unit/indirector/facts/rest_spec.rb +7 -8
  239. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
  240. data/spec/unit/indirector/facts/yaml_spec.rb +0 -1
  241. data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
  242. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
  243. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
  244. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
  245. data/spec/unit/indirector/file_content/file_spec.rb +0 -1
  246. data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
  247. data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
  248. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
  249. data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
  250. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
  251. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
  252. data/spec/unit/indirector/file_server_spec.rb +87 -87
  253. data/spec/unit/indirector/indirection_spec.rb +242 -226
  254. data/spec/unit/indirector/json_spec.rb +7 -9
  255. data/spec/unit/indirector/key/file_spec.rb +21 -22
  256. data/spec/unit/indirector/memory_spec.rb +6 -7
  257. data/spec/unit/indirector/msgpack_spec.rb +7 -9
  258. data/spec/unit/indirector/node/exec_spec.rb +2 -3
  259. data/spec/unit/indirector/node/memory_spec.rb +2 -4
  260. data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
  261. data/spec/unit/indirector/node/plain_spec.rb +2 -4
  262. data/spec/unit/indirector/node/rest_spec.rb +0 -1
  263. data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
  264. data/spec/unit/indirector/node/yaml_spec.rb +0 -1
  265. data/spec/unit/indirector/none_spec.rb +5 -5
  266. data/spec/unit/indirector/plain_spec.rb +7 -8
  267. data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
  268. data/spec/unit/indirector/report/processor_spec.rb +21 -22
  269. data/spec/unit/indirector/report/rest_spec.rb +11 -12
  270. data/spec/unit/indirector/report/yaml_spec.rb +0 -1
  271. data/spec/unit/indirector/request_spec.rb +11 -12
  272. data/spec/unit/indirector/resource/ral_spec.rb +47 -54
  273. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
  274. data/spec/unit/indirector/rest_spec.rb +113 -110
  275. data/spec/unit/indirector/ssl_file_spec.rb +64 -65
  276. data/spec/unit/indirector/status/local_spec.rb +0 -1
  277. data/spec/unit/indirector/status/rest_spec.rb +0 -1
  278. data/spec/unit/indirector/store_configs_spec.rb +0 -1
  279. data/spec/unit/indirector/terminus_spec.rb +27 -27
  280. data/spec/unit/indirector/yaml_spec.rb +5 -6
  281. data/spec/unit/indirector_spec.rb +1 -2
  282. data/spec/unit/info_service_spec.rb +1 -1
  283. data/spec/unit/interface/action_builder_spec.rb +0 -1
  284. data/spec/unit/interface/action_manager_spec.rb +0 -1
  285. data/spec/unit/interface/action_spec.rb +2 -3
  286. data/spec/unit/interface/documentation_spec.rb +0 -1
  287. data/spec/unit/interface/face_collection_spec.rb +19 -12
  288. data/spec/unit/interface_spec.rb +3 -3
  289. data/spec/unit/man_spec.rb +3 -4
  290. data/spec/unit/module_spec.rb +46 -51
  291. data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
  292. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  293. data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
  294. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  295. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  296. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  297. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  298. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  299. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  300. data/spec/unit/module_tool/tar_spec.rb +12 -13
  301. data/spec/unit/module_tool_spec.rb +7 -12
  302. data/spec/unit/network/auth_config_parser_spec.rb +11 -13
  303. data/spec/unit/network/authconfig_spec.rb +17 -18
  304. data/spec/unit/network/authorization_spec.rb +4 -5
  305. data/spec/unit/network/authstore_spec.rb +0 -1
  306. data/spec/unit/network/format_handler_spec.rb +0 -1
  307. data/spec/unit/network/format_spec.rb +9 -10
  308. data/spec/unit/network/format_support_spec.rb +28 -29
  309. data/spec/unit/network/formats_spec.rb +4 -5
  310. data/spec/unit/network/http/api/indirected_routes_spec.rb +24 -29
  311. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  312. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  313. data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
  314. data/spec/unit/network/http/api_spec.rb +0 -2
  315. data/spec/unit/network/http/compression_spec.rb +21 -22
  316. data/spec/unit/network/http/connection_spec.rb +35 -35
  317. data/spec/unit/network/http/factory_spec.rb +5 -6
  318. data/spec/unit/network/http/handler_spec.rb +9 -18
  319. data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
  320. data/spec/unit/network/http/pool_spec.rb +33 -34
  321. data/spec/unit/network/http/request_spec.rb +0 -2
  322. data/spec/unit/network/http/response_spec.rb +11 -13
  323. data/spec/unit/network/http/route_spec.rb +0 -1
  324. data/spec/unit/network/http/session_spec.rb +2 -3
  325. data/spec/unit/network/http/site_spec.rb +0 -1
  326. data/spec/unit/network/http_pool_spec.rb +19 -10
  327. data/spec/unit/network/http_spec.rb +0 -1
  328. data/spec/unit/network/resolver_spec.rb +25 -26
  329. data/spec/unit/network/rights_spec.rb +52 -53
  330. data/spec/unit/node/environment_spec.rb +14 -15
  331. data/spec/unit/node/facts_spec.rb +5 -7
  332. data/spec/unit/node_spec.rb +4 -10
  333. data/spec/unit/other/selinux_spec.rb +0 -1
  334. data/spec/unit/parameter/boolean_spec.rb +1 -2
  335. data/spec/unit/parameter/package_options_spec.rb +1 -2
  336. data/spec/unit/parameter/path_spec.rb +0 -1
  337. data/spec/unit/parameter/value_collection_spec.rb +0 -1
  338. data/spec/unit/parameter/value_spec.rb +0 -1
  339. data/spec/unit/parameter_spec.rb +9 -9
  340. data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
  341. data/spec/unit/parser/ast/leaf_spec.rb +20 -21
  342. data/spec/unit/parser/compiler_spec.rb +84 -96
  343. data/spec/unit/parser/environment_compiler_spec.rb +7 -8
  344. data/spec/unit/parser/files_spec.rb +0 -1
  345. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  346. data/spec/unit/parser/functions/digest_spec.rb +0 -1
  347. data/spec/unit/parser/functions/fail_spec.rb +1 -2
  348. data/spec/unit/parser/functions/file_spec.rb +13 -14
  349. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
  350. data/spec/unit/parser/functions/generate_spec.rb +7 -8
  351. data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
  352. data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
  353. data/spec/unit/parser/functions/scanf_spec.rb +0 -1
  354. data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
  355. data/spec/unit/parser/functions/split_spec.rb +0 -1
  356. data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
  357. data/spec/unit/parser/functions/tag_spec.rb +1 -2
  358. data/spec/unit/parser/functions/tagged_spec.rb +2 -3
  359. data/spec/unit/parser/functions/template_spec.rb +13 -13
  360. data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
  361. data/spec/unit/parser/functions_spec.rb +6 -7
  362. data/spec/unit/parser/relationship_spec.rb +0 -1
  363. data/spec/unit/parser/resource_spec.rb +42 -42
  364. data/spec/unit/parser/scope_spec.rb +39 -35
  365. data/spec/unit/parser/templatewrapper_spec.rb +11 -12
  366. data/spec/unit/parser/type_loader_spec.rb +17 -19
  367. data/spec/unit/pops/adaptable_spec.rb +0 -1
  368. data/spec/unit/pops/benchmark_spec.rb +0 -1
  369. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
  370. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
  371. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
  372. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
  373. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
  374. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
  375. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +10 -11
  376. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
  377. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
  378. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
  379. data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
  380. data/spec/unit/pops/factory_spec.rb +3 -4
  381. data/spec/unit/pops/issues_spec.rb +19 -20
  382. data/spec/unit/pops/loaders/loader_spec.rb +9 -5
  383. data/spec/unit/pops/loaders/loaders_spec.rb +31 -28
  384. data/spec/unit/pops/lookup/context_spec.rb +0 -1
  385. data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
  386. data/spec/unit/pops/merge_strategy_spec.rb +0 -1
  387. data/spec/unit/pops/migration_spec.rb +3 -5
  388. data/spec/unit/pops/model/model_spec.rb +0 -1
  389. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
  390. data/spec/unit/pops/parser/locator_spec.rb +3 -6
  391. data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
  392. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  393. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
  394. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
  395. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
  396. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
  397. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
  398. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
  399. data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
  400. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
  401. data/spec/unit/pops/pn_spec.rb +0 -1
  402. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
  403. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  404. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  405. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  406. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  407. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  408. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  409. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  410. data/spec/unit/pops/validator/validator_spec.rb +1 -2
  411. data/spec/unit/pops/visitor_spec.rb +0 -1
  412. data/spec/unit/property/boolean_spec.rb +1 -1
  413. data/spec/unit/property/ensure_spec.rb +0 -1
  414. data/spec/unit/property/keyvalue_spec.rb +32 -34
  415. data/spec/unit/property/list_spec.rb +26 -27
  416. data/spec/unit/property/ordered_list_spec.rb +10 -14
  417. data/spec/unit/property_spec.rb +42 -43
  418. data/spec/unit/provider/aix_object_spec.rb +47 -45
  419. data/spec/unit/provider/command_spec.rb +9 -9
  420. data/spec/unit/provider/exec/posix_spec.rb +8 -9
  421. data/spec/unit/provider/exec/shell_spec.rb +0 -1
  422. data/spec/unit/provider/exec/windows_spec.rb +2 -4
  423. data/spec/unit/provider/exec_spec.rb +0 -1
  424. data/spec/unit/provider/file/posix_spec.rb +22 -24
  425. data/spec/unit/provider/file/windows_spec.rb +15 -17
  426. data/spec/unit/provider/group/aix_spec.rb +3 -2
  427. data/spec/unit/provider/group/groupadd_spec.rb +30 -26
  428. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  429. data/spec/unit/provider/group/pw_spec.rb +11 -11
  430. data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
  431. data/spec/unit/provider/ldap_spec.rb +61 -62
  432. data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
  433. data/spec/unit/provider/nameservice_spec.rb +38 -40
  434. data/spec/unit/provider/package/aix_spec.rb +15 -15
  435. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  436. data/spec/unit/provider/package/apt_spec.rb +44 -27
  437. data/spec/unit/provider/package/aptitude_spec.rb +6 -7
  438. data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
  439. data/spec/unit/provider/package/base_spec.rb +4 -4
  440. data/spec/unit/provider/package/dnf_spec.rb +18 -20
  441. data/spec/unit/provider/package/dpkg_spec.rb +52 -52
  442. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  443. data/spec/unit/provider/package/gem_spec.rb +51 -43
  444. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  445. data/spec/unit/provider/package/macports_spec.rb +46 -42
  446. data/spec/unit/provider/package/nim_spec.rb +30 -39
  447. data/spec/unit/provider/package/openbsd_spec.rb +36 -39
  448. data/spec/unit/provider/package/opkg_spec.rb +23 -26
  449. data/spec/unit/provider/package/pacman_spec.rb +97 -118
  450. data/spec/unit/provider/package/pip_spec.rb +71 -72
  451. data/spec/unit/provider/package/pkg_spec.rb +113 -114
  452. data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
  453. data/spec/unit/provider/package/pkgin_spec.rb +10 -8
  454. data/spec/unit/provider/package/pkgng_spec.rb +21 -22
  455. data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
  456. data/spec/unit/provider/package/portage_spec.rb +71 -75
  457. data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
  458. data/spec/unit/provider/package/rpm_spec.rb +53 -64
  459. data/spec/unit/provider/package/sun_spec.rb +16 -18
  460. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  461. data/spec/unit/provider/package/up2date_spec.rb +2 -4
  462. data/spec/unit/provider/package/urpmi_spec.rb +15 -17
  463. data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
  464. data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
  465. data/spec/unit/provider/package/windows/package_spec.rb +37 -42
  466. data/spec/unit/provider/package/windows_spec.rb +36 -32
  467. data/spec/unit/provider/package/yum_spec.rb +7 -7
  468. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  469. data/spec/unit/provider/parsedfile_spec.rb +44 -45
  470. data/spec/unit/provider/service/base_spec.rb +4 -5
  471. data/spec/unit/provider/service/bsd_spec.rb +27 -29
  472. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  473. data/spec/unit/provider/service/debian_spec.rb +38 -38
  474. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  475. data/spec/unit/provider/service/gentoo_spec.rb +50 -55
  476. data/spec/unit/provider/service/init_spec.rb +53 -52
  477. data/spec/unit/provider/service/launchd_spec.rb +138 -116
  478. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  479. data/spec/unit/provider/service/openrc_spec.rb +43 -45
  480. data/spec/unit/provider/service/openwrt_spec.rb +26 -31
  481. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  482. data/spec/unit/provider/service/redhat_spec.rb +45 -43
  483. data/spec/unit/provider/service/runit_spec.rb +29 -27
  484. data/spec/unit/provider/service/smf_spec.rb +74 -66
  485. data/spec/unit/provider/service/src_spec.rb +46 -47
  486. data/spec/unit/provider/service/systemd_spec.rb +113 -122
  487. data/spec/unit/provider/service/upstart_spec.rb +74 -71
  488. data/spec/unit/provider/service/windows_spec.rb +33 -41
  489. data/spec/unit/provider/user/aix_spec.rb +31 -31
  490. data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
  491. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  492. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  493. data/spec/unit/provider/user/openbsd_spec.rb +10 -12
  494. data/spec/unit/provider/user/pw_spec.rb +37 -35
  495. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  496. data/spec/unit/provider/user/useradd_spec.rb +93 -92
  497. data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
  498. data/spec/unit/provider_spec.rb +35 -35
  499. data/spec/unit/puppet_pal_2pec.rb +4 -5
  500. data/spec/unit/puppet_pal_spec.rb +0 -1
  501. data/spec/unit/puppet_spec.rb +6 -7
  502. data/spec/unit/relationship_spec.rb +0 -1
  503. data/spec/unit/reports/http_spec.rb +22 -24
  504. data/spec/unit/reports/store_spec.rb +3 -4
  505. data/spec/unit/reports_spec.rb +12 -14
  506. data/spec/unit/resource/capability_finder_spec.rb +15 -17
  507. data/spec/unit/resource/catalog_spec.rb +72 -68
  508. data/spec/unit/resource/status_spec.rb +6 -8
  509. data/spec/unit/resource/type_collection_spec.rb +17 -18
  510. data/spec/unit/resource/type_spec.rb +34 -35
  511. data/spec/unit/resource_spec.rb +36 -32
  512. data/spec/unit/rest/client_spec.rb +56 -25
  513. data/spec/unit/rest/route_spec.rb +5 -5
  514. data/spec/unit/scheduler/job_spec.rb +0 -1
  515. data/spec/unit/scheduler/scheduler_spec.rb +0 -1
  516. data/spec/unit/scheduler/splay_job_spec.rb +1 -2
  517. data/spec/unit/settings/array_setting_spec.rb +1 -1
  518. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  519. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  520. data/spec/unit/settings/config_file_spec.rb +0 -1
  521. data/spec/unit/settings/directory_setting_spec.rb +2 -7
  522. data/spec/unit/settings/duration_setting_spec.rb +1 -2
  523. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  524. data/spec/unit/settings/environment_conf_spec.rb +4 -6
  525. data/spec/unit/settings/file_setting_spec.rb +44 -46
  526. data/spec/unit/settings/path_setting_spec.rb +1 -2
  527. data/spec/unit/settings/priority_setting_spec.rb +1 -2
  528. data/spec/unit/settings/string_setting_spec.rb +14 -15
  529. data/spec/unit/settings/terminus_setting_spec.rb +1 -2
  530. data/spec/unit/settings/value_translator_spec.rb +0 -1
  531. data/spec/unit/settings_spec.rb +228 -235
  532. data/spec/unit/ssl/base_spec.rb +14 -15
  533. data/spec/unit/ssl/certificate_request_spec.rb +62 -58
  534. data/spec/unit/ssl/certificate_spec.rb +23 -25
  535. data/spec/unit/ssl/digest_spec.rb +0 -1
  536. data/spec/unit/ssl/host_spec.rb +147 -130
  537. data/spec/unit/ssl/key_spec.rb +30 -31
  538. data/spec/unit/ssl/ssl_provider_spec.rb +24 -24
  539. data/spec/unit/ssl/state_machine_spec.rb +50 -58
  540. data/spec/unit/ssl/validator_spec.rb +43 -54
  541. data/spec/unit/ssl/verifier_spec.rb +10 -10
  542. data/spec/unit/task_spec.rb +44 -45
  543. data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -5
  544. data/spec/unit/transaction/event_manager_spec.rb +87 -88
  545. data/spec/unit/transaction/event_spec.rb +16 -15
  546. data/spec/unit/transaction/persistence_spec.rb +16 -17
  547. data/spec/unit/transaction/report_spec.rb +11 -12
  548. data/spec/unit/transaction/resource_harness_spec.rb +28 -33
  549. data/spec/unit/transaction_spec.rb +100 -101
  550. data/spec/unit/type/component_spec.rb +0 -1
  551. data/spec/unit/type/exec_spec.rb +60 -56
  552. data/spec/unit/type/file/checksum_spec.rb +9 -10
  553. data/spec/unit/type/file/checksum_value_spec.rb +31 -32
  554. data/spec/unit/type/file/content_spec.rb +58 -61
  555. data/spec/unit/type/file/ctime_spec.rb +0 -1
  556. data/spec/unit/type/file/ensure_spec.rb +12 -13
  557. data/spec/unit/type/file/group_spec.rb +5 -7
  558. data/spec/unit/type/file/mode_spec.rb +4 -6
  559. data/spec/unit/type/file/mtime_spec.rb +0 -1
  560. data/spec/unit/type/file/owner_spec.rb +6 -8
  561. data/spec/unit/type/file/selinux_spec.rb +17 -19
  562. data/spec/unit/type/file/source_spec.rb +104 -101
  563. data/spec/unit/type/file/type_spec.rb +0 -1
  564. data/spec/unit/type/file_spec.rb +195 -185
  565. data/spec/unit/type/filebucket_spec.rb +4 -5
  566. data/spec/unit/type/group_spec.rb +6 -8
  567. data/spec/unit/type/noop_metaparam_spec.rb +1 -2
  568. data/spec/unit/type/package/package_settings_spec.rb +44 -23
  569. data/spec/unit/type/package_spec.rb +56 -57
  570. data/spec/unit/type/resources_spec.rb +72 -74
  571. data/spec/unit/type/schedule_spec.rb +24 -26
  572. data/spec/unit/type/service_spec.rb +49 -49
  573. data/spec/unit/type/stage_spec.rb +0 -1
  574. data/spec/unit/type/tidy_spec.rb +61 -62
  575. data/spec/unit/type/user_spec.rb +24 -25
  576. data/spec/unit/type/whit_spec.rb +0 -1
  577. data/spec/unit/type_spec.rb +55 -54
  578. data/spec/unit/util/at_fork_spec.rb +18 -19
  579. data/spec/unit/util/autoload_spec.rb +55 -56
  580. data/spec/unit/util/backups_spec.rb +34 -35
  581. data/spec/unit/util/character_encoding_spec.rb +5 -5
  582. data/spec/unit/util/checksums_spec.rb +38 -39
  583. data/spec/unit/util/colors_spec.rb +1 -2
  584. data/spec/unit/util/command_line_spec.rb +24 -25
  585. data/spec/unit/util/constant_inflector_spec.rb +0 -1
  586. data/spec/unit/util/diff_spec.rb +7 -8
  587. data/spec/unit/util/errors_spec.rb +0 -1
  588. data/spec/unit/util/execution_spec.rb +185 -161
  589. data/spec/unit/util/execution_stub_spec.rb +0 -1
  590. data/spec/unit/util/feature_spec.rb +23 -14
  591. data/spec/unit/util/filetype_spec.rb +49 -49
  592. data/spec/unit/util/http_proxy_spec.rb +12 -12
  593. data/spec/unit/util/inifile_spec.rb +26 -31
  594. data/spec/unit/util/json_lockfile_spec.rb +3 -5
  595. data/spec/unit/util/ldap/connection_spec.rb +26 -25
  596. data/spec/unit/util/ldap/generator_spec.rb +0 -1
  597. data/spec/unit/util/ldap/manager_spec.rb +102 -101
  598. data/spec/unit/util/lockfile_spec.rb +0 -1
  599. data/spec/unit/util/log/destinations_spec.rb +30 -33
  600. data/spec/unit/util/log_spec.rb +35 -36
  601. data/spec/unit/util/logging_spec.rb +58 -72
  602. data/spec/unit/util/metric_spec.rb +0 -1
  603. data/spec/unit/util/monkey_patches_spec.rb +7 -9
  604. data/spec/unit/util/multi_match_spec.rb +0 -1
  605. data/spec/unit/util/network_device/config_spec.rb +0 -1
  606. data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
  607. data/spec/unit/util/network_device_spec.rb +7 -9
  608. data/spec/unit/util/package_spec.rb +0 -1
  609. data/spec/unit/util/pidlock_spec.rb +21 -22
  610. data/spec/unit/util/plist_spec.rb +40 -33
  611. data/spec/unit/util/posix_spec.rb +54 -51
  612. data/spec/unit/util/rdoc_spec.rb +9 -10
  613. data/spec/unit/util/reference_spec.rb +0 -1
  614. data/spec/unit/util/resource_template_spec.rb +20 -20
  615. data/spec/unit/util/retry_action_spec.rb +7 -8
  616. data/spec/unit/util/rubygems_spec.rb +7 -8
  617. data/spec/unit/util/run_mode_spec.rb +3 -4
  618. data/spec/unit/util/selinux_spec.rb +79 -72
  619. data/spec/unit/util/splayer_spec.rb +8 -9
  620. data/spec/unit/util/ssl_spec.rb +0 -1
  621. data/spec/unit/util/storage_spec.rb +3 -4
  622. data/spec/unit/util/suidmanager_spec.rb +45 -54
  623. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
  624. data/spec/unit/util/tag_set_spec.rb +0 -1
  625. data/spec/unit/util/tagging_spec.rb +0 -1
  626. data/spec/unit/util/terminal_spec.rb +9 -10
  627. data/spec/unit/util/user_attr_spec.rb +1 -2
  628. data/spec/unit/util/warnings_spec.rb +3 -4
  629. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  630. data/spec/unit/util/watcher_spec.rb +51 -21
  631. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
  632. data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
  633. data/spec/unit/util/windows/adsi_spec.rb +136 -138
  634. data/spec/unit/util/windows/api_types_spec.rb +0 -1
  635. data/spec/unit/util/windows/eventlog_spec.rb +9 -12
  636. data/spec/unit/util/windows/file_spec.rb +0 -1
  637. data/spec/unit/util/windows/root_certs_spec.rb +1 -2
  638. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
  639. data/spec/unit/util/windows/service_spec.rb +66 -68
  640. data/spec/unit/util/windows/sid_spec.rb +11 -13
  641. data/spec/unit/util/windows/string_spec.rb +0 -1
  642. data/spec/unit/util_spec.rb +55 -57
  643. data/spec/unit/version_spec.rb +6 -6
  644. data/spec/unit/x509/cert_provider_spec.rb +14 -14
  645. data/spec/unit/x509/pem_store_spec.rb +5 -5
  646. metadata +2 -2
@@ -1,5 +1,3 @@
1
- #!/usr/bin/env ruby
2
-
3
1
  require 'spec_helper'
4
2
 
5
3
  describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::Platform.windows? do
@@ -13,20 +11,20 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
13
11
 
14
12
  let(:provider) { resource.provider }
15
13
 
16
- let(:connection) { stub 'connection' }
14
+ let(:connection) { double('connection') }
17
15
 
18
16
  before :each do
19
- Puppet::Util::Windows::ADSI.stubs(:computer_name).returns('testcomputername')
20
- Puppet::Util::Windows::ADSI.stubs(:connect).returns connection
17
+ allow(Puppet::Util::Windows::ADSI).to receive(:computer_name).and_return('testcomputername')
18
+ allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(connection)
21
19
  # this would normally query the system, but not needed for these tests
22
- Puppet::Util::Windows::ADSI::User.stubs(:localized_domains).returns([])
20
+ allow(Puppet::Util::Windows::ADSI::User).to receive(:localized_domains).and_return([])
23
21
  end
24
22
 
25
23
  describe ".instances" do
26
24
  it "should enumerate all users" do
27
25
  names = ['user1', 'user2', 'user3']
28
- stub_users = names.map{|n| stub(:name => n)}
29
- connection.stubs(:execquery).with('select name from win32_useraccount where localaccount = "TRUE"').returns(stub_users)
26
+ stub_users = names.map {|n| double(:name => n)}
27
+ allow(connection).to receive(:execquery).with('select name from win32_useraccount where localaccount = "TRUE"').and_return(stub_users)
30
28
 
31
29
  expect(described_class.instances.map(&:name)).to match(names)
32
30
  end
@@ -39,8 +37,8 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
39
37
  describe "when retrieving the password property" do
40
38
  context "when the resource has a nil password" do
41
39
  it "should never issue a logon attempt" do
42
- resource.stubs(:[]).with(any_of(:name, :password)).returns(nil)
43
- Puppet::Util::Windows::User.expects(:logon_user).never
40
+ allow(resource).to receive(:[]).with(eq(:name).or(eq(:password))).and_return(nil)
41
+ expect(Puppet::Util::Windows::User).not_to receive(:logon_user)
44
42
  provider.password
45
43
  end
46
44
  end
@@ -48,42 +46,41 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
48
46
 
49
47
  describe "when managing groups" do
50
48
  it 'should return the list of groups as an array of strings' do
51
- provider.user.stubs(:groups).returns nil
49
+ allow(provider.user).to receive(:groups).and_return(nil)
52
50
  groups = {'group1' => nil, 'group2' => nil, 'group3' => nil}
53
- Puppet::Util::Windows::ADSI::Group.expects(:name_sid_hash).returns(groups)
51
+ expect(Puppet::Util::Windows::ADSI::Group).to receive(:name_sid_hash).and_return(groups)
54
52
 
55
53
  expect(provider.groups).to eq(groups.keys)
56
54
  end
57
55
 
58
56
  it "should return an empty array if there are no groups" do
59
- provider.user.stubs(:groups).returns []
57
+ allow(provider.user).to receive(:groups).and_return([])
60
58
 
61
59
  expect(provider.groups).to eq([])
62
60
  end
63
61
 
64
62
  it 'should be able to add a user to a set of groups' do
65
63
  resource[:membership] = :minimum
66
- provider.user.expects(:set_groups).with('group1,group2', true)
64
+ expect(provider.user).to receive(:set_groups).with('group1,group2', true)
67
65
 
68
66
  provider.groups = 'group1,group2'
69
67
 
70
68
  resource[:membership] = :inclusive
71
- provider.user.expects(:set_groups).with('group1,group2', false)
69
+ expect(provider.user).to receive(:set_groups).with('group1,group2', false)
72
70
 
73
71
  provider.groups = 'group1,group2'
74
72
  end
75
73
  end
76
74
 
77
75
  describe "#groups_insync?" do
78
-
79
- let(:group1) { stub(:account => 'group1', :domain => '.', :sid => 'group1sid') }
80
- let(:group2) { stub(:account => 'group2', :domain => '.', :sid => 'group2sid') }
81
- let(:group3) { stub(:account => 'group3', :domain => '.', :sid => 'group3sid') }
76
+ let(:group1) { double(:account => 'group1', :domain => '.', :sid => 'group1sid') }
77
+ let(:group2) { double(:account => 'group2', :domain => '.', :sid => 'group2sid') }
78
+ let(:group3) { double(:account => 'group3', :domain => '.', :sid => 'group3sid') }
82
79
 
83
80
  before :each do
84
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('group1').returns(group1)
85
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('group2').returns(group2)
86
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('group3').returns(group3)
81
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('group1').and_return(group1)
82
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('group2').and_return(group2)
83
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('group3').and_return(group3)
87
84
  end
88
85
 
89
86
  it "should return true for same lists of members" do
@@ -191,17 +188,16 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
191
188
  resource[:comment] = 'a test user'
192
189
  resource[:home] = 'C:\Users\testuser'
193
190
 
194
- user = stub 'user'
195
- Puppet::Util::Windows::ADSI::User.expects(:create).with('testuser').returns user
191
+ user = double('user')
192
+ expect(Puppet::Util::Windows::ADSI::User).to receive(:create).with('testuser').and_return(user)
196
193
 
197
- user.stubs(:groups).returns(['group2', 'group3'])
194
+ allow(user).to receive(:groups).and_return(['group2', 'group3'])
198
195
 
199
- create = sequence('create')
200
- user.expects(:password=).in_sequence(create)
201
- user.expects(:commit).in_sequence(create)
202
- user.expects(:set_groups).with('group1,group2', false).in_sequence(create)
203
- user.expects(:[]=).with('Description', 'a test user')
204
- user.expects(:[]=).with('HomeDirectory', 'C:\Users\testuser')
196
+ expect(user).to receive(:password=).ordered
197
+ expect(user).to receive(:commit).ordered
198
+ expect(user).to receive(:set_groups).with('group1,group2', false).ordered
199
+ expect(user).to receive(:[]=).with('Description', 'a test user')
200
+ expect(user).to receive(:[]=).with('HomeDirectory', 'C:\Users\testuser')
205
201
 
206
202
  provider.create
207
203
  end
@@ -210,25 +206,28 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
210
206
  resource[:password] = '0xDeadBeef'
211
207
  resource[:managehome] = true
212
208
 
213
- user = stub_everything 'user'
214
- Puppet::Util::Windows::ADSI::User.expects(:create).with('testuser').returns user
215
- Puppet::Util::Windows::User.expects(:load_profile).with('testuser', '0xDeadBeef')
209
+ user = double('user')
210
+ allow(user).to receive(:password=)
211
+ allow(user).to receive(:commit)
212
+ allow(user).to receive(:[]=)
213
+ expect(Puppet::Util::Windows::ADSI::User).to receive(:create).with('testuser').and_return(user)
214
+ expect(Puppet::Util::Windows::User).to receive(:load_profile).with('testuser', '0xDeadBeef')
216
215
 
217
216
  provider.create
218
217
  end
219
218
 
220
219
  it "should set a user's password" do
221
- provider.user.expects(:disabled?).returns(false)
222
- provider.user.expects(:locked_out?).returns(false)
223
- provider.user.expects(:expired?).returns(false)
224
- provider.user.expects(:password=).with('plaintextbad')
220
+ expect(provider.user).to receive(:disabled?).and_return(false)
221
+ expect(provider.user).to receive(:locked_out?).and_return(false)
222
+ expect(provider.user).to receive(:expired?).and_return(false)
223
+ expect(provider.user).to receive(:password=).with('plaintextbad')
225
224
 
226
225
  provider.password = "plaintextbad"
227
226
  end
228
227
 
229
228
  it "should test a valid user password" do
230
229
  resource[:password] = 'plaintext'
231
- provider.user.expects(:password_is?).with('plaintext').returns true
230
+ expect(provider.user).to receive(:password_is?).with('plaintext').and_return(true)
232
231
 
233
232
  expect(provider.password).to eq('plaintext')
234
233
 
@@ -236,54 +235,54 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
236
235
 
237
236
  it "should test a bad user password" do
238
237
  resource[:password] = 'plaintext'
239
- provider.user.expects(:password_is?).with('plaintext').returns false
238
+ expect(provider.user).to receive(:password_is?).with('plaintext').and_return(false)
240
239
 
241
240
  expect(provider.password).to be_nil
242
241
  end
243
242
 
244
243
  it "should test a blank user password" do
245
244
  resource[:password] = ''
246
- provider.user.expects(:password_is?).with('').returns true
245
+ expect(provider.user).to receive(:password_is?).with('').and_return(true)
247
246
 
248
247
  expect(provider.password).to eq('')
249
248
  end
250
249
 
251
250
  it 'should not create a user if a group by the same name exists' do
252
- Puppet::Util::Windows::ADSI::User.expects(:create).with('testuser').raises( Puppet::Error.new("Cannot create user if group 'testuser' exists.") )
251
+ expect(Puppet::Util::Windows::ADSI::User).to receive(:create).with('testuser').and_raise(Puppet::Error.new("Cannot create user if group 'testuser' exists."))
253
252
  expect{ provider.create }.to raise_error( Puppet::Error,
254
253
  /Cannot create user if group 'testuser' exists./ )
255
254
  end
256
255
 
257
256
  it "should fail with an actionable message when trying to create an active directory user" do
258
257
  resource[:name] = 'DOMAIN\testdomainuser'
259
- Puppet::Util::Windows::ADSI::Group.expects(:exists?).with(resource[:name]).returns(false)
260
- connection.expects(:Create)
261
- connection.expects(:Get).with('UserFlags')
262
- connection.expects(:Put).with('UserFlags', true)
263
- connection.expects(:SetInfo).raises( WIN32OLERuntimeError.new("(in OLE method `SetInfo': )\n OLE error code:8007089A in Active Directory\n The specified username is invalid.\r\n\n HRESULT error code:0x80020009\n Exception occurred."))
258
+ expect(Puppet::Util::Windows::ADSI::Group).to receive(:exists?).with(resource[:name]).and_return(false)
259
+ expect(connection).to receive(:Create)
260
+ expect(connection).to receive(:Get).with('UserFlags')
261
+ expect(connection).to receive(:Put).with('UserFlags', true)
262
+ expect(connection).to receive(:SetInfo).and_raise(WIN32OLERuntimeError.new("(in OLE method `SetInfo': )\n OLE error code:8007089A in Active Directory\n The specified username is invalid.\r\n\n HRESULT error code:0x80020009\n Exception occurred."))
264
263
 
265
264
  expect{ provider.create }.to raise_error(Puppet::Error)
266
265
  end
267
266
  end
268
267
 
269
268
  it 'should be able to test whether a user exists' do
270
- Puppet::Util::Windows::SID.stubs(:name_to_principal).returns(nil)
271
- Puppet::Util::Windows::ADSI.stubs(:connect).returns stub('connection', :Class => 'User')
269
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(nil)
270
+ allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(double('connection', :Class => 'User'))
272
271
  expect(provider).to be_exists
273
272
 
274
- Puppet::Util::Windows::ADSI.stubs(:connect).returns nil
273
+ allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(nil)
275
274
  expect(provider).not_to be_exists
276
275
  end
277
276
 
278
277
  it 'should be able to delete a user' do
279
- connection.expects(:Delete).with('user', 'testuser')
278
+ expect(connection).to receive(:Delete).with('user', 'testuser')
280
279
 
281
280
  provider.delete
282
281
  end
283
282
 
284
283
  it 'should not run commit on a deleted user' do
285
- connection.expects(:Delete).with('user', 'testuser')
286
- connection.expects(:SetInfo).never
284
+ expect(connection).to receive(:Delete).with('user', 'testuser')
285
+ expect(connection).not_to receive(:SetInfo)
287
286
 
288
287
  provider.delete
289
288
  provider.flush
@@ -293,33 +292,33 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
293
292
  resource[:managehome] = true
294
293
 
295
294
  sid = 'S-A-B-C'
296
- Puppet::Util::Windows::SID.expects(:name_to_sid).with('testuser').returns(sid)
297
- Puppet::Util::Windows::ADSI::UserProfile.expects(:delete).with(sid)
298
- connection.expects(:Delete).with('user', 'testuser')
295
+ expect(Puppet::Util::Windows::SID).to receive(:name_to_sid).with('testuser').and_return(sid)
296
+ expect(Puppet::Util::Windows::ADSI::UserProfile).to receive(:delete).with(sid)
297
+ expect(connection).to receive(:Delete).with('user', 'testuser')
299
298
 
300
299
  provider.delete
301
300
  end
302
301
 
303
302
  it "should commit the user when flushed" do
304
- provider.user.expects(:commit)
303
+ expect(provider.user).to receive(:commit)
305
304
 
306
305
  provider.flush
307
306
  end
308
307
 
309
308
  it "should return the user's SID as uid" do
310
- Puppet::Util::Windows::SID.expects(:name_to_sid).with('testuser').returns('S-1-5-21-1362942247-2130103807-3279964888-1111')
309
+ expect(Puppet::Util::Windows::SID).to receive(:name_to_sid).with('testuser').and_return('S-1-5-21-1362942247-2130103807-3279964888-1111')
311
310
 
312
311
  expect(provider.uid).to eq('S-1-5-21-1362942247-2130103807-3279964888-1111')
313
312
  end
314
313
 
315
314
  it "should fail when trying to manage the uid property" do
316
- provider.expects(:fail).with { |msg| msg =~ /uid is read-only/ }
315
+ expect(provider).to receive(:fail).with(/uid is read-only/)
317
316
  provider.send(:uid=, 500)
318
317
  end
319
318
 
320
319
  [:gid, :shell].each do |prop|
321
320
  it "should fail when trying to manage the #{prop} property" do
322
- provider.expects(:fail).with { |msg| msg =~ /No support for managing property #{prop}/ }
321
+ expect(provider).to receive(:fail).with(/No support for managing property #{prop}/)
323
322
  provider.send("#{prop}=", 'foo')
324
323
  end
325
324
  end
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  def existing_command
@@ -150,13 +149,13 @@ describe Puppet::Provider do
150
149
  # otherwise is to assign it to a constant, and that hurts more here in
151
150
  # testing world. --daniel 2012-01-29
152
151
  a = Class.new(Puppet::Provider).new(res)
153
- a.class.stubs(:name).returns "Puppet::Provider::Notify::A"
152
+ allow(a.class).to receive(:name).and_return("Puppet::Provider::Notify::A")
154
153
 
155
154
  b = Class.new(Puppet::Provider).new(res)
156
- b.class.stubs(:name).returns "Puppet::Provider::Notify::B"
155
+ allow(b.class).to receive(:name).and_return("Puppet::Provider::Notify::B")
157
156
 
158
157
  c = Class.new(Puppet::Provider).new(res)
159
- c.class.stubs(:name).returns "Puppet::Provider::Notify::C"
158
+ allow(c.class).to receive(:name).and_return("Puppet::Provider::Notify::C")
160
159
 
161
160
  [[a, b, c], [a, c, b], [b, a, c], [b, c, a], [c, a, b], [c, b, a]].each do |this|
162
161
  expect(this.sort).to eq([a, b, c])
@@ -282,7 +281,7 @@ describe Puppet::Provider do
282
281
 
283
282
  describe "regex matches" do
284
283
  it "should match a singular regex" do
285
- Facter.expects(:value).with(:osfamily).at_least_once.returns "solaris"
284
+ expect(Facter).to receive(:value).with(:osfamily).at_least(:once).and_return("solaris")
286
285
 
287
286
  one = type.provide(:one) do
288
287
  defaultfor :osfamily => /solaris/
@@ -292,7 +291,7 @@ describe Puppet::Provider do
292
291
  end
293
292
 
294
293
  it "should not match a non-matching regex " do
295
- Facter.expects(:value).with(:osfamily).at_least_once.returns "redhat"
294
+ expect(Facter).to receive(:value).with(:osfamily).at_least(:once).and_return("redhat")
296
295
 
297
296
  one = type.provide(:one) do
298
297
  defaultfor :osfamily => /solaris/
@@ -303,8 +302,8 @@ describe Puppet::Provider do
303
302
 
304
303
  it "should allow a mix of regex and string" do
305
304
 
306
- Facter.expects(:value).with(:operatingsystem).at_least_once.returns "fedora"
307
- Facter.expects(:value).with(:operatingsystemmajrelease).at_least_once.returns "24"
305
+ expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return("fedora")
306
+ expect(Facter).to receive(:value).with(:operatingsystemmajrelease).at_least(:once).and_return("24")
308
307
 
309
308
  one = type.provide(:one) do
310
309
  defaultfor :operatingsystem => "fedora", :operatingsystemmajrelease => /^2[2-9]$/
@@ -328,14 +327,14 @@ describe Puppet::Provider do
328
327
  let(:alternate) { type.provide(:alternate) {} }
329
328
 
330
329
  it "should be default for the first defaultfor" do
331
- Facter.expects(:value).with(:operatingsystem).at_least_once.returns :os1
330
+ expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return(:os1)
332
331
 
333
332
  expect(provider).to be_default
334
333
  expect(alternate).not_to be_default
335
334
  end
336
335
 
337
336
  it "should be default for the last defaultfor" do
338
- Facter.expects(:value).with(:operatingsystem).at_least_once.returns :os2
337
+ expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return(:os2)
339
338
 
340
339
  expect(provider).to be_default
341
340
  expect(alternate).not_to be_default
@@ -352,23 +351,23 @@ describe Puppet::Provider do
352
351
  let(:alternate) { type.provide(:alternate) {} }
353
352
 
354
353
  it "should be default for a more specific, but matching, defaultfor" do
355
- Facter.expects(:value).with(:operatingsystem).at_least_once.returns :os2
356
- Facter.expects(:value).with(:operatingsystemmajrelease).at_least_once.returns "42"
354
+ expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return(:os2)
355
+ expect(Facter).to receive(:value).with(:operatingsystemmajrelease).at_least(:once).and_return("42")
357
356
 
358
357
  expect(provider).to be_default
359
358
  expect(alternate).not_to be_default
360
359
  end
361
360
 
362
361
  it "should be default for a more specific, but matching, defaultfor with regex" do
363
- Facter.expects(:value).with(:operatingsystem).at_least_once.returns :os3
364
- Facter.expects(:value).with(:operatingsystemmajrelease).at_least_once.returns "42"
362
+ expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return(:os3)
363
+ expect(Facter).to receive(:value).with(:operatingsystemmajrelease).at_least(:once).and_return("42")
365
364
 
366
365
  expect(provider).to be_default
367
366
  expect(alternate).not_to be_default
368
367
  end
369
368
 
370
369
  it "should be default for a less specific, but matching, defaultfor" do
371
- Facter.expects(:value).with(:operatingsystem).at_least_once.returns :os1
370
+ expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return(:os1)
372
371
 
373
372
  expect(provider).to be_default
374
373
  expect(alternate).not_to be_default
@@ -392,8 +391,8 @@ describe Puppet::Provider do
392
391
  end
393
392
 
394
393
  it "should not be default if the notdefaultfor does match" do
395
- Facter.expects(:value).with(:operatingsystem).at_least_once.returns "fedora"
396
- Facter.expects(:value).with(:operatingsystemmajrelease).at_least_once.returns "24"
394
+ expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return("fedora")
395
+ expect(Facter).to receive(:value).with(:operatingsystemmajrelease).at_least(:once).and_return("24")
397
396
 
398
397
  one = type.provide(:one) do
399
398
  defaultfor :operatingsystem => "fedora"
@@ -404,8 +403,8 @@ describe Puppet::Provider do
404
403
  end
405
404
 
406
405
  it "should be default if the notdefaultfor doesn't match" do
407
- Facter.expects(:value).with(:operatingsystem).at_least_once.returns "fedora"
408
- Facter.expects(:value).with(:operatingsystemmajrelease).at_least_once.returns "24"
406
+ expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return("fedora")
407
+ expect(Facter).to receive(:value).with(:operatingsystemmajrelease).at_least(:once).and_return("24")
409
408
 
410
409
  one = type.provide(:one) do
411
410
  defaultfor :operatingsystem => "fedora"
@@ -520,9 +519,9 @@ describe Puppet::Provider do
520
519
  end
521
520
 
522
521
  it "with the specification: %{spec}" % { spec: thisspec.join(', ') } do
523
- Facter.stubs(:value).with(:osfamily).returns "redhat"
524
- Facter.stubs(:value).with(:operatingsystem).returns "centos"
525
- Facter.stubs(:value).with(:operatingsystemrelease).returns "27"
522
+ allow(Facter).to receive(:value).with(:osfamily).and_return("redhat")
523
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return("centos")
524
+ allow(Facter).to receive(:value).with(:operatingsystemrelease).and_return("27")
526
525
 
527
526
  one = type.provide(:one) do
528
527
  if defaultforspec[:one].key?(:defaultfor)
@@ -551,7 +550,7 @@ describe Puppet::Provider do
551
550
  end
552
551
 
553
552
  if defaultforspec[:expect_one] then
554
- Puppet.expects(:warning).with(regexp_matches(/Found multiple default providers/))
553
+ expect(Puppet).to receive(:warning).with(/Found multiple default providers/)
555
554
  expect(type.defaultprovider).to eq(one)
556
555
  else
557
556
  expect(type.defaultprovider).to eq(two)
@@ -607,7 +606,7 @@ describe Puppet::Provider do
607
606
  subject.commands :testing => "puppet-bug-1197"
608
607
  expect(subject.command(:testing)).to be_nil
609
608
 
610
- subject.stubs(:which).with("puppet-bug-1197").returns("/puppet-bug-1197")
609
+ allow(subject).to receive(:which).with("puppet-bug-1197").and_return("/puppet-bug-1197")
611
610
  expect(subject.command(:testing)).to eq("/puppet-bug-1197")
612
611
 
613
612
  # Ideally, we would also test that `suitable?` returned the right thing
@@ -643,43 +642,43 @@ describe Puppet::Provider do
643
642
 
644
643
  context "execution" do
645
644
  before :each do
646
- Puppet.expects(:deprecation_warning).never
645
+ expect(Puppet).not_to receive(:deprecation_warning)
647
646
  end
648
647
 
649
648
  it "delegates instance execute to Puppet::Util::Execution" do
650
- Puppet::Util::Execution.expects(:execute).with("a_command", { :option => "value" })
649
+ expect(Puppet::Util::Execution).to receive(:execute).with("a_command", { :option => "value" })
651
650
 
652
651
  provider.new.send(:execute, "a_command", { :option => "value" })
653
652
  end
654
653
 
655
654
  it "delegates class execute to Puppet::Util::Execution" do
656
- Puppet::Util::Execution.expects(:execute).with("a_command", { :option => "value" })
655
+ expect(Puppet::Util::Execution).to receive(:execute).with("a_command", { :option => "value" })
657
656
 
658
657
  provider.send(:execute, "a_command", { :option => "value" })
659
658
  end
660
659
 
661
660
  it "delegates instance execpipe to Puppet::Util::Execution" do
662
661
  block = Proc.new { }
663
- Puppet::Util::Execution.expects(:execpipe).with("a_command", true, block)
662
+ expect(Puppet::Util::Execution).to receive(:execpipe).with("a_command", true, block)
664
663
 
665
664
  provider.new.send(:execpipe, "a_command", true, block)
666
665
  end
667
666
 
668
667
  it "delegates class execpipe to Puppet::Util::Execution" do
669
668
  block = Proc.new { }
670
- Puppet::Util::Execution.expects(:execpipe).with("a_command", true, block)
669
+ expect(Puppet::Util::Execution).to receive(:execpipe).with("a_command", true, block)
671
670
 
672
671
  provider.send(:execpipe, "a_command", true, block)
673
672
  end
674
673
 
675
674
  it "delegates instance execfail to Puppet::Util::Execution" do
676
- Puppet::Util::Execution.expects(:execfail).with("a_command", "an exception to raise")
675
+ expect(Puppet::Util::Execution).to receive(:execfail).with("a_command", "an exception to raise")
677
676
 
678
677
  provider.new.send(:execfail, "a_command", "an exception to raise")
679
678
  end
680
679
 
681
680
  it "delegates class execfail to Puppet::Util::Execution" do
682
- Puppet::Util::Execution.expects(:execfail).with("a_command", "an exception to raise")
681
+ expect(Puppet::Util::Execution).to receive(:execfail).with("a_command", "an exception to raise")
683
682
 
684
683
  provider.send(:execfail, "a_command", "an exception to raise")
685
684
  end
@@ -903,16 +902,17 @@ describe Puppet::Provider do
903
902
 
904
903
  def expect_command_executed(name, path, *args)
905
904
  command = Puppet::Provider::Command.new(name, path, Puppet::Util, Puppet::Util::Execution)
906
- command.expects(:execute).with(*args)
905
+ args = [no_args] if args.empty?
906
+ expect(command).to receive(:execute).with(*args)
907
907
  command
908
908
  end
909
909
 
910
910
  def allow_creation_of(command, environment = {})
911
- Puppet::Provider::Command.stubs(:new).with(command.name, command.executable, Puppet::Util, Puppet::Util::Execution, { :failonfail => true, :combine => true, :custom_environment => environment }).returns(command)
911
+ allow(Puppet::Provider::Command).to receive(:new).with(command.name, command.executable, Puppet::Util, Puppet::Util::Execution, { :failonfail => true, :combine => true, :custom_environment => environment }).and_return(command)
912
912
  end
913
913
 
914
914
  def file_exists_and_is_executable(path)
915
- FileTest.expects(:file?).with(path).returns(true)
916
- FileTest.expects(:executable?).with(path).returns(true)
915
+ expect(FileTest).to receive(:file?).with(path).and_return(true)
916
+ expect(FileTest).to receive(:executable?).with(path).and_return(true)
917
917
  end
918
918
  end