chef 12.4.0.rc.0-universal-mingw32 → 12.4.0.rc.2-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 (298) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +12 -1
  3. data/lib/chef/api_client.rb +130 -26
  4. data/lib/chef/application.rb +0 -1
  5. data/lib/chef/application/client.rb +8 -19
  6. data/lib/chef/audit/audit_reporter.rb +12 -7
  7. data/lib/chef/audit/logger.rb +36 -0
  8. data/lib/chef/audit/runner.rb +4 -2
  9. data/lib/chef/chef_class.rb +62 -11
  10. data/lib/chef/client.rb +587 -207
  11. data/lib/chef/config.rb +0 -1
  12. data/lib/chef/dsl/recipe.rb +45 -56
  13. data/lib/chef/dsl/resources.rb +3 -2
  14. data/lib/chef/event_dispatch/base.rb +7 -2
  15. data/lib/chef/exceptions.rb +4 -1
  16. data/lib/chef/file_content_management/deploy/mv_windows.rb +16 -6
  17. data/lib/chef/formatters/doc.rb +15 -7
  18. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +10 -7
  19. data/lib/chef/guard_interpreter/default_guard_interpreter.rb +2 -0
  20. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +4 -1
  21. data/lib/chef/http/authenticator.rb +7 -2
  22. data/lib/chef/knife.rb +16 -4
  23. data/lib/chef/knife/client_create.rb +55 -31
  24. data/lib/chef/knife/core/generic_presenter.rb +1 -1
  25. data/lib/chef/knife/core/subcommand_loader.rb +1 -1
  26. data/lib/chef/knife/osc_user_create.rb +97 -0
  27. data/lib/chef/knife/osc_user_delete.rb +51 -0
  28. data/lib/chef/knife/osc_user_edit.rb +58 -0
  29. data/lib/chef/knife/osc_user_list.rb +47 -0
  30. data/lib/chef/knife/osc_user_reregister.rb +64 -0
  31. data/lib/chef/knife/osc_user_show.rb +54 -0
  32. data/lib/chef/knife/user_create.rb +95 -36
  33. data/lib/chef/knife/user_delete.rb +52 -2
  34. data/lib/chef/knife/user_edit.rb +37 -7
  35. data/lib/chef/knife/user_list.rb +3 -0
  36. data/lib/chef/knife/user_reregister.rb +39 -8
  37. data/lib/chef/knife/user_show.rb +30 -1
  38. data/lib/chef/mixin/api_version_request_handling.rb +66 -0
  39. data/lib/chef/mixin/convert_to_class_name.rb +10 -4
  40. data/lib/chef/mixin/deprecation.rb +24 -0
  41. data/lib/chef/mixin/powershell_out.rb +98 -0
  42. data/lib/chef/mixin/provides.rb +5 -18
  43. data/lib/chef/mixin/uris.rb +11 -0
  44. data/lib/chef/mixin/windows_architecture_helper.rb +5 -2
  45. data/lib/chef/mixin/windows_env_helper.rb +11 -2
  46. data/lib/chef/node_map.rb +130 -75
  47. data/lib/chef/osc_user.rb +194 -0
  48. data/lib/chef/platform/provider_mapping.rb +2 -269
  49. data/lib/chef/platform/provider_priority_map.rb +6 -69
  50. data/lib/chef/platform/query_helpers.rb +5 -0
  51. data/lib/chef/platform/resource_priority_map.rb +12 -15
  52. data/lib/chef/policy_builder/policyfile.rb +1 -0
  53. data/lib/chef/provider.rb +19 -0
  54. data/lib/chef/provider/directory.rb +3 -0
  55. data/lib/chef/provider/dsc_resource.rb +8 -1
  56. data/lib/chef/provider/file.rb +1 -0
  57. data/lib/chef/provider/group/aix.rb +1 -0
  58. data/lib/chef/provider/group/dscl.rb +1 -1
  59. data/lib/chef/provider/group/gpasswd.rb +1 -0
  60. data/lib/chef/provider/group/groupmod.rb +1 -1
  61. data/lib/chef/provider/group/pw.rb +1 -0
  62. data/lib/chef/provider/group/suse.rb +2 -0
  63. data/lib/chef/provider/group/usermod.rb +2 -1
  64. data/lib/chef/provider/group/windows.rb +1 -1
  65. data/lib/chef/provider/ifconfig.rb +2 -0
  66. data/lib/chef/provider/ifconfig/aix.rb +1 -0
  67. data/lib/chef/provider/ifconfig/debian.rb +2 -0
  68. data/lib/chef/provider/ifconfig/redhat.rb +1 -0
  69. data/lib/chef/provider/lwrp_base.rb +4 -0
  70. data/lib/chef/provider/mount.rb +0 -1
  71. data/lib/chef/provider/mount/aix.rb +1 -0
  72. data/lib/chef/provider/mount/mount.rb +2 -0
  73. data/lib/chef/provider/mount/solaris.rb +2 -0
  74. data/lib/chef/provider/package.rb +55 -0
  75. data/lib/chef/provider/package/aix.rb +7 -7
  76. data/lib/chef/provider/package/apt.rb +3 -3
  77. data/lib/chef/provider/package/dpkg.rb +4 -4
  78. data/lib/chef/provider/package/easy_install.rb +5 -5
  79. data/lib/chef/provider/package/freebsd/base.rb +2 -2
  80. data/lib/chef/provider/package/freebsd/pkg.rb +6 -6
  81. data/lib/chef/provider/package/freebsd/pkgng.rb +5 -5
  82. data/lib/chef/provider/package/freebsd/port.rb +4 -4
  83. data/lib/chef/provider/package/homebrew.rb +2 -2
  84. data/lib/chef/provider/package/ips.rb +4 -4
  85. data/lib/chef/provider/package/macports.rb +5 -6
  86. data/lib/chef/provider/package/openbsd.rb +4 -5
  87. data/lib/chef/provider/package/pacman.rb +4 -4
  88. data/lib/chef/provider/package/portage.rb +2 -0
  89. data/lib/chef/provider/package/rpm.rb +7 -8
  90. data/lib/chef/provider/package/rubygems.rb +5 -12
  91. data/lib/chef/provider/package/smartos.rb +4 -4
  92. data/lib/chef/provider/package/solaris.rb +7 -7
  93. data/lib/chef/provider/package/windows/msi.rb +1 -1
  94. data/lib/chef/provider/package/yum.rb +4 -6
  95. data/lib/chef/provider/package/zypper.rb +16 -14
  96. data/lib/chef/provider/powershell_script.rb +129 -47
  97. data/lib/chef/provider/remote_file/content.rb +4 -1
  98. data/lib/chef/provider/remote_file/local_file.rb +10 -4
  99. data/lib/chef/provider/service.rb +44 -0
  100. data/lib/chef/provider/service/freebsd.rb +1 -1
  101. data/lib/chef/provider/service/init.rb +1 -0
  102. data/lib/chef/provider/service/macosx.rb +1 -1
  103. data/lib/chef/provider/service/windows.rb +0 -1
  104. data/lib/chef/provider/user.rb +1 -1
  105. data/lib/chef/provider/user/aix.rb +3 -2
  106. data/lib/chef/provider/user/pw.rb +1 -0
  107. data/lib/chef/provider/user/solaris.rb +2 -0
  108. data/lib/chef/provider/user/useradd.rb +1 -0
  109. data/lib/chef/provider_resolver.rb +87 -134
  110. data/lib/chef/resource.rb +274 -68
  111. data/lib/chef/resource/apt_package.rb +0 -2
  112. data/lib/chef/resource/bash.rb +0 -2
  113. data/lib/chef/resource/batch.rb +1 -1
  114. data/lib/chef/resource/bff_package.rb +0 -7
  115. data/lib/chef/resource/breakpoint.rb +3 -6
  116. data/lib/chef/resource/chef_gem.rb +0 -3
  117. data/lib/chef/resource/cookbook_file.rb +1 -3
  118. data/lib/chef/resource/cron.rb +2 -4
  119. data/lib/chef/resource/csh.rb +0 -2
  120. data/lib/chef/resource/deploy.rb +9 -6
  121. data/lib/chef/resource/deploy_revision.rb +0 -14
  122. data/lib/chef/resource/directory.rb +2 -4
  123. data/lib/chef/resource/dpkg_package.rb +0 -5
  124. data/lib/chef/resource/dsc_resource.rb +2 -3
  125. data/lib/chef/resource/dsc_script.rb +2 -3
  126. data/lib/chef/resource/easy_install_package.rb +0 -7
  127. data/lib/chef/resource/env.rb +3 -3
  128. data/lib/chef/resource/erl_call.rb +2 -5
  129. data/lib/chef/resource/execute.rb +2 -4
  130. data/lib/chef/resource/file.rb +2 -4
  131. data/lib/chef/resource/freebsd_package.rb +0 -5
  132. data/lib/chef/resource/gem_package.rb +0 -3
  133. data/lib/chef/resource/git.rb +0 -3
  134. data/lib/chef/resource/group.rb +2 -4
  135. data/lib/chef/resource/homebrew_package.rb +0 -2
  136. data/lib/chef/resource/http_request.rb +3 -4
  137. data/lib/chef/resource/ifconfig.rb +3 -4
  138. data/lib/chef/resource/ips_package.rb +2 -2
  139. data/lib/chef/resource/link.rb +3 -5
  140. data/lib/chef/resource/log.rb +2 -4
  141. data/lib/chef/resource/lwrp_base.rb +10 -61
  142. data/lib/chef/resource/macosx_service.rb +1 -2
  143. data/lib/chef/resource/macports_package.rb +0 -7
  144. data/lib/chef/resource/mdadm.rb +2 -5
  145. data/lib/chef/resource/mount.rb +2 -4
  146. data/lib/chef/resource/ohai.rb +2 -4
  147. data/lib/chef/resource/openbsd_package.rb +0 -6
  148. data/lib/chef/resource/package.rb +9 -6
  149. data/lib/chef/resource/pacman_package.rb +0 -7
  150. data/lib/chef/resource/paludis_package.rb +2 -3
  151. data/lib/chef/resource/perl.rb +0 -3
  152. data/lib/chef/resource/portage_package.rb +0 -3
  153. data/lib/chef/resource/powershell_script.rb +1 -2
  154. data/lib/chef/resource/python.rb +0 -3
  155. data/lib/chef/resource/reboot.rb +1 -3
  156. data/lib/chef/resource/registry_key.rb +3 -5
  157. data/lib/chef/resource/remote_directory.rb +3 -5
  158. data/lib/chef/resource/remote_file.rb +4 -5
  159. data/lib/chef/resource/route.rb +3 -5
  160. data/lib/chef/resource/rpm_package.rb +0 -2
  161. data/lib/chef/resource/ruby.rb +0 -4
  162. data/lib/chef/resource/ruby_block.rb +2 -4
  163. data/lib/chef/resource/scm.rb +3 -5
  164. data/lib/chef/resource/script.rb +0 -3
  165. data/lib/chef/resource/service.rb +3 -5
  166. data/lib/chef/resource/smartos_package.rb +0 -9
  167. data/lib/chef/resource/solaris_package.rb +0 -10
  168. data/lib/chef/resource/subversion.rb +1 -3
  169. data/lib/chef/resource/template.rb +0 -4
  170. data/lib/chef/resource/timestamped_deploy.rb +0 -4
  171. data/lib/chef/resource/user.rb +2 -5
  172. data/lib/chef/resource/whyrun_safe_ruby_block.rb +0 -7
  173. data/lib/chef/resource/windows_package.rb +3 -3
  174. data/lib/chef/resource/windows_script.rb +2 -2
  175. data/lib/chef/resource/windows_service.rb +3 -3
  176. data/lib/chef/resource/yum_package.rb +0 -3
  177. data/lib/chef/resource/zypper_package.rb +27 -0
  178. data/lib/chef/resource_builder.rb +7 -0
  179. data/lib/chef/resource_reporter.rb +1 -1
  180. data/lib/chef/resource_resolver.rb +108 -62
  181. data/lib/chef/resources.rb +1 -0
  182. data/lib/chef/rest.rb +1 -0
  183. data/lib/chef/server_api.rb +2 -0
  184. data/lib/chef/user.rb +193 -42
  185. data/lib/chef/util/backup.rb +9 -1
  186. data/lib/chef/util/path_helper.rb +0 -1
  187. data/lib/chef/version.rb +1 -1
  188. data/spec/functional/audit/runner_spec.rb +22 -42
  189. data/spec/functional/mixin/powershell_out_spec.rb +43 -0
  190. data/spec/functional/resource/execute_spec.rb +9 -2
  191. data/spec/functional/resource/file_spec.rb +25 -0
  192. data/spec/functional/resource/group_spec.rb +5 -0
  193. data/spec/functional/resource/link_spec.rb +5 -11
  194. data/spec/functional/resource/powershell_spec.rb +40 -5
  195. data/spec/functional/resource/user/useradd_spec.rb +10 -18
  196. data/spec/integration/recipes/lwrp_spec.rb +57 -0
  197. data/spec/integration/recipes/provider_choice.rb +2 -7
  198. data/spec/integration/recipes/recipe_dsl_spec.rb +517 -19
  199. data/spec/spec_helper.rb +1 -1
  200. data/spec/support/lib/chef/provider/openldap_includer.rb +29 -0
  201. data/spec/support/lib/chef/resource/cat.rb +0 -2
  202. data/spec/support/lib/chef/resource/one_two_three_four.rb +0 -6
  203. data/spec/support/lib/chef/resource/openldap_includer.rb +27 -0
  204. data/spec/support/lib/chef/resource/with_state.rb +0 -9
  205. data/spec/support/lib/chef/resource/zen_follower.rb +0 -6
  206. data/spec/support/lib/chef/resource/zen_master.rb +1 -6
  207. data/spec/support/shared/context/client.rb +277 -0
  208. data/spec/support/shared/examples/client.rb +53 -0
  209. data/spec/support/shared/functional/file_resource.rb +0 -4
  210. data/spec/support/shared/functional/securable_resource.rb +0 -24
  211. data/spec/support/shared/functional/securable_resource_with_reporting.rb +4 -4
  212. data/spec/support/shared/functional/windows_script.rb +1 -1
  213. data/spec/support/shared/unit/api_versioning.rb +77 -0
  214. data/spec/support/shared/unit/knife_shared.rb +40 -0
  215. data/spec/support/shared/unit/user_and_client_shared.rb +115 -0
  216. data/spec/unit/api_client_spec.rb +189 -14
  217. data/spec/unit/application/client_spec.rb +0 -5
  218. data/spec/unit/audit/audit_reporter_spec.rb +58 -14
  219. data/spec/unit/audit/logger_spec.rb +42 -0
  220. data/spec/unit/audit/runner_spec.rb +2 -2
  221. data/spec/unit/chef_fs/file_pattern_spec.rb +3 -15
  222. data/spec/unit/client_spec.rb +58 -374
  223. data/spec/unit/cookbook_spec.rb +0 -9
  224. data/spec/unit/cookbook_version_spec.rb +0 -20
  225. data/spec/unit/deprecation_spec.rb +55 -0
  226. data/spec/unit/dsl/resources_spec.rb +85 -0
  227. data/spec/unit/exceptions_spec.rb +2 -2
  228. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +60 -0
  229. data/spec/unit/formatters/doc_spec.rb +46 -0
  230. data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +12 -10
  231. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +8 -0
  232. data/spec/unit/http/authenticator_spec.rb +11 -2
  233. data/spec/unit/knife/client_create_spec.rb +122 -51
  234. data/spec/unit/knife/core/subcommand_loader_spec.rb +19 -3
  235. data/spec/unit/knife/core/ui_spec.rb +14 -0
  236. data/spec/unit/knife/osc_user_create_spec.rb +93 -0
  237. data/spec/unit/knife/osc_user_delete_spec.rb +44 -0
  238. data/spec/unit/knife/osc_user_edit_spec.rb +52 -0
  239. data/spec/unit/knife/osc_user_list_spec.rb +37 -0
  240. data/spec/unit/knife/osc_user_reregister_spec.rb +58 -0
  241. data/spec/unit/knife/osc_user_show_spec.rb +46 -0
  242. data/spec/unit/knife/user_create_spec.rb +177 -51
  243. data/spec/unit/knife/user_delete_spec.rb +34 -8
  244. data/spec/unit/knife/user_edit_spec.rb +31 -12
  245. data/spec/unit/knife/user_list_spec.rb +7 -3
  246. data/spec/unit/knife/user_reregister_spec.rb +38 -17
  247. data/spec/unit/knife/user_show_spec.rb +35 -11
  248. data/spec/unit/knife_spec.rb +10 -4
  249. data/spec/unit/lwrp_spec.rb +228 -54
  250. data/spec/unit/mixin/api_version_request_handling_spec.rb +127 -0
  251. data/spec/unit/mixin/command_spec.rb +1 -2
  252. data/spec/unit/mixin/powershell_out_spec.rb +70 -0
  253. data/spec/unit/mixin/uris_spec.rb +23 -11
  254. data/spec/unit/node_map_spec.rb +4 -1
  255. data/spec/unit/osc_user_spec.rb +276 -0
  256. data/spec/unit/platform_spec.rb +0 -60
  257. data/spec/unit/provider/deploy_spec.rb +1 -1
  258. data/spec/unit/provider/directory_spec.rb +199 -135
  259. data/spec/unit/provider/ifconfig/debian_spec.rb +0 -10
  260. data/spec/unit/provider/package/aix_spec.rb +16 -16
  261. data/spec/unit/provider/package/dpkg_spec.rb +2 -2
  262. data/spec/unit/provider/package/freebsd/pkg_spec.rb +13 -13
  263. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +9 -9
  264. data/spec/unit/provider/package/freebsd/port_spec.rb +7 -7
  265. data/spec/unit/provider/package/ips_spec.rb +22 -22
  266. data/spec/unit/provider/package/macports_spec.rb +10 -10
  267. data/spec/unit/provider/package/openbsd_spec.rb +4 -26
  268. data/spec/unit/provider/package/pacman_spec.rb +5 -5
  269. data/spec/unit/provider/package/rpm_spec.rb +14 -14
  270. data/spec/unit/provider/package/rubygems_spec.rb +10 -44
  271. data/spec/unit/provider/package/smartos_spec.rb +4 -4
  272. data/spec/unit/provider/package/solaris_spec.rb +11 -11
  273. data/spec/unit/provider/package/zypper_spec.rb +125 -90
  274. data/spec/unit/provider/package_spec.rb +34 -0
  275. data/spec/unit/provider/powershell_spec.rb +53 -11
  276. data/spec/unit/provider/remote_directory_spec.rb +2 -2
  277. data/spec/unit/provider/remote_file/local_file_spec.rb +25 -6
  278. data/spec/unit/provider/service/freebsd_service_spec.rb +0 -12
  279. data/spec/unit/provider/user_spec.rb +3 -3
  280. data/spec/unit/provider_resolver_spec.rb +463 -327
  281. data/spec/unit/recipe_spec.rb +42 -15
  282. data/spec/unit/resource/breakpoint_spec.rb +1 -1
  283. data/spec/unit/resource/erl_call_spec.rb +1 -1
  284. data/spec/unit/resource/file_spec.rb +1 -1
  285. data/spec/unit/resource/ifconfig_spec.rb +10 -6
  286. data/spec/unit/resource/remote_file_spec.rb +5 -0
  287. data/spec/unit/resource/route_spec.rb +1 -1
  288. data/spec/unit/resource/ruby_block_spec.rb +2 -2
  289. data/spec/unit/resource/template_spec.rb +1 -1
  290. data/spec/unit/resource/timestamped_deploy_spec.rb +1 -2
  291. data/spec/unit/resource/windows_service_spec.rb +1 -1
  292. data/spec/unit/resource_spec.rb +99 -13
  293. data/spec/unit/rest_spec.rb +5 -5
  294. data/spec/unit/run_context_spec.rb +41 -0
  295. data/spec/unit/runner_spec.rb +2 -2
  296. data/spec/unit/user_spec.rb +406 -93
  297. data/tasks/maintainers.rb +69 -0
  298. metadata +37 -4
@@ -105,7 +105,7 @@ EOF
105
105
  it "should run the port install command with the correct version" do
106
106
  expect(@current_resource).to receive(:version).and_return("4.1.6")
107
107
  @provider.current_resource = @current_resource
108
- expect(@provider).to receive(:shell_out!).with("port install zsh @4.2.7")
108
+ expect(@provider).to receive(:shell_out!).with("port install zsh @4.2.7", timeout: 900)
109
109
 
110
110
  @provider.install_package("zsh", "4.2.7")
111
111
  end
@@ -122,7 +122,7 @@ EOF
122
122
  expect(@current_resource).to receive(:version).and_return("4.1.6")
123
123
  @provider.current_resource = @current_resource
124
124
  allow(@new_resource).to receive(:options).and_return("-f")
125
- expect(@provider).to receive(:shell_out!).with("port -f install zsh @4.2.7")
125
+ expect(@provider).to receive(:shell_out!).with("port -f install zsh @4.2.7", timeout: 900)
126
126
 
127
127
  @provider.install_package("zsh", "4.2.7")
128
128
  end
@@ -130,36 +130,36 @@ EOF
130
130
 
131
131
  describe "purge_package" do
132
132
  it "should run the port uninstall command with the correct version" do
133
- expect(@provider).to receive(:shell_out!).with("port uninstall zsh @4.2.7")
133
+ expect(@provider).to receive(:shell_out!).with("port uninstall zsh @4.2.7", timeout: 900)
134
134
  @provider.purge_package("zsh", "4.2.7")
135
135
  end
136
136
 
137
137
  it "should purge the currently active version if no explicit version is passed in" do
138
- expect(@provider).to receive(:shell_out!).with("port uninstall zsh")
138
+ expect(@provider).to receive(:shell_out!).with("port uninstall zsh", timeout: 900)
139
139
  @provider.purge_package("zsh", nil)
140
140
  end
141
141
 
142
142
  it "should add options to the port command when specified" do
143
143
  allow(@new_resource).to receive(:options).and_return("-f")
144
- expect(@provider).to receive(:shell_out!).with("port -f uninstall zsh @4.2.7")
144
+ expect(@provider).to receive(:shell_out!).with("port -f uninstall zsh @4.2.7", timeout: 900)
145
145
  @provider.purge_package("zsh", "4.2.7")
146
146
  end
147
147
  end
148
148
 
149
149
  describe "remove_package" do
150
150
  it "should run the port deactivate command with the correct version" do
151
- expect(@provider).to receive(:shell_out!).with("port deactivate zsh @4.2.7")
151
+ expect(@provider).to receive(:shell_out!).with("port deactivate zsh @4.2.7", timeout: 900)
152
152
  @provider.remove_package("zsh", "4.2.7")
153
153
  end
154
154
 
155
155
  it "should remove the currently active version if no explicit version is passed in" do
156
- expect(@provider).to receive(:shell_out!).with("port deactivate zsh")
156
+ expect(@provider).to receive(:shell_out!).with("port deactivate zsh", timeout: 900)
157
157
  @provider.remove_package("zsh", nil)
158
158
  end
159
159
 
160
160
  it "should add options to the port command when specified" do
161
161
  allow(@new_resource).to receive(:options).and_return("-f")
162
- expect(@provider).to receive(:shell_out!).with("port -f deactivate zsh @4.2.7")
162
+ expect(@provider).to receive(:shell_out!).with("port -f deactivate zsh @4.2.7", timeout: 900)
163
163
  @provider.remove_package("zsh", "4.2.7")
164
164
  end
165
165
  end
@@ -169,7 +169,7 @@ EOF
169
169
  expect(@current_resource).to receive(:version).at_least(:once).and_return("4.1.6")
170
170
  @provider.current_resource = @current_resource
171
171
 
172
- expect(@provider).to receive(:shell_out!).with("port upgrade zsh @4.2.7")
172
+ expect(@provider).to receive(:shell_out!).with("port upgrade zsh @4.2.7", timeout: 900)
173
173
 
174
174
  @provider.upgrade_package("zsh", "4.2.7")
175
175
  end
@@ -195,7 +195,7 @@ EOF
195
195
  expect(@current_resource).to receive(:version).at_least(:once).and_return("4.1.6")
196
196
  @provider.current_resource = @current_resource
197
197
 
198
- expect(@provider).to receive(:shell_out!).with("port -f upgrade zsh @4.2.7")
198
+ expect(@provider).to receive(:shell_out!).with("port -f upgrade zsh @4.2.7", timeout: 900)
199
199
 
200
200
  @provider.upgrade_package("zsh", "4.2.7")
201
201
  end
@@ -50,25 +50,13 @@ describe Chef::Provider::Package::Openbsd do
50
50
 
51
51
  context 'when there is a single candidate' do
52
52
 
53
- context 'when installing from source' do
54
- it 'should run the installation command' do
55
- pending('Installing from source is not supported yet')
56
- # This is a consequence of load_current_resource being called before define_resource_requirements
57
- # It can be deleted once an implementation is provided
58
- allow(provider).to receive(:shell_out!).with("pkg_info -I \"#{name}\"", anything()).and_return(
59
- instance_double('shellout', :stdout => "#{name}-#{version}\n"))
60
- new_resource.source('/some/path/on/disk.tgz')
61
- provider.run_action(:install)
62
- end
63
- end
64
-
65
53
  context 'when source is not provided' do
66
54
  it 'should run the installation command' do
67
55
  expect(provider).to receive(:shell_out!).with("pkg_info -I \"#{name}\"", anything()).and_return(
68
56
  instance_double('shellout', :stdout => "#{name}-#{version}\n"))
69
57
  expect(provider).to receive(:shell_out!).with(
70
58
  "pkg_add -r #{name}-#{version}",
71
- {:env => {"PKG_PATH" => "http://ftp.OpenBSD.org/pub/OpenBSD/5.5/packages/amd64/"}}
59
+ {:env => {"PKG_PATH" => "http://ftp.OpenBSD.org/pub/OpenBSD/5.5/packages/amd64/"}, timeout: 900}
72
60
  ) {OpenStruct.new :status => true}
73
61
  provider.run_action(:install)
74
62
  end
@@ -100,21 +88,12 @@ describe Chef::Provider::Package::Openbsd do
100
88
  instance_double('shellout', :stdout => "#{name}-#{version}-#{flavor}\n"))
101
89
  expect(provider).to receive(:shell_out!).with(
102
90
  "pkg_add -r #{name}-#{version}-#{flavor}",
103
- {:env => {"PKG_PATH" => "http://ftp.OpenBSD.org/pub/OpenBSD/5.5/packages/amd64/"}}
91
+ {env: {"PKG_PATH" => "http://ftp.OpenBSD.org/pub/OpenBSD/5.5/packages/amd64/"}, timeout: 900}
104
92
  ) {OpenStruct.new :status => true}
105
93
  provider.run_action(:install)
106
94
  end
107
95
  end
108
96
 
109
- context 'if a version is specified' do
110
- it 'runs the installation command' do
111
- pending('Specifying both a version and flavor is not supported')
112
- new_resource.version(version)
113
- allow(provider).to receive(:shell_out!).with(/pkg_info -e/, anything()).and_return(instance_double('shellout', :stdout => ''))
114
- allow(provider).to receive(:candidate_version).and_return("#{package_name}-#{version}-#{flavor}")
115
- provider.run_action(:install)
116
- end
117
- end
118
97
  end
119
98
 
120
99
  context 'if a version is specified' do
@@ -125,7 +104,7 @@ describe Chef::Provider::Package::Openbsd do
125
104
  new_resource.version("#{version}-#{flavor_b}")
126
105
  expect(provider).to receive(:shell_out!).with(
127
106
  "pkg_add -r #{name}-#{version}-#{flavor_b}",
128
- {:env => {"PKG_PATH" => "http://ftp.OpenBSD.org/pub/OpenBSD/5.5/packages/amd64/"}}
107
+ {env: {"PKG_PATH" => "http://ftp.OpenBSD.org/pub/OpenBSD/5.5/packages/amd64/"}, timeout: 900}
129
108
  ) {OpenStruct.new :status => true}
130
109
  provider.run_action(:install)
131
110
  end
@@ -144,11 +123,10 @@ describe Chef::Provider::Package::Openbsd do
144
123
  end
145
124
  it "should run the command to delete the installed package" do
146
125
  expect(@provider).to receive(:shell_out!).with(
147
- "pkg_delete #{@name}", :env=>nil
126
+ "pkg_delete #{@name}", env: nil, timeout: 900
148
127
  ) {OpenStruct.new :status => true}
149
128
  @provider.remove_package(@name, nil)
150
129
  end
151
130
  end
152
131
 
153
132
  end
154
-
@@ -51,7 +51,7 @@ ERR
51
51
  end
52
52
 
53
53
  it "should run pacman query with the package name" do
54
- expect(@provider).to receive(:shell_out).with("pacman -Qi #{@new_resource.package_name}").and_return(@status)
54
+ expect(@provider).to receive(:shell_out).with("pacman -Qi #{@new_resource.package_name}", {timeout: 900}).and_return(@status)
55
55
  @provider.load_current_resource
56
56
  end
57
57
 
@@ -152,12 +152,12 @@ PACMAN_CONF
152
152
 
153
153
  describe Chef::Provider::Package::Pacman, "install_package" do
154
154
  it "should run pacman install with the package name and version" do
155
- expect(@provider).to receive(:shell_out!).with("pacman --sync --noconfirm --noprogressbar nano")
155
+ expect(@provider).to receive(:shell_out!).with("pacman --sync --noconfirm --noprogressbar nano", {timeout: 900})
156
156
  @provider.install_package("nano", "1.0")
157
157
  end
158
158
 
159
159
  it "should run pacman install with the package name and version and options if specified" do
160
- expect(@provider).to receive(:shell_out!).with("pacman --sync --noconfirm --noprogressbar --debug nano")
160
+ expect(@provider).to receive(:shell_out!).with("pacman --sync --noconfirm --noprogressbar --debug nano", {timeout: 900})
161
161
  allow(@new_resource).to receive(:options).and_return("--debug")
162
162
 
163
163
  @provider.install_package("nano", "1.0")
@@ -173,12 +173,12 @@ PACMAN_CONF
173
173
 
174
174
  describe Chef::Provider::Package::Pacman, "remove_package" do
175
175
  it "should run pacman remove with the package name" do
176
- expect(@provider).to receive(:shell_out!).with("pacman --remove --noconfirm --noprogressbar nano")
176
+ expect(@provider).to receive(:shell_out!).with("pacman --remove --noconfirm --noprogressbar nano", {timeout: 900})
177
177
  @provider.remove_package("nano", "1.0")
178
178
  end
179
179
 
180
180
  it "should run pacman remove with the package name and options if specified" do
181
- expect(@provider).to receive(:shell_out!).with("pacman --remove --noconfirm --noprogressbar --debug nano")
181
+ expect(@provider).to receive(:shell_out!).with("pacman --remove --noconfirm --noprogressbar --debug nano", {timeout: 900})
182
182
  allow(@new_resource).to receive(:options).and_return("--debug")
183
183
 
184
184
  @provider.remove_package("nano", "1.0")
@@ -57,16 +57,16 @@ describe Chef::Provider::Package::Rpm do
57
57
  let(:stdout) { "ImageMagick-c++ 6.5.4.7-7.el6_5" }
58
58
 
59
59
  it "should get the source package version from rpm if provided" do
60
- expect(provider).to receive(:shell_out!).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm").and_return(status)
61
- expect(provider).to receive(:shell_out).with("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' ImageMagick-c++").and_return(status)
60
+ expect(provider).to receive(:shell_out!).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm", timeout: 900).and_return(status)
61
+ expect(provider).to receive(:shell_out).with("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' ImageMagick-c++", timeout: 900).and_return(status)
62
62
  provider.load_current_resource
63
63
  expect(provider.current_resource.package_name).to eq("ImageMagick-c++")
64
64
  expect(provider.new_resource.version).to eq("6.5.4.7-7.el6_5")
65
65
  end
66
66
 
67
67
  it "should return the current version installed if found by rpm" do
68
- expect(provider).to receive(:shell_out!).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm").and_return(status)
69
- expect(provider).to receive(:shell_out).with("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' ImageMagick-c++").and_return(status)
68
+ expect(provider).to receive(:shell_out!).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm", timeout: 900).and_return(status)
69
+ expect(provider).to receive(:shell_out).with("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' ImageMagick-c++", timeout: 900).and_return(status)
70
70
  provider.load_current_resource
71
71
  expect(provider.current_resource.version).to eq("6.5.4.7-7.el6_5")
72
72
  end
@@ -121,8 +121,8 @@ describe Chef::Provider::Package::Rpm do
121
121
  end
122
122
 
123
123
  it "should not detect the package name as version when not installed" do
124
- expect(provider).to receive(:shell_out!).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' openssh-askpass").and_return(status)
125
- expect(provider).to receive(:shell_out).with("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' openssh-askpass").and_return(status)
124
+ expect(provider).to receive(:shell_out!).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' openssh-askpass", timeout: 900).and_return(status)
125
+ expect(provider).to receive(:shell_out).with("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' openssh-askpass", timeout: 900).and_return(status)
126
126
  provider.load_current_resource
127
127
  expect(provider.current_resource.version).to be_nil
128
128
  end
@@ -139,19 +139,19 @@ describe Chef::Provider::Package::Rpm do
139
139
 
140
140
  describe "when installing or upgrading" do
141
141
  it "should run rpm -i with the package source to install" do
142
- expect(provider).to receive(:shell_out!).with("rpm -i /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm")
142
+ expect(provider).to receive(:shell_out!).with("rpm -i /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm", timeout: 900)
143
143
  provider.install_package("ImageMagick-c++", "6.5.4.7-7.el6_5")
144
144
  end
145
145
 
146
146
  it "should run rpm -U with the package source to upgrade" do
147
147
  current_resource.version("21.4-19.el5")
148
- expect(provider).to receive(:shell_out!).with("rpm -U /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm")
148
+ expect(provider).to receive(:shell_out!).with("rpm -U /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm", timeout: 900)
149
149
  provider.upgrade_package("ImageMagick-c++", "6.5.4.7-7.el6_5")
150
150
  end
151
151
 
152
152
  it "should install package if missing and set to upgrade" do
153
153
  current_resource.version("ImageMagick-c++")
154
- expect(provider).to receive(:shell_out!).with("rpm -U /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm")
154
+ expect(provider).to receive(:shell_out!).with("rpm -U /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm", timeout: 900)
155
155
  provider.upgrade_package("ImageMagick-c++", "6.5.4.7-7.el6_5")
156
156
  end
157
157
 
@@ -162,7 +162,7 @@ describe Chef::Provider::Package::Rpm do
162
162
  it "should run rpm -U --oldpackage with the package source to downgrade" do
163
163
  new_resource.allow_downgrade(true)
164
164
  current_resource.version("21.4-19.el5")
165
- expect(provider).to receive(:shell_out!).with("rpm -U --oldpackage /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm")
165
+ expect(provider).to receive(:shell_out!).with("rpm -U --oldpackage /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm", timeout: 900)
166
166
  provider.upgrade_package("ImageMagick-c++", "6.5.4.7-7.el6_5")
167
167
  end
168
168
  end
@@ -174,7 +174,7 @@ describe Chef::Provider::Package::Rpm do
174
174
  it "should install from a path when the package is a path and the source is nil" do
175
175
  expect(new_resource.source).to eq("/tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm")
176
176
  provider.current_resource = current_resource
177
- expect(provider).to receive(:shell_out!).with("rpm -i /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm")
177
+ expect(provider).to receive(:shell_out!).with("rpm -i /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm", timeout: 900)
178
178
  provider.install_package("/tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm", "6.5.4.7-7.el6_5")
179
179
  end
180
180
 
@@ -182,7 +182,7 @@ describe Chef::Provider::Package::Rpm do
182
182
  expect(new_resource.source).to eq("/tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm")
183
183
  current_resource.version("21.4-19.el5")
184
184
  provider.current_resource = current_resource
185
- expect(provider).to receive(:shell_out!).with("rpm -U /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm")
185
+ expect(provider).to receive(:shell_out!).with("rpm -U /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm", timeout: 900)
186
186
  provider.upgrade_package("/tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm", "6.5.4.7-7.el6_5")
187
187
  end
188
188
  end
@@ -190,14 +190,14 @@ describe Chef::Provider::Package::Rpm do
190
190
  it "installs with custom options specified in the resource" do
191
191
  provider.candidate_version = '11'
192
192
  new_resource.options("--dbpath /var/lib/rpm")
193
- expect(provider).to receive(:shell_out!).with("rpm --dbpath /var/lib/rpm -i /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm")
193
+ expect(provider).to receive(:shell_out!).with("rpm --dbpath /var/lib/rpm -i /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm", timeout: 900)
194
194
  provider.install_package(new_resource.name, provider.candidate_version)
195
195
  end
196
196
  end
197
197
 
198
198
  describe "when removing the package" do
199
199
  it "should run rpm -e to remove the package" do
200
- expect(provider).to receive(:shell_out!).with("rpm -e ImageMagick-c++-6.5.4.7-7.el6_5")
200
+ expect(provider).to receive(:shell_out!).with("rpm -e ImageMagick-c++-6.5.4.7-7.el6_5", timeout: 900)
201
201
  provider.remove_package("ImageMagick-c++", "6.5.4.7-7.el6_5")
202
202
  end
203
203
  end
@@ -107,38 +107,6 @@ describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
107
107
  expect(@gem_env.candidate_version_from_remote(Gem::Dependency.new('rspec', '>= 0'))).to eq(Gem::Version.new('1.3.0'))
108
108
  end
109
109
 
110
- context "when rubygems was upgraded from 1.8->2.0" do
111
- # https://github.com/rubygems/rubygems/issues/404
112
- # tl;dr rubygems 1.8 and 2.0 can both be in the load path, which means that
113
- # require "rubygems/format" will load even though rubygems 2.0 doesn't have
114
- # that file.
115
-
116
- before do
117
- if defined?(Gem::Format)
118
- # tests are running under rubygems 1.8, or 2.0 upgraded from 1.8
119
- @remove_gem_format = false
120
- else
121
- Gem.const_set(:Format, Object.new)
122
- @remove_gem_format = true
123
- end
124
- allow(Gem::Package).to receive(:respond_to?).and_call_original
125
- allow(Gem::Package).to receive(:respond_to?).with(:open).and_return(false)
126
- end
127
-
128
- after do
129
- if @remove_gem_format
130
- Gem.send(:remove_const, :Format)
131
- end
132
- end
133
-
134
- it "finds a matching gem candidate version on rubygems 2.0+ with some rubygems 1.8 code loaded" do
135
- package = double("Gem::Package", :spec => "a gemspec from package")
136
- expect(Gem::Package).to receive(:new).with("/path/to/package.gem").and_return(package)
137
- expect(@gem_env.spec_from_file("/path/to/package.gem")).to eq("a gemspec from package")
138
- end
139
-
140
- end
141
-
142
110
  it "gives the candidate version as nil if none is found" do
143
111
  dep = Gem::Dependency.new('rspec', '>= 0')
144
112
  latest = []
@@ -222,8 +190,6 @@ describe Chef::Provider::Package::Rubygems::AlternateGemEnvironment do
222
190
  end
223
191
 
224
192
  it "uses the cached result for gem paths when available" do
225
- gem_env_output = ['/path/to/gems', '/another/path/to/gems'].join(File::PATH_SEPARATOR)
226
- shell_out_result = OpenStruct.new(:stdout => gem_env_output)
227
193
  expect(@gem_env).not_to receive(:shell_out!)
228
194
  expected = ['/path/to/gems', '/another/path/to/gems']
229
195
  Chef::Provider::Package::Rubygems::AlternateGemEnvironment.gempath_cache['/usr/weird/bin/gem']= expected
@@ -261,7 +227,7 @@ describe Chef::Provider::Package::Rubygems::AlternateGemEnvironment do
261
227
  else
262
228
  `which gem`.strip
263
229
  end
264
- pending("cant find your gem executable") if path_to_gem.empty?
230
+ skip("cant find your gem executable") if path_to_gem.empty?
265
231
  gem_env = Chef::Provider::Package::Rubygems::AlternateGemEnvironment.new(path_to_gem)
266
232
  expected = ['rspec-core', Gem::Version.new(RSpec::Core::Version::STRING)]
267
233
  actual = gem_env.installed_versions(Gem::Dependency.new('rspec-core', nil)).map { |s| [s.name, s.version] }
@@ -542,7 +508,7 @@ describe Chef::Provider::Package::Rubygems do
542
508
  it "installs the gem by shelling out when options are provided as a String" do
543
509
  @new_resource.options('-i /alt/install/location')
544
510
  expected ="gem install rspec-core -q --no-rdoc --no-ri -v \"#{@spec_version}\" -i /alt/install/location"
545
- expect(@provider).to receive(:shell_out!).with(expected, :env => nil)
511
+ expect(@provider).to receive(:shell_out!).with(expected, env: nil, timeout: 900)
546
512
  @provider.run_action(:install)
547
513
  expect(@new_resource).to be_updated_by_last_action
548
514
  end
@@ -551,7 +517,7 @@ describe Chef::Provider::Package::Rubygems do
551
517
  @new_resource.gem_binary('/foo/bar')
552
518
  @new_resource.source('http://mirror.ops.rhcloud.com/mirror/ruby')
553
519
  expected ="/foo/bar install rspec-core -q --no-rdoc --no-ri -v \"#{@spec_version}\" --source=#{@new_resource.source} --source=https://rubygems.org"
554
- expect(@provider).to receive(:shell_out!).with(expected, :env => nil)
520
+ expect(@provider).to receive(:shell_out!).with(expected, env: nil, timeout: 900)
555
521
  @provider.run_action(:install)
556
522
  expect(@new_resource).to be_updated_by_last_action
557
523
  end
@@ -561,7 +527,7 @@ describe Chef::Provider::Package::Rubygems do
561
527
  @new_resource.source('http://mirror.ops.rhcloud.com/mirror/ruby')
562
528
  @new_resource.clear_sources(true)
563
529
  expected ="/foo/bar install rspec-core -q --no-rdoc --no-ri -v \"#{@spec_version}\" --clear-sources --source=#{@new_resource.source}"
564
- expect(@provider).to receive(:shell_out!).with(expected, :env => nil)
530
+ expect(@provider).to receive(:shell_out!).with(expected, env: nil, timeout: 900)
565
531
  @provider.run_action(:install)
566
532
  expect(@new_resource).to be_updated_by_last_action
567
533
  end
@@ -572,7 +538,7 @@ describe Chef::Provider::Package::Rubygems do
572
538
  it "installs the gem by shelling out when options are provided but no version is given" do
573
539
  @new_resource.options('-i /alt/install/location')
574
540
  expected ="gem install rspec-core -q --no-rdoc --no-ri -v \"#{@provider.candidate_version}\" -i /alt/install/location"
575
- expect(@provider).to receive(:shell_out!).with(expected, :env => nil)
541
+ expect(@provider).to receive(:shell_out!).with(expected, env: nil, timeout: 900)
576
542
  @provider.run_action(:install)
577
543
  expect(@new_resource).to be_updated_by_last_action
578
544
  end
@@ -618,7 +584,7 @@ describe Chef::Provider::Package::Rubygems do
618
584
  describe "in an alternate gem environment" do
619
585
  it "installs the gem by shelling out to gem install" do
620
586
  @new_resource.gem_binary('/usr/weird/bin/gem')
621
- expect(@provider).to receive(:shell_out!).with("/usr/weird/bin/gem install rspec-core -q --no-rdoc --no-ri -v \"#{@spec_version}\"", :env=>nil)
587
+ expect(@provider).to receive(:shell_out!).with("/usr/weird/bin/gem install rspec-core -q --no-rdoc --no-ri -v \"#{@spec_version}\"", env: nil, timeout: 900)
622
588
  @provider.run_action(:install)
623
589
  expect(@new_resource).to be_updated_by_last_action
624
590
  end
@@ -627,7 +593,7 @@ describe Chef::Provider::Package::Rubygems do
627
593
  @new_resource.gem_binary('/usr/weird/bin/gem')
628
594
  @new_resource.source(CHEF_SPEC_DATA + '/gems/chef-integration-test-0.1.0.gem')
629
595
  @new_resource.version('>= 0')
630
- expect(@provider).to receive(:shell_out!).with("/usr/weird/bin/gem install #{CHEF_SPEC_DATA}/gems/chef-integration-test-0.1.0.gem -q --no-rdoc --no-ri -v \">= 0\"", :env=>nil)
596
+ expect(@provider).to receive(:shell_out!).with("/usr/weird/bin/gem install #{CHEF_SPEC_DATA}/gems/chef-integration-test-0.1.0.gem -q --no-rdoc --no-ri -v \">= 0\"", env: nil, timeout: 900)
631
597
  @provider.run_action(:install)
632
598
  expect(@new_resource).to be_updated_by_last_action
633
599
  end
@@ -639,7 +605,7 @@ describe Chef::Provider::Package::Rubygems do
639
605
  @new_resource.gem_binary('/usr/weird/bin/gem')
640
606
  @new_resource.version('>= 0')
641
607
  expect(@new_resource.source).to eq(CHEF_SPEC_DATA + '/gems/chef-integration-test-0.1.0.gem')
642
- expect(@provider).to receive(:shell_out!).with("/usr/weird/bin/gem install #{CHEF_SPEC_DATA}/gems/chef-integration-test-0.1.0.gem -q --no-rdoc --no-ri -v \">= 0\"", :env=>nil)
608
+ expect(@provider).to receive(:shell_out!).with("/usr/weird/bin/gem install #{CHEF_SPEC_DATA}/gems/chef-integration-test-0.1.0.gem -q --no-rdoc --no-ri -v \">= 0\"", env: nil, timeout: 900)
643
609
  @provider.run_action(:install)
644
610
  expect(@new_resource).to be_updated_by_last_action
645
611
  end
@@ -678,7 +644,7 @@ describe Chef::Provider::Package::Rubygems do
678
644
 
679
645
  it "uninstalls via the gem command when options are given as a String" do
680
646
  @new_resource.options('-i /alt/install/location')
681
- expect(@provider).to receive(:shell_out!).with("gem uninstall rspec -q -x -I -a -i /alt/install/location", :env=>nil)
647
+ expect(@provider).to receive(:shell_out!).with("gem uninstall rspec -q -x -I -a -i /alt/install/location", env: nil, timeout: 900)
682
648
  @provider.action_remove
683
649
  end
684
650
 
@@ -692,7 +658,7 @@ describe Chef::Provider::Package::Rubygems do
692
658
  describe "in an alternate gem environment" do
693
659
  it "uninstalls via the gem command" do
694
660
  @new_resource.gem_binary('/usr/weird/bin/gem')
695
- expect(@provider).to receive(:shell_out!).with("/usr/weird/bin/gem uninstall rspec -q -x -I -a", :env=>nil)
661
+ expect(@provider).to receive(:shell_out!).with("/usr/weird/bin/gem uninstall rspec -q -x -I -a", env: nil, timeout: 900)
696
662
  @provider.action_remove
697
663
  end
698
664
  end
@@ -82,7 +82,7 @@ describe Chef::Provider::Package::SmartOS, "load_current_resource" do
82
82
  and_yield("something-varnish-1.1.1 something varnish like\n").
83
83
  and_yield("varnish-2.3.4 actual varnish\n")
84
84
  @shell_out = double('shell_out!', :stdout => search)
85
- expect(@provider).to receive(:shell_out!).with('/opt/local/bin/pkgin', 'se', 'varnish', :env => nil, :returns => [0,1]).and_return(@shell_out)
85
+ expect(@provider).to receive(:shell_out!).with('/opt/local/bin/pkgin', 'se', 'varnish', :env => nil, :returns => [0,1], :timeout=>900).and_return(@shell_out)
86
86
  expect(@provider.candidate_version).to eq("2.3.4")
87
87
  end
88
88
 
@@ -92,7 +92,7 @@ describe Chef::Provider::Package::SmartOS, "load_current_resource" do
92
92
  and_yield("something-varnish-1.1.1;;something varnish like\n").
93
93
  and_yield("varnish-2.3.4;;actual varnish\n")
94
94
  @shell_out = double('shell_out!', :stdout => search)
95
- expect(@provider).to receive(:shell_out!).with('/opt/local/bin/pkgin', 'se', 'varnish', :env => nil, :returns => [0,1]).and_return(@shell_out)
95
+ expect(@provider).to receive(:shell_out!).with('/opt/local/bin/pkgin', 'se', 'varnish', :env => nil, :returns => [0,1], :timeout=>900).and_return(@shell_out)
96
96
  expect(@provider.candidate_version).to eq("2.3.4")
97
97
  end
98
98
  end
@@ -101,8 +101,8 @@ describe Chef::Provider::Package::SmartOS, "load_current_resource" do
101
101
 
102
102
  it "run pkgin and install the package" do
103
103
  out = OpenStruct.new(:stdout => nil)
104
- expect(@provider).to receive(:shell_out!).with("/opt/local/sbin/pkg_info", "-E", "varnish*", {:env => nil, :returns=>[0,1]}).and_return(@shell_out)
105
- expect(@provider).to receive(:shell_out!).with("/opt/local/bin/pkgin", "-y", "install", "varnish-2.1.5nb2", {:env=>nil}).and_return(out)
104
+ expect(@provider).to receive(:shell_out!).with("/opt/local/sbin/pkg_info", "-E", "varnish*", {:env => nil, :returns=>[0,1], :timeout=>900}).and_return(@shell_out)
105
+ expect(@provider).to receive(:shell_out!).with("/opt/local/bin/pkgin", "-y", "install", "varnish-2.1.5nb2", {:env=>nil, :timeout=>900}).and_return(out)
106
106
  @provider.load_current_resource
107
107
  @provider.install_package("varnish", "2.1.5nb2")
108
108
  end
@@ -71,8 +71,8 @@ PKGINFO
71
71
 
72
72
  it "should get the source package version from pkginfo if provided" do
73
73
  status = double(:stdout => @pkginfo, :exitstatus => 0)
74
- expect(@provider).to receive(:shell_out).with("pkginfo -l -d /tmp/bash.pkg SUNWbash").and_return(status)
75
- expect(@provider).to receive(:shell_out).with("pkginfo -l SUNWbash").and_return(@status)
74
+ expect(@provider).to receive(:shell_out).with("pkginfo -l -d /tmp/bash.pkg SUNWbash", { timeout: 900 }).and_return(status)
75
+ expect(@provider).to receive(:shell_out).with("pkginfo -l SUNWbash", { timeout: 900 }).and_return(@status)
76
76
  @provider.load_current_resource
77
77
 
78
78
  expect(@provider.current_resource.package_name).to eq("SUNWbash")
@@ -81,8 +81,8 @@ PKGINFO
81
81
 
82
82
  it "should return the current version installed if found by pkginfo" do
83
83
  status = double(:stdout => @pkginfo, :exitstatus => 0)
84
- expect(@provider).to receive(:shell_out).with("pkginfo -l -d /tmp/bash.pkg SUNWbash").and_return(@status)
85
- expect(@provider).to receive(:shell_out).with("pkginfo -l SUNWbash").and_return(status)
84
+ expect(@provider).to receive(:shell_out).with("pkginfo -l -d /tmp/bash.pkg SUNWbash", { timeout: 900 }).and_return(@status)
85
+ expect(@provider).to receive(:shell_out).with("pkginfo -l SUNWbash", { timeout: 900 }).and_return(status)
86
86
  @provider.load_current_resource
87
87
  expect(@provider.current_resource.version).to eq("11.10.0,REV=2005.01.08.05.16")
88
88
  end
@@ -101,8 +101,8 @@ PKGINFO
101
101
  end
102
102
 
103
103
  it "should return a current resource with a nil version if the package is not found" do
104
- expect(@provider).to receive(:shell_out).with("pkginfo -l -d /tmp/bash.pkg SUNWbash").and_return(@status)
105
- expect(@provider).to receive(:shell_out).with("pkginfo -l SUNWbash").and_return(@status)
104
+ expect(@provider).to receive(:shell_out).with("pkginfo -l -d /tmp/bash.pkg SUNWbash", { timeout: 900 }).and_return(@status)
105
+ expect(@provider).to receive(:shell_out).with("pkginfo -l SUNWbash", { timeout: 900 }).and_return(@status)
106
106
  @provider.load_current_resource
107
107
  expect(@provider.current_resource.version).to be_nil
108
108
  end
@@ -132,7 +132,7 @@ PKGINFO
132
132
 
133
133
  describe "install and upgrade" do
134
134
  it "should run pkgadd -n -d with the package source to install" do
135
- expect(@provider).to receive(:shell_out!).with("pkgadd -n -d /tmp/bash.pkg all")
135
+ expect(@provider).to receive(:shell_out!).with("pkgadd -n -d /tmp/bash.pkg all", { timeout: 900 })
136
136
  @provider.install_package("SUNWbash", "11.10.0,REV=2005.01.08.05.16")
137
137
  end
138
138
 
@@ -140,26 +140,26 @@ PKGINFO
140
140
  @new_resource = Chef::Resource::Package.new("/tmp/bash.pkg")
141
141
  @provider = Chef::Provider::Package::Solaris.new(@new_resource, @run_context)
142
142
  expect(@new_resource.source).to eq("/tmp/bash.pkg")
143
- expect(@provider).to receive(:shell_out!).with("pkgadd -n -d /tmp/bash.pkg all")
143
+ expect(@provider).to receive(:shell_out!).with("pkgadd -n -d /tmp/bash.pkg all", { timeout: 900 })
144
144
  @provider.install_package("/tmp/bash.pkg", "11.10.0,REV=2005.01.08.05.16")
145
145
  end
146
146
 
147
147
  it "should run pkgadd -n -a /tmp/myadmin -d with the package options -a /tmp/myadmin" do
148
148
  allow(@new_resource).to receive(:options).and_return("-a /tmp/myadmin")
149
- expect(@provider).to receive(:shell_out!).with("pkgadd -n -a /tmp/myadmin -d /tmp/bash.pkg all")
149
+ expect(@provider).to receive(:shell_out!).with("pkgadd -n -a /tmp/myadmin -d /tmp/bash.pkg all", { timeout: 900 })
150
150
  @provider.install_package("SUNWbash", "11.10.0,REV=2005.01.08.05.16")
151
151
  end
152
152
  end
153
153
 
154
154
  describe "remove" do
155
155
  it "should run pkgrm -n to remove the package" do
156
- expect(@provider).to receive(:shell_out!).with("pkgrm -n SUNWbash")
156
+ expect(@provider).to receive(:shell_out!).with("pkgrm -n SUNWbash", { timeout: 900 })
157
157
  @provider.remove_package("SUNWbash", "11.10.0,REV=2005.01.08.05.16")
158
158
  end
159
159
 
160
160
  it "should run pkgrm -n -a /tmp/myadmin with options -a /tmp/myadmin" do
161
161
  allow(@new_resource).to receive(:options).and_return("-a /tmp/myadmin")
162
- expect(@provider).to receive(:shell_out!).with("pkgrm -n -a /tmp/myadmin SUNWbash")
162
+ expect(@provider).to receive(:shell_out!).with("pkgrm -n -a /tmp/myadmin SUNWbash", { timeout: 900 })
163
163
  @provider.remove_package("SUNWbash", "11.10.0,REV=2005.01.08.05.16")
164
164
  end
165
165