chef 16.18.30 → 17.0.242

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 (675) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -22
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/chef-universal-mingw32.gemspec +1 -2
  6. data/chef.gemspec +7 -10
  7. data/lib/chef/action_collection.rb +1 -1
  8. data/lib/chef/application/base.rb +1 -1
  9. data/lib/chef/application.rb +1 -1
  10. data/lib/chef/applications.rb +0 -1
  11. data/lib/chef/chef_fs/command_line.rb +5 -2
  12. data/lib/chef/chef_fs/file_system.rb +9 -10
  13. data/lib/chef/client.rb +5 -5
  14. data/lib/chef/compliance/default_attributes.rb +4 -3
  15. data/lib/chef/compliance/fetcher/automate.rb +0 -7
  16. data/lib/chef/compliance/reporter/automate.rb +17 -7
  17. data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
  18. data/lib/chef/compliance/reporter/cli.rb +77 -0
  19. data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
  20. data/lib/chef/compliance/reporter/json_file.rb +8 -1
  21. data/lib/chef/compliance/runner.rb +65 -27
  22. data/lib/chef/cookbook/gem_installer.rb +1 -5
  23. data/lib/chef/cookbook/synchronizer.rb +3 -5
  24. data/lib/chef/cookbook_loader.rb +2 -4
  25. data/lib/chef/cookbook_uploader.rb +0 -1
  26. data/lib/chef/cookbook_version.rb +4 -26
  27. data/lib/chef/data_bag_item.rb +11 -2
  28. data/lib/chef/data_collector/run_end_message.rb +2 -2
  29. data/lib/chef/delayed_evaluator.rb +4 -0
  30. data/lib/chef/deprecated.rb +6 -12
  31. data/lib/chef/dsl/chef_vault.rb +6 -6
  32. data/lib/chef/dsl/reboot_pending.rb +1 -2
  33. data/lib/chef/exceptions.rb +0 -3
  34. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  35. data/lib/chef/formatters/error_mapper.rb +2 -2
  36. data/lib/chef/group.rb +75 -0
  37. data/lib/chef/http.rb +5 -5
  38. data/lib/chef/mixin/checksum.rb +0 -6
  39. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  40. data/lib/chef/mixin/powershell_exec.rb +26 -7
  41. data/lib/chef/node/attribute.rb +9 -24
  42. data/lib/chef/node/immutable_collections.rb +13 -0
  43. data/lib/chef/node/mixin/deep_merge_cache.rb +14 -10
  44. data/lib/chef/node.rb +19 -20
  45. data/lib/chef/org.rb +3 -2
  46. data/lib/chef/platform/query_helpers.rb +2 -2
  47. data/lib/chef/policy_builder/policyfile.rb +0 -5
  48. data/lib/chef/property.rb +18 -0
  49. data/lib/chef/provider/cron.rb +2 -6
  50. data/lib/chef/provider/execute.rb +2 -1
  51. data/lib/chef/provider/file.rb +3 -3
  52. data/lib/chef/provider/git.rb +5 -7
  53. data/lib/chef/provider/group/dscl.rb +1 -1
  54. data/lib/chef/provider/group/groupadd.rb +3 -3
  55. data/lib/chef/provider/group/groupmod.rb +3 -3
  56. data/lib/chef/provider/group/pw.rb +3 -3
  57. data/lib/chef/provider/ifconfig.rb +2 -2
  58. data/lib/chef/provider/link.rb +2 -2
  59. data/lib/chef/provider/mount/aix.rb +3 -3
  60. data/lib/chef/provider/mount/mount.rb +5 -5
  61. data/lib/chef/provider/mount/windows.rb +1 -1
  62. data/lib/chef/provider/mount.rb +5 -5
  63. data/lib/chef/provider/package/apt.rb +27 -1
  64. data/lib/chef/provider/package/deb.rb +3 -3
  65. data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
  66. data/lib/chef/provider/package/portage.rb +2 -2
  67. data/lib/chef/provider/package/powershell.rb +0 -5
  68. data/lib/chef/provider/package/rubygems.rb +9 -15
  69. data/lib/chef/provider/package/windows.rb +3 -5
  70. data/lib/chef/provider/package/yum/yum_helper.py +11 -1
  71. data/lib/chef/provider/package.rb +17 -21
  72. data/lib/chef/provider/route.rb +2 -2
  73. data/lib/chef/provider/service/aixinit.rb +1 -1
  74. data/lib/chef/provider/service/debian.rb +1 -1
  75. data/lib/chef/provider/service/freebsd.rb +15 -21
  76. data/lib/chef/provider/service/macosx.rb +4 -4
  77. data/lib/chef/provider/service/systemd.rb +43 -14
  78. data/lib/chef/provider/service/upstart.rb +2 -13
  79. data/lib/chef/provider/service/windows.rb +12 -12
  80. data/lib/chef/provider/service.rb +6 -6
  81. data/lib/chef/provider/subversion.rb +10 -12
  82. data/lib/chef/provider/systemd_unit.rb +36 -10
  83. data/lib/chef/provider/template/content.rb +3 -7
  84. data/lib/chef/provider/user/dscl.rb +1 -1
  85. data/lib/chef/provider/user/mac.rb +17 -20
  86. data/lib/chef/provider/user/pw.rb +1 -1
  87. data/lib/chef/provider/user/windows.rb +1 -1
  88. data/lib/chef/provider/user.rb +2 -2
  89. data/lib/chef/provider/zypper_repository.rb +2 -2
  90. data/lib/chef/provider.rb +1 -1
  91. data/lib/chef/providers.rb +0 -1
  92. data/lib/chef/resource/alternatives.rb +6 -6
  93. data/lib/chef/resource/apt_package.rb +1 -1
  94. data/lib/chef/resource/apt_preference.rb +2 -2
  95. data/lib/chef/resource/apt_repository.rb +6 -6
  96. data/lib/chef/resource/apt_update.rb +3 -2
  97. data/lib/chef/resource/archive_file.rb +8 -9
  98. data/lib/chef/resource/breakpoint.rb +1 -1
  99. data/lib/chef/resource/build_essential.rb +2 -6
  100. data/lib/chef/resource/chef_client_config.rb +2 -2
  101. data/lib/chef/resource/chef_client_cron.rb +4 -4
  102. data/lib/chef/resource/chef_client_launchd.rb +3 -3
  103. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  104. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  105. data/lib/chef/resource/chef_client_trusted_certificate.rb +0 -1
  106. data/lib/chef/resource/chef_handler.rb +3 -7
  107. data/lib/chef/resource/chef_sleep.rb +1 -1
  108. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  109. data/lib/chef/resource/chocolatey_config.rb +2 -6
  110. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  111. data/lib/chef/resource/chocolatey_source.rb +4 -10
  112. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  113. data/lib/chef/resource/cron_access.rb +2 -4
  114. data/lib/chef/resource/dmg_package.rb +6 -10
  115. data/lib/chef/resource/dpkg_package.rb +1 -1
  116. data/lib/chef/resource/execute.rb +6 -1
  117. data/lib/chef/resource/file.rb +1 -1
  118. data/lib/chef/resource/group.rb +2 -2
  119. data/lib/chef/resource/homebrew_cask.rb +5 -15
  120. data/lib/chef/resource/homebrew_tap.rb +2 -6
  121. data/lib/chef/resource/hostname.rb +21 -17
  122. data/lib/chef/resource/http_request.rb +1 -1
  123. data/lib/chef/resource/kernel_module.rb +6 -17
  124. data/lib/chef/resource/locale.rb +3 -4
  125. data/lib/chef/resource/lwrp_base.rb +4 -0
  126. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  127. data/lib/chef/resource/mdadm.rb +53 -7
  128. data/lib/chef/resource/mount.rb +3 -2
  129. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  130. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  131. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  132. data/lib/chef/resource/plist.rb +7 -7
  133. data/lib/chef/resource/powershell_script.rb +1 -1
  134. data/lib/chef/resource/remote_file.rb +1 -1
  135. data/lib/chef/resource/rhsm_errata.rb +16 -1
  136. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  137. data/lib/chef/resource/rhsm_register.rb +12 -23
  138. data/lib/chef/resource/rhsm_repo.rb +2 -6
  139. data/lib/chef/resource/rhsm_subscription.rb +7 -11
  140. data/lib/chef/resource/scm/git.rb +1 -1
  141. data/lib/chef/resource/sudo.rb +6 -6
  142. data/lib/chef/resource/support/client.erb +2 -6
  143. data/lib/chef/resource/sysctl.rb +2 -6
  144. data/lib/chef/resource/systemd_unit.rb +3 -3
  145. data/lib/chef/resource/template.rb +1 -1
  146. data/lib/chef/resource/timezone.rb +1 -3
  147. data/lib/chef/resource/user/mac_user.rb +1 -1
  148. data/lib/chef/resource/user_ulimit.rb +2 -3
  149. data/lib/chef/resource/windows_ad_join.rb +2 -6
  150. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  151. data/lib/chef/resource/windows_auto_run.rb +2 -5
  152. data/lib/chef/resource/windows_certificate.rb +207 -73
  153. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  154. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  155. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  156. data/lib/chef/resource/windows_dns_record.rb +2 -6
  157. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  158. data/lib/chef/resource/windows_env.rb +5 -4
  159. data/lib/chef/resource/windows_feature.rb +3 -9
  160. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  161. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  162. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  163. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  164. data/lib/chef/resource/windows_font.rb +2 -4
  165. data/lib/chef/resource/windows_pagefile.rb +2 -6
  166. data/lib/chef/resource/windows_path.rb +2 -2
  167. data/lib/chef/resource/windows_printer.rb +4 -4
  168. data/lib/chef/resource/windows_printer_port.rb +6 -6
  169. data/lib/chef/resource/windows_security_policy.rb +9 -12
  170. data/lib/chef/resource/windows_share.rb +14 -21
  171. data/lib/chef/resource/windows_shortcut.rb +4 -6
  172. data/lib/chef/resource/windows_task.rb +17 -5
  173. data/lib/chef/resource/windows_uac.rb +2 -4
  174. data/lib/chef/resource/windows_user_privilege.rb +26 -36
  175. data/lib/chef/resource/windows_workgroup.rb +1 -2
  176. data/lib/chef/resource.rb +1 -1
  177. data/lib/chef/resource_reporter.rb +1 -1
  178. data/lib/chef/resources.rb +0 -1
  179. data/lib/chef/shell/ext.rb +3 -3
  180. data/lib/chef/user.rb +0 -1
  181. data/lib/chef/user_v1.rb +3 -4
  182. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  183. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  184. data/lib/chef/version.rb +1 -1
  185. data/lib/chef/win32/api.rb +2 -9
  186. data/lib/chef/win32/registry.rb +4 -2
  187. data/lib/chef/win32/version.rb +2 -4
  188. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  189. data/spec/data/lwrp/resources/bar.rb +2 -0
  190. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  191. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  192. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  193. data/spec/data/lwrp/resources/foo.rb +2 -0
  194. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  195. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  196. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  197. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  198. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  199. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  200. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  201. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  202. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  203. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  204. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  205. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  206. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  207. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  208. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  209. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  210. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  211. data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
  212. data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
  213. data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
  214. data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
  215. data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
  216. data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
  217. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  218. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  219. data/spec/functional/resource/apt_package_spec.rb +1 -1
  220. data/spec/functional/resource/chocolatey_package_spec.rb +9 -0
  221. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  222. data/spec/functional/resource/dsc_script_spec.rb +1 -1
  223. data/spec/functional/resource/group_spec.rb +1 -5
  224. data/spec/functional/resource/link_spec.rb +0 -8
  225. data/spec/functional/resource/registry_spec.rb +8 -8
  226. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  227. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  228. data/spec/functional/resource/windows_font_spec.rb +1 -2
  229. data/spec/functional/resource/yum_package_spec.rb +0 -12
  230. data/spec/functional/shell_spec.rb +0 -5
  231. data/spec/functional/version_spec.rb +1 -1
  232. data/spec/functional/win32/registry_spec.rb +1 -1
  233. data/spec/integration/client/client_spec.rb +5 -2
  234. data/spec/integration/client/exit_code_spec.rb +1 -1
  235. data/spec/integration/client/ipv6_spec.rb +1 -1
  236. data/spec/integration/compliance/compliance_spec.rb +1 -1
  237. data/spec/integration/ohai/ohai_spec.rb +7 -6
  238. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  239. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  240. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  241. data/spec/integration/recipes/notifies_spec.rb +15 -1
  242. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  243. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  244. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  245. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  246. data/spec/spec_helper.rb +10 -17
  247. data/spec/support/chef_helpers.rb +0 -16
  248. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  249. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  250. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  251. data/spec/support/matchers/leak.rb +7 -9
  252. data/spec/support/platform_helpers.rb +1 -12
  253. data/spec/support/shared/integration/integration_helper.rb +0 -1
  254. data/spec/support/shared/unit/script_resource.rb +2 -2
  255. data/spec/unit/application/solo_spec.rb +2 -2
  256. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  257. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  258. data/spec/unit/client_spec.rb +4 -4
  259. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
  260. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  261. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  262. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  263. data/spec/unit/compliance/runner_spec.rb +30 -4
  264. data/spec/unit/cookbook_version_spec.rb +0 -52
  265. data/spec/unit/daemon_spec.rb +5 -1
  266. data/spec/unit/data_bag_item_spec.rb +1 -6
  267. data/spec/unit/data_collector_spec.rb +2 -71
  268. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  269. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  270. data/spec/unit/lwrp_spec.rb +1 -1
  271. data/spec/unit/mixin/checksum_spec.rb +0 -28
  272. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  273. data/spec/unit/mixin/powershell_exec_spec.rb +9 -9
  274. data/spec/unit/mixin/powershell_out_spec.rb +2 -2
  275. data/spec/unit/node/attribute_spec.rb +1 -1
  276. data/spec/unit/node_spec.rb +78 -0
  277. data/spec/unit/org_group_spec.rb +45 -0
  278. data/spec/unit/platform/query_helpers_spec.rb +5 -5
  279. data/spec/unit/policy_builder/policyfile_spec.rb +1 -11
  280. data/spec/unit/property_spec.rb +23 -22
  281. data/spec/unit/provider/cron_spec.rb +1 -35
  282. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  283. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  284. data/spec/unit/provider/group/pw_spec.rb +2 -2
  285. data/spec/unit/provider/group_spec.rb +1 -1
  286. data/spec/unit/provider/package/apt_spec.rb +84 -18
  287. data/spec/unit/provider/package/deb_spec.rb +3 -3
  288. data/spec/unit/provider/package/powershell_spec.rb +12 -74
  289. data/spec/unit/provider/package/rubygems_spec.rb +18 -30
  290. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  291. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  292. data/spec/unit/provider/service/macosx_spec.rb +2 -2
  293. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  294. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  295. data/spec/unit/provider/service/windows_spec.rb +2 -2
  296. data/spec/unit/provider/subversion_spec.rb +2 -2
  297. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  298. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  299. data/spec/unit/provider_spec.rb +0 -8
  300. data/spec/unit/resource/archive_file_spec.rb +1 -13
  301. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -14
  302. data/spec/unit/resource/homebrew_cask_spec.rb +11 -29
  303. data/spec/unit/resource/mount_spec.rb +0 -10
  304. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  305. data/spec/unit/resource/rhsm_subscription_spec.rb +3 -50
  306. data/spec/unit/resource/systemd_unit_spec.rb +1 -1
  307. data/spec/unit/resource/user_ulimit_spec.rb +1 -14
  308. data/spec/unit/resource/windows_task_spec.rb +1 -1
  309. data/spec/unit/resource_spec.rb +2 -7
  310. data/spec/unit/user_spec.rb +1 -1
  311. data/spec/unit/user_v1_spec.rb +6 -4
  312. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +2 -2
  313. data/tasks/rspec.rb +15 -7
  314. metadata +43 -388
  315. data/bin/knife +0 -24
  316. data/lib/chef/application/knife.rb +0 -234
  317. data/lib/chef/application/windows_service.rb +0 -338
  318. data/lib/chef/application/windows_service_manager.rb +0 -205
  319. data/lib/chef/chef_fs/knife.rb +0 -160
  320. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  321. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  322. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  323. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  324. data/lib/chef/knife/acl_add.rb +0 -57
  325. data/lib/chef/knife/acl_base.rb +0 -183
  326. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  327. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  328. data/lib/chef/knife/acl_remove.rb +0 -62
  329. data/lib/chef/knife/acl_show.rb +0 -56
  330. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  331. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  332. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  333. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  334. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  335. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  336. data/lib/chef/knife/bootstrap.rb +0 -1192
  337. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  338. data/lib/chef/knife/client_create.rb +0 -101
  339. data/lib/chef/knife/client_delete.rb +0 -62
  340. data/lib/chef/knife/client_edit.rb +0 -52
  341. data/lib/chef/knife/client_key_create.rb +0 -73
  342. data/lib/chef/knife/client_key_delete.rb +0 -80
  343. data/lib/chef/knife/client_key_edit.rb +0 -83
  344. data/lib/chef/knife/client_key_list.rb +0 -73
  345. data/lib/chef/knife/client_key_show.rb +0 -80
  346. data/lib/chef/knife/client_list.rb +0 -41
  347. data/lib/chef/knife/client_reregister.rb +0 -58
  348. data/lib/chef/knife/client_show.rb +0 -48
  349. data/lib/chef/knife/config_get.rb +0 -39
  350. data/lib/chef/knife/config_get_profile.rb +0 -37
  351. data/lib/chef/knife/config_list.rb +0 -139
  352. data/lib/chef/knife/config_list_profiles.rb +0 -37
  353. data/lib/chef/knife/config_show.rb +0 -127
  354. data/lib/chef/knife/config_use.rb +0 -61
  355. data/lib/chef/knife/config_use_profile.rb +0 -47
  356. data/lib/chef/knife/configure.rb +0 -150
  357. data/lib/chef/knife/configure_client.rb +0 -48
  358. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  359. data/lib/chef/knife/cookbook_delete.rb +0 -151
  360. data/lib/chef/knife/cookbook_download.rb +0 -142
  361. data/lib/chef/knife/cookbook_list.rb +0 -47
  362. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  363. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  364. data/lib/chef/knife/cookbook_show.rb +0 -98
  365. data/lib/chef/knife/cookbook_upload.rb +0 -292
  366. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  367. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  368. data/lib/chef/knife/core/formatting_options.rb +0 -49
  369. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  370. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  371. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  372. data/lib/chef/knife/core/node_editor.rb +0 -130
  373. data/lib/chef/knife/core/node_presenter.rb +0 -133
  374. data/lib/chef/knife/core/object_loader.rb +0 -115
  375. data/lib/chef/knife/core/status_presenter.rb +0 -147
  376. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  377. data/lib/chef/knife/core/text_formatter.rb +0 -85
  378. data/lib/chef/knife/core/ui.rb +0 -338
  379. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -405
  380. data/lib/chef/knife/data_bag_create.rb +0 -81
  381. data/lib/chef/knife/data_bag_delete.rb +0 -49
  382. data/lib/chef/knife/data_bag_edit.rb +0 -74
  383. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  384. data/lib/chef/knife/data_bag_list.rb +0 -42
  385. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  386. data/lib/chef/knife/data_bag_show.rb +0 -69
  387. data/lib/chef/knife/delete.rb +0 -125
  388. data/lib/chef/knife/deps.rb +0 -156
  389. data/lib/chef/knife/diff.rb +0 -83
  390. data/lib/chef/knife/download.rb +0 -84
  391. data/lib/chef/knife/edit.rb +0 -88
  392. data/lib/chef/knife/environment_compare.rb +0 -128
  393. data/lib/chef/knife/environment_create.rb +0 -52
  394. data/lib/chef/knife/environment_delete.rb +0 -44
  395. data/lib/chef/knife/environment_edit.rb +0 -44
  396. data/lib/chef/knife/environment_from_file.rb +0 -84
  397. data/lib/chef/knife/environment_list.rb +0 -41
  398. data/lib/chef/knife/environment_show.rb +0 -47
  399. data/lib/chef/knife/exec.rb +0 -99
  400. data/lib/chef/knife/group_add.rb +0 -55
  401. data/lib/chef/knife/group_create.rb +0 -49
  402. data/lib/chef/knife/group_destroy.rb +0 -53
  403. data/lib/chef/knife/group_list.rb +0 -43
  404. data/lib/chef/knife/group_remove.rb +0 -56
  405. data/lib/chef/knife/group_show.rb +0 -49
  406. data/lib/chef/knife/key_create.rb +0 -112
  407. data/lib/chef/knife/key_create_base.rb +0 -50
  408. data/lib/chef/knife/key_delete.rb +0 -55
  409. data/lib/chef/knife/key_edit.rb +0 -118
  410. data/lib/chef/knife/key_edit_base.rb +0 -55
  411. data/lib/chef/knife/key_list.rb +0 -90
  412. data/lib/chef/knife/key_list_base.rb +0 -45
  413. data/lib/chef/knife/key_show.rb +0 -53
  414. data/lib/chef/knife/list.rb +0 -177
  415. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  416. data/lib/chef/knife/node_create.rb +0 -47
  417. data/lib/chef/knife/node_delete.rb +0 -46
  418. data/lib/chef/knife/node_edit.rb +0 -70
  419. data/lib/chef/knife/node_environment_set.rb +0 -53
  420. data/lib/chef/knife/node_from_file.rb +0 -51
  421. data/lib/chef/knife/node_list.rb +0 -44
  422. data/lib/chef/knife/node_policy_set.rb +0 -79
  423. data/lib/chef/knife/node_run_list_add.rb +0 -104
  424. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  425. data/lib/chef/knife/node_run_list_set.rb +0 -66
  426. data/lib/chef/knife/node_show.rb +0 -63
  427. data/lib/chef/knife/null.rb +0 -12
  428. data/lib/chef/knife/raw.rb +0 -123
  429. data/lib/chef/knife/recipe_list.rb +0 -32
  430. data/lib/chef/knife/rehash.rb +0 -50
  431. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  432. data/lib/chef/knife/role_create.rb +0 -53
  433. data/lib/chef/knife/role_delete.rb +0 -46
  434. data/lib/chef/knife/role_edit.rb +0 -45
  435. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  436. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  437. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  438. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  439. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  440. data/lib/chef/knife/role_from_file.rb +0 -51
  441. data/lib/chef/knife/role_list.rb +0 -42
  442. data/lib/chef/knife/role_run_list_add.rb +0 -87
  443. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  444. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  445. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  446. data/lib/chef/knife/role_run_list_set.rb +0 -69
  447. data/lib/chef/knife/role_show.rb +0 -48
  448. data/lib/chef/knife/search.rb +0 -194
  449. data/lib/chef/knife/serve.rb +0 -65
  450. data/lib/chef/knife/show.rb +0 -72
  451. data/lib/chef/knife/ssh.rb +0 -645
  452. data/lib/chef/knife/ssl_check.rb +0 -284
  453. data/lib/chef/knife/ssl_fetch.rb +0 -161
  454. data/lib/chef/knife/status.rb +0 -95
  455. data/lib/chef/knife/supermarket_download.rb +0 -121
  456. data/lib/chef/knife/supermarket_install.rb +0 -192
  457. data/lib/chef/knife/supermarket_list.rb +0 -76
  458. data/lib/chef/knife/supermarket_search.rb +0 -53
  459. data/lib/chef/knife/supermarket_share.rb +0 -166
  460. data/lib/chef/knife/supermarket_show.rb +0 -66
  461. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  462. data/lib/chef/knife/tag_create.rb +0 -52
  463. data/lib/chef/knife/tag_delete.rb +0 -60
  464. data/lib/chef/knife/tag_list.rb +0 -47
  465. data/lib/chef/knife/upload.rb +0 -86
  466. data/lib/chef/knife/user_create.rb +0 -107
  467. data/lib/chef/knife/user_delete.rb +0 -44
  468. data/lib/chef/knife/user_dissociate.rb +0 -42
  469. data/lib/chef/knife/user_edit.rb +0 -52
  470. data/lib/chef/knife/user_invite_add.rb +0 -43
  471. data/lib/chef/knife/user_invite_list.rb +0 -34
  472. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  473. data/lib/chef/knife/user_key_create.rb +0 -73
  474. data/lib/chef/knife/user_key_delete.rb +0 -80
  475. data/lib/chef/knife/user_key_edit.rb +0 -83
  476. data/lib/chef/knife/user_key_list.rb +0 -73
  477. data/lib/chef/knife/user_key_show.rb +0 -80
  478. data/lib/chef/knife/user_list.rb +0 -42
  479. data/lib/chef/knife/user_reregister.rb +0 -59
  480. data/lib/chef/knife/user_show.rb +0 -48
  481. data/lib/chef/knife/xargs.rb +0 -282
  482. data/lib/chef/knife/yaml_convert.rb +0 -91
  483. data/lib/chef/knife.rb +0 -665
  484. data/lib/chef/resource/user/dscl_user.rb +0 -35
  485. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  486. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  487. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  488. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  489. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  490. data/spec/functional/assets/yumrepo-empty/repodata/01a3b-filelists.sqlite.bz2 +0 -0
  491. data/spec/functional/assets/yumrepo-empty/repodata/401dc-filelists.xml.gz +0 -0
  492. data/spec/functional/assets/yumrepo-empty/repodata/5dc1e-primary.sqlite.bz2 +0 -0
  493. data/spec/functional/assets/yumrepo-empty/repodata/6bf96-other.xml.gz +0 -0
  494. data/spec/functional/assets/yumrepo-empty/repodata/7c365-other.sqlite.bz2 +0 -0
  495. data/spec/functional/assets/yumrepo-empty/repodata/dabe2-primary.xml.gz +0 -0
  496. data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +0 -55
  497. data/spec/functional/knife/configure_spec.rb +0 -33
  498. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  499. data/spec/functional/knife/exec_spec.rb +0 -55
  500. data/spec/functional/knife/rehash_spec.rb +0 -39
  501. data/spec/functional/knife/smoke_test.rb +0 -42
  502. data/spec/functional/knife/ssh_spec.rb +0 -352
  503. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  504. data/spec/functional/resource/windows_service_spec.rb +0 -105
  505. data/spec/functional/win32/service_manager_spec.rb +0 -220
  506. data/spec/integration/client/fips_spec.rb +0 -21
  507. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  508. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  509. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  510. data/spec/integration/knife/chefignore_spec.rb +0 -301
  511. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  512. data/spec/integration/knife/client_create_spec.rb +0 -70
  513. data/spec/integration/knife/client_delete_spec.rb +0 -64
  514. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  515. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  516. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  517. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  518. data/spec/integration/knife/client_list_spec.rb +0 -49
  519. data/spec/integration/knife/client_show_spec.rb +0 -37
  520. data/spec/integration/knife/common_options_spec.rb +0 -174
  521. data/spec/integration/knife/config_list_spec.rb +0 -220
  522. data/spec/integration/knife/config_show_spec.rb +0 -192
  523. data/spec/integration/knife/config_use_spec.rb +0 -198
  524. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  525. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  526. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  527. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  528. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  529. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  530. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  531. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  532. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  533. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  534. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  535. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  536. data/spec/integration/knife/delete_spec.rb +0 -1018
  537. data/spec/integration/knife/deps_spec.rb +0 -703
  538. data/spec/integration/knife/diff_spec.rb +0 -605
  539. data/spec/integration/knife/download_spec.rb +0 -1336
  540. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  541. data/spec/integration/knife/environment_create_spec.rb +0 -41
  542. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  543. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  544. data/spec/integration/knife/environment_list_spec.rb +0 -42
  545. data/spec/integration/knife/environment_show_spec.rb +0 -77
  546. data/spec/integration/knife/list_spec.rb +0 -1060
  547. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  548. data/spec/integration/knife/node_create_spec.rb +0 -47
  549. data/spec/integration/knife/node_delete_spec.rb +0 -48
  550. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  551. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  552. data/spec/integration/knife/node_list_spec.rb +0 -45
  553. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  554. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  555. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  556. data/spec/integration/knife/node_show_spec.rb +0 -36
  557. data/spec/integration/knife/raw_spec.rb +0 -297
  558. data/spec/integration/knife/redirection_spec.rb +0 -64
  559. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  560. data/spec/integration/knife/role_create_spec.rb +0 -41
  561. data/spec/integration/knife/role_delete_spec.rb +0 -48
  562. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  563. data/spec/integration/knife/role_list_spec.rb +0 -45
  564. data/spec/integration/knife/role_show_spec.rb +0 -51
  565. data/spec/integration/knife/search_node_spec.rb +0 -40
  566. data/spec/integration/knife/serve_spec.rb +0 -92
  567. data/spec/integration/knife/show_spec.rb +0 -197
  568. data/spec/integration/knife/upload_spec.rb +0 -1616
  569. data/spec/support/shared/functional/knife.rb +0 -37
  570. data/spec/support/shared/functional/win32_service.rb +0 -57
  571. data/spec/support/shared/integration/knife_support.rb +0 -192
  572. data/spec/support/shared/unit/knife_shared.rb +0 -39
  573. data/spec/unit/application/knife_spec.rb +0 -241
  574. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  575. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  576. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  577. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  578. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  579. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  580. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  581. data/spec/unit/knife/client_create_spec.rb +0 -169
  582. data/spec/unit/knife/client_delete_spec.rb +0 -99
  583. data/spec/unit/knife/client_edit_spec.rb +0 -53
  584. data/spec/unit/knife/client_list_spec.rb +0 -34
  585. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  586. data/spec/unit/knife/client_show_spec.rb +0 -52
  587. data/spec/unit/knife/configure_client_spec.rb +0 -81
  588. data/spec/unit/knife/configure_spec.rb +0 -190
  589. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  590. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  591. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  592. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  593. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  594. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  595. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  596. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  597. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  598. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  599. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  600. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  601. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  602. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  603. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  604. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  605. data/spec/unit/knife/core/ui_spec.rb +0 -656
  606. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  607. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  608. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  609. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  610. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  611. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  612. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  613. data/spec/unit/knife/environment_create_spec.rb +0 -91
  614. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  615. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  616. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  617. data/spec/unit/knife/environment_list_spec.rb +0 -54
  618. data/spec/unit/knife/environment_show_spec.rb +0 -52
  619. data/spec/unit/knife/key_create_spec.rb +0 -223
  620. data/spec/unit/knife/key_delete_spec.rb +0 -133
  621. data/spec/unit/knife/key_edit_spec.rb +0 -264
  622. data/spec/unit/knife/key_helper.rb +0 -74
  623. data/spec/unit/knife/key_list_spec.rb +0 -216
  624. data/spec/unit/knife/key_show_spec.rb +0 -126
  625. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  626. data/spec/unit/knife/node_delete_spec.rb +0 -77
  627. data/spec/unit/knife/node_edit_spec.rb +0 -116
  628. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  629. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  630. data/spec/unit/knife/node_list_spec.rb +0 -62
  631. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  632. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  633. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  634. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  635. data/spec/unit/knife/node_show_spec.rb +0 -65
  636. data/spec/unit/knife/raw_spec.rb +0 -43
  637. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  638. data/spec/unit/knife/role_create_spec.rb +0 -80
  639. data/spec/unit/knife/role_delete_spec.rb +0 -67
  640. data/spec/unit/knife/role_edit_spec.rb +0 -77
  641. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  642. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  643. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  644. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  645. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  646. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  647. data/spec/unit/knife/role_list_spec.rb +0 -54
  648. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  649. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  650. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  651. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  652. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  653. data/spec/unit/knife/role_show_spec.rb +0 -59
  654. data/spec/unit/knife/ssh_spec.rb +0 -403
  655. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  656. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  657. data/spec/unit/knife/status_spec.rb +0 -112
  658. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  659. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  660. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  661. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  662. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  663. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  664. data/spec/unit/knife/tag_create_spec.rb +0 -23
  665. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  666. data/spec/unit/knife/tag_list_spec.rb +0 -23
  667. data/spec/unit/knife/user_create_spec.rb +0 -184
  668. data/spec/unit/knife/user_delete_spec.rb +0 -46
  669. data/spec/unit/knife/user_edit_spec.rb +0 -48
  670. data/spec/unit/knife/user_list_spec.rb +0 -36
  671. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  672. data/spec/unit/knife/user_show_spec.rb +0 -46
  673. data/spec/unit/knife_spec.rb +0 -634
  674. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  675. data/spec/unit/windows_service_spec.rb +0 -118
@@ -48,6 +48,21 @@ describe Chef::Provider::Package::Apt do
48
48
  @timeout = 900
49
49
  end
50
50
 
51
+ def ubuntu1804downgrade_stubs
52
+ so = instance_double(Mixlib::ShellOut, stdout: "apt 1.6~beta1 (amd64)\notherstuff\n")
53
+ so2 = instance_double(Mixlib::ShellOut, error?: false)
54
+ allow(@provider).to receive(:shell_out).with("apt-get --version").and_return(so)
55
+ allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.6~beta1", "gt", "1.1.0").and_return(so2)
56
+ end
57
+
58
+ def ubuntu1404downgrade_stubs
59
+ so = instance_double(Mixlib::ShellOut, stdout: "apt 1.0.1ubuntu2 for amd64 compiled on Dec 8 2016 16:23:38\notherstuff\n")
60
+ so2 = instance_double(Mixlib::ShellOut, error?: true)
61
+ allow(@provider).to receive(:shell_out).with("apt-get --version").and_return(so)
62
+ allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.0.1ubuntu2", "gt", "1.1.0").and_return(so2)
63
+ allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.0.1ubuntu2", "eq", "1.1.0").and_return(so2)
64
+ end
65
+
51
66
  describe "when loading current resource" do
52
67
 
53
68
  it "should create a current resource with the name of the new_resource" do
@@ -237,6 +252,72 @@ describe Chef::Provider::Package::Apt do
237
252
  ).and_return(@shell_out)
238
253
  expect { @provider.run_action(:install) }.to raise_error(Chef::Exceptions::Package)
239
254
  end
255
+
256
+ it "downgrades when requested" do
257
+ ubuntu1804downgrade_stubs
258
+ so = instance_double(Mixlib::ShellOut, stdout: "apt 1.6~beta1 (amd64)\notherstuff\n")
259
+ so2 = instance_double(Mixlib::ShellOut, error?: false)
260
+ allow(@provider).to receive(:shell_out).with("apt-get --version").and_return(so)
261
+ allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.6~beta1", "gt", "1.1.0").and_return(so2)
262
+
263
+ @new_resource.package_name("libmysqlclient-dev")
264
+ @new_resource.version("5.1.41-3ubuntu12.7")
265
+ real_package_out = <<~RPKG_STDOUT
266
+ libmysqlclient-dev:
267
+ Installed: 5.1.41-3ubuntu12.10
268
+ Candidate: 5.1.41-3ubuntu12.10
269
+ Version table:
270
+ *** 5.1.41-3ubuntu12.10 0
271
+ 500 http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main packages
272
+ 100 /var/lib/dpkg/status
273
+ 5.1.41-3ubuntu12.7 0
274
+ 500 http://security.ubuntu.com/ubuntu/ lucid-security/main packages
275
+ 5.1.41-3ubuntu12 0
276
+ 500 http://us.archive.ubuntu.com/ubuntu/ lucid/main packages
277
+ RPKG_STDOUT
278
+ real_package = double(stdout: real_package_out, exitstatus: 0)
279
+ expect(@provider).to receive(:shell_out_compacted!).with(
280
+ "apt-cache", "policy", "libmysqlclient-dev",
281
+ env: { "DEBIAN_FRONTEND" => "noninteractive" },
282
+ timeout: @timeout
283
+ ).and_return(real_package)
284
+ expect(@provider).to receive(:shell_out_compacted!).with(
285
+ "apt-get", "-q", "-y", "--allow-downgrades", "-o", "Dpkg::Options::=--force-confdef", "-o", "Dpkg::Options::=--force-confold", "install", "libmysqlclient-dev=5.1.41-3ubuntu12.7",
286
+ env: { "DEBIAN_FRONTEND" => "noninteractive" },
287
+ timeout: @timeout
288
+ )
289
+ @provider.run_action(:install)
290
+ end
291
+
292
+ it "raises an exception if bad version specified" do
293
+ @new_resource.package_name("libmysqlclient-dev")
294
+ @new_resource.version("non_existent")
295
+ real_package_out = <<~RPKG_STDOUT
296
+ libmysqlclient-dev:
297
+ Installed: 5.1.41-3ubuntu12.10
298
+ Candidate: 5.1.41-3ubuntu12.10
299
+ Version table:
300
+ *** 5.1.41-3ubuntu12.10 0
301
+ 500 http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main packages
302
+ 100 /var/lib/dpkg/status
303
+ 5.1.41-3ubuntu12.7 0
304
+ 500 http://security.ubuntu.com/ubuntu/ lucid-security/main packages
305
+ 5.1.41-3ubuntu12 0
306
+ 500 http://us.archive.ubuntu.com/ubuntu/ lucid/main packages
307
+ RPKG_STDOUT
308
+ real_package = double(stdout: real_package_out, exitstatus: 0)
309
+ expect(@provider).to receive(:shell_out_compacted!).with(
310
+ "apt-cache", "policy", @new_resource.package_name,
311
+ env: { "DEBIAN_FRONTEND" => "noninteractive" } ,
312
+ timeout: @timeout
313
+ ).and_return(real_package)
314
+ expect(@provider).to receive(:shell_out_compacted!).with(
315
+ "apt-cache", "showpkg", @new_resource.package_name,
316
+ env: { "DEBIAN_FRONTEND" => "noninteractive" } ,
317
+ timeout: @timeout
318
+ ).and_return(real_package)
319
+ expect { @provider.run_action(:install) }.to raise_error(Chef::Exceptions::Package)
320
+ end
240
321
  end
241
322
 
242
323
  context "after loading the current resource" do
@@ -257,21 +338,6 @@ describe Chef::Provider::Package::Apt do
257
338
  })
258
339
  end
259
340
 
260
- def ubuntu1804downgrade_stubs
261
- so = instance_double(Mixlib::ShellOut, stdout: "apt 1.6~beta1 (amd64)\notherstuff\n")
262
- so2 = instance_double(Mixlib::ShellOut, error?: false)
263
- allow(@provider).to receive(:shell_out).with("apt-get --version").and_return(so)
264
- allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.6~beta1", "gt", "1.1.0").and_return(so2)
265
- end
266
-
267
- def ubuntu1404downgrade_stubs
268
- so = instance_double(Mixlib::ShellOut, stdout: "apt 1.0.1ubuntu2 for amd64 compiled on Dec 8 2016 16:23:38\notherstuff\n")
269
- so2 = instance_double(Mixlib::ShellOut, error?: true)
270
- allow(@provider).to receive(:shell_out).with("apt-get --version").and_return(so)
271
- allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.0.1ubuntu2", "gt", "1.1.0").and_return(so2)
272
- allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.0.1ubuntu2", "eq", "1.1.0").and_return(so2)
273
- end
274
-
275
341
  describe "install_package" do
276
342
  before(:each) do
277
343
  ubuntu1804downgrade_stubs
@@ -513,7 +579,7 @@ describe Chef::Provider::Package::Apt do
513
579
  ).and_return(instance_double(
514
580
  Mixlib::ShellOut, stdout: "irssi"
515
581
  ))
516
- expect(logger).to receive(:trace).with("#{@provider.new_resource} is already locked")
582
+ expect(logger).to receive(:debug).with("#{@provider.new_resource} is already locked")
517
583
 
518
584
  @provider.action_lock
519
585
  end
@@ -534,7 +600,7 @@ describe Chef::Provider::Package::Apt do
534
600
  ).and_return(instance_double(
535
601
  Mixlib::ShellOut, stdout: ""
536
602
  ))
537
- expect(logger).to receive(:trace).with("#{@provider.new_resource} is already unlocked")
603
+ expect(logger).to receive(:debug).with("#{@provider.new_resource} is already unlocked")
538
604
 
539
605
  @provider.action_unlock
540
606
  end
@@ -590,7 +656,7 @@ describe Chef::Provider::Package::Apt do
590
656
  end
591
657
  end
592
658
 
593
- describe "#action_install" do
659
+ describe "#action_upgrade" do
594
660
  it "should run dpkg to compare versions if an existing version is installed" do
595
661
  allow(@provider).to receive(:get_current_versions).and_return("1.4.0")
596
662
  allow(@new_resource).to receive(:allow_downgrade).and_return(false)
@@ -66,7 +66,7 @@ describe Chef::Provider::Package::Deb do
66
66
  it "does not reconfigure the package if the package is not installed" do
67
67
  allow(provider).to receive(:get_current_versions).and_return(nil)
68
68
  allow(provider.load_current_resource).to receive(:version).and_return(nil)
69
- expect(logger).to receive(:trace).with("apt_package[emacs] is NOT installed - nothing to do")
69
+ expect(logger).to receive(:debug).with("apt_package[emacs] is NOT installed - nothing to do")
70
70
  expect(provider).not_to receive(:reconfig_package)
71
71
  provider.run_action(:reconfig)
72
72
  expect(new_resource).not_to be_updated_by_last_action
@@ -75,7 +75,7 @@ describe Chef::Provider::Package::Deb do
75
75
  it "does not reconfigure the package if no response_file is given" do
76
76
  allow(provider).to receive(:get_current_versions).and_return("1.0")
77
77
  allow(new_resource).to receive(:response_file).and_return(nil)
78
- expect(logger).to receive(:trace).with("apt_package[emacs] no response_file provided - nothing to do")
78
+ expect(logger).to receive(:debug).with("apt_package[emacs] no response_file provided - nothing to do")
79
79
  expect(provider).not_to receive(:reconfig_package)
80
80
  provider.run_action(:reconfig)
81
81
  expect(new_resource).not_to be_updated_by_last_action
@@ -86,7 +86,7 @@ describe Chef::Provider::Package::Deb do
86
86
  allow(new_resource).to receive(:response_file).and_return(true)
87
87
  expect(provider).to receive(:get_preseed_file).and_return(false)
88
88
  allow(provider).to receive(:preseed_package).and_return(false)
89
- expect(logger).to receive(:trace).with("apt_package[emacs] preseeding has not changed - nothing to do")
89
+ expect(logger).to receive(:debug).with("apt_package[emacs] preseeding has not changed - nothing to do")
90
90
  expect(provider).not_to receive(:reconfig_package)
91
91
  provider.run_action(:reconfig)
92
92
  expect(new_resource).not_to be_updated_by_last_action
@@ -105,10 +105,6 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
105
105
  let(:generated_install_cmdlet) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version" }
106
106
  let(:generated_install_cmdlet_with_version) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 ).Version" }
107
107
  let(:generated_install_cmdlet_with_source) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -Source MyGallery ).Version" }
108
- let(:generated_install_cmdlet_with_options) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -AcceptLicense -Verbose ).Version" }
109
- let(:generated_install_cmdlet_with_version_and_options) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 -AcceptLicense -Verbose ).Version" }
110
- let(:generated_install_cmdlet_with_source_and_options) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -Source MyGallery -AcceptLicense -Verbose ).Version" }
111
- let(:generated_install_cmdlet_with_source_and_version_and_options) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 -Source MyGallery -AcceptLicense -Verbose ).Version" }
112
108
  let(:generated_install_cmdlet_with_source_and_version) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 -Source MyGallery ).Version" }
113
109
  let(:generated_uninstall_cmdlet) { "#{tls_set_command} ( Uninstall-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version" }
114
110
  let(:generated_uninstall_cmdlet_with_version) { "#{tls_set_command} ( Uninstall-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 ).Version" }
@@ -208,11 +204,11 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
208
204
  end
209
205
 
210
206
  context "when source is nil" do
211
- it "builds get commands correctly" do
207
+ it "build get commands correctly" do
212
208
  expect(provider.build_powershell_package_command("Get-Package xNetworking")).to eql(generated_get_cmdlet)
213
209
  end
214
210
 
215
- it "builds get commands correctly when a version is passed" do
211
+ it "build get commands correctly when a version is passed" do
216
212
  expect(provider.build_powershell_package_command("Get-Package xNetworking", "1.0.0.0")).to eql(generated_get_cmdlet_with_version)
217
213
  end
218
214
 
@@ -224,45 +220,30 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
224
220
  expect(provider.build_powershell_package_command("Find-Package xNetworking", "1.0.0.0")).to eql(generated_find_cmdlet_with_version)
225
221
  end
226
222
 
227
- it "builds install commands correctly" do
223
+ it "build install commands correctly" do
228
224
  expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet)
229
225
  end
230
226
 
231
- it "builds install commands correctly when a version is passed" do
227
+ it "build install commands correctly when a version is passed" do
232
228
  expect(provider.build_powershell_package_command("Install-Package xNetworking", "1.0.0.0")).to eql(generated_install_cmdlet_with_version)
233
229
  end
234
230
 
235
- it "builds install commands correctly when options are passed" do
236
- new_resource.options("-AcceptLicense -Verbose")
237
- expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet_with_options)
238
- end
239
-
240
- it "builds install commands correctly when duplicate options are passed" do
241
- new_resource.options("-WarningAction SilentlyContinue")
242
- expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet)
243
- end
244
-
245
- it "builds install commands correctly when a version and options are passed" do
246
- new_resource.options("-AcceptLicense -Verbose")
247
- expect(provider.build_powershell_package_command("Install-Package xNetworking", "1.0.0.0")).to eql(generated_install_cmdlet_with_version_and_options)
248
- end
249
-
250
- it "builds install commands correctly" do
231
+ it "build install commands correctly" do
251
232
  expect(provider.build_powershell_package_command("Uninstall-Package xNetworking")).to eql(generated_uninstall_cmdlet)
252
233
  end
253
234
 
254
- it "builds install commands correctly when a version is passed" do
235
+ it "build install commands correctly when a version is passed" do
255
236
  expect(provider.build_powershell_package_command("Uninstall-Package xNetworking", "1.0.0.0")).to eql(generated_uninstall_cmdlet_with_version)
256
237
  end
257
238
  end
258
239
 
259
240
  context "when source is set" do
260
- it "builds get commands correctly" do
241
+ it "build get commands correctly" do
261
242
  new_resource.source("MyGallery")
262
243
  expect(provider.build_powershell_package_command("Get-Package xNetworking")).to eql(generated_get_cmdlet)
263
244
  end
264
245
 
265
- it "builds get commands correctly when a version is passed" do
246
+ it "build get commands correctly when a version is passed" do
266
247
  new_resource.source("MyGallery")
267
248
  expect(provider.build_powershell_package_command("Get-Package xNetworking", "1.0.0.0")).to eql(generated_get_cmdlet_with_version)
268
249
  end
@@ -277,40 +258,22 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
277
258
  expect(provider.build_powershell_package_command("Find-Package xNetworking", "1.0.0.0")).to eql(generated_find_cmdlet_with_source_and_version)
278
259
  end
279
260
 
280
- it "builds install commands correctly" do
261
+ it "build install commands correctly" do
281
262
  new_resource.source("MyGallery")
282
263
  expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet_with_source)
283
264
  end
284
265
 
285
- it "builds install commands correctly when a version is passed" do
266
+ it "build install commands correctly when a version is passed" do
286
267
  new_resource.source("MyGallery")
287
268
  expect(provider.build_powershell_package_command("Install-Package xNetworking", "1.0.0.0")).to eql(generated_install_cmdlet_with_source_and_version)
288
269
  end
289
270
 
290
- it "builds install commands correctly when options are passed" do
291
- new_resource.source("MyGallery")
292
- new_resource.options("-AcceptLicense -Verbose")
293
- expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet_with_source_and_options)
294
- end
295
-
296
- it "builds install commands correctly when duplicate options are passed" do
297
- new_resource.source("MyGallery")
298
- new_resource.options("-Force -ForceBootstrap")
299
- expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet_with_source)
300
- end
301
-
302
- it "builds install commands correctly when a version and options are passed" do
303
- new_resource.source("MyGallery")
304
- new_resource.options("-AcceptLicense -Verbose")
305
- expect(provider.build_powershell_package_command("Install-Package xNetworking", "1.0.0.0")).to eql(generated_install_cmdlet_with_source_and_version_and_options)
306
- end
307
-
308
- it "builds install commands correctly" do
271
+ it "build install commands correctly" do
309
272
  new_resource.source("MyGallery")
310
273
  expect(provider.build_powershell_package_command("Uninstall-Package xNetworking")).to eql(generated_uninstall_cmdlet)
311
274
  end
312
275
 
313
- it "builds install commands correctly when a version is passed" do
276
+ it "build install commands correctly when a version is passed" do
314
277
  new_resource.source("MyGallery")
315
278
  expect(provider.build_powershell_package_command("Uninstall-Package xNetworking", "1.0.0.0")).to eql(generated_uninstall_cmdlet_with_version)
316
279
  end
@@ -471,19 +434,6 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
471
434
  provider.run_action(:install)
472
435
  expect(new_resource).to be_updated_by_last_action
473
436
  end
474
-
475
- it "should install a package using provided options" do
476
- provider.load_current_resource
477
- new_resource.package_name(["xCertificate"])
478
- new_resource.version(nil)
479
- new_resource.options(%w{-AcceptLicense -Verbose})
480
- allow(provider).to receive(:powershell_out).with("#{tls_set_command} ( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
481
- allow(provider).to receive(:powershell_out).with("#{tls_set_command} ( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
482
- allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
483
- expect(provider).to receive(:powershell_out).with("#{tls_set_command} ( Install-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 -AcceptLicense -Verbose ).Version", { timeout: new_resource.timeout })
484
- provider.run_action(:install)
485
- expect(new_resource).to be_updated_by_last_action
486
- end
487
437
  end
488
438
 
489
439
  describe "#action_remove" do
@@ -549,17 +499,5 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
549
499
  provider.run_action(:remove)
550
500
  expect(new_resource).to be_updated_by_last_action
551
501
  end
552
-
553
- it "should remove a package using provided options" do
554
- new_resource.package_name(["xCertificate"])
555
- new_resource.options(%w{-AllVersions})
556
- allow(provider).to receive(:powershell_out).with("#{tls_set_command} ( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
557
- allow(provider).to receive(:powershell_out).with("#{tls_set_command} ( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
558
- allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
559
- provider.load_current_resource
560
- expect(provider).to receive(:powershell_out).with("#{tls_set_command} ( Uninstall-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -AllVersions ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
561
- provider.run_action(:remove)
562
- expect(new_resource).to be_updated_by_last_action
563
- end
564
502
  end
565
503
  end
@@ -63,10 +63,8 @@ describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
63
63
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new("2.7")
64
64
  expect(Gem::Specification).to receive(:dirs).and_return(["/path/to/gems/specifications", "/another/path/to/gems/specifications"])
65
65
  expect(Gem::Specification).to receive(:installed_stubs).with(["/path/to/gems/specifications", "/another/path/to/gems/specifications"], "rspec-core-*.gemspec").and_return(gems)
66
- elsif Gem::Version.new(Gem::VERSION) >= Gem::Version.new("1.8.0")
66
+ else # >= Rubygems 1.8 behavior
67
67
  expect(Gem::Specification).to receive(:find_all_by_name).with("rspec-core", Gem::Dependency.new("rspec-core").requirement).and_return(gems)
68
- else
69
- expect(Gem.source_index).to receive(:search).with(Gem::Dependency.new("rspec-core", nil)).and_return(gems)
70
68
  end
71
69
  expect(@gem_env.installed_versions(Gem::Dependency.new("rspec-core", nil))).to eq(gems)
72
70
  end
@@ -105,7 +103,7 @@ describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
105
103
  expect(Gem.sources).to eq(normal_sources)
106
104
  end
107
105
 
108
- context "new default rubygems behavior" do
106
+ context "new default rubygems behavior", ruby: ">= 3.0" do
109
107
  before do
110
108
  Chef::Config[:rubygems_cache_enabled] = false
111
109
 
@@ -115,12 +113,11 @@ describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
115
113
  end
116
114
 
117
115
  it "finds a matching gem candidate version on rubygems 2.0.0+" do
118
- stub_request(:head, "https://rubygems.org/api/v1/dependencies")
119
-
120
- stub_request(:get, "https://rubygems.org/api/v1/dependencies?gems=sexp_processor")
121
- .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor")))
122
-
123
- stub_request(:get, "https://rubygems.org/quick/Marshal.4.8/sexp_processor-4.15.1.gemspec.rz")
116
+ stub_request(:head, "https://index.rubygems.org/")
117
+ .to_return(status: 200, body: "", headers: {})
118
+ stub_request(:get, "https://index.rubygems.org/info/sexp_processor")
119
+ .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-info")))
120
+ stub_request(:get, "https://index.rubygems.org/quick/Marshal.4.8/sexp_processor-4.15.1.gemspec.rz")
124
121
  .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-4.15.1.gemspec.rz")))
125
122
 
126
123
  dep = Gem::Dependency.new("sexp_processor", ">= 0")
@@ -128,21 +125,20 @@ describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
128
125
  end
129
126
 
130
127
  it "gives the candidate version as nil if none is found" do
131
- stub_request(:head, "https://rubygems.org/api/v1/dependencies")
132
-
133
- stub_request(:get, "https://rubygems.org/api/v1/dependencies?gems=nonexistent_gem")
134
- .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "nonexistent_gem")))
128
+ stub_request(:head, "https://index.rubygems.org/")
129
+ .to_return(status: 200, body: "", headers: {})
130
+ stub_request(:get, "https://index.rubygems.org/info/nonexistent_gem")
131
+ .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "nonexistent_gem-info")))
135
132
 
136
133
  dep = Gem::Dependency.new("nonexistent_gem", ">= 0")
137
134
  expect(@gem_env.candidate_version_from_remote(dep)).to be_nil
138
135
  end
139
136
 
140
137
  it "finds a matching gem from a specific gemserver when explicit sources are given (to a server that doesn't respond to api requests)" do
141
- stub_request(:head, "https://rubygems2.org/api/v1/dependencies")
142
-
143
- stub_request(:get, "https://rubygems2.org/api/v1/dependencies?gems=sexp_processor")
144
- .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor")))
145
-
138
+ stub_request(:head, "https://rubygems2.org/")
139
+ .to_return(status: 200, body: "", headers: {})
140
+ stub_request(:get, "https://rubygems2.org/info/sexp_processor")
141
+ .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-info")))
146
142
  stub_request(:get, "https://rubygems2.org/quick/Marshal.4.8/sexp_processor-4.15.1.gemspec.rz")
147
143
  .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-4.15.1.gemspec.rz")))
148
144
 
@@ -252,13 +248,8 @@ describe Chef::Provider::Package::Rubygems::AlternateGemEnvironment do
252
248
 
253
249
  it "builds the gems source index from the gem paths" do
254
250
  allow(@gem_env).to receive(:gem_paths).and_return(["/path/to/gems", "/another/path/to/gems"])
255
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new("1.8.0")
256
- @gem_env.gem_specification
257
- expect(Gem::Specification.dirs).to eq([ "/path/to/gems/specifications", "/another/path/to/gems/specifications" ])
258
- else
259
- expect(Gem::SourceIndex).to receive(:from_gems_in).with("/path/to/gems/specifications", "/another/path/to/gems/specifications")
260
- @gem_env.gem_source_index
261
- end
251
+ @gem_env.gem_specification
252
+ expect(Gem::Specification.dirs).to eq([ "/path/to/gems/specifications", "/another/path/to/gems/specifications" ])
262
253
  end
263
254
 
264
255
  it "determines the installed versions of gems from the source index" do
@@ -268,12 +259,9 @@ describe Chef::Provider::Package::Rubygems::AlternateGemEnvironment do
268
259
  allow(@gem_env).to receive(:gem_specification).and_return(Gem::Specification)
269
260
  expect(Gem::Specification).to receive(:dirs).and_return(["/path/to/gems/specifications", "/another/path/to/gems/specifications"])
270
261
  expect(Gem::Specification).to receive(:installed_stubs).with(["/path/to/gems/specifications", "/another/path/to/gems/specifications"], "rspec-*.gemspec").and_return(gems)
271
- elsif Gem::Version.new(Gem::VERSION) >= Gem::Version.new("1.8.0")
262
+ else # >= rubygems 1.8 behavior
272
263
  allow(@gem_env).to receive(:gem_specification).and_return(Gem::Specification)
273
264
  expect(@gem_env.gem_specification).to receive(:find_all_by_name).with(rspec_dep.name, rspec_dep.requirement).and_return(gems)
274
- else
275
- allow(@gem_env).to receive(:gem_source_index).and_return(Gem.source_index)
276
- expect(@gem_env.gem_source_index).to receive(:search).with(rspec_dep).and_return(gems)
277
265
  end
278
266
  expect(@gem_env.installed_versions(Gem::Dependency.new("rspec", nil))).to eq(gems)
279
267
  end
@@ -44,6 +44,7 @@ describe Chef::Provider::Service::Arch, "load_current_resource" do
44
44
 
45
45
  describe "when first created" do
46
46
  it "should set the current resources service name to the new resources service name" do
47
+ allow(@provider).to receive(:determine_current_status!)
47
48
  allow(@provider).to receive(:shell_out).and_return(OpenStruct.new(exitstatus: 0, stdout: ""))
48
49
  @provider.load_current_resource
49
50
  expect(@provider.current_resource.service_name).to eq("chef")
@@ -33,6 +33,7 @@ describe Chef::Provider::Service::Debian do
33
33
 
34
34
  @pid, @stdin, @stdout, @stderr = nil, nil, nil, nil
35
35
  allow(File).to receive(:exist?).with("/etc/init.d/chef").and_return true
36
+ allow(@provider).to receive(:determine_current_status!)
36
37
  end
37
38
 
38
39
  let(:init_lines) do
@@ -259,7 +259,7 @@ describe Chef::Provider::Service::Macosx do
259
259
 
260
260
  it "shows warning message if service is already running" do
261
261
  allow(current_resource).to receive(:running).and_return(true)
262
- expect(logger).to receive(:trace).with("macosx_service[#{service_name}] already running, not starting")
262
+ expect(logger).to receive(:debug).with("macosx_service[#{service_name}] already running, not starting")
263
263
 
264
264
  provider.start_service
265
265
  end
@@ -291,7 +291,7 @@ describe Chef::Provider::Service::Macosx do
291
291
 
292
292
  it "shows warning message if service is not running" do
293
293
  allow(current_resource).to receive(:running).and_return(false)
294
- expect(logger).to receive(:trace).with("macosx_service[#{service_name}] not running, not stopping")
294
+ expect(logger).to receive(:debug).with("macosx_service[#{service_name}] not running, not stopping")
295
295
 
296
296
  provider.stop_service
297
297
  end