chef 14.14.29-universal-mingw32 → 14.15.6-universal-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +18 -7
  4. data/Rakefile +7 -4
  5. data/chef.gemspec +1 -1
  6. data/lib/chef/knife/ssh.rb +6 -0
  7. data/lib/chef/provider/ifconfig.rb +14 -5
  8. data/lib/chef/provider/windows_task.rb +9 -5
  9. data/lib/chef/resource/kernel_module.rb +61 -0
  10. data/lib/chef/resource/windows_task.rb +4 -0
  11. data/lib/chef/version.rb +1 -1
  12. data/spec/data/cookbooks/openldap/metadata.rb +2 -2
  13. data/spec/data/metadata/quick_start/metadata.rb +2 -7
  14. data/spec/functional/audit/runner_spec.rb +1 -1
  15. data/spec/functional/dsl/reboot_pending_spec.rb +7 -25
  16. data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -4
  17. data/spec/functional/file_content_management/deploy_strategies_spec.rb +21 -21
  18. data/spec/functional/knife/exec_spec.rb +1 -1
  19. data/spec/functional/knife/ssh_spec.rb +3 -3
  20. data/spec/functional/mixin/user_context_spec.rb +3 -1
  21. data/spec/functional/rebooter_spec.rb +1 -1
  22. data/spec/functional/resource/aix_service_spec.rb +1 -1
  23. data/spec/functional/resource/aixinit_service_spec.rb +1 -1
  24. data/spec/functional/resource/apt_package_spec.rb +1 -1
  25. data/spec/functional/resource/chocolatey_package_spec.rb +2 -2
  26. data/spec/functional/resource/cookbook_file_spec.rb +1 -3
  27. data/spec/functional/resource/cron_spec.rb +4 -3
  28. data/spec/functional/resource/dpkg_package_spec.rb +4 -4
  29. data/spec/functional/resource/dsc_resource_spec.rb +2 -1
  30. data/spec/functional/resource/dsc_script_spec.rb +16 -20
  31. data/spec/functional/resource/execute_spec.rb +2 -2
  32. data/spec/functional/resource/git_spec.rb +6 -6
  33. data/spec/functional/resource/group_spec.rb +8 -6
  34. data/spec/functional/resource/ifconfig_spec.rb +3 -5
  35. data/spec/functional/resource/link_spec.rb +2 -2
  36. data/spec/functional/resource/mount_spec.rb +3 -7
  37. data/spec/functional/resource/powershell_script_spec.rb +9 -8
  38. data/spec/functional/resource/reboot_spec.rb +1 -1
  39. data/spec/functional/resource/remote_file_spec.rb +2 -2
  40. data/spec/functional/resource/template_spec.rb +1 -1
  41. data/spec/functional/resource/user/windows_spec.rb +2 -2
  42. data/spec/functional/resource/windows_certificate_spec.rb +3 -3
  43. data/spec/functional/resource/windows_service_spec.rb +3 -3
  44. data/spec/functional/resource/windows_task_spec.rb +51 -0
  45. data/spec/functional/run_lock_spec.rb +10 -3
  46. data/spec/functional/shell_spec.rb +1 -1
  47. data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
  48. data/spec/functional/version_spec.rb +1 -1
  49. data/spec/functional/win32/security_spec.rb +12 -7
  50. data/spec/functional/win32/service_manager_spec.rb +1 -1
  51. data/spec/functional/win32/version_info_spec.rb +4 -4
  52. data/spec/integration/client/client_spec.rb +114 -132
  53. data/spec/integration/client/exit_code_spec.rb +8 -8
  54. data/spec/integration/client/ipv6_spec.rb +5 -5
  55. data/spec/integration/knife/chef_fs_data_store_spec.rb +38 -38
  56. data/spec/integration/knife/chef_repo_path_spec.rb +42 -42
  57. data/spec/integration/knife/chef_repository_file_system_spec.rb +9 -9
  58. data/spec/integration/knife/chefignore_spec.rb +13 -13
  59. data/spec/integration/knife/client_bulk_delete_spec.rb +8 -8
  60. data/spec/integration/knife/client_create_spec.rb +1 -1
  61. data/spec/integration/knife/client_delete_spec.rb +4 -4
  62. data/spec/integration/knife/client_key_delete_spec.rb +1 -1
  63. data/spec/integration/knife/client_key_list_spec.rb +1 -1
  64. data/spec/integration/knife/client_list_spec.rb +1 -1
  65. data/spec/integration/knife/common_options_spec.rb +1 -1
  66. data/spec/integration/knife/config_get_spec.rb +1 -1
  67. data/spec/integration/knife/config_list_profiles_spec.rb +2 -1
  68. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +3 -3
  69. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +3 -3
  70. data/spec/integration/knife/cookbook_download_spec.rb +4 -4
  71. data/spec/integration/knife/cookbook_list_spec.rb +2 -2
  72. data/spec/integration/knife/cookbook_show_spec.rb +3 -3
  73. data/spec/integration/knife/cookbook_upload_spec.rb +6 -6
  74. data/spec/integration/knife/data_bag_delete_spec.rb +4 -4
  75. data/spec/integration/knife/data_bag_from_file_spec.rb +7 -7
  76. data/spec/integration/knife/data_bag_list_spec.rb +1 -1
  77. data/spec/integration/knife/delete_spec.rb +37 -37
  78. data/spec/integration/knife/deps_spec.rb +23 -23
  79. data/spec/integration/knife/diff_spec.rb +23 -23
  80. data/spec/integration/knife/download_spec.rb +79 -79
  81. data/spec/integration/knife/environment_compare_spec.rb +3 -3
  82. data/spec/integration/knife/environment_from_file_spec.rb +6 -6
  83. data/spec/integration/knife/environment_list_spec.rb +1 -1
  84. data/spec/integration/knife/environment_show_spec.rb +4 -4
  85. data/spec/integration/knife/list_spec.rb +25 -25
  86. data/spec/integration/knife/node_bulk_delete_spec.rb +2 -2
  87. data/spec/integration/knife/node_delete_spec.rb +2 -2
  88. data/spec/integration/knife/node_environment_set_spec.rb +1 -1
  89. data/spec/integration/knife/node_from_file_spec.rb +2 -2
  90. data/spec/integration/knife/node_list_spec.rb +1 -1
  91. data/spec/integration/knife/raw_spec.rb +12 -12
  92. data/spec/integration/knife/redirection_spec.rb +1 -1
  93. data/spec/integration/knife/role_bulk_delete_spec.rb +2 -2
  94. data/spec/integration/knife/role_delete_spec.rb +2 -2
  95. data/spec/integration/knife/role_from_file_spec.rb +5 -5
  96. data/spec/integration/knife/role_list_spec.rb +1 -1
  97. data/spec/integration/knife/role_show_spec.rb +1 -1
  98. data/spec/integration/knife/show_spec.rb +10 -10
  99. data/spec/integration/knife/upload_spec.rb +85 -85
  100. data/spec/integration/recipes/accumulator_spec.rb +4 -4
  101. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +6 -6
  102. data/spec/integration/recipes/lwrp_spec.rb +6 -6
  103. data/spec/integration/recipes/notifies_spec.rb +45 -45
  104. data/spec/integration/recipes/notifying_block_spec.rb +4 -4
  105. data/spec/integration/recipes/provider_choice.rb +1 -2
  106. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  107. data/spec/integration/recipes/remote_directory.rb +2 -2
  108. data/spec/integration/recipes/resource_action_spec.rb +1 -1
  109. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +19 -19
  110. data/spec/integration/solo/solo_spec.rb +29 -29
  111. data/spec/scripts/ssl-serve.rb +1 -1
  112. data/spec/spec_helper.rb +11 -14
  113. data/spec/stress/win32/security_spec.rb +1 -1
  114. data/spec/support/lib/chef/resource/zen_follower.rb +1 -1
  115. data/spec/support/lib/chef/resource/zen_master.rb +1 -1
  116. data/spec/support/mock/platform.rb +2 -2
  117. data/spec/support/platform_helpers.rb +12 -3
  118. data/spec/support/platforms/win32/spec_service.rb +6 -10
  119. data/spec/support/shared/context/client.rb +2 -1
  120. data/spec/support/shared/functional/execute_resource.rb +4 -4
  121. data/spec/support/shared/functional/file_resource.rb +1 -3
  122. data/spec/support/shared/functional/http.rb +20 -44
  123. data/spec/support/shared/functional/securable_resource.rb +4 -8
  124. data/spec/support/shared/functional/win32_service.rb +1 -1
  125. data/spec/support/shared/functional/windows_script.rb +2 -1
  126. data/spec/support/shared/integration/app_server_support.rb +3 -4
  127. data/spec/support/shared/integration/integration_helper.rb +1 -0
  128. data/spec/support/shared/integration/knife_support.rb +5 -5
  129. data/spec/support/shared/unit/application_dot_d.rb +10 -4
  130. data/spec/support/shared/unit/file_system_support.rb +3 -2
  131. data/spec/support/shared/unit/platform_introspector.rb +12 -12
  132. data/spec/support/shared/unit/provider/file.rb +1 -1
  133. data/spec/support/shared/unit/script_resource.rb +1 -1
  134. data/spec/support/shared/unit/windows_script_resource.rb +1 -1
  135. data/spec/tiny_server.rb +1 -1
  136. data/spec/unit/api_client/registration_spec.rb +1 -1
  137. data/spec/unit/api_client_spec.rb +5 -5
  138. data/spec/unit/api_client_v1_spec.rb +6 -6
  139. data/spec/unit/application/client_spec.rb +8 -8
  140. data/spec/unit/application/exit_code_spec.rb +3 -2
  141. data/spec/unit/application/knife_spec.rb +1 -2
  142. data/spec/unit/audit/audit_event_proxy_spec.rb +14 -7
  143. data/spec/unit/audit/audit_reporter_spec.rb +20 -11
  144. data/spec/unit/audit/control_group_data_spec.rb +17 -12
  145. data/spec/unit/chef_fs/config_spec.rb +3 -3
  146. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
  147. data/spec/unit/chef_fs/parallelizer.rb +1 -1
  148. data/spec/unit/client_spec.rb +3 -3
  149. data/spec/unit/config_fetcher_spec.rb +1 -1
  150. data/spec/unit/cookbook/metadata_spec.rb +13 -13
  151. data/spec/unit/cookbook/synchronizer_spec.rb +6 -6
  152. data/spec/unit/cookbook_loader_spec.rb +17 -17
  153. data/spec/unit/cookbook_manifest_spec.rb +9 -9
  154. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +1 -2
  155. data/spec/unit/cookbook_uploader_spec.rb +2 -2
  156. data/spec/unit/cookbook_version_file_specificity_spec.rb +9 -9
  157. data/spec/unit/cookbook_version_spec.rb +2 -2
  158. data/spec/unit/data_bag_item_spec.rb +7 -7
  159. data/spec/unit/data_bag_spec.rb +1 -1
  160. data/spec/unit/data_collector_spec.rb +23 -23
  161. data/spec/unit/decorator_spec.rb +2 -2
  162. data/spec/unit/deprecated_spec.rb +2 -2
  163. data/spec/unit/dsl/data_query_spec.rb +3 -2
  164. data/spec/unit/dsl/declare_resource_spec.rb +1 -1
  165. data/spec/unit/dsl/platform_introspection_spec.rb +2 -2
  166. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +2 -1
  167. data/spec/unit/encrypted_data_bag_item_spec.rb +2 -1
  168. data/spec/unit/environment_spec.rb +13 -13
  169. data/spec/unit/event_dispatch/dsl_spec.rb +1 -1
  170. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
  171. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +2 -2
  172. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +3 -3
  173. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +1 -1
  174. data/spec/unit/http/authenticator_spec.rb +4 -3
  175. data/spec/unit/http/json_input_spec.rb +1 -1
  176. data/spec/unit/http/socketless_chef_zero_client_spec.rb +15 -15
  177. data/spec/unit/key_spec.rb +8 -8
  178. data/spec/unit/knife/bootstrap_spec.rb +14 -10
  179. data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
  180. data/spec/unit/knife/configure_client_spec.rb +1 -1
  181. data/spec/unit/knife/configure_spec.rb +1 -1
  182. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
  183. data/spec/unit/knife/cookbook_delete_spec.rb +2 -2
  184. data/spec/unit/knife/cookbook_download_spec.rb +2 -2
  185. data/spec/unit/knife/cookbook_metadata_spec.rb +4 -4
  186. data/spec/unit/knife/cookbook_upload_spec.rb +7 -5
  187. data/spec/unit/knife/core/bootstrap_context_spec.rb +1 -1
  188. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +2 -2
  189. data/spec/unit/knife/core/gem_glob_loader_spec.rb +4 -4
  190. data/spec/unit/knife/core/hashed_command_loader_spec.rb +4 -2
  191. data/spec/unit/knife/core/node_editor_spec.rb +12 -12
  192. data/spec/unit/knife/core/ui_spec.rb +11 -11
  193. data/spec/unit/knife/data_bag_from_file_spec.rb +2 -1
  194. data/spec/unit/knife/data_bag_show_spec.rb +2 -1
  195. data/spec/unit/knife/key_create_spec.rb +1 -1
  196. data/spec/unit/knife/key_delete_spec.rb +3 -3
  197. data/spec/unit/knife/key_edit_spec.rb +4 -4
  198. data/spec/unit/knife/key_list_spec.rb +1 -1
  199. data/spec/unit/knife/key_show_spec.rb +3 -3
  200. data/spec/unit/knife/node_bulk_delete_spec.rb +3 -3
  201. data/spec/unit/knife/node_delete_spec.rb +2 -2
  202. data/spec/unit/knife/node_edit_spec.rb +1 -1
  203. data/spec/unit/knife/node_environment_set_spec.rb +1 -1
  204. data/spec/unit/knife/node_from_file_spec.rb +1 -1
  205. data/spec/unit/knife/node_policy_set_spec.rb +1 -1
  206. data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
  207. data/spec/unit/knife/node_run_list_remove_spec.rb +1 -1
  208. data/spec/unit/knife/node_run_list_set_spec.rb +1 -1
  209. data/spec/unit/knife/node_show_spec.rb +1 -1
  210. data/spec/unit/knife/raw_spec.rb +2 -2
  211. data/spec/unit/knife/role_bulk_delete_spec.rb +2 -2
  212. data/spec/unit/knife/role_create_spec.rb +1 -1
  213. data/spec/unit/knife/role_delete_spec.rb +1 -1
  214. data/spec/unit/knife/role_edit_spec.rb +1 -1
  215. data/spec/unit/knife/role_env_run_list_add_spec.rb +1 -1
  216. data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
  217. data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
  218. data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
  219. data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
  220. data/spec/unit/knife/role_from_file_spec.rb +1 -1
  221. data/spec/unit/knife/role_run_list_add_spec.rb +1 -1
  222. data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
  223. data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
  224. data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
  225. data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
  226. data/spec/unit/knife/ssh_spec.rb +27 -17
  227. data/spec/unit/knife/ssl_check_spec.rb +4 -4
  228. data/spec/unit/knife/ssl_fetch_spec.rb +5 -5
  229. data/spec/unit/knife/status_spec.rb +3 -2
  230. data/spec/unit/knife/supermarket_download_spec.rb +4 -4
  231. data/spec/unit/knife/supermarket_install_spec.rb +5 -4
  232. data/spec/unit/knife/supermarket_share_spec.rb +1 -1
  233. data/spec/unit/knife_spec.rb +34 -33
  234. data/spec/unit/lwrp_spec.rb +19 -19
  235. data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
  236. data/spec/unit/mixin/params_validate_spec.rb +10 -10
  237. data/spec/unit/mixin/properties_spec.rb +4 -4
  238. data/spec/unit/mixin/shell_out_spec.rb +27 -27
  239. data/spec/unit/mixin/template_spec.rb +4 -8
  240. data/spec/unit/mixin/unformatter_spec.rb +1 -2
  241. data/spec/unit/mixin/user_context_spec.rb +1 -2
  242. data/spec/unit/mixin/which.rb +2 -0
  243. data/spec/unit/mixin/windows_architecture_helper_spec.rb +3 -3
  244. data/spec/unit/node/attribute_spec.rb +79 -79
  245. data/spec/unit/node/immutable_collections_spec.rb +50 -50
  246. data/spec/unit/node_spec.rb +16 -16
  247. data/spec/unit/org_spec.rb +3 -3
  248. data/spec/unit/policy_builder/policyfile_spec.rb +2 -2
  249. data/spec/unit/property/state_spec.rb +26 -25
  250. data/spec/unit/property/validation_spec.rb +14 -13
  251. data/spec/unit/property_spec.rb +10 -9
  252. data/spec/unit/provider/apt_update_spec.rb +6 -6
  253. data/spec/unit/provider/cron_spec.rb +15 -15
  254. data/spec/unit/provider/dsc_resource_spec.rb +6 -3
  255. data/spec/unit/provider/dsc_script_spec.rb +1 -1
  256. data/spec/unit/provider/execute_spec.rb +5 -5
  257. data/spec/unit/provider/git_spec.rb +39 -39
  258. data/spec/unit/provider/group/dscl_spec.rb +3 -3
  259. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  260. data/spec/unit/provider/group_spec.rb +2 -3
  261. data/spec/unit/provider/ifconfig/aix_spec.rb +1 -1
  262. data/spec/unit/provider/ifconfig/debian_spec.rb +2 -2
  263. data/spec/unit/provider/ifconfig_spec.rb +45 -16
  264. data/spec/unit/provider/launchd_spec.rb +23 -15
  265. data/spec/unit/provider/link_spec.rb +22 -11
  266. data/spec/unit/provider/mount/aix_spec.rb +6 -6
  267. data/spec/unit/provider/mount/mount_spec.rb +31 -31
  268. data/spec/unit/provider/mount/solaris_spec.rb +11 -11
  269. data/spec/unit/provider/ohai_spec.rb +1 -1
  270. data/spec/unit/provider/osx_profile_spec.rb +5 -7
  271. data/spec/unit/provider/package/apt_spec.rb +5 -5
  272. data/spec/unit/provider/package/bff_spec.rb +1 -1
  273. data/spec/unit/provider/package/cab_spec.rb +1 -1
  274. data/spec/unit/provider/package/chocolatey_spec.rb +8 -8
  275. data/spec/unit/provider/package/freebsd/pkg_spec.rb +1 -1
  276. data/spec/unit/provider/package/ips_spec.rb +6 -6
  277. data/spec/unit/provider/package/macports_spec.rb +1 -1
  278. data/spec/unit/provider/package/msu_spec.rb +1 -1
  279. data/spec/unit/provider/package/openbsd_spec.rb +15 -11
  280. data/spec/unit/provider/package/pacman_spec.rb +3 -3
  281. data/spec/unit/provider/package/paludis_spec.rb +4 -4
  282. data/spec/unit/provider/package/portage_spec.rb +1 -1
  283. data/spec/unit/provider/package/powershell_spec.rb +1 -1
  284. data/spec/unit/provider/package/smartos_spec.rb +3 -3
  285. data/spec/unit/provider/package/solaris_spec.rb +1 -1
  286. data/spec/unit/provider/package/windows/exe_spec.rb +9 -9
  287. data/spec/unit/provider/package/windows/msi_spec.rb +7 -7
  288. data/spec/unit/provider/package/windows_spec.rb +2 -1
  289. data/spec/unit/provider/package/yum/yum_cache_spec.rb +1 -1
  290. data/spec/unit/provider/package/zypper_spec.rb +4 -4
  291. data/spec/unit/provider/package_spec.rb +1 -1
  292. data/spec/unit/provider/powershell_script_spec.rb +7 -7
  293. data/spec/unit/provider/registry_key_spec.rb +1 -1
  294. data/spec/unit/provider/remote_directory_spec.rb +6 -6
  295. data/spec/unit/provider/route_spec.rb +11 -11
  296. data/spec/unit/provider/service/arch_service_spec.rb +13 -13
  297. data/spec/unit/provider/service/debian_service_spec.rb +2 -1
  298. data/spec/unit/provider/service/freebsd_service_spec.rb +28 -24
  299. data/spec/unit/provider/service/gentoo_service_spec.rb +2 -2
  300. data/spec/unit/provider/service/init_service_spec.rb +11 -11
  301. data/spec/unit/provider/service/invokercd_service_spec.rb +11 -11
  302. data/spec/unit/provider/service/macosx_spec.rb +5 -5
  303. data/spec/unit/provider/service/openbsd_service_spec.rb +15 -11
  304. data/spec/unit/provider/service/simple_service_spec.rb +7 -7
  305. data/spec/unit/provider/service/upstart_service_spec.rb +14 -14
  306. data/spec/unit/provider/service/windows_spec.rb +53 -35
  307. data/spec/unit/provider/subversion_spec.rb +8 -4
  308. data/spec/unit/provider/systemd_unit_spec.rb +142 -142
  309. data/spec/unit/provider/template/content_spec.rb +29 -29
  310. data/spec/unit/provider/windows_task_spec.rb +1 -1
  311. data/spec/unit/provider_resolver_spec.rb +75 -75
  312. data/spec/unit/provider_spec.rb +2 -4
  313. data/spec/unit/recipe_spec.rb +4 -4
  314. data/spec/unit/resource/batch_spec.rb +1 -1
  315. data/spec/unit/resource/chef_gem_spec.rb +1 -1
  316. data/spec/unit/resource/chocolatey_config_spec.rb +1 -1
  317. data/spec/unit/resource/chocolatey_source_spec.rb +1 -1
  318. data/spec/unit/resource/directory_spec.rb +1 -1
  319. data/spec/unit/resource/dnf_package_spec.rb +1 -1
  320. data/spec/unit/resource/dsc_resource_spec.rb +1 -1
  321. data/spec/unit/resource/file/verification_spec.rb +1 -2
  322. data/spec/unit/resource/file_spec.rb +1 -1
  323. data/spec/unit/resource/group_spec.rb +1 -1
  324. data/spec/unit/resource/link_spec.rb +1 -1
  325. data/spec/unit/resource/osx_profile_spec.rb +2 -1
  326. data/spec/unit/resource/powershell_script_spec.rb +12 -7
  327. data/spec/unit/resource/registry_key_spec.rb +3 -3
  328. data/spec/unit/resource/rhsm_subscription_spec.rb +1 -1
  329. data/spec/unit/resource/service_spec.rb +1 -1
  330. data/spec/unit/resource/template_spec.rb +2 -2
  331. data/spec/unit/resource/windows_env_spec.rb +1 -1
  332. data/spec/unit/resource/windows_service_spec.rb +5 -5
  333. data/spec/unit/resource/windows_task_spec.rb +6 -2
  334. data/spec/unit/resource/yum_package_spec.rb +1 -1
  335. data/spec/unit/resource_collection/resource_list_spec.rb +1 -1
  336. data/spec/unit/resource_collection/resource_set_spec.rb +7 -7
  337. data/spec/unit/resource_collection/stepable_iterator_spec.rb +2 -2
  338. data/spec/unit/resource_collection_spec.rb +4 -4
  339. data/spec/unit/resource_definition_spec.rb +2 -2
  340. data/spec/unit/resource_inspector_spec.rb +1 -1
  341. data/spec/unit/resource_reporter_spec.rb +4 -4
  342. data/spec/unit/resource_spec.rb +22 -22
  343. data/spec/unit/role_spec.rb +3 -3
  344. data/spec/unit/run_context/cookbook_compiler_spec.rb +23 -23
  345. data/spec/unit/run_list/run_list_expansion_spec.rb +9 -6
  346. data/spec/unit/run_list_spec.rb +1 -1
  347. data/spec/unit/runner_spec.rb +3 -3
  348. data/spec/unit/search/query_spec.rb +3 -2
  349. data/spec/unit/shell/model_wrapper_spec.rb +1 -1
  350. data/spec/unit/shell/shell_session_spec.rb +8 -11
  351. data/spec/unit/shell_spec.rb +1 -2
  352. data/spec/unit/user_spec.rb +4 -4
  353. data/spec/unit/user_v1_spec.rb +3 -3
  354. data/spec/unit/util/backup_spec.rb +1 -1
  355. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +13 -13
  356. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +3 -3
  357. data/spec/unit/util/editor_spec.rb +1 -1
  358. data/spec/unit/util/powershell/ps_credential_spec.rb +3 -2
  359. data/spec/unit/util/threaded_job_queue_spec.rb +2 -2
  360. data/spec/unit/version_class_spec.rb +4 -4
  361. data/spec/unit/win32/registry_spec.rb +5 -5
  362. data/spec/unit/win32/security_spec.rb +2 -1
  363. data/tasks/announce.rb +4 -11
  364. metadata +10 -6
  365. data/tasks/maintainers.rb +0 -211
  366. data/tasks/templates/prerelease.md.erb +0 -35
@@ -22,7 +22,7 @@ describe Chef::GuardInterpreter::ResourceGuardInterpreter do
22
22
  let(:node) do
23
23
  node = Chef::Node.new
24
24
 
25
- node.default["kernel"] = Hash.new
25
+ node.default["kernel"] = {}
26
26
  node.default["kernel"][:machine] = :x86_64.to_s
27
27
  node.automatic[:os] = "windows"
28
28
  node
@@ -23,7 +23,7 @@ describe Chef::HTTP::Authenticator do
23
23
  let(:class_instance) { Chef::HTTP::Authenticator.new(client_name: "test") }
24
24
  let(:method) { "GET" }
25
25
  let(:url) { URI("https://chef.example.com/organizations/test") }
26
- let(:headers) { Hash.new }
26
+ let(:headers) { {} }
27
27
  let(:data) { "" }
28
28
 
29
29
  context "when handle_request is called" do
@@ -92,7 +92,8 @@ describe Chef::HTTP::Authenticator do
92
92
  it "calls authentication_headers with the proper input" do
93
93
  expect(class_instance).to receive(:authentication_headers).with(
94
94
  method, url, data,
95
- { "X-Ops-Server-API-Version" => Chef::HTTP::Authenticator::DEFAULT_SERVER_API_VERSION }).and_return({})
95
+ { "X-Ops-Server-API-Version" => Chef::HTTP::Authenticator::DEFAULT_SERVER_API_VERSION }
96
+ ).and_return({})
96
97
  class_instance.handle_request(method, url, headers, data)
97
98
  end
98
99
  end
@@ -108,7 +109,7 @@ describe Chef::HTTP::Authenticator do
108
109
  wxpGV4dGtdcahwXNE4601aXPra+xPcRd2puCNoEDBzgVuTSsLYeKBDMSfs173W1Q
109
110
  YwIDAQAB
110
111
  -----END PUBLIC KEY-----
111
- EOH
112
+ EOH
112
113
 
113
114
  let(:class_instance) { Chef::HTTP::Authenticator.new(client_name: "test", raw_key: public_key, ssh_agent_signing: true) }
114
115
 
@@ -21,7 +21,7 @@ require "chef/http/json_input"
21
21
 
22
22
  describe Chef::HTTP::JSONInput do
23
23
 
24
- let(:json_encoder) { described_class.new() }
24
+ let(:json_encoder) { described_class.new }
25
25
 
26
26
  let(:url) { URI.parse("http://example.com") }
27
27
  let(:headers) { {} }
@@ -38,13 +38,13 @@ describe Chef::HTTP::SocketlessChefZeroClient do
38
38
 
39
39
  let(:expected_rack_req) do
40
40
  {
41
- "SCRIPT_NAME" => "",
42
- "SERVER_NAME" => "localhost",
43
- "REQUEST_METHOD" => method.to_s.upcase,
44
- "PATH_INFO" => uri.path,
45
- "QUERY_STRING" => uri.query,
46
- "SERVER_PORT" => uri.port,
47
- "HTTP_HOST" => "localhost:#{uri.port}",
41
+ "SCRIPT_NAME" => "",
42
+ "SERVER_NAME" => "localhost",
43
+ "REQUEST_METHOD" => method.to_s.upcase,
44
+ "PATH_INFO" => uri.path,
45
+ "QUERY_STRING" => uri.query,
46
+ "SERVER_PORT" => uri.port,
47
+ "HTTP_HOST" => "localhost:#{uri.port}",
48
48
  "rack.url_scheme" => "chefzero",
49
49
  }
50
50
  end
@@ -137,16 +137,16 @@ describe Chef::HTTP::SocketlessChefZeroClient do
137
137
 
138
138
  let(:expected_rack_req) do
139
139
  {
140
- "SCRIPT_NAME" => "",
141
- "SERVER_NAME" => "localhost",
142
- "REQUEST_METHOD" => method.to_s.upcase,
143
- "PATH_INFO" => uri.path,
144
- "QUERY_STRING" => uri.query,
145
- "SERVER_PORT" => uri.port,
146
- "HTTP_HOST" => "localhost:#{uri.port}",
140
+ "SCRIPT_NAME" => "",
141
+ "SERVER_NAME" => "localhost",
142
+ "REQUEST_METHOD" => method.to_s.upcase,
143
+ "PATH_INFO" => uri.path,
144
+ "QUERY_STRING" => uri.query,
145
+ "SERVER_PORT" => uri.port,
146
+ "HTTP_HOST" => "localhost:#{uri.port}",
147
147
  "HTTP_X_OPS_SERVER_API_VERSION" => "2",
148
148
  "rack.url_scheme" => "chefzero",
149
- "rack.input" => an_instance_of(StringIO),
149
+ "rack.input" => an_instance_of(StringIO),
150
150
  }
151
151
  end
152
152
 
@@ -34,7 +34,7 @@ describe Chef::Key do
34
34
  Tfuc9dUYsFjptWYrV6pfEQ+bgo1OGBXORBFcFL+2D7u9JYquKrMgosznHoEkQNLo
35
35
  0wIDAQAB
36
36
  -----END PUBLIC KEY-----
37
- EOS
37
+ EOS
38
38
  end
39
39
 
40
40
  shared_examples_for "fields with username type validation" do
@@ -66,7 +66,7 @@ EOS
66
66
 
67
67
  context "when you feed it anything but a string" do
68
68
  it "should raise an ArgumentError" do
69
- expect { key.send(field, Hash.new) }.to raise_error(ArgumentError)
69
+ expect { key.send(field, {}) }.to raise_error(ArgumentError)
70
70
  end
71
71
  end
72
72
  end
@@ -406,9 +406,9 @@ EOS
406
406
 
407
407
  it "creates a new key via the API with the fingerprint as the name" do
408
408
  expect(rest).to receive(:post).with(url,
409
- { "name" => "12:3e:33:73:0b:f4:ec:72:dc:f0:4c:51:62:27:08:76:96:24:f4:4a",
410
- "public_key" => key.public_key,
411
- "expiration_date" => key.expiration_date }).and_return({})
409
+ { "name" => "12:3e:33:73:0b:f4:ec:72:dc:f0:4c:51:62:27:08:76:96:24:f4:4a",
410
+ "public_key" => key.public_key,
411
+ "expiration_date" => key.expiration_date }).and_return({})
412
412
  key.create
413
413
  end
414
414
  end
@@ -424,9 +424,9 @@ EOS
424
424
  context "when create_key is false" do
425
425
  it "creates a new key via the API" do
426
426
  expect(rest).to receive(:post).with(url,
427
- { "name" => key.name,
428
- "public_key" => key.public_key,
429
- "expiration_date" => key.expiration_date }).and_return({})
427
+ { "name" => key.name,
428
+ "public_key" => key.public_key,
429
+ "expiration_date" => key.expiration_date }).and_return({})
430
430
  key.create
431
431
  end
432
432
  end
@@ -72,7 +72,7 @@ describe Chef::Knife::Bootstrap do
72
72
  expect(knife).to receive(:read_secret).and_return("secrets")
73
73
  expect(rendered_template).to match("cat > /etc/chef/encrypted_data_bag_secret <<'EOP'")
74
74
  expect(rendered_template).to match('{"run_list":\[\]}')
75
- expect(rendered_template).to match(%r{secrets})
75
+ expect(rendered_template).to match(/secrets/)
76
76
  end
77
77
  end
78
78
  end
@@ -92,7 +92,7 @@ describe Chef::Knife::Bootstrap do
92
92
  knife.render_template
93
93
  end
94
94
  it "configures the preinstall command in the bootstrap template correctly" do
95
- expect(rendered_template).to match(%r{command})
95
+ expect(rendered_template).to match(/command/)
96
96
  end
97
97
  end
98
98
 
@@ -103,7 +103,7 @@ describe Chef::Knife::Bootstrap do
103
103
  knife.render_template
104
104
  end
105
105
  it "configures the https_proxy environment variable in the bootstrap template correctly" do
106
- expect(rendered_template).to match(%r{https_proxy="1.1.1.1" export https_proxy})
106
+ expect(rendered_template).to match(/https_proxy="1.1.1.1" export https_proxy/)
107
107
  end
108
108
  end
109
109
 
@@ -114,7 +114,7 @@ describe Chef::Knife::Bootstrap do
114
114
  knife.render_template
115
115
  end
116
116
  it "configures the https_proxy environment variable in the bootstrap template correctly" do
117
- expect(rendered_template).to match(%r{no_proxy="localserver" export no_proxy})
117
+ expect(rendered_template).to match(/no_proxy="localserver" export no_proxy/)
118
118
  end
119
119
  end
120
120
 
@@ -324,7 +324,7 @@ describe Chef::Knife::Bootstrap do
324
324
  it "should create a hint file when told to" do
325
325
  knife.parse_options(["--hint", "openstack"])
326
326
  knife.merge_configs
327
- expect(knife.render_template).to match(/\/etc\/chef\/ohai\/hints\/openstack.json/)
327
+ expect(knife.render_template).to match(%r{/etc/chef/ohai/hints/openstack.json})
328
328
  end
329
329
 
330
330
  it "should populate a hint file with JSON when given a file to read" do
@@ -354,7 +354,7 @@ describe Chef::Knife::Bootstrap do
354
354
  let(:setting) { "api.opscode.com" }
355
355
 
356
356
  it "renders the client.rb with a single FQDN no_proxy entry" do
357
- expect(rendered_template).to match(%r{.*no_proxy\s*"api.opscode.com".*})
357
+ expect(rendered_template).to match(/.*no_proxy\s*"api.opscode.com".*/)
358
358
  end
359
359
  end
360
360
 
@@ -362,7 +362,7 @@ describe Chef::Knife::Bootstrap do
362
362
  let(:setting) { "api.opscode.com,172.16.10.*" }
363
363
 
364
364
  it "renders the client.rb with comma-separated FQDN and wildcard IP address no_proxy entries" do
365
- expect(rendered_template).to match(%r{.*no_proxy\s*"api.opscode.com,172.16.10.\*".*})
365
+ expect(rendered_template).to match(/.*no_proxy\s*"api.opscode.com,172.16.10.\*".*/)
366
366
  end
367
367
  end
368
368
 
@@ -420,7 +420,7 @@ describe Chef::Knife::Bootstrap do
420
420
  it "creates a secret file" do
421
421
  expect(knife).to receive(:encryption_secret_provided_ignore_encrypt_flag?).and_return(true)
422
422
  expect(knife).to receive(:read_secret).and_return(secret)
423
- expect(rendered_template).to match(%r{#{secret}})
423
+ expect(rendered_template).to match(/#{secret}/)
424
424
  end
425
425
 
426
426
  it "renders the client.rb with an encrypted_data_bag_secret entry" do
@@ -528,7 +528,9 @@ describe Chef::Knife::Bootstrap do
528
528
  context "when client_d_dir is set" do
529
529
  let(:client_d_dir) do
530
530
  Chef::Util::PathHelper.cleanpath(
531
- File.join(File.dirname(__FILE__), "../../data/client.d_00")) end
531
+ File.join(File.dirname(__FILE__), "../../data/client.d_00")
532
+ )
533
+ end
532
534
 
533
535
  it "creates /etc/chef/client.d" do
534
536
  expect(rendered_template).to match("mkdir -p /etc/chef/client\.d")
@@ -553,7 +555,9 @@ describe Chef::Knife::Bootstrap do
553
555
  context "a nested directory structure" do
554
556
  let(:client_d_dir) do
555
557
  Chef::Util::PathHelper.cleanpath(
556
- File.join(File.dirname(__FILE__), "../../data/client.d_01")) end
558
+ File.join(File.dirname(__FILE__), "../../data/client.d_01")
559
+ )
560
+ end
557
561
  it "creates a file foo/bar.rb" do
558
562
  expect(rendered_template).to match("cat > /etc/chef/client.d/foo/bar.rb <<'EOP'")
559
563
  expect(rendered_template).to match("1 / 0")
@@ -42,10 +42,10 @@ describe Chef::Knife::ClientBulkDelete do
42
42
 
43
43
  let(:nonvalidator_client_names) { %w{tim dan stephen} }
44
44
  let(:nonvalidator_clients) do
45
- clients = Hash.new
45
+ clients = {}
46
46
 
47
47
  nonvalidator_client_names.each do |client_name|
48
- client = Chef::ApiClientV1.new()
48
+ client = Chef::ApiClientV1.new
49
49
  client.name(client_name)
50
50
  allow(client).to receive(:destroy).and_return(true)
51
51
  clients[client_name] = client
@@ -56,10 +56,10 @@ describe Chef::Knife::ClientBulkDelete do
56
56
 
57
57
  let(:validator_client_names) { %w{myorg-validator} }
58
58
  let(:validator_clients) do
59
- clients = Hash.new
59
+ clients = {}
60
60
 
61
61
  validator_client_names.each do |validator_client_name|
62
- validator_client = Chef::ApiClientV1.new()
62
+ validator_client = Chef::ApiClientV1.new
63
63
  validator_client.name(validator_client_name)
64
64
  allow(validator_client).to receive(:validator).and_return(true)
65
65
  allow(validator_client).to receive(:destroy).and_return(true)
@@ -58,7 +58,7 @@ describe Chef::Knife::ConfigureClient do
58
58
  it "should write out the config file" do
59
59
  allow(FileUtils).to receive(:mkdir_p)
60
60
  @knife.run
61
- expect(@client_file.string).to match /chef_server_url\s+'https\:\/\/chef\.example\.com'/
61
+ expect(@client_file.string).to match %r{chef_server_url\s+'https\://chef\.example\.com'}
62
62
  expect(@client_file.string).to match /validation_client_name\s+'chef-validator'/
63
63
  end
64
64
 
@@ -159,7 +159,7 @@ describe Chef::Knife::Configure do
159
159
  @knife.run
160
160
  expect(config_file.string).to match(/^client_name[\s]+=[\s]+'#{Etc.getlogin}'$/)
161
161
  expect(config_file.string).to match(%r{^client_key[\s]+=[\s]+'/home/you/.chef/#{Etc.getlogin}.pem'$})
162
- expect(config_file.string).to match(%r{^chef_server_url\s+=[\s]+'#{default_server_url}'$})
162
+ expect(config_file.string).to match(/^chef_server_url\s+=[\s]+'#{default_server_url}'$/)
163
163
  end
164
164
 
165
165
  it "creates a new client when given the --initial option" do
@@ -31,7 +31,7 @@ describe Chef::Knife::CookbookBulkDelete do
31
31
  allow(@knife.ui).to receive(:stdout).and_return(@stdout)
32
32
  allow(@knife.ui).to receive(:stderr).and_return(@stderr)
33
33
  allow(@knife.ui).to receive(:confirm).and_return(true)
34
- @cookbooks = Hash.new
34
+ @cookbooks = {}
35
35
  %w{cheezburger pizza lasagna}.each do |cookbook_name|
36
36
  cookbook = Chef::CookbookVersion.new(cookbook_name)
37
37
  @cookbooks[cookbook_name] = cookbook
@@ -76,8 +76,8 @@ describe Chef::Knife::CookbookDelete do
76
76
  @knife.cookbook_name = "foobar"
77
77
  @knife.version = "1.0.0"
78
78
  expect(@knife).to receive(:delete_object).with(Chef::CookbookVersion,
79
- "foobar version 1.0.0",
80
- "cookbook").and_yield()
79
+ "foobar version 1.0.0",
80
+ "cookbook").and_yield
81
81
  expect(@knife).to receive(:delete_request).with("cookbooks/foobar/1.0.0")
82
82
  @knife.delete_explicit_version
83
83
  end
@@ -112,7 +112,7 @@ describe Chef::Knife::CookbookDownload do
112
112
 
113
113
  it "should print an error and exit if the cookbook download directory already exists" do
114
114
  expect(File).to receive(:exists?).with("/var/tmp/chef/foobar-1.0.0").and_return(true)
115
- expect(@knife.ui).to receive(:fatal).with(/\/var\/tmp\/chef\/foobar-1\.0\.0 exists/i)
115
+ expect(@knife.ui).to receive(:fatal).with(%r{/var/tmp/chef/foobar-1\.0\.0 exists}i)
116
116
  expect { @knife.run }.to raise_error(SystemExit)
117
117
  end
118
118
 
@@ -141,7 +141,7 @@ describe Chef::Knife::CookbookDownload do
141
141
  expect(@stderr.string).to match /downloading #{segment}/im
142
142
  end
143
143
  expect(@stderr.string).to match /downloading foobar cookbook version 1\.0\.0/im
144
- expect(@stderr.string).to match /cookbook downloaded to \/var\/tmp\/chef\/foobar-1\.0\.0/im
144
+ expect(@stderr.string).to match %r{cookbook downloaded to /var/tmp/chef/foobar-1\.0\.0}im
145
145
  end
146
146
 
147
147
  describe "with -f or --force" do
@@ -98,8 +98,8 @@ describe Chef::Knife::CookbookMetadata do
98
98
  it "should generate the metadata for each cookbook" do
99
99
  expect(Chef::CookbookLoader).to receive(:new).with(cookbook_dir).and_call_original
100
100
  knife.run
101
- expect(stderr.string).to match /generating metadata for foo from #{cookbook_dir}\/foo\/metadata\.rb/im
102
- expect(stderr.string).to match /generating metadata for bar from #{cookbook_dir}\/bar\/metadata\.rb/im
101
+ expect(stderr.string).to match %r{generating metadata for foo from #{cookbook_dir}/foo/metadata\.rb}im
102
+ expect(stderr.string).to match %r{generating metadata for bar from #{cookbook_dir}/bar/metadata\.rb}im
103
103
  end
104
104
 
105
105
  it "with -o or --cookbook_path should look in the provided path and generate cookbook metadata" do
@@ -107,8 +107,8 @@ describe Chef::Knife::CookbookMetadata do
107
107
  knife.config[:cookbook_path] = cookbook_dir
108
108
  expect(Chef::CookbookLoader).to receive(:new).with(cookbook_dir).and_call_original
109
109
  knife.run
110
- expect(stderr.string).to match /generating metadata for foo from #{cookbook_dir}\/foo\/metadata\.rb/im
111
- expect(stderr.string).to match /generating metadata for bar from #{cookbook_dir}\/bar\/metadata\.rb/im
110
+ expect(stderr.string).to match %r{generating metadata for foo from #{cookbook_dir}/foo/metadata\.rb}im
111
+ expect(stderr.string).to match %r{generating metadata for bar from #{cookbook_dir}/bar/metadata\.rb}im
112
112
  end
113
113
  end
114
114
 
@@ -122,7 +122,7 @@ describe Chef::Knife::CookbookUpload do
122
122
  test_cookbook:
123
123
  /path/one/test_cookbook
124
124
  /path/two/test_cookbook
125
- E
125
+ E
126
126
  expect(output.string).to include(expected_message)
127
127
  end
128
128
  end
@@ -198,7 +198,7 @@ E
198
198
  before(:each) do
199
199
  cookbook.metadata.depends("dependency")
200
200
  allow(cookbook_loader).to receive(:[]) do |ckbk|
201
- { "test_cookbook" => cookbook,
201
+ { "test_cookbook" => cookbook,
202
202
  "dependency" => cookbook_dependency }[ckbk]
203
203
  end
204
204
  allow(knife).to receive(:cookbook_names).and_return(%w{cookbook_dependency test_cookbook})
@@ -225,7 +225,7 @@ E
225
225
  cookbook_dependency2 = Chef::CookbookVersion.new("dependency2")
226
226
  cookbook.metadata.depends("dependency2")
227
227
  allow(cookbook_loader).to receive(:[]) do |ckbk|
228
- { "test_cookbook" => cookbook,
228
+ { "test_cookbook" => cookbook,
229
229
  "dependency" => cookbook_dependency,
230
230
  "dependency2" => cookbook_dependency2 }[ckbk]
231
231
  end
@@ -291,7 +291,8 @@ E
291
291
  it "should warn users that no cookbooks exist" do
292
292
  knife.config[:cookbook_path] = ["/chef-repo/cookbooks", "/home/user/cookbooks"]
293
293
  expect(knife.ui).to receive(:warn).with(
294
- /Could not find any cookbooks in your cookbook path: #{knife.config[:cookbook_path].join(', ')}\. Use --cookbook-path to specify the desired path\./)
294
+ /Could not find any cookbooks in your cookbook path: #{knife.config[:cookbook_path].join(', ')}\. Use --cookbook-path to specify the desired path\./
295
+ )
295
296
  knife.run
296
297
  end
297
298
  end
@@ -300,7 +301,8 @@ E
300
301
  it "should warn users that no cookbooks exist" do
301
302
  knife.config[:cookbook_path] = "/chef-repo/cookbooks"
302
303
  expect(knife.ui).to receive(:warn).with(
303
- /Could not find any cookbooks in your cookbook path: #{knife.config[:cookbook_path]}\. Use --cookbook-path to specify the desired path\./)
304
+ /Could not find any cookbooks in your cookbook path: #{knife.config[:cookbook_path]}\. Use --cookbook-path to specify the desired path\./
305
+ )
304
306
  knife.run
305
307
  end
306
308
  end
@@ -75,7 +75,7 @@ describe Chef::Knife::Core::BootstrapContext do
75
75
  log_level :info
76
76
  log_location "/tmp/log"
77
77
  # Using default node name (fqdn)
78
- EXPECTED
78
+ EXPECTED
79
79
  expect(bootstrap_context.config_content).to eq expected
80
80
  end
81
81
 
@@ -35,7 +35,7 @@ describe Chef::Knife::CookbookSCMRepo do
35
35
  chef-vendor-graphite
36
36
  chef-vendor-python
37
37
  chef-vendor-absent-new
38
- BRANCHES
38
+ BRANCHES
39
39
  end
40
40
 
41
41
  it "has a path to the cookbook repo" do
@@ -84,7 +84,7 @@ BRANCHES
84
84
  @dirty_status = Mixlib::ShellOut.new
85
85
  @dirty_status.stdout.replace(<<-DIRTY)
86
86
  M chef/lib/chef/knife/cookbook_site_install.rb
87
- DIRTY
87
+ DIRTY
88
88
  expect(@cookbook_repo).to receive(:shell_out!).with("git status --porcelain", cwd: @repo_path).and_return(@dirty_status)
89
89
  expect { @cookbook_repo.sanity_check }.to raise_error(SystemExit)
90
90
  end
@@ -34,7 +34,7 @@ describe Chef::Knife::SubcommandLoader::GemGlobLoader do
34
34
  it "builds a list of the core subcommand file require paths" do
35
35
  expect(loader.subcommand_files).not_to be_empty
36
36
  loader.subcommand_files.each do |require_path|
37
- expect(require_path).to match(/chef\/knife\/.*|plugins\/knife\/.*/)
37
+ expect(require_path).to match(%r{chef/knife/.*|plugins/knife/.*})
38
38
  end
39
39
  end
40
40
 
@@ -52,7 +52,7 @@ describe Chef::Knife::SubcommandLoader::GemGlobLoader do
52
52
  expect($LOAD_PATH).to receive(:map).and_return([])
53
53
  if Gem::Specification.respond_to? :latest_specs
54
54
  expect(Gem::Specification).to receive(:latest_specs).with(true).and_return(gems)
55
- expect(gems[0]).to receive(:matches_for_glob).with(/chef\/knife\/\*\.rb\{(.*),\.rb,(.*)\}/).and_return(gem_files)
55
+ expect(gems[0]).to receive(:matches_for_glob).with(%r{chef/knife/\*\.rb\{(.*),\.rb,(.*)\}}).and_return(gem_files)
56
56
  else
57
57
  expect(Gem.source_index).to receive(:latest_specs).with(true).and_return(gems)
58
58
  expect(gems[0]).to receive(:require_paths).twice.and_return(["lib"])
@@ -185,7 +185,7 @@ describe Chef::Knife::SubcommandLoader::GemGlobLoader do
185
185
  expect(Gem.source_index).to receive(:latest_specs).and_call_original
186
186
  end
187
187
  loader.subcommand_files.each do |require_path|
188
- expect(require_path).to match(/chef\/knife\/.*|plugins\/knife\/.*/)
188
+ expect(require_path).to match(%r{chef/knife/.*|plugins/knife/.*})
189
189
  end
190
190
  end
191
191
 
@@ -201,7 +201,7 @@ describe Chef::Knife::SubcommandLoader::GemGlobLoader do
201
201
  expect(Gem.source_index).to receive(:latest_specs).and_call_original
202
202
  end
203
203
  loader.subcommand_files.each do |require_path|
204
- expect(require_path).to match(/chef\/knife\/.*|plugins\/knife\/.*/)
204
+ expect(require_path).to match(%r{chef/knife/.*|plugins/knife/.*})
205
205
  end
206
206
  end
207
207
  end