chef 16.0.275 → 16.2.50

Sign up to get free protection for your applications and to get access to all the features.
Files changed (291) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/README.md +3 -3
  4. data/Rakefile +15 -1
  5. data/chef.gemspec +3 -3
  6. data/lib/chef/application/apply.rb +2 -2
  7. data/lib/chef/application/base.rb +1 -1
  8. data/lib/chef/application/client.rb +1 -1
  9. data/lib/chef/application/exit_code.rb +2 -2
  10. data/lib/chef/application/windows_service_manager.rb +1 -1
  11. data/lib/chef/chef_fs/chef_fs_data_store.rb +3 -3
  12. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  13. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +1 -1
  14. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +1 -1
  15. data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +1 -1
  16. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +1 -1
  17. data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +1 -1
  18. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  19. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
  20. data/lib/chef/chef_fs/path_utils.rb +4 -4
  21. data/lib/chef/cookbook/chefignore.rb +1 -1
  22. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
  23. data/lib/chef/cookbook/metadata.rb +2 -2
  24. data/lib/chef/cookbook_loader.rb +1 -1
  25. data/lib/chef/cookbook_manifest.rb +1 -1
  26. data/lib/chef/cookbook_site_streaming_uploader.rb +1 -1
  27. data/lib/chef/cookbook_version.rb +7 -7
  28. data/lib/chef/data_bag.rb +4 -4
  29. data/lib/chef/data_collector.rb +1 -1
  30. data/lib/chef/data_collector/error_handlers.rb +1 -1
  31. data/lib/chef/decorator/lazy_array.rb +2 -2
  32. data/lib/chef/deprecated.rb +5 -1
  33. data/lib/chef/digester.rb +4 -4
  34. data/lib/chef/dsl/declare_resource.rb +1 -1
  35. data/lib/chef/dsl/platform_introspection.rb +1 -1
  36. data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
  37. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
  38. data/lib/chef/file_access_control.rb +1 -1
  39. data/lib/chef/formatters/base.rb +1 -1
  40. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +1 -1
  41. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +2 -2
  42. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +7 -7
  43. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -3
  44. data/lib/chef/http.rb +18 -3
  45. data/lib/chef/http/decompressor.rb +1 -1
  46. data/lib/chef/http/http_request.rb +1 -1
  47. data/lib/chef/http/json_output.rb +1 -1
  48. data/lib/chef/http/ssl_policies.rb +18 -0
  49. data/lib/chef/json_compat.rb +1 -1
  50. data/lib/chef/key.rb +1 -1
  51. data/lib/chef/knife.rb +2 -2
  52. data/lib/chef/knife/bootstrap.rb +13 -16
  53. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -1
  54. data/lib/chef/knife/bootstrap/client_builder.rb +1 -1
  55. data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
  56. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +3 -1
  57. data/lib/chef/knife/client_bulk_delete.rb +1 -1
  58. data/lib/chef/knife/config_get.rb +1 -1
  59. data/lib/chef/knife/config_use_profile.rb +15 -5
  60. data/lib/chef/knife/cookbook_delete.rb +1 -1
  61. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  62. data/lib/chef/knife/core/hashed_command_loader.rb +1 -1
  63. data/lib/chef/knife/core/node_presenter.rb +1 -1
  64. data/lib/chef/knife/core/status_presenter.rb +1 -1
  65. data/lib/chef/knife/core/subcommand_loader.rb +1 -1
  66. data/lib/chef/knife/core/windows_bootstrap_context.rb +18 -3
  67. data/lib/chef/knife/data_bag_create.rb +1 -1
  68. data/lib/chef/knife/key_create_base.rb +1 -1
  69. data/lib/chef/knife/key_edit_base.rb +1 -1
  70. data/lib/chef/knife/node_bulk_delete.rb +1 -1
  71. data/lib/chef/knife/node_run_list_remove.rb +1 -1
  72. data/lib/chef/knife/role_bulk_delete.rb +1 -1
  73. data/lib/chef/knife/ssh.rb +2 -2
  74. data/lib/chef/knife/supermarket_share.rb +1 -1
  75. data/lib/chef/knife/supermarket_unshare.rb +1 -1
  76. data/lib/chef/knife/{user_invite_recind.rb → user_invite_rescind.rb} +6 -6
  77. data/lib/chef/log.rb +1 -1
  78. data/lib/chef/mixin/api_version_request_handling.rb +1 -1
  79. data/lib/chef/mixin/checksum.rb +0 -1
  80. data/lib/chef/mixin/create_path.rb +8 -8
  81. data/lib/chef/mixin/openssl_helper.rb +4 -4
  82. data/lib/chef/mixin/properties.rb +4 -2
  83. data/lib/chef/mixin/securable.rb +2 -2
  84. data/lib/chef/mixin/shell_out.rb +1 -1
  85. data/lib/chef/node/attribute.rb +2 -2
  86. data/lib/chef/node/immutable_collections.rb +1 -1
  87. data/lib/chef/node/mixin/deep_merge_cache.rb +7 -7
  88. data/lib/chef/policy_builder/policyfile.rb +1 -1
  89. data/lib/chef/powershell.rb +1 -1
  90. data/lib/chef/property.rb +2 -2
  91. data/lib/chef/provider.rb +3 -3
  92. data/lib/chef/provider/batch.rb +3 -10
  93. data/lib/chef/provider/cron.rb +2 -14
  94. data/lib/chef/provider/directory.rb +1 -1
  95. data/lib/chef/provider/execute.rb +2 -1
  96. data/lib/chef/provider/file.rb +1 -1
  97. data/lib/chef/provider/group/dscl.rb +2 -2
  98. data/lib/chef/provider/group/windows.rb +1 -1
  99. data/lib/chef/provider/ifconfig.rb +7 -7
  100. data/lib/chef/provider/launchd.rb +28 -32
  101. data/lib/chef/provider/mount/aix.rb +1 -1
  102. data/lib/chef/provider/mount/windows.rb +2 -2
  103. data/lib/chef/provider/noop.rb +1 -1
  104. data/lib/chef/provider/package/cab.rb +1 -1
  105. data/lib/chef/provider/package/chocolatey.rb +1 -1
  106. data/lib/chef/provider/package/dpkg.rb +1 -1
  107. data/lib/chef/provider/package/openbsd.rb +1 -1
  108. data/lib/chef/provider/package/portage.rb +3 -2
  109. data/lib/chef/provider/package/powershell.rb +6 -2
  110. data/lib/chef/provider/package/rubygems.rb +3 -3
  111. data/lib/chef/provider/package/snap.rb +96 -27
  112. data/lib/chef/provider/package/windows.rb +2 -2
  113. data/lib/chef/provider/package/windows/msi.rb +3 -3
  114. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
  115. data/lib/chef/provider/package/yum.rb +1 -1
  116. data/lib/chef/provider/package/yum/yum_cache.rb +1 -1
  117. data/lib/chef/provider/powershell_script.rb +11 -15
  118. data/lib/chef/provider/remote_directory.rb +2 -2
  119. data/lib/chef/provider/remote_file/http.rb +4 -1
  120. data/lib/chef/provider/script.rb +4 -75
  121. data/lib/chef/provider/service/arch.rb +2 -2
  122. data/lib/chef/provider/service/debian.rb +2 -2
  123. data/lib/chef/provider/service/macosx.rb +13 -2
  124. data/lib/chef/provider/service/openbsd.rb +4 -4
  125. data/lib/chef/provider/service/redhat.rb +1 -1
  126. data/lib/chef/provider/service/simple.rb +3 -3
  127. data/lib/chef/provider/service/upstart.rb +1 -1
  128. data/lib/chef/provider/service/windows.rb +1 -1
  129. data/lib/chef/provider/subversion.rb +2 -2
  130. data/lib/chef/provider/user/aix.rb +1 -1
  131. data/lib/chef/provider/user/dscl.rb +6 -6
  132. data/lib/chef/provider/user/linux.rb +3 -3
  133. data/lib/chef/provider/user/mac.rb +15 -11
  134. data/lib/chef/provider/windows_script.rb +87 -25
  135. data/lib/chef/provider/windows_task.rb +5 -3
  136. data/lib/chef/provider/zypper_repository.rb +30 -10
  137. data/lib/chef/resource.rb +25 -14
  138. data/lib/chef/resource/alternatives.rb +1 -1
  139. data/lib/chef/resource/apt_package.rb +1 -1
  140. data/lib/chef/resource/archive_file.rb +28 -8
  141. data/lib/chef/resource/bash.rb +0 -1
  142. data/lib/chef/resource/batch.rb +4 -2
  143. data/lib/chef/resource/chef_client_scheduled_task.rb +13 -1
  144. data/lib/chef/resource/chef_gem.rb +57 -21
  145. data/lib/chef/resource/chef_handler.rb +2 -2
  146. data/lib/chef/resource/chef_vault_secret.rb +1 -1
  147. data/lib/chef/resource/cron/_cron_shared.rb +98 -0
  148. data/lib/chef/resource/cron/cron.rb +46 -0
  149. data/lib/chef/resource/{cron_d.rb → cron/cron_d.rb} +7 -87
  150. data/lib/chef/resource/cron_access.rb +11 -3
  151. data/lib/chef/resource/csh.rb +0 -1
  152. data/lib/chef/resource/dmg_package.rb +1 -1
  153. data/lib/chef/resource/execute.rb +478 -8
  154. data/lib/chef/resource/file.rb +10 -8
  155. data/lib/chef/resource/freebsd_package.rb +1 -1
  156. data/lib/chef/resource/gem_package.rb +35 -2
  157. data/lib/chef/resource/helpers/cron_validations.rb +6 -3
  158. data/lib/chef/resource/homebrew_package.rb +30 -1
  159. data/lib/chef/resource/homebrew_update.rb +107 -0
  160. data/lib/chef/resource/hostname.rb +7 -20
  161. data/lib/chef/resource/kernel_module.rb +14 -1
  162. data/lib/chef/resource/launchd.rb +4 -4
  163. data/lib/chef/resource/locale.rb +3 -3
  164. data/lib/chef/resource/macos_userdefaults.rb +14 -9
  165. data/lib/chef/resource/mount.rb +1 -1
  166. data/lib/chef/resource/msu_package.rb +1 -1
  167. data/lib/chef/resource/perl.rb +0 -1
  168. data/lib/chef/resource/plist.rb +23 -4
  169. data/lib/chef/resource/powershell_script.rb +4 -2
  170. data/lib/chef/resource/python.rb +0 -1
  171. data/lib/chef/resource/remote_file.rb +26 -10
  172. data/lib/chef/resource/ruby.rb +0 -1
  173. data/lib/chef/resource/scm/git.rb +1 -1
  174. data/lib/chef/resource/ssh_known_hosts_entry.rb +15 -0
  175. data/lib/chef/resource/sudo.rb +29 -2
  176. data/lib/chef/resource/swap_file.rb +17 -0
  177. data/lib/chef/resource/template.rb +1 -1
  178. data/lib/chef/resource/timezone.rb +15 -0
  179. data/lib/chef/resource/windows_ad_join.rb +30 -1
  180. data/lib/chef/resource/windows_audit_policy.rb +227 -0
  181. data/lib/chef/resource/windows_auto_run.rb +11 -0
  182. data/lib/chef/resource/windows_certificate.rb +27 -1
  183. data/lib/chef/resource/windows_dfs_server.rb +1 -1
  184. data/lib/chef/resource/windows_firewall_rule.rb +2 -2
  185. data/lib/chef/resource/windows_font.rb +3 -3
  186. data/lib/chef/resource/windows_package.rb +3 -3
  187. data/lib/chef/resource/windows_pagefile.rb +2 -2
  188. data/lib/chef/resource/windows_printer.rb +1 -1
  189. data/lib/chef/resource/windows_script.rb +2 -16
  190. data/lib/chef/resource/windows_security_policy.rb +47 -16
  191. data/lib/chef/resource/windows_share.rb +2 -2
  192. data/lib/chef/resource/windows_shortcut.rb +1 -2
  193. data/lib/chef/resource/windows_task.rb +21 -21
  194. data/lib/chef/resource/windows_user_privilege.rb +45 -3
  195. data/lib/chef/resource/yum_repository.rb +9 -9
  196. data/lib/chef/resource_inspector.rb +4 -3
  197. data/lib/chef/resources.rb +4 -2
  198. data/lib/chef/run_context/cookbook_compiler.rb +1 -1
  199. data/lib/chef/search/query.rb +1 -1
  200. data/lib/chef/shell/ext.rb +1 -1
  201. data/lib/chef/util/diff.rb +2 -2
  202. data/lib/chef/util/dsc/lcm_output_parser.rb +3 -3
  203. data/lib/chef/util/windows/net_user.rb +1 -1
  204. data/lib/chef/util/windows/volume.rb +1 -1
  205. data/lib/chef/version.rb +1 -1
  206. data/lib/chef/win32/api.rb +2 -2
  207. data/lib/chef/win32/api/error.rb +3 -1
  208. data/lib/chef/win32/api/file.rb +18 -18
  209. data/lib/chef/win32/api/net.rb +1 -0
  210. data/lib/chef/win32/file.rb +1 -1
  211. data/lib/chef/win32/mutex.rb +1 -1
  212. data/lib/chef/win32/net.rb +1 -0
  213. data/lib/chef/win32/process.rb +2 -2
  214. data/lib/chef/win32/registry.rb +2 -2
  215. data/lib/chef/win32/security.rb +1 -1
  216. data/lib/chef/win32/security/sid.rb +4 -4
  217. data/spec/data/lwrp/providers/buck_passer.rb +1 -1
  218. data/spec/data/lwrp/providers/buck_passer_2.rb +1 -1
  219. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +1 -1
  220. data/spec/functional/resource/cron_spec.rb +10 -0
  221. data/spec/functional/resource/dnf_package_spec.rb +2 -2
  222. data/spec/functional/resource/git_spec.rb +6 -6
  223. data/spec/functional/resource/launchd_spec.rb +232 -0
  224. data/spec/functional/resource/remote_file_spec.rb +2 -2
  225. data/spec/functional/resource/user/dscl_spec.rb +1 -1
  226. data/spec/functional/resource/user/mac_user_spec.rb +1 -1
  227. data/spec/functional/resource/windows_task_spec.rb +12 -12
  228. data/spec/integration/knife/config_use_profile_spec.rb +55 -2
  229. data/spec/support/chef_helpers.rb +1 -1
  230. data/spec/support/platform_helpers.rb +1 -1
  231. data/spec/support/platforms/win32/spec_service.rb +1 -1
  232. data/spec/support/shared/functional/execute_resource.rb +1 -1
  233. data/spec/support/shared/functional/file_resource.rb +1 -1
  234. data/spec/support/shared/functional/windows_script.rb +1 -1
  235. data/spec/support/shared/unit/execute_resource.rb +1 -1
  236. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +4 -4
  237. data/spec/unit/application_spec.rb +7 -0
  238. data/spec/unit/data_bag_spec.rb +1 -1
  239. data/spec/unit/http/ssl_policies_spec.rb +20 -0
  240. data/spec/unit/knife/bootstrap_spec.rb +2 -2
  241. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +7 -1
  242. data/spec/unit/knife/role_env_run_list_add_spec.rb +6 -6
  243. data/spec/unit/knife/role_env_run_list_clear_spec.rb +4 -4
  244. data/spec/unit/knife/role_env_run_list_remove_spec.rb +4 -4
  245. data/spec/unit/knife/role_env_run_list_replace_spec.rb +4 -4
  246. data/spec/unit/knife/role_env_run_list_set_spec.rb +4 -4
  247. data/spec/unit/knife/role_run_list_add_spec.rb +6 -6
  248. data/spec/unit/knife/role_run_list_clear_spec.rb +4 -4
  249. data/spec/unit/knife/role_run_list_remove_spec.rb +4 -4
  250. data/spec/unit/knife/role_run_list_replace_spec.rb +4 -4
  251. data/spec/unit/knife/role_run_list_set_spec.rb +4 -4
  252. data/spec/unit/mixin/openssl_helper_spec.rb +4 -4
  253. data/spec/unit/mixin/user_context_spec.rb +1 -9
  254. data/spec/unit/node/attribute_spec.rb +1 -1
  255. data/spec/unit/property_spec.rb +1 -1
  256. data/spec/unit/provider/batch_spec.rb +130 -0
  257. data/spec/unit/provider/cron_spec.rb +9 -49
  258. data/spec/unit/provider/git_spec.rb +3 -3
  259. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  260. data/spec/unit/provider/launchd_spec.rb +8 -50
  261. data/spec/unit/provider/osx_profile_spec.rb +2 -2
  262. data/spec/unit/provider/package/msu_spec.rb +3 -3
  263. data/spec/unit/provider/package/portage_spec.rb +2 -2
  264. data/spec/unit/provider/package/powershell_spec.rb +96 -87
  265. data/spec/unit/provider/package/snap_spec.rb +1 -1
  266. data/spec/unit/provider/powershell_script_spec.rb +3 -45
  267. data/spec/unit/provider/script_spec.rb +20 -110
  268. data/spec/unit/provider/service/gentoo_service_spec.rb +1 -1
  269. data/spec/unit/provider/zypper_repository_spec.rb +60 -10
  270. data/spec/unit/provider_resolver_spec.rb +9 -9
  271. data/spec/unit/resource/archive_file_spec.rb +11 -2
  272. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +17 -7
  273. data/spec/unit/resource/cron_spec.rb +2 -2
  274. data/spec/unit/resource/helpers/cron_validations_spec.rb +5 -1
  275. data/spec/unit/resource/homebrew_update_spec.rb +30 -0
  276. data/spec/unit/resource/powershell_script_spec.rb +10 -15
  277. data/spec/unit/resource/timezone_spec.rb +1 -1
  278. data/spec/unit/resource/windows_audit_policy_spec.rb +64 -0
  279. data/spec/unit/resource/windows_dns_record_spec.rb +3 -3
  280. data/spec/unit/resource/windows_dns_zone_spec.rb +2 -2
  281. data/spec/unit/resource/windows_package_spec.rb +10 -0
  282. data/spec/unit/resource/windows_task_spec.rb +1 -1
  283. data/spec/unit/resource/windows_uac_spec.rb +2 -2
  284. data/spec/unit/resource/yum_repository_spec.rb +21 -21
  285. data/spec/unit/resource_spec.rb +67 -1
  286. data/spec/unit/run_context_spec.rb +1 -1
  287. data/spec/unit/util/dsc/configuration_generator_spec.rb +1 -1
  288. data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
  289. data/spec/unit/win32/registry_spec.rb +1 -1
  290. metadata +24 -23
  291. data/lib/chef/resource/cron.rb +0 -157
@@ -15,7 +15,6 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
  #
18
-
19
18
  require "spec_helper"
20
19
 
21
20
  describe Chef::Provider::Cron do
@@ -322,7 +321,7 @@ describe Chef::Provider::Cron do
322
321
  expect(cron.hour).to eq("5")
323
322
  expect(cron.day).to eq("*")
324
323
  expect(cron.month).to eq("Jan")
325
- expect(cron.weekday).to eq("Mon")
324
+ expect(cron.weekday).to eq("1")
326
325
  expect(cron.command).to eq("/bin/true param1 param2")
327
326
  end
328
327
 
@@ -338,6 +337,7 @@ describe Chef::Provider::Cron do
338
337
  0 2 * * * /some/other/command
339
338
 
340
339
  # Chef Name: cronhole some stuff
340
+ * * * * * /bin/true
341
341
  CRONTAB
342
342
  cron = @provider.load_current_resource
343
343
  expect(@provider.cron_exists).to eq(true)
@@ -347,7 +347,7 @@ describe Chef::Provider::Cron do
347
347
  expect(cron.month).to eq("*")
348
348
  expect(cron.weekday).to eq("*")
349
349
  expect(cron.time).to eq(nil)
350
- expect(cron.command).to eq(nil)
350
+ expect(cron.command).to eq("/bin/true")
351
351
  end
352
352
 
353
353
  it "should not pick up a commented out crontab line" do
@@ -355,6 +355,7 @@ describe Chef::Provider::Cron do
355
355
  0 2 * * * /some/other/command
356
356
 
357
357
  # Chef Name: cronhole some stuff
358
+ * * * * * /bin/true
358
359
  #* 5 * 1 * /bin/true param1 param2
359
360
  CRONTAB
360
361
  cron = @provider.load_current_resource
@@ -365,7 +366,7 @@ describe Chef::Provider::Cron do
365
366
  expect(cron.month).to eq("*")
366
367
  expect(cron.weekday).to eq("*")
367
368
  expect(cron.time).to eq(nil)
368
- expect(cron.command).to eq(nil)
369
+ expect(cron.command).to eq("/bin/true")
369
370
  end
370
371
 
371
372
  it "should not pick up a later crontab entry" do
@@ -373,6 +374,7 @@ describe Chef::Provider::Cron do
373
374
  0 2 * * * /some/other/command
374
375
 
375
376
  # Chef Name: cronhole some stuff
377
+ * * * * * /bin/true
376
378
  #* 5 * 1 * /bin/true param1 param2
377
379
  # Chef Name: something else
378
380
  2 * 1 * * /bin/false
@@ -387,7 +389,7 @@ describe Chef::Provider::Cron do
387
389
  expect(cron.month).to eq("*")
388
390
  expect(cron.weekday).to eq("*")
389
391
  expect(cron.time).to eq(nil)
390
- expect(cron.command).to eq(nil)
392
+ expect(cron.command).to eq("/bin/true")
391
393
  end
392
394
  end
393
395
  end
@@ -1040,48 +1042,6 @@ describe Chef::Provider::Cron do
1040
1042
  end
1041
1043
  end
1042
1044
 
1043
- describe "weekday_in_crontab" do
1044
- context "when weekday is symbol" do
1045
- it "should return weekday in crontab format" do
1046
- @new_resource.weekday :wednesday
1047
- expect(@provider.send(:weekday_in_crontab)).to eq("3")
1048
- end
1049
-
1050
- it "should raise an error with an unknown weekday" do
1051
- expect { @new_resource.weekday :caturday }.to raise_error(RangeError)
1052
- end
1053
- end
1054
-
1055
- context "when weekday is a number in a string" do
1056
- it "should return the string" do
1057
- @new_resource.weekday "3"
1058
- expect(@provider.send(:weekday_in_crontab)).to eq("3")
1059
- end
1060
-
1061
- it "should raise an error with an out of range number" do
1062
- expect { @new_resource.weekday "-1" }.to raise_error(RangeError)
1063
- end
1064
- end
1065
-
1066
- context "when weekday is string with the name of the week" do
1067
- it "should return the string" do
1068
- @new_resource.weekday "mon"
1069
- expect(@provider.send(:weekday_in_crontab)).to eq("mon")
1070
- end
1071
- end
1072
-
1073
- context "when weekday is an integer" do
1074
- it "should return the integer" do
1075
- @new_resource.weekday 1
1076
- expect(@provider.send(:weekday_in_crontab)).to eq("1")
1077
- end
1078
-
1079
- it "should raise an error with an out of range integer" do
1080
- expect { @new_resource.weekday 45 }.to raise_error(RangeError)
1081
- end
1082
- end
1083
- end
1084
-
1085
1045
  describe "#env_var_str" do
1086
1046
  context "when no env vars are set" do
1087
1047
  it "returns an empty string" do
@@ -1196,8 +1156,8 @@ describe Chef::Provider::Cron do
1196
1156
  context "Without command, passed" do
1197
1157
  context "as nil" do
1198
1158
  it "returns an empty string with a next line" do
1199
- @new_resource.command nil
1200
- expect(@provider.send(:cmd_str)).to eq(" \n")
1159
+ @new_resource.command "bin/true"
1160
+ expect(@provider.send(:cmd_str)).to eq(" bin/true\n")
1201
1161
  end
1202
1162
  end
1203
1163
  context "as an empty string" do
@@ -678,7 +678,7 @@ describe Chef::Provider::Git do
678
678
  expect(@provider).to receive(:enable_submodules)
679
679
  expect(@provider).to receive(:add_remotes)
680
680
  @provider.run_action(:checkout)
681
- # @resource.should be_updated
681
+ # @resource.should be_updated
682
682
  end
683
683
 
684
684
  it "should not checkout if the destination exists or is a non empty directory" do
@@ -716,7 +716,7 @@ describe Chef::Provider::Git do
716
716
  expect(@provider).to receive(:enable_submodules)
717
717
  expect(@provider).to receive(:add_remotes)
718
718
  @provider.run_action(:sync)
719
- # @resource.should be_updated
719
+ # @resource.should be_updated
720
720
  end
721
721
 
722
722
  it "does not fetch any updates if the remote revision matches the current revision" do
@@ -736,7 +736,7 @@ describe Chef::Provider::Git do
736
736
  expect(@provider).to receive(:action_checkout)
737
737
  expect(@provider).not_to receive(:shell_out!)
738
738
  @provider.run_action(:sync)
739
- # @resource.should be_updated
739
+ # @resource.should be_updated
740
740
  end
741
741
 
742
742
  it "clones the repo instead of fetching updates if the deploy directory is empty" do
@@ -57,7 +57,7 @@ describe Chef::Provider::Group::Groupadd do
57
57
  end
58
58
 
59
59
  it "should set the option for #{property} if the new resources #{property} is not null" do
60
- allow(new_resource).to receive(property).and_return("wowaweea")
60
+ allow(new_resource).to receive(property).and_return("cactus")
61
61
  expect(provider.set_options).to eql([ option, new_resource.send(property), new_resource.group_name])
62
62
  end
63
63
  end
@@ -131,8 +131,8 @@ describe Chef::Provider::Launchd do
131
131
  new_resource.program "/Library/scripts/call_mom.sh"
132
132
  new_resource.time_out 300
133
133
  new_resource.start_calendar_interval "Hour" => 10, "Weekday" => 7
134
- expect(provider.content?).to be_truthy
135
- expect(provider.content).to eql(test_plist)
134
+ expect(provider.file_content?).to be_truthy
135
+ expect(provider.file_content).to eql(test_plist)
136
136
  end
137
137
  end
138
138
 
@@ -147,8 +147,8 @@ describe Chef::Provider::Launchd do
147
147
  new_resource.program "/Library/scripts/call_mom.sh"
148
148
  new_resource.time_out 300
149
149
  new_resource.start_calendar_interval allowed
150
- expect(provider.content?).to be_truthy
151
- expect(provider.content).to eql(test_plist_multiple_intervals)
150
+ expect(provider.file_content?).to be_truthy
151
+ expect(provider.file_content).to eql(test_plist_multiple_intervals)
152
152
  end
153
153
 
154
154
  it "should allow all StartCalendarInterval keys" do
@@ -162,9 +162,9 @@ describe Chef::Provider::Launchd do
162
162
  new_resource.program "/Library/scripts/call_mom.sh"
163
163
  new_resource.time_out 300
164
164
  new_resource.start_calendar_interval allowed
165
- expect(provider.content?).to be_truthy
165
+ expect(provider.file_content?).to be_truthy
166
166
  %w{Minute Hour Day Weekday Month}.each do |key|
167
- expect(provider.content).to include("<key>#{key}</key>")
167
+ expect(provider.file_content).to include("<key>#{key}</key>")
168
168
  end
169
169
  end
170
170
 
@@ -188,50 +188,8 @@ describe Chef::Provider::Launchd do
188
188
  describe "hash is passed" do
189
189
  it "should produce the test_plist content from the plist_hash property" do
190
190
  new_resource.plist_hash test_hash
191
- expect(provider.content?).to be_truthy
192
- expect(provider.content).to eql(test_plist)
193
- end
194
- end
195
- end
196
-
197
- describe "with an :enable action" do
198
- describe "and the file has been updated" do
199
- before(:each) do
200
- allow(provider).to receive(
201
- :manage_plist
202
- ).with(:create).and_return(true)
203
- allow(provider).to receive(
204
- :manage_service
205
- ).with(:restart).and_return(true)
206
- end
207
-
208
- it "should call manage_service with a :restart action" do
209
- expect(provider.manage_service(:restart)).to be_truthy
210
- end
211
-
212
- it "works with action enable" do
213
- expect(run_resource_setup_for_action(:enable)).to be_truthy
214
- provider.action_enable
215
- end
216
- end
217
-
218
- describe "and the file has not been updated" do
219
- before(:each) do
220
- allow(provider).to receive(
221
- :manage_plist
222
- ).with(:create).and_return(nil)
223
- allow(provider).to receive(
224
- :manage_service
225
- ).with(:enable).and_return(true)
226
- end
227
-
228
- it "should call manage_service with a :enable action" do
229
- expect(provider.manage_service(:enable)).to be_truthy
230
- end
231
-
232
- it "works with action enable" do
233
- expect(run_resource_setup_for_action(:enable)).to be_truthy
234
- provider.action_enable
191
+ expect(provider.file_content?).to be_truthy
192
+ expect(provider.file_content).to eql(test_plist)
235
193
  end
236
194
  end
237
195
  end
@@ -61,8 +61,8 @@ describe Chef::Provider::OsxProfile do
61
61
  "ProfileVersion" => 1 }],
62
62
  }
63
63
  end
64
- # If anything is changed within this profile, be sure to update the
65
- # ProfileUUID in all_profiles to match the new config specific UUID
64
+ # If anything is changed within this profile, be sure to update the
65
+ # ProfileUUID in all_profiles to match the new config specific UUID
66
66
  let(:test_profile) do
67
67
  {
68
68
  "PayloadIdentifier" => "com.testprofile.screensaver",
@@ -261,9 +261,9 @@ describe Chef::Provider::Package::Msu, :windows_only do
261
261
  expect(cab_files).to eql(["msu_dir/IE10-Windows6.1-KB2859903-x86.CAB"])
262
262
  end
263
263
 
264
- # We couldn't find any msu file with multiple cab files in it.
265
- # So we are not 100% sure about the structure of XML file in this case
266
- # The specs below cover 2 possible XML formats
264
+ # We couldn't find any msu file with multiple cab files in it.
265
+ # So we are not 100% sure about the structure of XML file in this case
266
+ # The specs below cover 2 possible XML formats
267
267
  context "handles different xml formats for multiple cab files in the msu package" do
268
268
  it "parses xml file with multiple <package> tags" do
269
269
  xml_file = File.join(CHEF_SPEC_DATA, "sample_msu2.xml")
@@ -118,13 +118,13 @@ describe Chef::Provider::Package::Portage, "load_current_resource" do
118
118
  expect { @provider.candidate_version }.to raise_error(Chef::Exceptions::Package)
119
119
  end
120
120
 
121
- it "should find the candidate_version if a category is specifed and there are no duplicates" do
121
+ it "should find the candidate_version if a category is specified and there are no duplicates" do
122
122
  status = double(stdout: "dev-vcs/git-2.16.2", exitstatus: 0)
123
123
  expect(@provider).to receive(:shell_out_compacted).and_return(status)
124
124
  expect(@provider.candidate_version).to eq("2.16.2")
125
125
  end
126
126
 
127
- it "should find the candidate_version if a category is not specifed and there are no duplicates" do
127
+ it "should find the candidate_version if a category is not specified and there are no duplicates" do
128
128
  status = double(stdout: "dev-vcs/git-2.16.2", exitstatus: 0)
129
129
  @provider = Chef::Provider::Package::Portage.new(@new_resource_without_category, @run_context)
130
130
  expect(@provider).to receive(:shell_out_compacted).and_return(status)
@@ -94,19 +94,19 @@ describe Chef::Provider::Package::Powershell, :windows_only do
94
94
  double("powershell_out", stdout: "5")
95
95
  end
96
96
 
97
- let(:generated_command) { "( Get-Package posh-git -Force -ForceBootstrap ).Version" }
98
- let(:generated_get_cmdlet) { "( Get-Package xNetworking -Force -ForceBootstrap ).Version" }
99
- let(:generated_get_cmdlet_with_version) { "( Get-Package xNetworking -Force -ForceBootstrap -RequiredVersion 1.0.0.0 ).Version" }
100
- let(:generated_find_cmdlet) { "( Find-Package xNetworking -Force -ForceBootstrap ).Version" }
101
- let(:generated_find_cmdlet_with_version) { "( Find-Package xNetworking -Force -ForceBootstrap -RequiredVersion 1.0.0.0 ).Version" }
102
- let(:generated_find_cmdlet_with_source) { "( Find-Package xNetworking -Force -ForceBootstrap -Source MyGallery ).Version" }
103
- let(:generated_find_cmdlet_with_source_and_version) { "( Find-Package xNetworking -Force -ForceBootstrap -RequiredVersion 1.0.0.0 -Source MyGallery ).Version" }
104
- let(:generated_install_cmdlet) { "( Install-Package xNetworking -Force -ForceBootstrap ).Version" }
105
- let(:generated_install_cmdlet_with_version) { "( Install-Package xNetworking -Force -ForceBootstrap -RequiredVersion 1.0.0.0 ).Version" }
106
- let(:generated_install_cmdlet_with_source) { "( Install-Package xNetworking -Force -ForceBootstrap -Source MyGallery ).Version" }
107
- let(:generated_install_cmdlet_with_source_and_version) { "( Install-Package xNetworking -Force -ForceBootstrap -RequiredVersion 1.0.0.0 -Source MyGallery ).Version" }
108
- let(:generated_uninstall_cmdlet) { "( Uninstall-Package xNetworking -Force -ForceBootstrap ).Version" }
109
- let(:generated_uninstall_cmdlet_with_version) { "( Uninstall-Package xNetworking -Force -ForceBootstrap -RequiredVersion 1.0.0.0 ).Version" }
97
+ let(:generated_command) { "( Get-Package posh-git -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version" }
98
+ let(:generated_get_cmdlet) { "( Get-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version" }
99
+ let(:generated_get_cmdlet_with_version) { "( Get-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 ).Version" }
100
+ let(:generated_find_cmdlet) { "( Find-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version" }
101
+ let(:generated_find_cmdlet_with_version) { "( Find-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 ).Version" }
102
+ let(:generated_find_cmdlet_with_source) { "( Find-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -Source MyGallery ).Version" }
103
+ let(:generated_find_cmdlet_with_source_and_version) { "( Find-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 -Source MyGallery ).Version" }
104
+ let(:generated_install_cmdlet) { "( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version" }
105
+ let(:generated_install_cmdlet_with_version) { "( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 ).Version" }
106
+ let(:generated_install_cmdlet_with_source) { "( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -Source MyGallery ).Version" }
107
+ let(:generated_install_cmdlet_with_source_and_version) { "( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 -Source MyGallery ).Version" }
108
+ let(:generated_uninstall_cmdlet) { "( Uninstall-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version" }
109
+ let(:generated_uninstall_cmdlet_with_version) { "( Uninstall-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 ).Version" }
110
110
 
111
111
  describe "#initialize" do
112
112
  it "should return the correct class" do
@@ -117,75 +117,75 @@ describe Chef::Provider::Package::Powershell, :windows_only do
117
117
  describe "#candidate_version" do
118
118
 
119
119
  it "should set the candidate_version to the latest version when not pinning" do
120
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
120
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
121
121
  new_resource.package_name(["xNetworking"])
122
122
  new_resource.version(nil)
123
123
  expect(provider.candidate_version).to eql(["2.12.0.0"])
124
124
  end
125
125
 
126
126
  it "should use the candidate_version from the correct source" do
127
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -Source MyGallery ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
127
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue -Source MyGallery ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
128
128
  new_resource.package_name(["xNetworking"])
129
129
  new_resource.version(nil)
130
130
  new_resource.source("MyGallery")
131
131
  expect(provider.candidate_version).to eql(["2.12.0.0"])
132
132
  end
133
133
 
134
- it "should set the candidate_version to the latest version when not pinning and package name is space seperated" do
135
- allow(provider).to receive(:powershell_out).with("( Find-Package '7-Zip 16.02 (x64)' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_7zip_available)
134
+ it "should set the candidate_version to the latest version when not pinning and package name is space separated" do
135
+ allow(provider).to receive(:powershell_out).with("( Find-Package '7-Zip 16.02 (x64)' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_7zip_available)
136
136
  new_resource.package_name(["7-Zip 16.02 (x64)"])
137
137
  new_resource.version(nil)
138
138
  expect(provider.candidate_version).to eql(["16.02"])
139
139
  end
140
140
 
141
141
  it "should set the candidate_version to pinned version if available" do
142
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.0.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available_2_0_0_0)
142
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.0.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available_2_0_0_0)
143
143
  new_resource.package_name(["xCertificate"])
144
144
  new_resource.version(["2.0.0.0"])
145
145
  expect(provider.candidate_version).to eql(["2.0.0.0"])
146
146
  end
147
147
 
148
148
  it "should set the candidate_version to nil if there is no candidate" do
149
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
149
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
150
150
  new_resource.package_name(["xCertificate"])
151
151
  expect(provider.candidate_version).to eql([nil])
152
152
  end
153
153
 
154
154
  it "should set the candidate_version correctly when there are two packages to install" do
155
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
156
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
155
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
156
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
157
157
  new_resource.package_name(%w{xCertificate xNetworking})
158
158
  new_resource.version(nil)
159
159
  expect(provider.candidate_version).to eql(["2.1.0.0", "2.12.0.0"])
160
160
  end
161
161
 
162
162
  it "should set the candidate_version correctly when only the first is installable" do
163
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
164
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
163
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
164
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
165
165
  new_resource.package_name(%w{xCertificate xNetworking})
166
166
  new_resource.version(nil)
167
167
  expect(provider.candidate_version).to eql(["2.1.0.0", nil])
168
168
  end
169
169
 
170
170
  it "should set the candidate_version correctly when only the last is installable" do
171
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
172
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
171
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
172
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
173
173
  new_resource.package_name(%w{xCertificate xNetworking})
174
174
  new_resource.version(nil)
175
175
  expect(provider.candidate_version).to eql([nil, "2.12.0.0"])
176
176
  end
177
177
 
178
178
  it "should set the candidate_version correctly when neither are is installable and version is passed as nil array" do
179
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
180
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
179
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
180
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
181
181
  new_resource.package_name(%w{xNetworking xCertificate})
182
182
  new_resource.version([nil, nil])
183
183
  expect(provider.candidate_version).to eql([nil, nil])
184
184
  end
185
185
 
186
186
  it "should set the candidate_version correctly when neither are is installable and version is not passed" do
187
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
188
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
187
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
188
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
189
189
  new_resource.package_name(%w{xNetworking xCertificate})
190
190
  new_resource.version(nil)
191
191
  expect(provider.candidate_version).to eql([nil, nil])
@@ -284,10 +284,11 @@ describe Chef::Provider::Package::Powershell, :windows_only do
284
284
  provider.load_current_resource
285
285
  new_resource.package_name(["xCertificate"])
286
286
  new_resource.version(nil)
287
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
288
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
287
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
288
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
289
289
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
290
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
290
+ allow(provider).to receive(:powershell_out).with("[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12")
291
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
291
292
  provider.run_action(:install)
292
293
  expect(new_resource).to be_updated_by_last_action
293
294
  end
@@ -297,10 +298,11 @@ describe Chef::Provider::Package::Powershell, :windows_only do
297
298
  new_resource.package_name(["xCertificate"])
298
299
  new_resource.version(nil)
299
300
  new_resource.source("MyGallery")
300
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -Source MyGallery ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
301
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
301
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -Source MyGallery ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
302
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
302
303
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
303
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 -Source MyGallery ).Version", { timeout: new_resource.timeout })
304
+ allow(provider).to receive(:powershell_out).with("[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12")
305
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 -Source MyGallery ).Version", { timeout: new_resource.timeout })
304
306
  provider.run_action(:install)
305
307
  expect(new_resource).to be_updated_by_last_action
306
308
  end
@@ -310,10 +312,11 @@ describe Chef::Provider::Package::Powershell, :windows_only do
310
312
  new_resource.package_name(["xCertificate"])
311
313
  new_resource.version(nil)
312
314
  new_resource.skip_publisher_check(true)
313
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
314
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -SkipPublisherCheck ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
315
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
316
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -SkipPublisherCheck ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
315
317
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
316
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 -SkipPublisherCheck ).Version", { timeout: new_resource.timeout })
318
+ allow(provider).to receive(:powershell_out).with("[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12")
319
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 -SkipPublisherCheck ).Version", { timeout: new_resource.timeout })
317
320
  provider.run_action(:install)
318
321
  expect(new_resource).to be_updated_by_last_action
319
322
  end
@@ -322,10 +325,11 @@ describe Chef::Provider::Package::Powershell, :windows_only do
322
325
  provider.load_current_resource
323
326
  new_resource.package_name(["7-Zip 16.02 (x64)"])
324
327
  new_resource.version(nil)
325
- allow(provider).to receive(:powershell_out).with("( Find-Package '7-Zip 16.02 (x64)' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_7zip_available)
326
- allow(provider).to receive(:powershell_out).with("( Get-Package '7-Zip 16.02 (x64)' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_7zip_not_installed)
328
+ allow(provider).to receive(:powershell_out).with("( Find-Package '7-Zip 16.02 (x64)' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_7zip_available)
329
+ allow(provider).to receive(:powershell_out).with("( Get-Package '7-Zip 16.02 (x64)' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_7zip_not_installed)
327
330
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
328
- expect(provider).to receive(:powershell_out).with("( Install-Package '7-Zip 16.02 (x64)' -Force -ForceBootstrap -RequiredVersion 16.02 ).Version", { timeout: new_resource.timeout })
331
+ allow(provider).to receive(:powershell_out).with("[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12")
332
+ expect(provider).to receive(:powershell_out).with("( Install-Package '7-Zip 16.02 (x64)' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 16.02 ).Version", { timeout: new_resource.timeout })
329
333
  provider.run_action(:install)
330
334
  expect(new_resource).to be_updated_by_last_action
331
335
  end
@@ -337,10 +341,11 @@ describe Chef::Provider::Package::Powershell, :windows_only do
337
341
  provider.load_current_resource
338
342
  new_resource.package_name(["xCertificate"])
339
343
  new_resource.version(nil)
340
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
341
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
344
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
345
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
342
346
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
343
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
347
+ allow(provider).to receive(:powershell_out).with("[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12")
348
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
344
349
  provider.run_action(:install)
345
350
  expect(new_resource).to be_updated_by_last_action
346
351
  end
@@ -349,8 +354,8 @@ describe Chef::Provider::Package::Powershell, :windows_only do
349
354
  it "should not install packages that are up-to-date" do
350
355
  new_resource.package_name(["xCertificate"])
351
356
  new_resource.version(nil)
352
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
353
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
357
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
358
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
354
359
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
355
360
  provider.load_current_resource
356
361
  expect(provider).not_to receive(:install_package)
@@ -361,8 +366,8 @@ describe Chef::Provider::Package::Powershell, :windows_only do
361
366
  it "should not install packages that are up-to-date" do
362
367
  new_resource.package_name(["xNetworking"])
363
368
  new_resource.version(["2.11.0.0"])
364
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -RequiredVersion 2.11.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
365
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap -RequiredVersion 2.11.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available_2_11_0_0)
369
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.11.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
370
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.11.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available_2_11_0_0)
366
371
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
367
372
  provider.load_current_resource
368
373
  expect(provider).not_to receive(:install_package)
@@ -375,13 +380,14 @@ describe Chef::Provider::Package::Powershell, :windows_only do
375
380
  # new_version.resource[0]
376
381
  new_resource.package_name(%w{xCertificate xNetworking})
377
382
  new_resource.version([nil, "2.11.0.0"])
378
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
379
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
380
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -RequiredVersion 2.11.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available_2_11_0_0)
381
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap -RequiredVersion 2.11.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
383
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
384
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
385
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.11.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available_2_11_0_0)
386
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.11.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
382
387
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
383
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
384
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xNetworking' -Force -ForceBootstrap -RequiredVersion 2.11.0.0 ).Version", { timeout: new_resource.timeout })
388
+ allow(provider).to receive(:powershell_out).with("[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12")
389
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
390
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.11.0.0 ).Version", { timeout: new_resource.timeout })
385
391
  provider.load_current_resource
386
392
  provider.run_action(:install)
387
393
  expect(new_resource).to be_updated_by_last_action
@@ -390,13 +396,14 @@ describe Chef::Provider::Package::Powershell, :windows_only do
390
396
  it "should split up commands when given two packages, one with a version pin" do
391
397
  new_resource.package_name(%w{xCertificate xNetworking})
392
398
  new_resource.version(["2.1.0.0", nil])
393
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
394
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
395
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
396
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
399
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
400
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
401
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
402
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
397
403
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
398
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
399
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xNetworking' -Force -ForceBootstrap -RequiredVersion 2.12.0.0 ).Version", { timeout: new_resource.timeout })
404
+ allow(provider).to receive(:powershell_out).with("[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12")
405
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
406
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.12.0.0 ).Version", { timeout: new_resource.timeout })
400
407
 
401
408
  provider.load_current_resource
402
409
  provider.run_action(:install)
@@ -406,13 +413,14 @@ describe Chef::Provider::Package::Powershell, :windows_only do
406
413
  it "should do multipackage installs when given two packages without constraints" do
407
414
  new_resource.package_name(%w{xCertificate xNetworking})
408
415
  new_resource.version(nil)
409
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
410
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
411
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
412
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
416
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
417
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
418
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
419
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
413
420
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
414
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
415
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xNetworking' -Force -ForceBootstrap -RequiredVersion 2.12.0.0 ).Version", { timeout: new_resource.timeout })
421
+ allow(provider).to receive(:powershell_out).with("[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12")
422
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
423
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.12.0.0 ).Version", { timeout: new_resource.timeout })
416
424
  provider.load_current_resource
417
425
  provider.run_action(:install)
418
426
  expect(new_resource).to be_updated_by_last_action
@@ -422,13 +430,14 @@ describe Chef::Provider::Package::Powershell, :windows_only do
422
430
  new_resource.package_name(%w{xCertificate xNetworking})
423
431
  new_resource.version(nil)
424
432
  new_resource.source("MyGallery")
425
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -Source MyGallery ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
426
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
427
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -Source MyGallery ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
428
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
433
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -Source MyGallery ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
434
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
435
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue -Source MyGallery ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
436
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
429
437
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
430
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 -Source MyGallery ).Version", { timeout: new_resource.timeout })
431
- expect(provider).to receive(:powershell_out).with("( Install-Package 'xNetworking' -Force -ForceBootstrap -RequiredVersion 2.12.0.0 -Source MyGallery ).Version", { timeout: new_resource.timeout })
438
+ allow(provider).to receive(:powershell_out).with("[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12")
439
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 -Source MyGallery ).Version", { timeout: new_resource.timeout })
440
+ expect(provider).to receive(:powershell_out).with("( Install-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.12.0.0 -Source MyGallery ).Version", { timeout: new_resource.timeout })
432
441
  provider.load_current_resource
433
442
  provider.run_action(:install)
434
443
  expect(new_resource).to be_updated_by_last_action
@@ -440,8 +449,8 @@ describe Chef::Provider::Package::Powershell, :windows_only do
440
449
  provider.load_current_resource
441
450
  new_resource.package_name(["xCertificate"])
442
451
  new_resource.version(["2.1.0.0"])
443
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
444
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
452
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
453
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
445
454
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
446
455
  expect(provider).not_to receive(:remove_package)
447
456
  provider.run_action(:remove)
@@ -452,11 +461,11 @@ describe Chef::Provider::Package::Powershell, :windows_only do
452
461
  new_resource.package_name(["xCertificate"])
453
462
  new_resource.version(["2.1.0.0"])
454
463
  new_resource.source("MyGallery")
455
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 -Source MyGallery).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
456
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
464
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 -Source MyGallery).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
465
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
457
466
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
458
467
  provider.load_current_resource
459
- expect(provider).to receive(:powershell_out).with("( Uninstall-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
468
+ expect(provider).to receive(:powershell_out).with("( Uninstall-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
460
469
  provider.run_action(:remove)
461
470
  expect(new_resource).to be_updated_by_last_action
462
471
  end
@@ -464,10 +473,10 @@ describe Chef::Provider::Package::Powershell, :windows_only do
464
473
  it "does nothing when all the packages are already removed" do
465
474
  new_resource.package_name(%w{xCertificate xNetworking})
466
475
  new_resource.version(nil)
467
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
468
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
469
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
470
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
476
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
477
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
478
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_available)
479
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xNetworking' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xnetworking_not_available)
471
480
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
472
481
  provider.load_current_resource
473
482
  expect(provider).not_to receive(:remove_package)
@@ -478,11 +487,11 @@ describe Chef::Provider::Package::Powershell, :windows_only do
478
487
  it "removes a package when version is specified" do
479
488
  new_resource.package_name(["xCertificate"])
480
489
  new_resource.version(["2.1.0.0"])
481
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
482
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
490
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
491
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
483
492
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
484
493
  provider.load_current_resource
485
- expect(provider).to receive(:powershell_out).with("( Uninstall-Package 'xCertificate' -Force -ForceBootstrap -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
494
+ expect(provider).to receive(:powershell_out).with("( Uninstall-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 ).Version", { timeout: new_resource.timeout })
486
495
  provider.run_action(:remove)
487
496
  expect(new_resource).to be_updated_by_last_action
488
497
  end
@@ -490,11 +499,11 @@ describe Chef::Provider::Package::Powershell, :windows_only do
490
499
  it "removes a package when version is not specified" do
491
500
  new_resource.package_name(["xCertificate"])
492
501
  new_resource.version(nil)
493
- allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
494
- allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
502
+ allow(provider).to receive(:powershell_out).with("( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
503
+ allow(provider).to receive(:powershell_out).with("( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
495
504
  allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
496
505
  provider.load_current_resource
497
- expect(provider).to receive(:powershell_out).with("( Uninstall-Package 'xCertificate' -Force -ForceBootstrap ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
506
+ expect(provider).to receive(:powershell_out).with("( Uninstall-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
498
507
  provider.run_action(:remove)
499
508
  expect(new_resource).to be_updated_by_last_action
500
509
  end