chef 16.3.38-universal-mingw32 → 16.5.64-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 (405) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Rakefile +2 -2
  4. data/bin/knife +1 -1
  5. data/chef-universal-mingw32.gemspec +0 -1
  6. data/chef.gemspec +2 -1
  7. data/distro/templates/powershell/chef/chef.psm1.erb +18 -18
  8. data/ext/win32-eventlog/Rakefile +2 -2
  9. data/ext/win32-eventlog/chef-log.man.erb +4 -4
  10. data/lib/chef/action_collection.rb +4 -0
  11. data/lib/chef/api_client/registration.rb +2 -2
  12. data/lib/chef/application.rb +19 -17
  13. data/lib/chef/application/apply.rb +17 -12
  14. data/lib/chef/application/base.rb +26 -23
  15. data/lib/chef/application/client.rb +10 -4
  16. data/lib/chef/application/exit_code.rb +13 -4
  17. data/lib/chef/application/knife.rb +22 -11
  18. data/lib/chef/application/solo.rb +2 -1
  19. data/lib/chef/application/windows_service.rb +39 -39
  20. data/lib/chef/application/windows_service_manager.rb +6 -6
  21. data/lib/chef/chef_class.rb +0 -1
  22. data/lib/chef/chef_fs/chef_fs_data_store.rb +54 -54
  23. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +10 -10
  24. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +8 -8
  25. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +8 -8
  26. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +2 -2
  27. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +1 -1
  28. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +18 -18
  29. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  30. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
  31. data/lib/chef/chef_fs/knife.rb +2 -2
  32. data/lib/chef/chef_fs/parallelizer.rb +0 -1
  33. data/lib/chef/client.rb +21 -22
  34. data/lib/chef/cookbook/cookbook_version_loader.rb +1 -1
  35. data/lib/chef/cookbook/synchronizer.rb +2 -2
  36. data/lib/chef/cookbook_site_streaming_uploader.rb +13 -11
  37. data/lib/chef/cookbook_uploader.rb +1 -1
  38. data/lib/chef/data_collector.rb +6 -5
  39. data/lib/chef/data_collector/config_validation.rb +22 -13
  40. data/lib/chef/data_collector/run_end_message.rb +13 -3
  41. data/lib/chef/data_collector/run_start_message.rb +1 -1
  42. data/lib/chef/deprecated.rb +1 -1
  43. data/lib/chef/deprecation/warnings.rb +2 -2
  44. data/lib/chef/digester.rb +2 -2
  45. data/lib/chef/dsl/chef_vault.rb +1 -1
  46. data/lib/chef/dsl/data_query.rb +2 -2
  47. data/lib/chef/dsl/platform_introspection.rb +9 -9
  48. data/lib/chef/encrypted_data_bag_item.rb +3 -4
  49. data/lib/chef/encrypted_data_bag_item/decryptor.rb +3 -3
  50. data/lib/chef/encrypted_data_bag_item/encryptor.rb +3 -3
  51. data/lib/chef/environment.rb +4 -4
  52. data/lib/chef/event_loggers/windows_eventlog.rb +2 -2
  53. data/lib/chef/exceptions.rb +5 -5
  54. data/lib/chef/file_access_control/windows.rb +5 -1
  55. data/lib/chef/file_content_management/tempfile.rb +9 -9
  56. data/lib/chef/formatters/doc.rb +7 -6
  57. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +6 -5
  58. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +3 -3
  59. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +9 -9
  60. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +2 -2
  61. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +3 -3
  62. data/lib/chef/formatters/minimal.rb +5 -4
  63. data/lib/chef/handler.rb +2 -0
  64. data/lib/chef/http.rb +15 -13
  65. data/lib/chef/http/auth_credentials.rb +5 -1
  66. data/lib/chef/http/authenticator.rb +3 -1
  67. data/lib/chef/http/basic_client.rb +4 -2
  68. data/lib/chef/http/decompressor.rb +1 -1
  69. data/lib/chef/http/http_request.rb +7 -5
  70. data/lib/chef/http/socketless_chef_zero_client.rb +5 -2
  71. data/lib/chef/http/ssl_policies.rb +1 -1
  72. data/lib/chef/json_compat.rb +2 -2
  73. data/lib/chef/knife.rb +4 -4
  74. data/lib/chef/knife/bootstrap.rb +18 -16
  75. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -1
  76. data/lib/chef/knife/bootstrap/templates/chef-full.erb +3 -3
  77. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +7 -7
  78. data/lib/chef/knife/client_create.rb +3 -3
  79. data/lib/chef/knife/config_get.rb +8 -97
  80. data/lib/chef/knife/config_get_profile.rb +9 -9
  81. data/lib/chef/knife/config_list.rb +139 -0
  82. data/lib/chef/knife/config_list_profiles.rb +8 -98
  83. data/lib/chef/knife/config_show.rb +127 -0
  84. data/lib/chef/knife/config_use.rb +61 -0
  85. data/lib/chef/knife/config_use_profile.rb +9 -24
  86. data/lib/chef/knife/configure.rb +4 -2
  87. data/lib/chef/knife/cookbook_download.rb +1 -1
  88. data/lib/chef/knife/cookbook_metadata.rb +1 -1
  89. data/lib/chef/knife/cookbook_upload.rb +23 -23
  90. data/lib/chef/knife/core/bootstrap_context.rb +2 -2
  91. data/lib/chef/knife/core/generic_presenter.rb +1 -1
  92. data/lib/chef/knife/core/hashed_command_loader.rb +2 -2
  93. data/lib/chef/knife/core/object_loader.rb +1 -1
  94. data/lib/chef/knife/core/windows_bootstrap_context.rb +42 -34
  95. data/lib/chef/knife/delete.rb +15 -15
  96. data/lib/chef/knife/exec.rb +4 -4
  97. data/lib/chef/knife/node_show.rb +2 -2
  98. data/lib/chef/knife/serve.rb +3 -3
  99. data/lib/chef/knife/ssh.rb +22 -7
  100. data/lib/chef/knife/ssl_check.rb +3 -3
  101. data/lib/chef/knife/status.rb +2 -2
  102. data/lib/chef/knife/user_create.rb +2 -2
  103. data/lib/chef/knife/xargs.rb +19 -19
  104. data/lib/chef/knife/yaml_convert.rb +1 -1
  105. data/lib/chef/local_mode.rb +2 -2
  106. data/lib/chef/log/syslog.rb +2 -2
  107. data/lib/chef/log/winevt.rb +2 -2
  108. data/lib/chef/mixin/checksum.rb +0 -1
  109. data/lib/chef/mixin/deep_merge.rb +35 -18
  110. data/lib/chef/mixin/openssl_helper.rb +4 -5
  111. data/lib/chef/mixin/shell_out.rb +1 -1
  112. data/lib/chef/mixin/template.rb +2 -2
  113. data/lib/chef/mixin/uris.rb +2 -2
  114. data/lib/chef/mixin/versioned_api.rb +1 -2
  115. data/lib/chef/mixin/which.rb +1 -1
  116. data/lib/chef/monkey_patches/net_http.rb +4 -4
  117. data/lib/chef/monkey_patches/webrick-utils.rb +10 -10
  118. data/lib/chef/node/attribute.rb +2 -4
  119. data/lib/chef/node_map.rb +2 -2
  120. data/lib/chef/platform/service_helpers.rb +1 -1
  121. data/lib/chef/policy_builder/policyfile.rb +2 -2
  122. data/lib/chef/property.rb +1 -1
  123. data/lib/chef/provider.rb +0 -4
  124. data/lib/chef/provider/cron/unix.rb +0 -2
  125. data/lib/chef/provider/file.rb +2 -2
  126. data/lib/chef/provider/git.rb +5 -5
  127. data/lib/chef/provider/group.rb +0 -2
  128. data/lib/chef/provider/group/suse.rb +5 -5
  129. data/lib/chef/provider/ifconfig.rb +1 -4
  130. data/lib/chef/provider/launchd.rb +2 -2
  131. data/lib/chef/provider/mount.rb +0 -2
  132. data/lib/chef/provider/mount/linux.rb +63 -0
  133. data/lib/chef/provider/package.rb +0 -2
  134. data/lib/chef/provider/package/rubygems.rb +22 -19
  135. data/lib/chef/provider/package/snap.rb +1 -2
  136. data/lib/chef/provider/package/windows.rb +2 -2
  137. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +12 -10
  138. data/lib/chef/provider/package/zypper.rb +1 -1
  139. data/lib/chef/provider/powershell_script.rb +21 -5
  140. data/lib/chef/provider/remote_file/content.rb +3 -0
  141. data/lib/chef/provider/remote_file/ftp.rb +6 -4
  142. data/lib/chef/provider/remote_file/sftp.rb +6 -4
  143. data/lib/chef/provider/route.rb +2 -6
  144. data/lib/chef/provider/service/arch.rb +1 -1
  145. data/lib/chef/provider/service/debian.rb +1 -1
  146. data/lib/chef/provider/service/gentoo.rb +2 -2
  147. data/lib/chef/provider/service/macosx.rb +4 -4
  148. data/lib/chef/provider/service/openbsd.rb +1 -4
  149. data/lib/chef/provider/service/redhat.rb +2 -2
  150. data/lib/chef/provider/service/upstart.rb +1 -1
  151. data/lib/chef/provider/service/windows.rb +10 -10
  152. data/lib/chef/provider/systemd_unit.rb +0 -2
  153. data/lib/chef/provider/template/content.rb +1 -0
  154. data/lib/chef/provider/template_finder.rb +2 -10
  155. data/lib/chef/provider/user/dscl.rb +5 -5
  156. data/lib/chef/provider/user/mac.rb +10 -10
  157. data/lib/chef/provider/windows_task.rb +1 -5
  158. data/lib/chef/provider/zypper_repository.rb +2 -3
  159. data/lib/chef/provider_resolver.rb +1 -1
  160. data/lib/chef/providers.rb +1 -1
  161. data/lib/chef/recipe.rb +2 -2
  162. data/lib/chef/resource.rb +7 -11
  163. data/lib/chef/resource/apt_repository.rb +2 -11
  164. data/lib/chef/resource/bff_package.rb +22 -0
  165. data/lib/chef/resource/breakpoint.rb +57 -2
  166. data/lib/chef/resource/build_essential.rb +1 -1
  167. data/lib/chef/resource/cab_package.rb +29 -0
  168. data/lib/chef/resource/chef_client_cron.rb +32 -25
  169. data/lib/chef/resource/chef_client_launchd.rb +194 -0
  170. data/lib/chef/resource/chef_client_scheduled_task.rb +21 -18
  171. data/lib/chef/resource/chef_client_systemd_timer.rb +26 -19
  172. data/lib/chef/resource/chef_client_trusted_certificate.rb +101 -0
  173. data/lib/chef/resource/chef_gem.rb +10 -10
  174. data/lib/chef/resource/chef_handler.rb +148 -4
  175. data/lib/chef/resource/chef_sleep.rb +2 -2
  176. data/lib/chef/resource/chef_vault_secret.rb +14 -14
  177. data/lib/chef/resource/cookbook_file.rb +2 -2
  178. data/lib/chef/resource/cron/cron_d.rb +0 -1
  179. data/lib/chef/resource/dnf_package.rb +2 -2
  180. data/lib/chef/resource/dsc_resource.rb +0 -1
  181. data/lib/chef/resource/dsc_script.rb +2 -2
  182. data/lib/chef/resource/execute.rb +8 -9
  183. data/lib/chef/resource/file.rb +4 -4
  184. data/lib/chef/resource/gem_package.rb +5 -5
  185. data/lib/chef/resource/homebrew_package.rb +3 -3
  186. data/lib/chef/resource/homebrew_update.rb +7 -7
  187. data/lib/chef/resource/hostname.rb +19 -19
  188. data/lib/chef/resource/launchd.rb +2 -1
  189. data/lib/chef/resource/locale.rb +2 -2
  190. data/lib/chef/resource/macos_userdefaults.rb +3 -3
  191. data/lib/chef/resource/notify_group.rb +0 -1
  192. data/lib/chef/resource/ohai.rb +46 -3
  193. data/lib/chef/resource/ohai_hint.rb +33 -0
  194. data/lib/chef/resource/openssl_dhparam.rb +29 -5
  195. data/lib/chef/resource/openssl_ec_private_key.rb +8 -3
  196. data/lib/chef/resource/openssl_ec_public_key.rb +4 -2
  197. data/lib/chef/resource/openssl_rsa_private_key.rb +8 -3
  198. data/lib/chef/resource/openssl_rsa_public_key.rb +2 -0
  199. data/lib/chef/resource/openssl_x509_certificate.rb +38 -35
  200. data/lib/chef/resource/openssl_x509_crl.rb +21 -10
  201. data/lib/chef/resource/openssl_x509_request.rb +37 -36
  202. data/lib/chef/resource/osx_profile.rb +292 -6
  203. data/lib/chef/resource/plist.rb +1 -1
  204. data/lib/chef/resource/powershell_package_source.rb +6 -6
  205. data/lib/chef/resource/powershell_script.rb +24 -30
  206. data/lib/chef/resource/reboot.rb +2 -2
  207. data/lib/chef/resource/remote_file.rb +3 -3
  208. data/lib/chef/resource/rhsm_register.rb +22 -10
  209. data/lib/chef/resource/ruby_block.rb +2 -2
  210. data/lib/chef/resource/scm/subversion.rb +2 -2
  211. data/lib/chef/resource/service.rb +3 -3
  212. data/lib/chef/resource/ssh_known_hosts_entry.rb +2 -2
  213. data/lib/chef/resource/sudo.rb +1 -1
  214. data/lib/chef/resource/support/cron.d.erb +1 -1
  215. data/lib/chef/resource/support/cron_access.erb +1 -1
  216. data/lib/chef/resource/support/sudoer.erb +1 -1
  217. data/lib/chef/resource/support/ulimit.erb +1 -1
  218. data/lib/chef/resource/sysctl.rb +6 -10
  219. data/lib/chef/resource/systemd_unit.rb +2 -2
  220. data/lib/chef/resource/template.rb +2 -2
  221. data/lib/chef/resource/timezone.rb +112 -73
  222. data/lib/chef/resource/windows_ad_join.rb +12 -3
  223. data/lib/chef/resource/windows_audit_policy.rb +3 -0
  224. data/lib/chef/resource/windows_auto_run.rb +2 -0
  225. data/lib/chef/resource/windows_certificate.rb +8 -4
  226. data/lib/chef/resource/windows_dfs_folder.rb +2 -0
  227. data/lib/chef/resource/windows_dfs_namespace.rb +2 -0
  228. data/lib/chef/resource/windows_dfs_server.rb +2 -0
  229. data/lib/chef/resource/windows_dns_record.rb +10 -7
  230. data/lib/chef/resource/windows_dns_zone.rb +12 -7
  231. data/lib/chef/resource/windows_feature.rb +2 -0
  232. data/lib/chef/resource/windows_feature_dism.rb +10 -0
  233. data/lib/chef/resource/windows_feature_powershell.rb +14 -2
  234. data/lib/chef/resource/windows_firewall_profile.rb +24 -20
  235. data/lib/chef/resource/windows_firewall_rule.rb +5 -3
  236. data/lib/chef/resource/windows_font.rb +3 -1
  237. data/lib/chef/resource/windows_package.rb +28 -5
  238. data/lib/chef/resource/windows_pagefile.rb +4 -0
  239. data/lib/chef/resource/windows_printer.rb +22 -21
  240. data/lib/chef/resource/windows_printer_port.rb +20 -17
  241. data/lib/chef/resource/windows_security_policy.rb +2 -0
  242. data/lib/chef/resource/windows_share.rb +5 -3
  243. data/lib/chef/resource/windows_shortcut.rb +2 -0
  244. data/lib/chef/resource/windows_uac.rb +2 -0
  245. data/lib/chef/resource/windows_user_privilege.rb +54 -53
  246. data/lib/chef/resource/windows_workgroup.rb +5 -6
  247. data/lib/chef/resource/yum_package.rb +2 -2
  248. data/lib/chef/resource_collection/stepable_iterator.rb +1 -2
  249. data/lib/chef/resources.rb +3 -1
  250. data/lib/chef/role.rb +2 -2
  251. data/lib/chef/run_context.rb +2 -2
  252. data/lib/chef/run_context/cookbook_compiler.rb +21 -21
  253. data/lib/chef/run_lock.rb +2 -2
  254. data/lib/chef/run_status.rb +2 -6
  255. data/lib/chef/search/query.rb +4 -5
  256. data/lib/chef/server_api_versions.rb +4 -0
  257. data/lib/chef/shell.rb +32 -27
  258. data/lib/chef/shell/ext.rb +11 -11
  259. data/lib/chef/shell/shell_session.rb +2 -2
  260. data/lib/chef/train_transport.rb +5 -104
  261. data/lib/chef/util/backup.rb +1 -1
  262. data/lib/chef/util/diff.rb +14 -14
  263. data/lib/chef/util/powershell/cmdlet.rb +4 -2
  264. data/lib/chef/util/powershell/ps_credential.rb +18 -14
  265. data/lib/chef/util/threaded_job_queue.rb +0 -2
  266. data/lib/chef/version.rb +1 -1
  267. data/lib/chef/win32/crypto.rb +1 -1
  268. data/lib/chef/win32/file.rb +2 -2
  269. data/lib/chef/win32/file/version_info.rb +5 -5
  270. data/lib/chef/win32/registry.rb +1 -2
  271. data/spec/data/shef-config.rb +1 -1
  272. data/spec/data/ssl/chef-rspec.cert +15 -15
  273. data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -5
  274. data/spec/functional/resource/aix_service_spec.rb +2 -2
  275. data/spec/functional/resource/aixinit_service_spec.rb +8 -8
  276. data/spec/functional/resource/bff_spec.rb +2 -2
  277. data/spec/functional/resource/cookbook_file_spec.rb +1 -1
  278. data/spec/functional/resource/dsc_resource_spec.rb +1 -1
  279. data/spec/functional/resource/dsc_script_spec.rb +0 -1
  280. data/spec/functional/resource/group_spec.rb +6 -6
  281. data/spec/functional/resource/insserv_spec.rb +5 -5
  282. data/spec/functional/resource/link_spec.rb +20 -20
  283. data/spec/functional/resource/powershell_script_spec.rb +4 -4
  284. data/spec/functional/resource/rpm_spec.rb +2 -2
  285. data/spec/functional/resource/user/dscl_spec.rb +1 -1
  286. data/spec/functional/resource/user/mac_user_spec.rb +1 -1
  287. data/spec/functional/resource/windows_certificate_spec.rb +3 -3
  288. data/spec/functional/resource/windows_font_spec.rb +49 -0
  289. data/spec/functional/resource/windows_security_policy_spec.rb +0 -3
  290. data/spec/functional/resource/windows_task_spec.rb +13 -13
  291. data/spec/functional/run_lock_spec.rb +24 -24
  292. data/spec/functional/version_spec.rb +3 -3
  293. data/spec/functional/win32/registry_spec.rb +8 -8
  294. data/spec/functional/win32/service_manager_spec.rb +1 -1
  295. data/spec/integration/client/client_spec.rb +4 -4
  296. data/spec/integration/client/exit_code_spec.rb +3 -2
  297. data/spec/integration/client/ipv6_spec.rb +1 -1
  298. data/spec/integration/knife/common_options_spec.rb +12 -12
  299. data/spec/integration/knife/config_list_spec.rb +220 -0
  300. data/spec/integration/knife/config_show_spec.rb +192 -0
  301. data/spec/integration/knife/config_use_spec.rb +198 -0
  302. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +1 -1
  303. data/spec/integration/knife/diff_spec.rb +3 -1
  304. data/spec/integration/knife/download_spec.rb +3 -1
  305. data/spec/integration/knife/serve_spec.rb +5 -5
  306. data/spec/integration/knife/upload_spec.rb +3 -1
  307. data/spec/integration/ohai/ohai_spec.rb +61 -0
  308. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
  309. data/spec/integration/recipes/remote_directory.rb +1 -1
  310. data/spec/integration/solo/solo_spec.rb +5 -5
  311. data/spec/spec_helper.rb +12 -9
  312. data/spec/stress/win32/file_spec.rb +1 -1
  313. data/spec/support/chef_helpers.rb +2 -2
  314. data/spec/support/matchers/leak.rb +2 -2
  315. data/spec/support/platform_helpers.rb +17 -35
  316. data/spec/support/platforms/win32/spec_service.rb +1 -1
  317. data/spec/support/shared/functional/directory_resource.rb +1 -1
  318. data/spec/support/shared/functional/execute_resource.rb +1 -1
  319. data/spec/support/shared/functional/file_resource.rb +20 -20
  320. data/spec/support/shared/functional/securable_resource.rb +108 -27
  321. data/spec/support/shared/functional/win32_service.rb +2 -2
  322. data/spec/support/shared/functional/windows_script.rb +3 -3
  323. data/spec/support/shared/integration/integration_helper.rb +22 -52
  324. data/spec/support/shared/unit/application_dot_d.rb +5 -3
  325. data/spec/support/shared/unit/script_resource.rb +6 -20
  326. data/spec/support/shared/unit/windows_script_resource.rb +15 -28
  327. data/spec/tiny_server.rb +0 -1
  328. data/spec/unit/application/client_spec.rb +2 -2
  329. data/spec/unit/application/exit_code_spec.rb +10 -0
  330. data/spec/unit/application_spec.rb +4 -6
  331. data/spec/unit/chef_fs/parallelizer_spec.rb +5 -1
  332. data/spec/unit/chef_fs/path_util_spec.rb +1 -1
  333. data/spec/unit/cookbook/synchronizer_spec.rb +2 -2
  334. data/spec/unit/cookbook_spec.rb +2 -2
  335. data/spec/unit/data_collector/config_validation_spec.rb +208 -0
  336. data/spec/unit/data_collector_spec.rb +28 -113
  337. data/spec/unit/dsl/declare_resource_spec.rb +1 -1
  338. data/spec/unit/environment_spec.rb +7 -7
  339. data/spec/unit/file_access_control_spec.rb +1 -1
  340. data/spec/unit/http/api_versions_spec.rb +19 -1
  341. data/spec/unit/knife/bootstrap_spec.rb +20 -20
  342. data/spec/unit/knife/cookbook_download_spec.rb +4 -4
  343. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +1 -1
  344. data/spec/unit/knife/core/hashed_command_loader_spec.rb +3 -3
  345. data/spec/unit/knife/core/ui_spec.rb +1 -0
  346. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +21 -12
  347. data/spec/unit/knife/ssh_spec.rb +2 -2
  348. data/spec/unit/knife/supermarket_share_spec.rb +1 -1
  349. data/spec/unit/lwrp_spec.rb +3 -3
  350. data/spec/unit/mixin/deep_merge_spec.rb +15 -0
  351. data/spec/unit/mixin/openssl_helper_spec.rb +1 -1
  352. data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
  353. data/spec/unit/mixin/securable_spec.rb +2 -2
  354. data/spec/unit/mixin/template_spec.rb +30 -30
  355. data/spec/unit/mixin/windows_architecture_helper_spec.rb +4 -4
  356. data/spec/unit/node/immutable_collections_spec.rb +8 -4
  357. data/spec/unit/node_spec.rb +5 -5
  358. data/spec/unit/provider/mount/linux_spec.rb +97 -0
  359. data/spec/unit/provider/package/chocolatey_spec.rb +1 -1
  360. data/spec/unit/provider/package/powershell_spec.rb +1 -1
  361. data/spec/unit/provider/package/rubygems_spec.rb +4 -1
  362. data/spec/unit/provider/powershell_script_spec.rb +11 -4
  363. data/spec/unit/provider/remote_directory_spec.rb +9 -9
  364. data/spec/unit/provider/route_spec.rb +0 -2
  365. data/spec/unit/provider/service/arch_service_spec.rb +3 -2
  366. data/spec/unit/provider/service/debian_service_spec.rb +1 -1
  367. data/spec/unit/provider/service/gentoo_service_spec.rb +7 -7
  368. data/spec/unit/provider/service/macosx_spec.rb +3 -3
  369. data/spec/unit/provider/service/redhat_spec.rb +2 -2
  370. data/spec/unit/provider/service/upstart_service_spec.rb +3 -3
  371. data/spec/unit/provider_resolver_spec.rb +6 -6
  372. data/spec/unit/recipe_spec.rb +1 -1
  373. data/spec/unit/resource/batch_spec.rb +6 -6
  374. data/spec/unit/resource/chef_client_cron_spec.rb +35 -14
  375. data/spec/unit/resource/chef_client_launchd_spec.rb +127 -0
  376. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +36 -1
  377. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +54 -0
  378. data/spec/unit/resource/execute_spec.rb +113 -118
  379. data/spec/unit/resource/launchd_spec.rb +8 -0
  380. data/spec/unit/resource/osx_profile_spec.rb +299 -0
  381. data/spec/unit/resource/powershell_script_spec.rb +11 -29
  382. data/spec/unit/resource/rhsm_register_spec.rb +56 -18
  383. data/spec/unit/resource/script_spec.rb +6 -1
  384. data/spec/unit/resource/timezone_spec.rb +63 -0
  385. data/spec/unit/resource/windows_feature_powershell_spec.rb +30 -4
  386. data/spec/unit/resource/windows_uac_spec.rb +1 -1
  387. data/spec/unit/resource/windows_user_privilege_spec.rb +55 -0
  388. data/spec/unit/role_spec.rb +11 -11
  389. data/spec/unit/run_lock_spec.rb +5 -1
  390. data/spec/unit/runner_spec.rb +1 -2
  391. data/spec/unit/server_api_spec.rb +43 -16
  392. data/spec/unit/shell/shell_ext_spec.rb +46 -3
  393. data/spec/unit/shell/shell_session_spec.rb +35 -64
  394. data/spec/unit/shell_spec.rb +16 -19
  395. data/spec/unit/train_transport_spec.rb +14 -13
  396. data/spec/unit/util/selinux_spec.rb +2 -0
  397. data/tasks/rspec.rb +1 -3
  398. metadata +42 -33
  399. data/lib/chef/dist.rb +0 -68
  400. data/lib/chef/provider/osx_profile.rb +0 -255
  401. data/spec/integration/knife/config_get_profile_spec.rb +0 -113
  402. data/spec/integration/knife/config_get_spec.rb +0 -191
  403. data/spec/integration/knife/config_list_profiles_spec.rb +0 -218
  404. data/spec/integration/knife/config_use_profile_spec.rb +0 -154
  405. data/spec/unit/provider/osx_profile_spec.rb +0 -255
@@ -510,6 +510,7 @@ describe Chef::Knife::UI do
510
510
  describe "color" do
511
511
  context "when ui.color? => true" do
512
512
  it "returns colored output" do
513
+ skip "doesn't work on systems that don't correctly have terminals setup for color"
513
514
  expect(@ui).to receive(:color?).and_return(true)
514
515
  expect(@ui.color("a_bus_is", :yellow)).to eql("\e[33ma_bus_is\e[0m")
515
516
  end
@@ -148,24 +148,28 @@ describe Chef::Knife::Core::WindowsBootstrapContext do
148
148
 
149
149
  describe "#config_content" do
150
150
  before do
151
- bootstrap_context.instance_variable_set(:@chef_config, Mash.new(config_log_level: :info,
152
- config_log_location: STDOUT,
153
- chef_server_url: "http://chef.example.com:4444",
154
- validation_client_name: "chef-validator-testing",
155
- file_cache_path: "c:/chef/cache",
156
- file_backup_path: "c:/chef/backup",
157
- cache_options: ({ path: "c:/chef/cache/checksums", skip_expires: true })))
151
+ bootstrap_context.instance_variable_set(
152
+ :@chef_config, Mash.new(
153
+ config_log_level: :info,
154
+ config_log_location: STDOUT,
155
+ chef_server_url: "http://chef.example.com:4444",
156
+ validation_client_name: "chef-validator-testing",
157
+ file_cache_path: "c:/chef/cache",
158
+ file_backup_path: "c:/chef/backup",
159
+ cache_options: ({ path: "c:/chef/cache/checksums", skip_expires: true })
160
+ )
161
+ )
158
162
  end
159
163
 
160
164
  it "generates the config file data" do
161
165
  expected = <<~EXPECTED
162
166
  echo.chef_server_url "http://chef.example.com:4444"
163
167
  echo.validation_client_name "chef-validator-testing"
164
- echo.file_cache_path "C:/chef/cache"
165
- echo.file_backup_path "C:/chef/backup"
166
- echo.cache_options ^({:path =^> "C:/chef/cache/checksums", :skip_expires =^> true}^)
168
+ echo.file_cache_path "C:\\\\chef\\\\cache"
169
+ echo.file_backup_path "C:\\\\chef\\\\backup"
170
+ echo.cache_options ^({:path =^> "C:\\\\chef\\\\cache\\\\checksums", :skip_expires =^> true}^)
167
171
  echo.# Using default node name ^(fqdn^)
168
- echo.log_level :info
172
+ echo.log_level :auto
169
173
  echo.log_location STDOUT
170
174
  EXPECTED
171
175
  expect(bootstrap_context.config_content).to eq expected
@@ -183,7 +187,12 @@ describe Chef::Knife::Core::WindowsBootstrapContext do
183
187
 
184
188
  describe "#start_chef" do
185
189
  it "returns the expected string" do
186
- expect(bootstrap_context.start_chef).to match(%r{SET \"PATH=%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem;%SYSTEMROOT%\\System32\\WindowsPowerShell\\v1.0\\;C:\\ruby\\bin;C:\/opscode\/chef\\bin;C:\/opscode\/chef\\embedded\\bin\;%PATH%\"\n})
190
+ expect(bootstrap_context.start_chef).to eq(
191
+ <<~EOH
192
+ SET "PATH=%SYSTEM32%;%SystemRoot%;%SYSTEM32%\\Wbem;%SYSTEM32%\\WindowsPowerShell\\v1.0\\;C:\\ruby\\bin;C:\\opscode\\chef\\bin;C:\\opscode\\chef\\embedded\\bin;%PATH%"
193
+ chef-client -c C:\\chef\\client.rb -j C:\\chef\\first-boot.json
194
+ EOH
195
+ )
187
196
  end
188
197
  end
189
198
 
@@ -283,10 +283,10 @@ describe Chef::Knife::Ssh do
283
283
  end
284
284
 
285
285
  describe "#ssh_command" do
286
- let(:execution_channel) { double(:execution_channel, on_data: nil) }
286
+ let(:execution_channel) { double(:execution_channel, on_data: nil, on_extended_data: nil) }
287
287
  let(:session_channel) { double(:session_channel, request_pty: nil) }
288
288
 
289
- let(:execution_channel2) { double(:execution_channel, on_data: nil) }
289
+ let(:execution_channel2) { double(:execution_channel, on_data: nil, on_extended_data: nil) }
290
290
  let(:session_channel2) { double(:session_channel, request_pty: nil) }
291
291
 
292
292
  let(:session) { double(:session, loop: nil) }
@@ -108,7 +108,7 @@ describe Chef::Knife::SupermarketShare do
108
108
  expect { @knife.run }.to raise_error(SystemExit)
109
109
  end
110
110
 
111
- if File.exists?("/usr/bin/gnutar") || File.exists?("/bin/gnutar")
111
+ if File.exist?("/usr/bin/gnutar") || File.exist?("/bin/gnutar")
112
112
  it "should use gnutar to make a tarball of the cookbook" do
113
113
  expect(@knife).to receive(:shell_out!) do |args|
114
114
  expect(args.to_s).to match(/gnutar -czf/)
@@ -169,7 +169,7 @@ describe "LWRP" do
169
169
  describe "Lightweight Chef::Resource" do
170
170
 
171
171
  before do
172
- Dir[File.expand_path(File.join(File.dirname(__FILE__), "..", "data", "lwrp", "resources", "*"))].each do |file|
172
+ Dir[File.expand_path(File.join(__dir__, "..", "data", "lwrp", "resources", "*"))].each do |file|
173
173
  Chef::Resource::LWRPBase.build_from_file("lwrp", file, nil)
174
174
  end
175
175
  end
@@ -211,7 +211,7 @@ describe "LWRP" do
211
211
  node.normal[:penguin_name] = "jackass"
212
212
  run_context = Chef::RunContext.new(node, Chef::CookbookCollection.new, @events)
213
213
 
214
- Dir[File.expand_path(File.join(File.dirname(__FILE__), "..", "data", "lwrp", "resources_with_default_attributes", "*"))].each do |file|
214
+ Dir[File.expand_path(File.join(__dir__, "..", "data", "lwrp", "resources_with_default_attributes", "*"))].each do |file|
215
215
  Chef::Resource::LWRPBase.build_from_file("lwrp", file, run_context)
216
216
  end
217
217
 
@@ -654,7 +654,7 @@ describe "LWRP" do
654
654
  end
655
655
 
656
656
  let(:run_context) do
657
- cookbook_repo = File.expand_path(File.join(File.dirname(__FILE__), "..", "data", "cookbooks"))
657
+ cookbook_repo = File.expand_path(File.join(__dir__, "..", "data", "cookbooks"))
658
658
  cookbook_loader = Chef::CookbookLoader.new(cookbook_repo)
659
659
  cookbook_loader.load_cookbooks
660
660
  cookbook_collection = Chef::CookbookCollection.new(cookbook_loader)
@@ -236,6 +236,14 @@ describe Chef::Mixin::DeepMerge, "deep_merge!" do
236
236
  @dm.deep_merge!(hash_src, hash_dst)
237
237
  expect(hash_dst).to eq({ "item" => "orange" })
238
238
  end
239
+
240
+ it "should overwrite a string with a nil when merging nil values" do
241
+ hash_src = { "item" => nil }
242
+ hash_dst = { "item" => "orange" }
243
+ @dm.deep_merge!(hash_src, hash_dst)
244
+ expect(hash_dst).to eq({ "item" => nil })
245
+ end
246
+
239
247
  end # deep_merge!
240
248
 
241
249
  # Chef specific
@@ -338,5 +346,12 @@ describe Chef::Mixin::DeepMerge do
338
346
  merge_with_hash = { "top_level_a" => 2, "top_level_b" => true }
339
347
  @dm.hash_only_merge(merge_ee_hash, merge_with_hash)
340
348
  end
349
+
350
+ it "should overwrite a string with a nil when merging nil values" do
351
+ hash_src = { "item" => nil }
352
+ hash_dst = { "item" => "orange" }
353
+ merged_result = @dm.hash_only_merge(hash_dst, hash_src)
354
+ expect(merged_result).to eq({ "item" => nil })
355
+ end
341
356
  end
342
357
  end
@@ -99,7 +99,7 @@ describe Chef::Mixin::OpenSSLHelper do
99
99
 
100
100
  context "When the dhparam.pem file does exist, and does contain a vaild dhparam key" do
101
101
  it "returns true" do
102
- @dhparam_file.puts(::OpenSSL::PKey::DH.new(1024).to_pem)
102
+ @dhparam_file.puts(::OpenSSL::PKey::DH.new(256).to_pem) # this is 256 to speed up specs
103
103
  @dhparam_file.close
104
104
  expect(instance.dhparam_pem_valid?(@dhparam_file.path)).to be_truthy
105
105
  end
@@ -19,7 +19,7 @@
19
19
  require "spec_helper"
20
20
  require "chef/mixin/powershell_exec"
21
21
 
22
- describe Chef::Mixin::PowershellExec, :windows_only do
22
+ describe Chef::Mixin::PowershellExec, :windows_only, :windows_gte_10 do
23
23
  let(:powershell_mixin) { Class.new { include Chef::Mixin::PowershellExec } }
24
24
  subject(:object) { powershell_mixin.new }
25
25
 
@@ -45,7 +45,7 @@ describe Chef::Mixin::Securable do
45
45
  describe "unix-specific behavior" do
46
46
  before(:each) do
47
47
  platform_mock :unix do
48
- load File.join(File.dirname(__FILE__), "..", "..", "..", "lib", "chef", "mixin", "securable.rb")
48
+ load File.join(__dir__, "..", "..", "..", "lib", "chef", "mixin", "securable.rb")
49
49
  @securable = Object.new
50
50
  @securable.send(:extend, Chef::Mixin::Securable)
51
51
  @securable.send(:extend, Chef::Mixin::ParamsValidate)
@@ -176,7 +176,7 @@ describe Chef::Mixin::Securable do
176
176
  describe "windows-specific behavior" do
177
177
  before(:each) do
178
178
  platform_mock :windows do
179
- load File.join(File.dirname(__FILE__), "..", "..", "..", "lib", "chef", "mixin", "securable.rb")
179
+ load File.join(__dir__, "..", "..", "..", "lib", "chef", "mixin", "securable.rb")
180
180
  securable_class = Class.new do
181
181
  include Chef::Mixin::Securable
182
182
  include Chef::Mixin::ParamsValidate
@@ -104,16 +104,16 @@ describe Chef::Mixin::Template, "render_template" do
104
104
  end
105
105
 
106
106
  it "should render local files" do
107
- begin
108
- tf = Tempfile.new("partial")
109
- tf.write "test"
110
- tf.rewind
111
-
112
- output = @template_context.render_template_from_string("before {<%= render '#{tf.path}', :local => true %>} after")
113
- expect(output).to eq("before {test} after")
114
- ensure
115
- tf.close
116
- end
107
+
108
+ tf = Tempfile.new("partial")
109
+ tf.write "test"
110
+ tf.rewind
111
+
112
+ output = @template_context.render_template_from_string("before {<%= render '#{tf.path}', :local => true %>} after")
113
+ expect(output).to eq("before {test} after")
114
+ ensure
115
+ tf.close
116
+
117
117
  end
118
118
 
119
119
  it "should render partials from a different cookbook" do
@@ -124,16 +124,16 @@ describe Chef::Mixin::Template, "render_template" do
124
124
  end
125
125
 
126
126
  it "should render using the source argument if provided" do
127
- begin
128
- tf = Tempfile.new("partial")
129
- tf.write "test"
130
- tf.rewind
131
-
132
- output = @template_context.render_template_from_string("before {<%= render 'something', :local => true, :source => '#{tf.path}' %>} after")
133
- expect(output).to eq("before {test} after")
134
- ensure
135
- tf.close
136
- end
127
+
128
+ tf = Tempfile.new("partial")
129
+ tf.write "test"
130
+ tf.rewind
131
+
132
+ output = @template_context.render_template_from_string("before {<%= render 'something', :local => true, :source => '#{tf.path}' %>} after")
133
+ expect(output).to eq("before {test} after")
134
+ ensure
135
+ tf.close
136
+
137
137
  end
138
138
 
139
139
  it "should pass the node to partials" do
@@ -195,11 +195,11 @@ describe Chef::Mixin::Template, "render_template" do
195
195
 
196
196
  describe "the raised TemplateError" do
197
197
  subject(:exception) do
198
- begin
199
- do_raise
200
- rescue Chef::Mixin::Template::TemplateError => e
201
- e
202
- end
198
+
199
+ do_raise
200
+ rescue Chef::Mixin::Template::TemplateError => e
201
+ e
202
+
203
203
  end
204
204
 
205
205
  it "should contain template file and line numbers" do
@@ -274,11 +274,11 @@ describe Chef::Mixin::Template, "render_template" do
274
274
 
275
275
  describe "the raised TemplateError" do
276
276
  before :each do
277
- begin
278
- do_raise
279
- rescue Chef::Mixin::Template::TemplateError => e
280
- @exception = e
281
- end
277
+
278
+ do_raise
279
+ rescue Chef::Mixin::Template::TemplateError => e
280
+ @exception = e
281
+
282
282
  end
283
283
 
284
284
  it "should have the original exception" do
@@ -50,10 +50,10 @@ describe Chef::Mixin::WindowsArchitectureHelper do
50
50
 
51
51
  it "raises an error if an invalid architecture is passed to assert_valid_windows_architecture!" do
52
52
  @invalid_architectures.each do |architecture|
53
- begin
54
- expect(assert_valid_windows_architecture!(architecture)).to raise_error Chef::Exceptions::Win32ArchitectureIncorrect
55
- rescue Chef::Exceptions::Win32ArchitectureIncorrect
56
- end
53
+
54
+ expect(assert_valid_windows_architecture!(architecture)).to raise_error Chef::Exceptions::Win32ArchitectureIncorrect
55
+ rescue Chef::Exceptions::Win32ArchitectureIncorrect
56
+
57
57
  end
58
58
  end
59
59
 
@@ -73,7 +73,11 @@ shared_examples_for "Immutable#to_yaml" do
73
73
  end
74
74
 
75
75
  it "should create a YAML string with content" do
76
- expect(copy).to eq(parsed_yaml)
76
+ # Roundtrip the test string through YAML to compensate for some changes in libyaml-0.2.5
77
+ # See: https://github.com/yaml/libyaml/pull/186
78
+ expected = YAML.dump(YAML.load(parsed_yaml))
79
+
80
+ expect(copy).to eq(expected)
77
81
  end
78
82
  end
79
83
 
@@ -126,7 +130,7 @@ describe Chef::Node::ImmutableMash do
126
130
  end
127
131
 
128
132
  %w{to_h to_hash dup}.each do |immutable_meth|
129
- describe "#{immutable_meth}" do
133
+ describe immutable_meth do
130
134
  include_examples "ImmutableMash module", description
131
135
  end
132
136
  end
@@ -234,14 +238,14 @@ describe Chef::Node::ImmutableArray do
234
238
  end
235
239
 
236
240
  %w{to_a to_array dup}.each do |immutable_meth|
237
- describe "#{immutable_meth}" do
241
+ describe immutable_meth do
238
242
  include_examples "ImmutableArray module", description
239
243
  end
240
244
  end
241
245
 
242
246
  describe "to_yaml" do
243
247
  let(:copy) { @immutable_nested_array.to_yaml }
244
- let(:parsed_yaml) { "---\n- level1\n- - foo\n - bar\n - baz\n - 1\n - 2\n - 3\n - \n - true\n - false\n - - el\n - 0\n - \n- m: m\n" }
248
+ let(:parsed_yaml) { "---\n- level1\n- - foo\n - bar\n - baz\n - 1\n - 2\n - 3\n -\n - true\n - false\n - - el\n - 0\n -\n- m: m\n" }
245
249
 
246
250
  include_examples "Immutable#to_yaml"
247
251
  end
@@ -1773,11 +1773,11 @@ describe Chef::Node do
1773
1773
  end
1774
1774
 
1775
1775
  let(:http_exception) do
1776
- begin
1777
- response.error!
1778
- rescue => e
1779
- e
1780
- end
1776
+
1777
+ response.error!
1778
+ rescue => e
1779
+ e
1780
+
1781
1781
  end
1782
1782
 
1783
1783
  let(:trimmed_node) do
@@ -0,0 +1,97 @@
1
+ require "spec_helper"
2
+
3
+ describe Chef::Provider::Mount::Linux do
4
+
5
+ let(:run_context) do
6
+ node = Chef::Node.new
7
+ events = Chef::EventDispatch::Dispatcher.new
8
+ run_context = Chef::RunContext.new(node, {}, events)
9
+ end
10
+
11
+ let(:new_resource) do
12
+ new_resource = Chef::Resource::Mount.new("/tmp/foo")
13
+ new_resource.device "/dev/sdz1"
14
+ new_resource.device_type :device
15
+ new_resource.fstype "ext3"
16
+ new_resource.supports remount: false
17
+ new_resource
18
+ end
19
+
20
+ let(:provider) do
21
+ Chef::Provider::Mount::Linux.new(new_resource, run_context)
22
+ end
23
+
24
+ before(:each) do
25
+ allow(::File).to receive(:exists?).with("/dev/sdz1").and_return true
26
+ allow(::File).to receive(:exists?).with("/tmp/foo").and_return true
27
+ allow(::File).to receive(:realpath).with("/dev/sdz1").and_return "/dev/sdz1"
28
+ allow(::File).to receive(:realpath).with("/tmp/foo").and_return "/tmp/foo"
29
+ end
30
+
31
+ context "to see if the volume is mounted" do
32
+
33
+ it "should set mounted true if the mount point is found in the mounts list" do
34
+ allow(provider).to receive(:shell_out!).and_return(double(stdout: "/tmp/foo /dev/sdz1 type ext3 (rw)\n"))
35
+ provider.load_current_resource
36
+ expect(provider.current_resource.mounted).to be_truthy
37
+ end
38
+
39
+ it "should set mounted false if another mount point beginning with the same path is found in the mounts list" do
40
+ allow(provider).to receive(:shell_out!).and_return(double(stdout: "/tmp/foobar /dev/sdz1 type ext3 (rw)\n"))
41
+ provider.load_current_resource
42
+ expect(provider.current_resource.mounted).to be_falsey
43
+ end
44
+
45
+ it "should set mounted true if the symlink target of the device is found in the mounts list" do
46
+ # expand the target path to correct specs on Windows
47
+ target = ::File.expand_path("/dev/mapper/target")
48
+
49
+ allow(::File).to receive(:symlink?).with((new_resource.device).to_s).and_return(true)
50
+ allow(::File).to receive(:readlink).with((new_resource.device).to_s).and_return(target)
51
+
52
+ allow(provider).to receive(:shell_out!).and_return(double(stdout: "/tmp/foo #{target} type ext3 (rw)\n"))
53
+ provider.load_current_resource
54
+ expect(provider.current_resource.mounted).to be_truthy
55
+ end
56
+
57
+ it "should set mounted true if the symlink target of the device is relative and is found in the mounts list - CHEF-4957" do
58
+ target = "xsdz1"
59
+
60
+ # expand the target path to correct specs on Windows
61
+ absolute_target = ::File.expand_path("/dev/xsdz1")
62
+
63
+ allow(::File).to receive(:symlink?).with((new_resource.device).to_s).and_return(true)
64
+ allow(::File).to receive(:readlink).with((new_resource.device).to_s).and_return(target)
65
+
66
+ allow(provider).to receive(:shell_out!).and_return(double(stdout: "/tmp/foo #{absolute_target} type ext3 (rw)\n"))
67
+ provider.load_current_resource
68
+ expect(provider.current_resource.mounted).to be_truthy
69
+ end
70
+
71
+ it "should set mounted true if the mount point is found last in the mounts list" do
72
+ mount = "#{new_resource.mount_point} /dev/sdy1 type ext3 (rw)\n"
73
+ mount << "#{new_resource.mount_point} #{new_resource.device} type ext3 (rw)\n"
74
+
75
+ allow(provider).to receive(:shell_out!).and_return(double(stdout: mount))
76
+ provider.load_current_resource
77
+ expect(provider.current_resource.mounted).to be_truthy
78
+ end
79
+
80
+ it "should set mounted false if the mount point is not last in the mounts list" do
81
+ mount = "#{new_resource.device} on #{new_resource.mount_point} type ext3 (rw)\n"
82
+ mount << "/dev/sdy1 on #{new_resource.mount_point} type ext3 (rw)\n"
83
+
84
+ allow(provider).to receive(:shell_out!).and_return(double(stdout: mount))
85
+ provider.load_current_resource
86
+ expect(provider.current_resource.mounted).to be_falsey
87
+ end
88
+
89
+ it "mounted should be false if the mount point is not found in the mounts list" do
90
+ allow(provider).to receive(:shell_out!).and_return(double(stdout: "/dev/sdy1 on /tmp/foo type ext3 (rw)\n"))
91
+ provider.load_current_resource
92
+ expect(provider.current_resource.mounted).to be_falsey
93
+ end
94
+
95
+ end
96
+
97
+ end
@@ -150,7 +150,7 @@ describe Chef::Provider::Package::Chocolatey, :windows_only do
150
150
  new_resource.package_name("package-does-not-exist")
151
151
  new_resource.returns([0])
152
152
  allow(provider).to receive(:shell_out_compacted!)
153
- .with(choco_exe, "list", "-r", "#{new_resource.package_name.first}", { returns: new_resource.returns, timeout: timeout })
153
+ .with(choco_exe, "list", "-r", new_resource.package_name.first, { returns: new_resource.returns, timeout: timeout })
154
154
  .and_raise(Mixlib::ShellOut::ShellCommandFailed, "Expected process to exit with [0], but received '2'")
155
155
  expect { provider.send(:available_packages) }.to raise_error(Mixlib::ShellOut::ShellCommandFailed, "Expected process to exit with [0], but received '2'")
156
156
  end
@@ -19,7 +19,7 @@
19
19
  require "spec_helper"
20
20
  require "chef/mixin/powershell_out"
21
21
 
22
- describe Chef::Provider::Package::Powershell, :windows_only do
22
+ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
23
23
  include Chef::Mixin::PowershellOut
24
24
  let(:timeout) { 900 }
25
25
  let(:source) { nil }