chef 16.2.44-universal-mingw32 → 16.4.35-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 (383) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -4
  3. data/Rakefile +3 -16
  4. data/chef-universal-mingw32.gemspec +2 -3
  5. data/chef.gemspec +4 -3
  6. data/lib/chef/action_collection.rb +4 -0
  7. data/lib/chef/api_client/registration.rb +2 -2
  8. data/lib/chef/application.rb +13 -1
  9. data/lib/chef/application/apply.rb +6 -5
  10. data/lib/chef/application/windows_service.rb +27 -27
  11. data/lib/chef/{whitelist.rb → attribute_allowlist.rb} +11 -11
  12. data/lib/chef/{blacklist.rb → attribute_blocklist.rb} +9 -9
  13. data/lib/chef/chef_class.rb +0 -1
  14. data/lib/chef/chef_fs/chef_fs_data_store.rb +54 -54
  15. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -2
  16. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +10 -10
  17. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +2 -2
  18. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -5
  19. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +8 -8
  20. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +8 -8
  21. data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -0
  22. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +2 -2
  23. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +1 -1
  24. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +18 -18
  25. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  26. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
  27. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
  28. data/lib/chef/client.rb +14 -14
  29. data/lib/chef/cookbook/remote_file_vendor.rb +1 -3
  30. data/lib/chef/cookbook/syntax_check.rb +1 -2
  31. data/lib/chef/cookbook_loader.rb +15 -29
  32. data/lib/chef/data_bag.rb +1 -2
  33. data/lib/chef/data_collector/run_end_message.rb +11 -1
  34. data/lib/chef/deprecated.rb +8 -0
  35. data/lib/chef/digester.rb +3 -2
  36. data/lib/chef/dsl/platform_introspection.rb +9 -7
  37. data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
  38. data/lib/chef/environment.rb +3 -4
  39. data/lib/chef/exceptions.rb +4 -1
  40. data/lib/chef/file_access_control/windows.rb +2 -2
  41. data/lib/chef/file_content_management/deploy/mv_unix.rb +1 -1
  42. data/lib/chef/file_content_management/tempfile.rb +9 -9
  43. data/lib/chef/handler.rb +2 -0
  44. data/lib/chef/http.rb +12 -12
  45. data/lib/chef/http/authenticator.rb +3 -1
  46. data/lib/chef/json_compat.rb +1 -1
  47. data/lib/chef/knife.rb +4 -4
  48. data/lib/chef/knife/bootstrap.rb +18 -15
  49. data/lib/chef/knife/bootstrap/train_connector.rb +1 -0
  50. data/lib/chef/knife/config_get.rb +1 -0
  51. data/lib/chef/knife/config_list_profiles.rb +4 -1
  52. data/lib/chef/knife/config_use_profile.rb +15 -5
  53. data/lib/chef/knife/configure.rb +1 -1
  54. data/lib/chef/knife/cookbook_download.rb +1 -1
  55. data/lib/chef/knife/cookbook_metadata.rb +1 -1
  56. data/lib/chef/knife/cookbook_upload.rb +29 -37
  57. data/lib/chef/knife/core/bootstrap_context.rb +1 -1
  58. data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
  59. data/lib/chef/knife/core/generic_presenter.rb +1 -1
  60. data/lib/chef/knife/core/hashed_command_loader.rb +3 -2
  61. data/lib/chef/knife/core/subcommand_loader.rb +20 -1
  62. data/lib/chef/knife/core/ui.rb +8 -2
  63. data/lib/chef/knife/core/windows_bootstrap_context.rb +33 -26
  64. data/lib/chef/knife/delete.rb +15 -15
  65. data/lib/chef/knife/exec.rb +2 -2
  66. data/lib/chef/knife/rehash.rb +3 -21
  67. data/lib/chef/knife/ssh.rb +11 -7
  68. data/lib/chef/knife/xargs.rb +19 -19
  69. data/lib/chef/knife/yaml_convert.rb +1 -1
  70. data/lib/chef/log.rb +7 -2
  71. data/lib/chef/mixin/checksum.rb +0 -1
  72. data/{spec/functional/resource/base.rb → lib/chef/mixin/chef_utils_wiring.rb} +24 -12
  73. data/lib/chef/mixin/deep_merge.rb +35 -6
  74. data/{spec/unit/log_spec.rb → lib/chef/mixin/default_paths.rb} +13 -5
  75. data/lib/chef/mixin/openssl_helper.rb +30 -6
  76. data/lib/chef/mixin/path_sanity.rb +5 -4
  77. data/lib/chef/mixin/shell_out.rb +4 -188
  78. data/lib/chef/mixin/template.rb +1 -0
  79. data/lib/chef/mixin/which.rb +6 -3
  80. data/lib/chef/mixins.rb +1 -0
  81. data/lib/chef/monkey_patches/webrick-utils.rb +10 -10
  82. data/lib/chef/node.rb +36 -12
  83. data/lib/chef/node/attribute.rb +2 -4
  84. data/lib/chef/node_map.rb +21 -18
  85. data/lib/chef/platform/service_helpers.rb +31 -28
  86. data/lib/chef/property.rb +1 -1
  87. data/lib/chef/provider/cron/unix.rb +0 -2
  88. data/lib/chef/provider/git.rb +17 -9
  89. data/lib/chef/provider/group.rb +0 -2
  90. data/lib/chef/provider/group/suse.rb +5 -5
  91. data/lib/chef/provider/ifconfig.rb +1 -4
  92. data/lib/chef/provider/mount.rb +0 -2
  93. data/lib/chef/provider/mount/solaris.rb +0 -1
  94. data/lib/chef/provider/package.rb +0 -2
  95. data/lib/chef/provider/package/rubygems.rb +1 -1
  96. data/lib/chef/provider/package/snap.rb +3 -4
  97. data/lib/chef/provider/package/windows.rb +9 -4
  98. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +9 -9
  99. data/lib/chef/provider/package/zypper.rb +0 -1
  100. data/lib/chef/provider/powershell_script.rb +21 -5
  101. data/lib/chef/provider/route.rb +1 -1
  102. data/lib/chef/provider/service.rb +2 -2
  103. data/lib/chef/provider/service/arch.rb +1 -1
  104. data/lib/chef/provider/service/debian.rb +1 -1
  105. data/lib/chef/provider/service/gentoo.rb +2 -2
  106. data/lib/chef/provider/service/macosx.rb +2 -2
  107. data/lib/chef/provider/service/openbsd.rb +1 -4
  108. data/lib/chef/provider/service/redhat.rb +2 -2
  109. data/lib/chef/provider/service/upstart.rb +1 -1
  110. data/lib/chef/provider/service/windows.rb +10 -10
  111. data/lib/chef/provider/systemd_unit.rb +0 -2
  112. data/lib/chef/provider/template/content.rb +1 -0
  113. data/lib/chef/provider/user/dscl.rb +2 -2
  114. data/lib/chef/provider/user/mac.rb +9 -9
  115. data/lib/chef/provider/windows_task.rb +0 -3
  116. data/lib/chef/provider/yum_repository.rb +1 -1
  117. data/lib/chef/provider/zypper_repository.rb +1 -2
  118. data/lib/chef/providers.rb +0 -1
  119. data/lib/chef/recipe.rb +1 -1
  120. data/lib/chef/resource.rb +9 -11
  121. data/lib/chef/resource/alternatives.rb +1 -1
  122. data/lib/chef/resource/apt_repository.rb +1 -10
  123. data/lib/chef/resource/build_essential.rb +2 -2
  124. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  125. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  126. data/lib/chef/resource/chef_gem.rb +57 -21
  127. data/lib/chef/resource/chef_vault_secret.rb +13 -13
  128. data/lib/chef/resource/chocolatey_feature.rb +1 -2
  129. data/lib/chef/resource/cron/cron_d.rb +1 -1
  130. data/lib/chef/resource/cron_access.rb +2 -2
  131. data/lib/chef/resource/dmg_package.rb +2 -2
  132. data/lib/chef/resource/execute.rb +4 -5
  133. data/lib/chef/resource/gem_package.rb +35 -2
  134. data/lib/chef/resource/homebrew_update.rb +2 -2
  135. data/lib/chef/resource/hostname.rb +18 -18
  136. data/lib/chef/resource/launchd.rb +1 -1
  137. data/lib/chef/resource/lwrp_base.rb +1 -0
  138. data/lib/chef/resource/macos_userdefaults.rb +176 -61
  139. data/lib/chef/resource/openssl_dhparam.rb +2 -0
  140. data/lib/chef/resource/openssl_ec_private_key.rb +2 -0
  141. data/lib/chef/resource/openssl_ec_public_key.rb +2 -0
  142. data/lib/chef/resource/openssl_rsa_private_key.rb +2 -0
  143. data/lib/chef/resource/openssl_rsa_public_key.rb +2 -0
  144. data/lib/chef/resource/openssl_x509_certificate.rb +35 -35
  145. data/lib/chef/resource/openssl_x509_crl.rb +3 -2
  146. data/lib/chef/resource/openssl_x509_request.rb +23 -20
  147. data/lib/chef/resource/osx_profile.rb +227 -5
  148. data/lib/chef/resource/powershell_package_source.rb +1 -1
  149. data/lib/chef/resource/powershell_script.rb +24 -30
  150. data/lib/chef/resource/service.rb +2 -2
  151. data/lib/chef/resource/ssh_known_hosts_entry.rb +16 -1
  152. data/lib/chef/resource/sudo.rb +31 -4
  153. data/lib/chef/resource/swap_file.rb +17 -0
  154. data/lib/chef/resource/sysctl.rb +5 -5
  155. data/lib/chef/resource/timezone.rb +15 -0
  156. data/lib/chef/resource/user_ulimit.rb +1 -1
  157. data/lib/chef/resource/windows_ad_join.rb +2 -0
  158. data/lib/chef/resource/windows_audit_policy.rb +3 -0
  159. data/lib/chef/resource/windows_auto_run.rb +2 -0
  160. data/lib/chef/resource/windows_certificate.rb +2 -0
  161. data/lib/chef/resource/windows_dfs_folder.rb +2 -0
  162. data/lib/chef/resource/windows_dfs_namespace.rb +2 -0
  163. data/lib/chef/resource/windows_dfs_server.rb +2 -0
  164. data/lib/chef/resource/windows_dns_record.rb +25 -5
  165. data/lib/chef/resource/windows_dns_zone.rb +12 -7
  166. data/lib/chef/resource/windows_feature.rb +2 -0
  167. data/lib/chef/resource/windows_feature_dism.rb +10 -0
  168. data/lib/chef/resource/windows_feature_powershell.rb +14 -2
  169. data/lib/chef/resource/windows_firewall_profile.rb +199 -0
  170. data/lib/chef/resource/windows_firewall_rule.rb +5 -3
  171. data/lib/chef/resource/windows_font.rb +3 -1
  172. data/lib/chef/resource/windows_pagefile.rb +4 -0
  173. data/lib/chef/resource/windows_printer.rb +17 -18
  174. data/lib/chef/resource/windows_printer_port.rb +14 -13
  175. data/lib/chef/resource/windows_security_policy.rb +52 -21
  176. data/lib/chef/resource/windows_share.rb +5 -3
  177. data/lib/chef/resource/windows_shortcut.rb +2 -0
  178. data/lib/chef/resource/windows_uac.rb +2 -0
  179. data/lib/chef/resource/windows_user_privilege.rb +27 -2
  180. data/lib/chef/resource/windows_workgroup.rb +2 -3
  181. data/lib/chef/resource_collection/stepable_iterator.rb +1 -2
  182. data/lib/chef/resource_inspector.rb +7 -1
  183. data/lib/chef/resources.rb +1 -0
  184. data/lib/chef/role.rb +3 -4
  185. data/lib/chef/run_context/cookbook_compiler.rb +20 -20
  186. data/lib/chef/run_status.rb +2 -6
  187. data/lib/chef/server_api_versions.rb +4 -0
  188. data/lib/chef/shell.rb +1 -1
  189. data/lib/chef/shell/shell_session.rb +2 -0
  190. data/lib/chef/util/backup.rb +1 -1
  191. data/lib/chef/util/diff.rb +11 -12
  192. data/lib/chef/util/powershell/cmdlet.rb +1 -1
  193. data/lib/chef/version.rb +2 -2
  194. data/lib/chef/win32/file.rb +2 -2
  195. data/lib/chef/win32/file/version_info.rb +5 -5
  196. data/lib/chef/win32/registry.rb +1 -2
  197. data/spec/data/ssl/chef-rspec.cert +15 -15
  198. data/spec/functional/knife/configure_spec.rb +1 -1
  199. data/spec/functional/knife/ssh_spec.rb +5 -16
  200. data/spec/functional/resource/aix_service_spec.rb +9 -2
  201. data/spec/functional/resource/aixinit_service_spec.rb +8 -9
  202. data/spec/functional/resource/apt_package_spec.rb +0 -1
  203. data/spec/functional/resource/bash_spec.rb +3 -2
  204. data/spec/functional/resource/bff_spec.rb +3 -3
  205. data/spec/functional/resource/chocolatey_package_spec.rb +4 -0
  206. data/spec/functional/resource/cookbook_file_spec.rb +1 -1
  207. data/spec/functional/resource/cron_spec.rb +10 -2
  208. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  209. data/spec/functional/resource/dsc_resource_spec.rb +1 -1
  210. data/spec/functional/resource/dsc_script_spec.rb +0 -1
  211. data/spec/functional/resource/execute_spec.rb +1 -1
  212. data/spec/functional/resource/git_spec.rb +23 -1
  213. data/spec/functional/resource/group_spec.rb +21 -9
  214. data/spec/functional/resource/ifconfig_spec.rb +9 -1
  215. data/spec/functional/resource/insserv_spec.rb +7 -7
  216. data/spec/functional/resource/link_spec.rb +22 -25
  217. data/spec/functional/resource/mount_spec.rb +9 -1
  218. data/spec/functional/resource/msu_package_spec.rb +9 -3
  219. data/spec/functional/resource/powershell_script_spec.rb +8 -8
  220. data/spec/functional/resource/remote_file_spec.rb +7 -13
  221. data/spec/functional/resource/rpm_spec.rb +3 -3
  222. data/spec/functional/resource/timezone_spec.rb +2 -0
  223. data/spec/functional/resource/windows_certificate_spec.rb +3 -3
  224. data/spec/functional/resource/windows_font_spec.rb +49 -0
  225. data/spec/functional/resource/windows_package_spec.rb +0 -1
  226. data/spec/functional/resource/windows_path_spec.rb +4 -0
  227. data/spec/functional/resource/windows_security_policy_spec.rb +0 -4
  228. data/spec/functional/resource/windows_service_spec.rb +4 -0
  229. data/spec/functional/resource/windows_task_spec.rb +4 -3
  230. data/spec/functional/resource/windows_user_privilege_spec.rb +1 -2
  231. data/spec/functional/resource/yum_package_spec.rb +4 -1
  232. data/spec/functional/resource/zypper_package_spec.rb +4 -1
  233. data/spec/functional/run_lock_spec.rb +26 -25
  234. data/spec/functional/shell_spec.rb +5 -6
  235. data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
  236. data/spec/functional/version_spec.rb +1 -1
  237. data/spec/functional/win32/crypto_spec.rb +1 -1
  238. data/spec/functional/win32/registry_spec.rb +8 -8
  239. data/spec/functional/win32/service_manager_spec.rb +1 -1
  240. data/spec/integration/knife/common_options_spec.rb +12 -12
  241. data/spec/integration/knife/config_get_profile_spec.rb +69 -68
  242. data/spec/integration/knife/config_get_spec.rb +126 -125
  243. data/spec/integration/knife/config_list_profiles_spec.rb +181 -152
  244. data/spec/integration/knife/config_use_profile_spec.rb +115 -61
  245. data/spec/integration/knife/cookbook_upload_spec.rb +28 -1
  246. data/spec/integration/knife/data_bag_from_file_spec.rb +1 -1
  247. data/spec/integration/knife/diff_spec.rb +3 -1
  248. data/spec/integration/knife/download_spec.rb +3 -1
  249. data/spec/integration/knife/environment_from_file_spec.rb +1 -1
  250. data/spec/integration/knife/node_from_file_spec.rb +1 -1
  251. data/spec/integration/knife/role_from_file_spec.rb +1 -1
  252. data/spec/integration/knife/serve_spec.rb +5 -5
  253. data/spec/integration/knife/upload_spec.rb +3 -1
  254. data/spec/integration/recipes/accumulator_spec.rb +1 -1
  255. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +2 -2
  256. data/spec/integration/recipes/lwrp_spec.rb +1 -1
  257. data/spec/integration/recipes/notifies_spec.rb +1 -1
  258. data/spec/integration/recipes/notifying_block_spec.rb +1 -1
  259. data/spec/integration/recipes/recipe_dsl_spec.rb +5 -1
  260. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +2 -0
  261. data/spec/integration/recipes/resource_load_spec.rb +4 -2
  262. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  263. data/spec/integration/recipes/use_partial_spec.rb +1 -1
  264. data/spec/scripts/ssl-serve.rb +1 -1
  265. data/spec/spec_helper.rb +16 -10
  266. data/spec/support/chef_helpers.rb +1 -20
  267. data/spec/support/platform_helpers.rb +9 -11
  268. data/spec/support/platforms/win32/spec_service.rb +1 -1
  269. data/spec/support/shared/functional/directory_resource.rb +1 -1
  270. data/spec/support/shared/functional/execute_resource.rb +1 -1
  271. data/spec/support/shared/functional/file_resource.rb +20 -21
  272. data/spec/support/shared/functional/securable_resource.rb +1 -2
  273. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -1
  274. data/spec/support/shared/functional/win32_service.rb +1 -1
  275. data/spec/support/shared/functional/windows_script.rb +5 -5
  276. data/spec/support/shared/integration/integration_helper.rb +22 -52
  277. data/spec/support/shared/integration/knife_support.rb +2 -9
  278. data/spec/support/shared/unit/application_dot_d.rb +0 -1
  279. data/spec/support/shared/unit/provider/file.rb +12 -8
  280. data/spec/support/shared/unit/script_resource.rb +6 -20
  281. data/spec/support/shared/unit/windows_script_resource.rb +15 -28
  282. data/spec/unit/application/solo_spec.rb +4 -2
  283. data/spec/unit/application_spec.rb +4 -2
  284. data/spec/unit/chef_fs/config_spec.rb +2 -2
  285. data/spec/unit/chef_fs/diff_spec.rb +8 -8
  286. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +2 -4
  287. data/spec/unit/chef_fs/{parallelizer.rb → parallelizer_spec.rb} +1 -1
  288. data/spec/unit/client_spec.rb +4 -1
  289. data/spec/unit/cookbook/gem_installer_spec.rb +2 -1
  290. data/spec/unit/cookbook/synchronizer_spec.rb +26 -24
  291. data/spec/unit/data_bag_spec.rb +6 -3
  292. data/spec/unit/data_collector_spec.rb +23 -1
  293. data/spec/unit/decorator_spec.rb +23 -23
  294. data/spec/unit/dsl/platform_introspection_spec.rb +1 -0
  295. data/spec/unit/environment_spec.rb +12 -8
  296. data/spec/unit/event_dispatch/dispatcher_spec.rb +3 -0
  297. data/spec/unit/guard_interpreter_spec.rb +1 -1
  298. data/spec/unit/http/api_versions_spec.rb +20 -2
  299. data/spec/unit/json_compat_spec.rb +1 -1
  300. data/spec/unit/knife/bootstrap_spec.rb +17 -20
  301. data/spec/unit/knife/cookbook_download_spec.rb +6 -6
  302. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +1 -1
  303. data/spec/unit/knife/cookbook_show_spec.rb +6 -7
  304. data/spec/unit/knife/cookbook_upload_spec.rb +7 -10
  305. data/spec/unit/knife/core/hashed_command_loader_spec.rb +3 -3
  306. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +21 -12
  307. data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
  308. data/spec/unit/knife/supermarket_share_spec.rb +1 -1
  309. data/spec/unit/log/syslog_spec.rb +6 -10
  310. data/spec/unit/log/winevt_spec.rb +21 -13
  311. data/spec/unit/lwrp_spec.rb +9 -6
  312. data/spec/unit/mixin/{path_sanity_spec.rb → default_paths_spec.rb} +14 -14
  313. data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
  314. data/spec/unit/mixin/powershell_out_spec.rb +2 -4
  315. data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
  316. data/spec/unit/mixin/securable_spec.rb +0 -1
  317. data/spec/unit/mixin/shell_out_spec.rb +25 -26
  318. data/spec/unit/mixin/subclass_directive_spec.rb +2 -2
  319. data/spec/unit/mixin/template_spec.rb +30 -30
  320. data/spec/unit/mixin/unformatter_spec.rb +2 -2
  321. data/spec/unit/mixin/uris_spec.rb +1 -1
  322. data/spec/unit/mixin/which.rb +8 -0
  323. data/spec/unit/mixin/windows_architecture_helper_spec.rb +4 -4
  324. data/spec/unit/node/immutable_collections_spec.rb +6 -2
  325. data/spec/unit/node_spec.rb +103 -16
  326. data/spec/unit/property_spec.rb +5 -5
  327. data/spec/unit/provider/batch_spec.rb +1 -1
  328. data/spec/unit/provider/cron/unix_spec.rb +1 -1
  329. data/spec/unit/provider/dsc_resource_spec.rb +22 -38
  330. data/spec/unit/provider/dsc_script_spec.rb +10 -10
  331. data/spec/unit/provider/execute_spec.rb +1 -8
  332. data/spec/unit/provider/git_spec.rb +3 -3
  333. data/spec/unit/provider/ifconfig_spec.rb +0 -1
  334. data/spec/unit/provider/mdadm_spec.rb +1 -3
  335. data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -1
  336. data/spec/unit/provider/package/openbsd_spec.rb +1 -1
  337. data/spec/unit/provider/package/pacman_spec.rb +17 -20
  338. data/spec/unit/provider/package/rubygems_spec.rb +5 -10
  339. data/spec/unit/provider/package/smartos_spec.rb +1 -1
  340. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +3 -3
  341. data/spec/unit/provider/package/windows_spec.rb +30 -53
  342. data/spec/unit/provider/powershell_script_spec.rb +11 -4
  343. data/spec/unit/provider/remote_directory_spec.rb +9 -9
  344. data/spec/unit/provider/service/arch_service_spec.rb +3 -2
  345. data/spec/unit/provider/service/debian_service_spec.rb +1 -1
  346. data/spec/unit/provider/service/gentoo_service_spec.rb +7 -7
  347. data/spec/unit/provider/service/macosx_spec.rb +3 -3
  348. data/spec/unit/provider/service/redhat_spec.rb +3 -3
  349. data/spec/unit/provider/service/upstart_service_spec.rb +3 -3
  350. data/spec/unit/provider/service/windows_spec.rb +2 -6
  351. data/spec/unit/provider/systemd_unit_spec.rb +28 -24
  352. data/spec/unit/provider/user/dscl_spec.rb +2 -2
  353. data/spec/unit/provider/windows_env_spec.rb +5 -4
  354. data/spec/unit/provider_resolver_spec.rb +6 -6
  355. data/spec/unit/provider_spec.rb +1 -0
  356. data/spec/unit/resource/batch_spec.rb +6 -6
  357. data/spec/unit/resource/chef_client_cron_spec.rb +23 -7
  358. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +7 -4
  359. data/spec/unit/resource/execute_spec.rb +123 -118
  360. data/spec/unit/resource/file/verification_spec.rb +2 -1
  361. data/spec/unit/resource/macos_user_defaults_spec.rb +103 -2
  362. data/spec/unit/resource/osx_profile_spec.rb +233 -0
  363. data/spec/unit/resource/powershell_script_spec.rb +11 -29
  364. data/spec/unit/resource/script_spec.rb +6 -1
  365. data/spec/unit/resource/windows_feature_powershell_spec.rb +30 -4
  366. data/spec/unit/resource/windows_firewall_profile_spec.rb +77 -0
  367. data/spec/unit/resource/windows_package_spec.rb +1 -0
  368. data/spec/unit/resource_reporter_spec.rb +1 -1
  369. data/spec/unit/resource_spec.rb +25 -8
  370. data/spec/unit/role_spec.rb +30 -28
  371. data/spec/unit/run_context/cookbook_compiler_spec.rb +1 -1
  372. data/spec/unit/run_lock_spec.rb +1 -1
  373. data/spec/unit/scan_access_control_spec.rb +1 -1
  374. data/spec/unit/server_api_spec.rb +43 -16
  375. data/spec/unit/util/backup_spec.rb +1 -1
  376. data/spec/unit/util/diff_spec.rb +1 -15
  377. data/spec/unit/util/powershell/ps_credential_spec.rb +2 -2
  378. data/spec/unit/util/selinux_spec.rb +2 -1
  379. data/spec/unit/win32/security_spec.rb +4 -3
  380. data/tasks/rspec.rb +1 -1
  381. metadata +53 -40
  382. data/lib/chef/provider/osx_profile.rb +0 -255
  383. data/spec/unit/provider/osx_profile_spec.rb +0 -255
@@ -20,7 +20,7 @@ require "spec_helper"
20
20
  require "tmpdir"
21
21
 
22
22
  # Deploy relies heavily on symlinks, so it doesn't work on windows.
23
- describe Chef::Resource::Git, requires_git: true do
23
+ describe Chef::Resource::Git do
24
24
  include RecipeDSLHelper
25
25
 
26
26
  # Some versions of git complains when the deploy directory is
@@ -239,6 +239,28 @@ describe Chef::Resource::Git, requires_git: true do
239
239
  end
240
240
  end
241
241
 
242
+ context "when updating a branch that's already checked out out" do
243
+ it "checks out master, commits to the repo, and checks out the latest changes" do
244
+ git deploy_directory do
245
+ repository origin_repo
246
+ revision "master"
247
+ action :sync
248
+ end.should_be_updated
249
+
250
+ # We don't have a way to test a commit in the git bundle
251
+ # Revert to a previous commit in the same branch and make sure we can still sync.
252
+ shell_out!("git", "reset", "--hard", rev_foo, cwd: deploy_directory)
253
+
254
+ git deploy_directory do
255
+ repository origin_repo
256
+ revision "master"
257
+ action :sync
258
+ end.should_be_updated
259
+ expect_revision_to_be("HEAD", rev_head)
260
+ expect_branch_to_be("master")
261
+ end
262
+ end
263
+
242
264
  context "when dealing with a repo with a degenerate tag named 'HEAD'" do
243
265
  before do
244
266
  shell_out!("git", "tag", "-m\"degenerate tag\"", "HEAD", "ed181b3419b6f489bedab282348162a110d6d3a1", cwd: origin_repo)
@@ -18,7 +18,6 @@
18
18
  #
19
19
 
20
20
  require "spec_helper"
21
- require "functional/resource/base"
22
21
  require "chef/mixin/shell_out"
23
22
 
24
23
  describe Chef::Resource::Group, :requires_root_or_running_windows do
@@ -113,6 +112,15 @@ describe Chef::Resource::Group, :requires_root_or_running_windows do
113
112
  # TODO: User shouldn't exist
114
113
  end
115
114
 
115
+ let(:run_context) do
116
+ node = Chef::Node.new
117
+ node.default[:platform] = ohai[:platform]
118
+ node.default[:platform_version] = ohai[:platform_version]
119
+ node.default[:os] = ohai[:os]
120
+ events = Chef::EventDispatch::Dispatcher.new
121
+ Chef::RunContext.new(node, {}, events)
122
+ end
123
+
116
124
  shared_examples_for "correct group management" do
117
125
  def add_members_to_group(members)
118
126
  temp_resource = group_resource.dup
@@ -151,8 +159,10 @@ describe Chef::Resource::Group, :requires_root_or_running_windows do
151
159
  # excluded_members can only be used when append is set. It is ignored otherwise.
152
160
  let(:excluded_members) { [] }
153
161
 
162
+ let(:expected_error_class) { windows? ? ArgumentError : Mixlib::ShellOut::ShellCommandFailed }
163
+
154
164
  it "should raise an error" do
155
- expect { group_resource.run_action(tested_action) }.to raise_error
165
+ expect { group_resource.run_action(tested_action) }.to raise_error(expected_error_class)
156
166
  end
157
167
  end
158
168
 
@@ -161,8 +171,10 @@ describe Chef::Resource::Group, :requires_root_or_running_windows do
161
171
  group_resource.append(true)
162
172
  end
163
173
 
174
+ let(:expected_error_class) { windows? ? Chef::Exceptions::Win32APIError : Mixlib::ShellOut::ShellCommandFailed }
175
+
164
176
  it "should raise an error" do
165
- expect { group_resource.run_action(tested_action) }.to raise_error
177
+ expect { group_resource.run_action(tested_action) }.to raise_error(expected_error_class)
166
178
  end
167
179
  end
168
180
  end
@@ -295,12 +307,12 @@ describe Chef::Resource::Group, :requires_root_or_running_windows do
295
307
  let(:number) do
296
308
  # Loop until we pick a gid that is not in use.
297
309
  loop do
298
- begin
299
- gid = rand(2000..9999) # avoid low group numbers
300
- return nil if Etc.getgrgid(gid).nil? # returns nil on windows
301
- rescue ArgumentError # group does not exist
302
- return gid
303
- end
310
+
311
+ gid = rand(2000..9999) # avoid low group numbers
312
+ return nil if Etc.getgrgid(gid).nil? # returns nil on windows
313
+ rescue ArgumentError # group does not exist
314
+ return gid
315
+
304
316
  end
305
317
  end
306
318
 
@@ -17,7 +17,6 @@
17
17
  #
18
18
 
19
19
  require "spec_helper"
20
- require "functional/resource/base"
21
20
  require "chef/mixin/shell_out"
22
21
 
23
22
  # run this test only for following platforms.
@@ -26,6 +25,15 @@ include_flag = !(%w{amazon debian aix}.include?(ohai[:platform_family]) || (ohai
26
25
  describe Chef::Resource::Ifconfig, :requires_root, :requires_ifconfig, external: include_flag do
27
26
  include Chef::Mixin::ShellOut
28
27
 
28
+ let(:run_context) do
29
+ node = Chef::Node.new
30
+ node.default[:platform] = ohai[:platform]
31
+ node.default[:platform_version] = ohai[:platform_version]
32
+ node.default[:os] = ohai[:os]
33
+ events = Chef::EventDispatch::Dispatcher.new
34
+ Chef::RunContext.new(node, {}, events)
35
+ end
36
+
29
37
  let(:new_resource) do
30
38
  new_resource = Chef::Resource::Ifconfig.new("10.10.0.1", run_context)
31
39
  new_resource
@@ -1,4 +1,3 @@
1
- # encoding: UTF-8
2
1
  #
3
2
  # Author:: Dheeraj Dubey (<dheeraj.dubey@msystechnologies.com>)
4
3
  # Copyright:: Copyright (c) Chef Software Inc.
@@ -18,7 +17,6 @@
18
17
  #
19
18
 
20
19
  require "spec_helper"
21
- require "functional/resource/base"
22
20
  require "chef/mixin/shell_out"
23
21
  require "fileutils"
24
22
 
@@ -40,11 +38,11 @@ describe Chef::Resource::Service, :requires_root, :opensuse do
40
38
  # Platform specific validation routines.
41
39
  def service_should_be_started(file_name)
42
40
  # The existence of this file indicates that the service was started.
43
- expect(File.exists?("#{Dir.tmpdir}/#{file_name}")).to be_truthy
41
+ expect(File.exist?("#{Dir.tmpdir}/#{file_name}")).to be_truthy
44
42
  end
45
43
 
46
44
  def service_should_be_stopped(file_name)
47
- expect(File.exists?("#{Dir.tmpdir}/#{file_name}")).to be_falsey
45
+ expect(File.exist?("#{Dir.tmpdir}/#{file_name}")).to be_falsey
48
46
  end
49
47
 
50
48
  def delete_test_files
@@ -54,6 +52,8 @@ describe Chef::Resource::Service, :requires_root, :opensuse do
54
52
 
55
53
  # Actual tests
56
54
  let(:new_resource) do
55
+ run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
56
+
57
57
  new_resource = Chef::Resource::Service.new("inittest", run_context)
58
58
  new_resource.provider Chef::Provider::Service::Insserv
59
59
  new_resource.supports({ status: true, restart: true, reload: true })
@@ -65,7 +65,7 @@ describe Chef::Resource::Service, :requires_root, :opensuse do
65
65
  provider
66
66
  end
67
67
 
68
- let (:service_name) { "Chef::Util::PathHelper.escape_glob_dir(current_resource.service_name)" }
68
+ let(:service_name) { "Chef::Util::PathHelper.escape_glob_dir(current_resource.service_name)" }
69
69
 
70
70
  let(:current_resource) do
71
71
  provider.load_current_resource
@@ -73,13 +73,13 @@ describe Chef::Resource::Service, :requires_root, :opensuse do
73
73
  end
74
74
 
75
75
  before(:all) do
76
- File.delete("/etc/init.d/inittest") if File.exists?("/etc/init.d/inittest")
76
+ File.delete("/etc/init.d/inittest") if File.exist?("/etc/init.d/inittest")
77
77
  FileUtils.cp((File.join(File.dirname(__FILE__), "/../assets/inittest")).to_s, "/etc/init.d/inittest")
78
78
  FileUtils.chmod(0755, "/etc/init.d/inittest")
79
79
  end
80
80
 
81
81
  after(:all) do
82
- File.delete("/etc/init.d/inittest") if File.exists?("/etc/init.d/inittest")
82
+ File.delete("/etc/init.d/inittest") if File.exist?("/etc/init.d/inittest")
83
83
  end
84
84
 
85
85
  before(:each) do
@@ -55,22 +55,19 @@ describe Chef::Resource::Link do
55
55
  end
56
56
 
57
57
  after(:each) do
58
- begin
59
- cleanup_link(to) if File.exists?(to)
60
- cleanup_link(target_file) if File.exists?(target_file)
61
- cleanup_link(CHEF_SPEC_BACKUP_PATH) if File.exists?(CHEF_SPEC_BACKUP_PATH)
62
- rescue
63
- puts "Could not remove a file: #{$!}"
64
- end
65
- end
66
58
 
67
- def node
68
- node = Chef::Node.new
69
- node.consume_external_attrs(ohai.data, {})
70
- node
59
+ cleanup_link(to) if File.exist?(to)
60
+ cleanup_link(target_file) if File.exist?(target_file)
61
+ cleanup_link(CHEF_SPEC_BACKUP_PATH) if File.exist?(CHEF_SPEC_BACKUP_PATH)
62
+ rescue
63
+ puts "Could not remove a file: #{$!}"
64
+
71
65
  end
72
66
 
73
67
  def user(user)
68
+ node = Chef::Node.new
69
+ node.consume_external_attrs(ohai.data, {})
70
+ run_context = Chef::RunContext.new(node, {}, Chef::EventDispatch::Dispatcher.new)
74
71
  usr = Chef::Resource.resource_for_node(:user, node).new(user, run_context)
75
72
  usr.password("ComplexPass11!") if windows?
76
73
  usr
@@ -276,7 +273,7 @@ describe Chef::Resource::Link do
276
273
  resource.run_action(:create)
277
274
  end
278
275
  it "preserves the hard link" do
279
- expect(File.exists?(target_file)).to be_truthy
276
+ expect(File.exist?(target_file)).to be_truthy
280
277
  expect(symlink?(target_file)).to be_falsey
281
278
  # Writing to one hardlinked file should cause both
282
279
  # to have the new value.
@@ -301,7 +298,7 @@ describe Chef::Resource::Link do
301
298
  resource.run_action(:create)
302
299
  end
303
300
  it "links to the target file" do
304
- expect(File.exists?(target_file)).to be_truthy
301
+ expect(File.exist?(target_file)).to be_truthy
305
302
  expect(symlink?(target_file)).to be_falsey
306
303
  # Writing to one hardlinked file should cause both
307
304
  # to have the new value.
@@ -341,7 +338,7 @@ describe Chef::Resource::Link do
341
338
  include_context "delete succeeds"
342
339
  it "the :delete action does not delete the target file" do
343
340
  resource.run_action(:delete)
344
- expect(File.exists?(to)).to be_truthy
341
+ expect(File.exist?(to)).to be_truthy
345
342
  end
346
343
  end
347
344
  context "pointing somewhere else", :requires_root_or_running_windows do
@@ -369,7 +366,7 @@ describe Chef::Resource::Link do
369
366
  include_context "delete succeeds"
370
367
  it "the :delete action does not delete the target file" do
371
368
  resource.run_action(:delete)
372
- expect(File.exists?(to)).to be_truthy
369
+ expect(File.exist?(to)).to be_truthy
373
370
  end
374
371
  end
375
372
  context "pointing nowhere" do
@@ -386,7 +383,7 @@ describe Chef::Resource::Link do
386
383
  context "and the link already exists and is a hard link to the file" do
387
384
  before(:each) do
388
385
  link(to, target_file)
389
- expect(File.exists?(target_file)).to be_truthy
386
+ expect(File.exist?(target_file)).to be_truthy
390
387
  expect(symlink?(target_file)).to be_falsey
391
388
  end
392
389
  include_context "create symbolic link succeeds"
@@ -406,7 +403,7 @@ describe Chef::Resource::Link do
406
403
  it "create errors out" do
407
404
  if windows?
408
405
  expect { resource.run_action(:create) }.to raise_error(Errno::EACCES)
409
- elsif os_x? || solaris? || freebsd? || aix?
406
+ elsif macos? || solaris? || freebsd? || aix?
410
407
  expect { resource.run_action(:create) }.to raise_error(Errno::EPERM)
411
408
  else
412
409
  expect { resource.run_action(:create) }.to raise_error(Errno::EISDIR)
@@ -585,14 +582,14 @@ describe Chef::Resource::Link do
585
582
  context "and the link already exists and is a hard link to the file" do
586
583
  before(:each) do
587
584
  link(to, target_file)
588
- expect(File.exists?(target_file)).to be_truthy
585
+ expect(File.exist?(target_file)).to be_truthy
589
586
  expect(symlink?(target_file)).to be_falsey
590
587
  end
591
588
  include_context "create hard link is noop"
592
589
  include_context "delete succeeds"
593
590
  it "the :delete action does not delete the target file" do
594
591
  resource.run_action(:delete)
595
- expect(File.exists?(to)).to be_truthy
592
+ expect(File.exist?(to)).to be_truthy
596
593
  end
597
594
  end
598
595
  context "and the link already exists and is a file" do
@@ -609,7 +606,7 @@ describe Chef::Resource::Link do
609
606
  it "errors out" do
610
607
  if windows?
611
608
  expect { resource.run_action(:create) }.to raise_error(Errno::EACCES)
612
- elsif os_x? || solaris? || freebsd? || aix?
609
+ elsif macos? || solaris? || freebsd? || aix?
613
610
  expect { resource.run_action(:create) }.to raise_error(Errno::EPERM)
614
611
  else
615
612
  expect { resource.run_action(:create) }.to raise_error(Errno::EISDIR)
@@ -656,9 +653,9 @@ describe Chef::Resource::Link do
656
653
  end
657
654
  context "and the link does not yet exist" do
658
655
  it "links to the target file" do
659
- skip("macOS/FreeBSD/AIX/Solaris symlink? and readlink working on hard links to symlinks") if os_x? || freebsd? || aix? || solaris?
656
+ skip("macOS/FreeBSD/AIX/Solaris symlink? and readlink working on hard links to symlinks") if macos? || freebsd? || aix? || solaris?
660
657
  resource.run_action(:create)
661
- expect(File.exists?(target_file)).to be_truthy
658
+ expect(File.exist?(target_file)).to be_truthy
662
659
  # macOS gets angry about this sort of link. Bug in macOS, IMO.
663
660
  expect(symlink?(target_file)).to be_truthy
664
661
  expect(readlink(target_file)).to eq(canonicalize(@other_target))
@@ -675,9 +672,9 @@ describe Chef::Resource::Link do
675
672
  end
676
673
  context "and the link does not yet exist" do
677
674
  it "links to the target file" do
678
- skip("macOS/FreeBSD/AIX/Solaris fails to create hardlinks to broken symlinks") if os_x? || freebsd? || aix? || solaris?
675
+ skip("macOS/FreeBSD/AIX/Solaris fails to create hardlinks to broken symlinks") if macos? || freebsd? || aix? || solaris?
679
676
  resource.run_action(:create)
680
- expect(File.exists?(target_file) || File.symlink?(target_file)).to be_truthy
677
+ expect(File.exist?(target_file) || File.symlink?(target_file)).to be_truthy
681
678
  expect(symlink?(target_file)).to be_truthy
682
679
  expect(readlink(target_file)).to eq(canonicalize(@other_target))
683
680
  end
@@ -17,7 +17,6 @@
17
17
  #
18
18
 
19
19
  require "spec_helper"
20
- require "functional/resource/base"
21
20
  require "chef/mixin/shell_out"
22
21
  require "tmpdir"
23
22
 
@@ -101,6 +100,15 @@ describe Chef::Resource::Mount, :requires_root, external: include_flag do
101
100
  expect(shell_out("cat #{unix_mount_config_file}").stdout).not_to include("#{mount_point}:")
102
101
  end
103
102
 
103
+ let(:run_context) do
104
+ node = Chef::Node.new
105
+ node.default[:platform] = ohai[:platform]
106
+ node.default[:platform_version] = ohai[:platform_version]
107
+ node.default[:os] = ohai[:os]
108
+ events = Chef::EventDispatch::Dispatcher.new
109
+ Chef::RunContext.new(node, {}, events)
110
+ end
111
+
104
112
  let(:new_resource) do
105
113
  new_resource = Chef::Resource::Mount.new(@mount_point, run_context)
106
114
  new_resource.device @device
@@ -26,11 +26,17 @@ describe Chef::Resource::MsuPackage, :win2012r2_only do
26
26
  let(:package_identity) { "Package_for_KB2959977~31bf3856ad364e35~amd64~~6.3.1.1" }
27
27
  let(:timeout) { 3600 }
28
28
 
29
- let(:new_resource) { Chef::Resource::CabPackage.new("windows_test_pkg") }
30
- let(:cab_provider) do
29
+ let(:run_context) do
31
30
  node = Chef::Node.new
31
+ node.default[:platform] = ohai[:platform]
32
+ node.default[:platform_version] = ohai[:platform_version]
33
+ node.default[:os] = ohai[:os]
32
34
  events = Chef::EventDispatch::Dispatcher.new
33
- run_context = Chef::RunContext.new(node, {}, events)
35
+ Chef::RunContext.new(node, {}, events)
36
+ end
37
+
38
+ let(:new_resource) { Chef::Resource::CabPackage.new("windows_test_pkg") }
39
+ let(:cab_provider) do
34
40
  Chef::Provider::Package::Cab.new(new_resource, run_context)
35
41
  end
36
42
 
@@ -23,8 +23,8 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
23
23
 
24
24
  include_context Chef::Resource::WindowsScript
25
25
 
26
- let (:architecture_command) { "echo $env:PROCESSOR_ARCHITECTURE" }
27
- let (:output_command) { " | out-file -encoding ASCII " }
26
+ let(:architecture_command) { "echo $env:PROCESSOR_ARCHITECTURE" }
27
+ let(:output_command) { " | out-file -encoding ASCII " }
28
28
 
29
29
  it_behaves_like "a Windows script running on Windows"
30
30
 
@@ -68,8 +68,8 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
68
68
  end
69
69
  end
70
70
 
71
- let (:negative_exit_status) { -27 }
72
- let (:unsigned_exit_status) { (-negative_exit_status ^ 65535) + 1 }
71
+ let(:negative_exit_status) { -27 }
72
+ let(:unsigned_exit_status) { (-negative_exit_status ^ 65535) + 1 }
73
73
  it "returns the exit status -27 as a signed integer or an unsigned 16-bit 2's complement value of 65509 for a powershell script that exits with -27" do
74
74
 
75
75
  # Versions of PowerShell prior to 4.0 return a 16-bit unsigned value --
@@ -273,10 +273,10 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
273
273
 
274
274
  context "when running on a 32-bit version of Windows", :windows32_only do
275
275
  it "raises an exception if :x86_64 process architecture is specified" do
276
- begin
277
- expect(resource.architecture(:x86_64)).to raise_error Chef::Exceptions::Win32ArchitectureIncorrect
278
- rescue Chef::Exceptions::Win32ArchitectureIncorrect
279
- end
276
+
277
+ expect(resource.architecture(:x86_64)).to raise_error Chef::Exceptions::Win32ArchitectureIncorrect
278
+ rescue Chef::Exceptions::Win32ArchitectureIncorrect
279
+
280
280
  end
281
281
  end
282
282
  end
@@ -229,8 +229,8 @@ describe Chef::Resource::RemoteFile do
229
229
  end
230
230
 
231
231
  context "when the resource is accessed using an alternate user's identity with no access to the file" do
232
- let (:windows_nonadmin_user) { "chefremfile1" }
233
- let (:windows_nonadmin_user_password) { "j82ajfxK3;2Xe1" }
232
+ let(:windows_nonadmin_user) { "chefremfile1" }
233
+ let(:windows_nonadmin_user_password) { "j82ajfxK3;2Xe1" }
234
234
  include_context "a non-admin Windows user"
235
235
 
236
236
  before do
@@ -246,8 +246,8 @@ describe Chef::Resource::RemoteFile do
246
246
  end
247
247
 
248
248
  context "when the the file is only accessible as a specific alternate identity" do
249
- let (:windows_nonadmin_user) { "chefremfile2" }
250
- let (:windows_nonadmin_user_password) { "j82ajfxK3;2Xe2" }
249
+ let(:windows_nonadmin_user) { "chefremfile2" }
250
+ let(:windows_nonadmin_user_password) { "j82ajfxK3;2Xe2" }
251
251
  include_context "a non-admin Windows user"
252
252
 
253
253
  before do
@@ -279,8 +279,8 @@ describe Chef::Resource::RemoteFile do
279
279
  end
280
280
 
281
281
  context "when the resource is accessed using an alternate user's identity with no access to the file" do
282
- let (:windows_nonadmin_user) { "chefremfile3" }
283
- let (:windows_nonadmin_user_password) { "j82ajfxK3;2Xe3" }
282
+ let(:windows_nonadmin_user) { "chefremfile3" }
283
+ let(:windows_nonadmin_user_password) { "j82ajfxK3;2Xe3" }
284
284
  include_context "a non-admin Windows user"
285
285
 
286
286
  let(:remote_user) { windows_nonadmin_user_qualified }
@@ -409,13 +409,7 @@ describe Chef::Resource::RemoteFile do
409
409
  it "should not create the file" do
410
410
  # This can legitimately raise either Errno::EADDRNOTAVAIL or Errno::ECONNREFUSED
411
411
  # in different Ruby versions.
412
- old_value = RSpec::Expectations.configuration.on_potential_false_positives
413
- RSpec::Expectations.configuration.on_potential_false_positives = :nothing
414
- begin
415
- expect { resource.run_action(:create) }.to raise_error
416
- ensure
417
- RSpec::Expectations.configuration.on_potential_false_positives = old_value
418
- end
412
+ expect { resource.run_action(:create) }.to raise_error(SystemCallError)
419
413
 
420
414
  expect(File).not_to exist(path)
421
415
  end
@@ -17,7 +17,6 @@
17
17
  #
18
18
 
19
19
  require "spec_helper"
20
- require "functional/resource/base"
21
20
  require "chef/mixin/shell_out"
22
21
 
23
22
  # run this test only for following platforms.
@@ -26,6 +25,7 @@ describe Chef::Resource::RpmPackage, :requires_root, external: exclude_test do
26
25
  include Chef::Mixin::ShellOut
27
26
 
28
27
  let(:new_resource) do
28
+ run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
29
29
  new_resource = Chef::Resource::RpmPackage.new(@pkg_name, run_context)
30
30
  new_resource.source @pkg_path
31
31
  new_resource
@@ -39,7 +39,7 @@ describe Chef::Resource::RpmPackage, :requires_root, external: exclude_test do
39
39
  # mytest rpm package works in centos, redhat and in suse without any dependency issues.
40
40
  else
41
41
  expect(shell_out("rpm -qa | grep mytest").exitstatus).to eq(0)
42
- ::File.exists?("/opt/mytest/mytest.sh") # The mytest rpm package contains the mytest.sh file
42
+ ::File.exist?("/opt/mytest/mytest.sh") # The mytest rpm package contains the mytest.sh file
43
43
  end
44
44
  end
45
45
 
@@ -48,7 +48,7 @@ describe Chef::Resource::RpmPackage, :requires_root, external: exclude_test do
48
48
  expect(shell_out("rpm -qa | grep dummy").exitstatus).to eq(1)
49
49
  else
50
50
  expect(shell_out("rpm -qa | grep mytest").exitstatus).to eq(1)
51
- !::File.exists?("/opt/mytest/mytest.sh")
51
+ !::File.exist?("/opt/mytest/mytest.sh")
52
52
  end
53
53
  end
54
54