chef 16.16.13 → 17.0.242

Sign up to get free protection for your applications and to get access to all the features.
Files changed (638) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -13
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/chef-universal-mingw32.gemspec +1 -1
  6. data/chef.gemspec +6 -8
  7. data/lib/chef/application/base.rb +1 -1
  8. data/lib/chef/applications.rb +0 -1
  9. data/lib/chef/chef_fs/command_line.rb +5 -2
  10. data/lib/chef/chef_fs/file_system.rb +9 -10
  11. data/lib/chef/client.rb +2 -2
  12. data/lib/chef/compliance/default_attributes.rb +4 -3
  13. data/lib/chef/compliance/fetcher/automate.rb +0 -7
  14. data/lib/chef/compliance/reporter/automate.rb +17 -7
  15. data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
  16. data/lib/chef/compliance/reporter/cli.rb +77 -0
  17. data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
  18. data/lib/chef/compliance/reporter/json_file.rb +8 -1
  19. data/lib/chef/compliance/runner.rb +65 -27
  20. data/lib/chef/cookbook/gem_installer.rb +1 -5
  21. data/lib/chef/cookbook/synchronizer.rb +3 -5
  22. data/lib/chef/cookbook_loader.rb +2 -4
  23. data/lib/chef/cookbook_uploader.rb +0 -1
  24. data/lib/chef/cookbook_version.rb +4 -26
  25. data/lib/chef/data_bag_item.rb +11 -2
  26. data/lib/chef/data_collector/run_end_message.rb +1 -1
  27. data/lib/chef/delayed_evaluator.rb +4 -0
  28. data/lib/chef/deprecated.rb +6 -12
  29. data/lib/chef/dsl/chef_vault.rb +6 -6
  30. data/lib/chef/dsl/reboot_pending.rb +1 -2
  31. data/lib/chef/exceptions.rb +0 -3
  32. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  33. data/lib/chef/formatters/error_mapper.rb +2 -2
  34. data/lib/chef/group.rb +75 -0
  35. data/lib/chef/http.rb +5 -5
  36. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  37. data/lib/chef/node/attribute.rb +6 -4
  38. data/lib/chef/node/immutable_collections.rb +13 -0
  39. data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
  40. data/lib/chef/node.rb +19 -20
  41. data/lib/chef/org.rb +3 -2
  42. data/lib/chef/policy_builder/policyfile.rb +0 -5
  43. data/lib/chef/property.rb +18 -0
  44. data/lib/chef/provider/cron.rb +1 -1
  45. data/lib/chef/provider/execute.rb +2 -1
  46. data/lib/chef/provider/file.rb +1 -1
  47. data/lib/chef/provider/git.rb +5 -7
  48. data/lib/chef/provider/group/dscl.rb +1 -1
  49. data/lib/chef/provider/group/groupadd.rb +3 -3
  50. data/lib/chef/provider/group/groupmod.rb +3 -3
  51. data/lib/chef/provider/group/pw.rb +3 -3
  52. data/lib/chef/provider/ifconfig.rb +2 -2
  53. data/lib/chef/provider/link.rb +2 -2
  54. data/lib/chef/provider/mount/aix.rb +3 -3
  55. data/lib/chef/provider/mount/mount.rb +5 -5
  56. data/lib/chef/provider/mount/windows.rb +1 -1
  57. data/lib/chef/provider/mount.rb +5 -5
  58. data/lib/chef/provider/package/apt.rb +27 -1
  59. data/lib/chef/provider/package/deb.rb +3 -3
  60. data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
  61. data/lib/chef/provider/package/portage.rb +2 -2
  62. data/lib/chef/provider/package/powershell.rb +0 -5
  63. data/lib/chef/provider/package/rubygems.rb +9 -15
  64. data/lib/chef/provider/package/windows.rb +2 -4
  65. data/lib/chef/provider/package/yum/yum_helper.py +1 -1
  66. data/lib/chef/provider/package.rb +17 -21
  67. data/lib/chef/provider/route.rb +2 -2
  68. data/lib/chef/provider/service/aixinit.rb +1 -1
  69. data/lib/chef/provider/service/debian.rb +1 -1
  70. data/lib/chef/provider/service/freebsd.rb +15 -21
  71. data/lib/chef/provider/service/macosx.rb +4 -4
  72. data/lib/chef/provider/service/systemd.rb +43 -14
  73. data/lib/chef/provider/service/upstart.rb +2 -13
  74. data/lib/chef/provider/service/windows.rb +12 -12
  75. data/lib/chef/provider/service.rb +6 -6
  76. data/lib/chef/provider/subversion.rb +10 -12
  77. data/lib/chef/provider/systemd_unit.rb +36 -10
  78. data/lib/chef/provider/template/content.rb +3 -7
  79. data/lib/chef/provider/user/dscl.rb +1 -1
  80. data/lib/chef/provider/user/mac.rb +17 -20
  81. data/lib/chef/provider/user/pw.rb +1 -1
  82. data/lib/chef/provider/user/windows.rb +1 -1
  83. data/lib/chef/provider/user.rb +2 -2
  84. data/lib/chef/provider/zypper_repository.rb +2 -2
  85. data/lib/chef/provider.rb +1 -1
  86. data/lib/chef/providers.rb +0 -1
  87. data/lib/chef/resource/alternatives.rb +6 -6
  88. data/lib/chef/resource/apt_package.rb +1 -1
  89. data/lib/chef/resource/apt_preference.rb +2 -2
  90. data/lib/chef/resource/apt_repository.rb +6 -6
  91. data/lib/chef/resource/apt_update.rb +3 -2
  92. data/lib/chef/resource/archive_file.rb +2 -3
  93. data/lib/chef/resource/breakpoint.rb +1 -1
  94. data/lib/chef/resource/build_essential.rb +2 -6
  95. data/lib/chef/resource/chef_client_config.rb +2 -2
  96. data/lib/chef/resource/chef_client_cron.rb +4 -4
  97. data/lib/chef/resource/chef_client_launchd.rb +3 -3
  98. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  99. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  100. data/lib/chef/resource/chef_handler.rb +3 -7
  101. data/lib/chef/resource/chef_sleep.rb +1 -1
  102. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  103. data/lib/chef/resource/chocolatey_config.rb +2 -6
  104. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  105. data/lib/chef/resource/chocolatey_source.rb +4 -10
  106. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  107. data/lib/chef/resource/cron_access.rb +2 -4
  108. data/lib/chef/resource/dmg_package.rb +6 -10
  109. data/lib/chef/resource/dpkg_package.rb +1 -1
  110. data/lib/chef/resource/execute.rb +6 -1
  111. data/lib/chef/resource/file.rb +1 -1
  112. data/lib/chef/resource/group.rb +2 -2
  113. data/lib/chef/resource/homebrew_cask.rb +5 -15
  114. data/lib/chef/resource/homebrew_tap.rb +2 -6
  115. data/lib/chef/resource/hostname.rb +21 -17
  116. data/lib/chef/resource/http_request.rb +1 -1
  117. data/lib/chef/resource/kernel_module.rb +6 -17
  118. data/lib/chef/resource/locale.rb +2 -3
  119. data/lib/chef/resource/lwrp_base.rb +4 -0
  120. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  121. data/lib/chef/resource/mdadm.rb +53 -7
  122. data/lib/chef/resource/mount.rb +3 -2
  123. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  124. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  125. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  126. data/lib/chef/resource/plist.rb +7 -7
  127. data/lib/chef/resource/powershell_script.rb +1 -1
  128. data/lib/chef/resource/remote_file.rb +1 -1
  129. data/lib/chef/resource/rhsm_errata.rb +16 -1
  130. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  131. data/lib/chef/resource/rhsm_register.rb +12 -6
  132. data/lib/chef/resource/rhsm_repo.rb +2 -6
  133. data/lib/chef/resource/rhsm_subscription.rb +7 -11
  134. data/lib/chef/resource/scm/git.rb +1 -1
  135. data/lib/chef/resource/sudo.rb +6 -6
  136. data/lib/chef/resource/support/client.erb +0 -6
  137. data/lib/chef/resource/sysctl.rb +2 -6
  138. data/lib/chef/resource/systemd_unit.rb +3 -3
  139. data/lib/chef/resource/template.rb +1 -1
  140. data/lib/chef/resource/timezone.rb +1 -3
  141. data/lib/chef/resource/user/mac_user.rb +1 -1
  142. data/lib/chef/resource/user_ulimit.rb +2 -3
  143. data/lib/chef/resource/windows_ad_join.rb +2 -6
  144. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  145. data/lib/chef/resource/windows_auto_run.rb +2 -5
  146. data/lib/chef/resource/windows_certificate.rb +207 -73
  147. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  148. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  149. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  150. data/lib/chef/resource/windows_dns_record.rb +2 -6
  151. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  152. data/lib/chef/resource/windows_env.rb +5 -4
  153. data/lib/chef/resource/windows_feature.rb +3 -9
  154. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  155. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  156. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  157. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  158. data/lib/chef/resource/windows_font.rb +2 -4
  159. data/lib/chef/resource/windows_pagefile.rb +2 -6
  160. data/lib/chef/resource/windows_path.rb +2 -2
  161. data/lib/chef/resource/windows_printer.rb +4 -4
  162. data/lib/chef/resource/windows_printer_port.rb +6 -6
  163. data/lib/chef/resource/windows_security_policy.rb +9 -12
  164. data/lib/chef/resource/windows_share.rb +14 -21
  165. data/lib/chef/resource/windows_shortcut.rb +4 -6
  166. data/lib/chef/resource/windows_task.rb +17 -5
  167. data/lib/chef/resource/windows_uac.rb +2 -4
  168. data/lib/chef/resource/windows_user_privilege.rb +5 -5
  169. data/lib/chef/resource/windows_workgroup.rb +1 -2
  170. data/lib/chef/resources.rb +0 -1
  171. data/lib/chef/user.rb +0 -1
  172. data/lib/chef/user_v1.rb +3 -4
  173. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  174. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  175. data/lib/chef/version.rb +1 -1
  176. data/lib/chef/win32/api.rb +2 -9
  177. data/lib/chef/win32/registry.rb +4 -2
  178. data/lib/chef/win32/version.rb +1 -2
  179. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  180. data/spec/data/lwrp/resources/bar.rb +2 -0
  181. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  182. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  183. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  184. data/spec/data/lwrp/resources/foo.rb +2 -0
  185. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  186. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  187. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  188. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  189. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  190. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  191. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  192. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  193. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  194. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  195. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  196. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  197. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  198. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  199. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  200. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  201. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  202. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  203. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  204. data/spec/functional/resource/apt_package_spec.rb +1 -1
  205. data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
  206. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  207. data/spec/functional/resource/group_spec.rb +1 -5
  208. data/spec/functional/resource/link_spec.rb +0 -8
  209. data/spec/functional/resource/registry_spec.rb +8 -8
  210. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  211. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  212. data/spec/functional/version_spec.rb +1 -1
  213. data/spec/functional/win32/registry_spec.rb +1 -1
  214. data/spec/integration/client/client_spec.rb +5 -2
  215. data/spec/integration/client/exit_code_spec.rb +1 -1
  216. data/spec/integration/client/ipv6_spec.rb +1 -1
  217. data/spec/integration/compliance/compliance_spec.rb +1 -1
  218. data/spec/integration/ohai/ohai_spec.rb +7 -6
  219. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  220. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  221. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  222. data/spec/integration/recipes/notifies_spec.rb +15 -1
  223. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  224. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  225. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  226. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  227. data/spec/spec_helper.rb +10 -13
  228. data/spec/support/chef_helpers.rb +0 -16
  229. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  230. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  231. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  232. data/spec/support/matchers/leak.rb +7 -9
  233. data/spec/support/platform_helpers.rb +1 -8
  234. data/spec/support/shared/integration/integration_helper.rb +0 -1
  235. data/spec/support/shared/unit/script_resource.rb +2 -2
  236. data/spec/unit/application/solo_spec.rb +2 -2
  237. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  238. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  239. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
  240. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  241. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  242. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  243. data/spec/unit/compliance/runner_spec.rb +30 -4
  244. data/spec/unit/cookbook_version_spec.rb +0 -52
  245. data/spec/unit/data_bag_item_spec.rb +1 -6
  246. data/spec/unit/data_collector_spec.rb +1 -47
  247. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  248. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  249. data/spec/unit/lwrp_spec.rb +1 -1
  250. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  251. data/spec/unit/node/attribute_spec.rb +1 -1
  252. data/spec/unit/node_spec.rb +78 -0
  253. data/spec/unit/org_group_spec.rb +45 -0
  254. data/spec/unit/policy_builder/policyfile_spec.rb +1 -11
  255. data/spec/unit/property_spec.rb +23 -22
  256. data/spec/unit/provider/cron_spec.rb +1 -1
  257. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  258. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  259. data/spec/unit/provider/group/pw_spec.rb +2 -2
  260. data/spec/unit/provider/group_spec.rb +1 -1
  261. data/spec/unit/provider/package/apt_spec.rb +84 -18
  262. data/spec/unit/provider/package/deb_spec.rb +3 -3
  263. data/spec/unit/provider/package/powershell_spec.rb +12 -74
  264. data/spec/unit/provider/package/rubygems_spec.rb +18 -30
  265. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  266. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  267. data/spec/unit/provider/service/macosx_spec.rb +2 -2
  268. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  269. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  270. data/spec/unit/provider/service/windows_spec.rb +2 -2
  271. data/spec/unit/provider/subversion_spec.rb +2 -2
  272. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  273. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  274. data/spec/unit/provider_spec.rb +0 -8
  275. data/spec/unit/resource/homebrew_cask_spec.rb +11 -29
  276. data/spec/unit/resource/mount_spec.rb +0 -10
  277. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  278. data/spec/unit/resource/rhsm_subscription_spec.rb +3 -50
  279. data/spec/unit/resource/systemd_unit_spec.rb +1 -1
  280. data/spec/unit/resource/user_ulimit_spec.rb +1 -14
  281. data/spec/unit/resource/windows_task_spec.rb +1 -1
  282. data/spec/unit/user_spec.rb +1 -1
  283. data/spec/unit/user_v1_spec.rb +6 -4
  284. data/tasks/rspec.rb +15 -7
  285. metadata +17 -380
  286. data/bin/knife +0 -24
  287. data/lib/chef/application/knife.rb +0 -234
  288. data/lib/chef/application/windows_service.rb +0 -338
  289. data/lib/chef/application/windows_service_manager.rb +0 -205
  290. data/lib/chef/chef_fs/knife.rb +0 -160
  291. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  292. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  293. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  294. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  295. data/lib/chef/knife/acl_add.rb +0 -57
  296. data/lib/chef/knife/acl_base.rb +0 -183
  297. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  298. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  299. data/lib/chef/knife/acl_remove.rb +0 -62
  300. data/lib/chef/knife/acl_show.rb +0 -56
  301. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  302. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  303. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  304. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  305. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  306. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  307. data/lib/chef/knife/bootstrap.rb +0 -1192
  308. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  309. data/lib/chef/knife/client_create.rb +0 -101
  310. data/lib/chef/knife/client_delete.rb +0 -62
  311. data/lib/chef/knife/client_edit.rb +0 -52
  312. data/lib/chef/knife/client_key_create.rb +0 -73
  313. data/lib/chef/knife/client_key_delete.rb +0 -80
  314. data/lib/chef/knife/client_key_edit.rb +0 -83
  315. data/lib/chef/knife/client_key_list.rb +0 -73
  316. data/lib/chef/knife/client_key_show.rb +0 -80
  317. data/lib/chef/knife/client_list.rb +0 -41
  318. data/lib/chef/knife/client_reregister.rb +0 -58
  319. data/lib/chef/knife/client_show.rb +0 -48
  320. data/lib/chef/knife/config_get.rb +0 -39
  321. data/lib/chef/knife/config_get_profile.rb +0 -37
  322. data/lib/chef/knife/config_list.rb +0 -139
  323. data/lib/chef/knife/config_list_profiles.rb +0 -37
  324. data/lib/chef/knife/config_show.rb +0 -127
  325. data/lib/chef/knife/config_use.rb +0 -61
  326. data/lib/chef/knife/config_use_profile.rb +0 -47
  327. data/lib/chef/knife/configure.rb +0 -150
  328. data/lib/chef/knife/configure_client.rb +0 -48
  329. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  330. data/lib/chef/knife/cookbook_delete.rb +0 -151
  331. data/lib/chef/knife/cookbook_download.rb +0 -142
  332. data/lib/chef/knife/cookbook_list.rb +0 -47
  333. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  334. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  335. data/lib/chef/knife/cookbook_show.rb +0 -98
  336. data/lib/chef/knife/cookbook_upload.rb +0 -292
  337. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  338. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  339. data/lib/chef/knife/core/formatting_options.rb +0 -49
  340. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  341. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  342. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  343. data/lib/chef/knife/core/node_editor.rb +0 -130
  344. data/lib/chef/knife/core/node_presenter.rb +0 -133
  345. data/lib/chef/knife/core/object_loader.rb +0 -115
  346. data/lib/chef/knife/core/status_presenter.rb +0 -147
  347. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  348. data/lib/chef/knife/core/text_formatter.rb +0 -85
  349. data/lib/chef/knife/core/ui.rb +0 -338
  350. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -405
  351. data/lib/chef/knife/data_bag_create.rb +0 -81
  352. data/lib/chef/knife/data_bag_delete.rb +0 -49
  353. data/lib/chef/knife/data_bag_edit.rb +0 -74
  354. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  355. data/lib/chef/knife/data_bag_list.rb +0 -42
  356. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  357. data/lib/chef/knife/data_bag_show.rb +0 -69
  358. data/lib/chef/knife/delete.rb +0 -125
  359. data/lib/chef/knife/deps.rb +0 -156
  360. data/lib/chef/knife/diff.rb +0 -83
  361. data/lib/chef/knife/download.rb +0 -84
  362. data/lib/chef/knife/edit.rb +0 -88
  363. data/lib/chef/knife/environment_compare.rb +0 -128
  364. data/lib/chef/knife/environment_create.rb +0 -52
  365. data/lib/chef/knife/environment_delete.rb +0 -44
  366. data/lib/chef/knife/environment_edit.rb +0 -44
  367. data/lib/chef/knife/environment_from_file.rb +0 -84
  368. data/lib/chef/knife/environment_list.rb +0 -41
  369. data/lib/chef/knife/environment_show.rb +0 -47
  370. data/lib/chef/knife/exec.rb +0 -99
  371. data/lib/chef/knife/group_add.rb +0 -55
  372. data/lib/chef/knife/group_create.rb +0 -49
  373. data/lib/chef/knife/group_destroy.rb +0 -53
  374. data/lib/chef/knife/group_list.rb +0 -43
  375. data/lib/chef/knife/group_remove.rb +0 -56
  376. data/lib/chef/knife/group_show.rb +0 -49
  377. data/lib/chef/knife/key_create.rb +0 -112
  378. data/lib/chef/knife/key_create_base.rb +0 -50
  379. data/lib/chef/knife/key_delete.rb +0 -55
  380. data/lib/chef/knife/key_edit.rb +0 -118
  381. data/lib/chef/knife/key_edit_base.rb +0 -55
  382. data/lib/chef/knife/key_list.rb +0 -90
  383. data/lib/chef/knife/key_list_base.rb +0 -45
  384. data/lib/chef/knife/key_show.rb +0 -53
  385. data/lib/chef/knife/list.rb +0 -177
  386. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  387. data/lib/chef/knife/node_create.rb +0 -47
  388. data/lib/chef/knife/node_delete.rb +0 -46
  389. data/lib/chef/knife/node_edit.rb +0 -70
  390. data/lib/chef/knife/node_environment_set.rb +0 -53
  391. data/lib/chef/knife/node_from_file.rb +0 -51
  392. data/lib/chef/knife/node_list.rb +0 -44
  393. data/lib/chef/knife/node_policy_set.rb +0 -79
  394. data/lib/chef/knife/node_run_list_add.rb +0 -104
  395. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  396. data/lib/chef/knife/node_run_list_set.rb +0 -66
  397. data/lib/chef/knife/node_show.rb +0 -63
  398. data/lib/chef/knife/null.rb +0 -12
  399. data/lib/chef/knife/raw.rb +0 -123
  400. data/lib/chef/knife/recipe_list.rb +0 -32
  401. data/lib/chef/knife/rehash.rb +0 -50
  402. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  403. data/lib/chef/knife/role_create.rb +0 -53
  404. data/lib/chef/knife/role_delete.rb +0 -46
  405. data/lib/chef/knife/role_edit.rb +0 -45
  406. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  407. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  408. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  409. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  410. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  411. data/lib/chef/knife/role_from_file.rb +0 -51
  412. data/lib/chef/knife/role_list.rb +0 -42
  413. data/lib/chef/knife/role_run_list_add.rb +0 -87
  414. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  415. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  416. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  417. data/lib/chef/knife/role_run_list_set.rb +0 -69
  418. data/lib/chef/knife/role_show.rb +0 -48
  419. data/lib/chef/knife/search.rb +0 -194
  420. data/lib/chef/knife/serve.rb +0 -65
  421. data/lib/chef/knife/show.rb +0 -72
  422. data/lib/chef/knife/ssh.rb +0 -645
  423. data/lib/chef/knife/ssl_check.rb +0 -284
  424. data/lib/chef/knife/ssl_fetch.rb +0 -161
  425. data/lib/chef/knife/status.rb +0 -95
  426. data/lib/chef/knife/supermarket_download.rb +0 -121
  427. data/lib/chef/knife/supermarket_install.rb +0 -192
  428. data/lib/chef/knife/supermarket_list.rb +0 -76
  429. data/lib/chef/knife/supermarket_search.rb +0 -53
  430. data/lib/chef/knife/supermarket_share.rb +0 -166
  431. data/lib/chef/knife/supermarket_show.rb +0 -66
  432. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  433. data/lib/chef/knife/tag_create.rb +0 -52
  434. data/lib/chef/knife/tag_delete.rb +0 -60
  435. data/lib/chef/knife/tag_list.rb +0 -47
  436. data/lib/chef/knife/upload.rb +0 -86
  437. data/lib/chef/knife/user_create.rb +0 -107
  438. data/lib/chef/knife/user_delete.rb +0 -44
  439. data/lib/chef/knife/user_dissociate.rb +0 -42
  440. data/lib/chef/knife/user_edit.rb +0 -52
  441. data/lib/chef/knife/user_invite_add.rb +0 -43
  442. data/lib/chef/knife/user_invite_list.rb +0 -34
  443. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  444. data/lib/chef/knife/user_key_create.rb +0 -73
  445. data/lib/chef/knife/user_key_delete.rb +0 -80
  446. data/lib/chef/knife/user_key_edit.rb +0 -83
  447. data/lib/chef/knife/user_key_list.rb +0 -73
  448. data/lib/chef/knife/user_key_show.rb +0 -80
  449. data/lib/chef/knife/user_list.rb +0 -42
  450. data/lib/chef/knife/user_reregister.rb +0 -59
  451. data/lib/chef/knife/user_show.rb +0 -48
  452. data/lib/chef/knife/xargs.rb +0 -282
  453. data/lib/chef/knife/yaml_convert.rb +0 -91
  454. data/lib/chef/knife.rb +0 -665
  455. data/lib/chef/resource/user/dscl_user.rb +0 -35
  456. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  457. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  458. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  459. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  460. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  461. data/spec/functional/knife/configure_spec.rb +0 -33
  462. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  463. data/spec/functional/knife/exec_spec.rb +0 -55
  464. data/spec/functional/knife/rehash_spec.rb +0 -39
  465. data/spec/functional/knife/smoke_test.rb +0 -42
  466. data/spec/functional/knife/ssh_spec.rb +0 -352
  467. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  468. data/spec/functional/resource/windows_service_spec.rb +0 -105
  469. data/spec/functional/win32/service_manager_spec.rb +0 -220
  470. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  471. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  472. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  473. data/spec/integration/knife/chefignore_spec.rb +0 -301
  474. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  475. data/spec/integration/knife/client_create_spec.rb +0 -70
  476. data/spec/integration/knife/client_delete_spec.rb +0 -64
  477. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  478. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  479. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  480. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  481. data/spec/integration/knife/client_list_spec.rb +0 -49
  482. data/spec/integration/knife/client_show_spec.rb +0 -37
  483. data/spec/integration/knife/common_options_spec.rb +0 -174
  484. data/spec/integration/knife/config_list_spec.rb +0 -220
  485. data/spec/integration/knife/config_show_spec.rb +0 -192
  486. data/spec/integration/knife/config_use_spec.rb +0 -198
  487. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  488. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  489. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  490. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  491. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  492. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  493. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  494. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  495. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  496. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  497. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  498. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  499. data/spec/integration/knife/delete_spec.rb +0 -1018
  500. data/spec/integration/knife/deps_spec.rb +0 -703
  501. data/spec/integration/knife/diff_spec.rb +0 -605
  502. data/spec/integration/knife/download_spec.rb +0 -1336
  503. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  504. data/spec/integration/knife/environment_create_spec.rb +0 -41
  505. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  506. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  507. data/spec/integration/knife/environment_list_spec.rb +0 -42
  508. data/spec/integration/knife/environment_show_spec.rb +0 -77
  509. data/spec/integration/knife/list_spec.rb +0 -1060
  510. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  511. data/spec/integration/knife/node_create_spec.rb +0 -47
  512. data/spec/integration/knife/node_delete_spec.rb +0 -48
  513. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  514. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  515. data/spec/integration/knife/node_list_spec.rb +0 -45
  516. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  517. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  518. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  519. data/spec/integration/knife/node_show_spec.rb +0 -36
  520. data/spec/integration/knife/raw_spec.rb +0 -297
  521. data/spec/integration/knife/redirection_spec.rb +0 -64
  522. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  523. data/spec/integration/knife/role_create_spec.rb +0 -41
  524. data/spec/integration/knife/role_delete_spec.rb +0 -48
  525. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  526. data/spec/integration/knife/role_list_spec.rb +0 -45
  527. data/spec/integration/knife/role_show_spec.rb +0 -51
  528. data/spec/integration/knife/search_node_spec.rb +0 -40
  529. data/spec/integration/knife/serve_spec.rb +0 -92
  530. data/spec/integration/knife/show_spec.rb +0 -197
  531. data/spec/integration/knife/upload_spec.rb +0 -1617
  532. data/spec/support/shared/functional/knife.rb +0 -37
  533. data/spec/support/shared/functional/win32_service.rb +0 -57
  534. data/spec/support/shared/integration/knife_support.rb +0 -192
  535. data/spec/support/shared/unit/knife_shared.rb +0 -39
  536. data/spec/unit/application/knife_spec.rb +0 -241
  537. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  538. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  539. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  540. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  541. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  542. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  543. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  544. data/spec/unit/knife/client_create_spec.rb +0 -169
  545. data/spec/unit/knife/client_delete_spec.rb +0 -99
  546. data/spec/unit/knife/client_edit_spec.rb +0 -53
  547. data/spec/unit/knife/client_list_spec.rb +0 -34
  548. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  549. data/spec/unit/knife/client_show_spec.rb +0 -52
  550. data/spec/unit/knife/configure_client_spec.rb +0 -81
  551. data/spec/unit/knife/configure_spec.rb +0 -190
  552. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  553. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  554. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  555. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  556. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  557. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  558. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  559. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  560. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  561. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  562. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  563. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  564. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  565. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  566. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  567. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  568. data/spec/unit/knife/core/ui_spec.rb +0 -656
  569. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  570. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  571. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  572. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  573. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  574. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  575. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  576. data/spec/unit/knife/environment_create_spec.rb +0 -91
  577. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  578. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  579. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  580. data/spec/unit/knife/environment_list_spec.rb +0 -54
  581. data/spec/unit/knife/environment_show_spec.rb +0 -52
  582. data/spec/unit/knife/key_create_spec.rb +0 -223
  583. data/spec/unit/knife/key_delete_spec.rb +0 -133
  584. data/spec/unit/knife/key_edit_spec.rb +0 -264
  585. data/spec/unit/knife/key_helper.rb +0 -74
  586. data/spec/unit/knife/key_list_spec.rb +0 -216
  587. data/spec/unit/knife/key_show_spec.rb +0 -126
  588. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  589. data/spec/unit/knife/node_delete_spec.rb +0 -77
  590. data/spec/unit/knife/node_edit_spec.rb +0 -116
  591. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  592. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  593. data/spec/unit/knife/node_list_spec.rb +0 -62
  594. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  595. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  596. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  597. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  598. data/spec/unit/knife/node_show_spec.rb +0 -65
  599. data/spec/unit/knife/raw_spec.rb +0 -43
  600. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  601. data/spec/unit/knife/role_create_spec.rb +0 -80
  602. data/spec/unit/knife/role_delete_spec.rb +0 -67
  603. data/spec/unit/knife/role_edit_spec.rb +0 -77
  604. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  605. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  606. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  607. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  608. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  609. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  610. data/spec/unit/knife/role_list_spec.rb +0 -54
  611. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  612. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  613. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  614. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  615. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  616. data/spec/unit/knife/role_show_spec.rb +0 -59
  617. data/spec/unit/knife/ssh_spec.rb +0 -403
  618. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  619. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  620. data/spec/unit/knife/status_spec.rb +0 -112
  621. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  622. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  623. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  624. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  625. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  626. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  627. data/spec/unit/knife/tag_create_spec.rb +0 -23
  628. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  629. data/spec/unit/knife/tag_list_spec.rb +0 -23
  630. data/spec/unit/knife/user_create_spec.rb +0 -184
  631. data/spec/unit/knife/user_delete_spec.rb +0 -46
  632. data/spec/unit/knife/user_edit_spec.rb +0 -48
  633. data/spec/unit/knife/user_list_spec.rb +0 -36
  634. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  635. data/spec/unit/knife/user_show_spec.rb +0 -46
  636. data/spec/unit/knife_spec.rb +0 -634
  637. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  638. data/spec/unit/windows_service_spec.rb +0 -118
@@ -297,6 +297,55 @@ describe Chef::Provider::Service::Systemd do
297
297
  end
298
298
  end
299
299
 
300
+ enabled_and_active = <<-STDOUT
301
+ ActiveState=active
302
+ UnitFileState=enabled
303
+ STDOUT
304
+ disabled_and_inactive = <<-STDOUT
305
+ ActiveState=disabled
306
+ UnitFileState=inactive
307
+ STDOUT
308
+ # No unit known for this service, and inactive
309
+ nil_and_inactive = <<-STDOUT
310
+ ActiveState=inactive
311
+ UnitFileState=
312
+ STDOUT
313
+
314
+ def with_systemctl_show(systemctl_path, stdout)
315
+ systemctl_show = [systemctl_path, "--system", "show", "-p", "UnitFileState", "-p", "ActiveState", service_name]
316
+ expect(provider).to receive(:shell_out!).with(*systemctl_show, {}).and_return(double(stdout: stdout, exitstatus: 0, error?: false))
317
+ end
318
+
319
+ describe "systemd_service_status" do
320
+ before(:each) do
321
+ provider.current_resource = current_resource
322
+ current_resource.service_name(service_name)
323
+ end
324
+
325
+ it "should return status if '#{systemctl_path} --system show -p UnitFileState -p ActiveState service_name' returns 0 and has nil" do
326
+ nil_and_inactive_h = {
327
+ "ActiveState" => "inactive",
328
+ "UnitFileState" => nil,
329
+ }
330
+ with_systemctl_show(systemctl_path, nil_and_inactive)
331
+ expect(provider.systemd_service_status).to eql(nil_and_inactive_h)
332
+ end
333
+
334
+ it "should error if '#{systemctl_path} --system show -p UnitFileState -p ActiveState service_name' misses fields" do
335
+ partial_systemctl_stdout = <<-STDOUT
336
+ ActiveState=inactive
337
+ STDOUT
338
+ with_systemctl_show(systemctl_path, partial_systemctl_stdout)
339
+ expect { provider.systemd_service_status }.to raise_error(Chef::Exceptions::Service)
340
+ end
341
+
342
+ it "should error if '#{systemctl_path} --system show -p UnitFileState -p ActiveState service_name' returns non 0" do
343
+ systemctl_show = [systemctl_path, "--system", "show", "-p", "UnitFileState", "-p", "ActiveState", service_name]
344
+ allow(provider).to receive(:shell_out!).with(*systemctl_show, {}).and_return(shell_out_failure)
345
+ expect { provider.systemd_service_status }.to raise_error(Chef::Exceptions::Service)
346
+ end
347
+ end
348
+
300
349
  describe "is_active?" do
301
350
  before(:each) do
302
351
  provider.current_resource = current_resource
@@ -304,13 +353,22 @@ describe Chef::Provider::Service::Systemd do
304
353
  allow(provider).to receive(:which).with("systemctl").and_return(systemctl_path.to_s)
305
354
  end
306
355
 
307
- it "should return true if '#{systemctl_path} --system is-active service_name' returns 0" do
308
- expect(provider).to receive(:shell_out_compacted).with(systemctl_path, "--system", "is-active", service_name, "--quiet", timeout: 900).and_return(shell_out_success)
356
+ it "should return true if service is active" do
357
+ with_systemctl_show(systemctl_path, enabled_and_active)
309
358
  expect(provider.is_active?).to be true
310
359
  end
311
360
 
312
- it "should return false if '#{systemctl_path} --system is-active service_name' returns anything except 0" do
313
- expect(provider).to receive(:shell_out_compacted).with(systemctl_path, "--system", "is-active", service_name, "--quiet", timeout: 900).and_return(shell_out_failure)
361
+ it "should return false if service is not active" do
362
+ with_systemctl_show(systemctl_path, disabled_and_inactive)
363
+ expect(provider.is_active?).to be false
364
+ end
365
+
366
+ it "should return false if service is activating" do
367
+ enabled_and_activating = <<-STDOUT
368
+ ActiveState=activating
369
+ UnitFileState=enabled
370
+ STDOUT
371
+ with_systemctl_show(systemctl_path, enabled_and_activating)
314
372
  expect(provider.is_active?).to be false
315
373
  end
316
374
  end
@@ -322,15 +380,60 @@ describe Chef::Provider::Service::Systemd do
322
380
  allow(provider).to receive(:which).with("systemctl").and_return(systemctl_path.to_s)
323
381
  end
324
382
 
325
- it "should return true if '#{systemctl_path} --system is-enabled service_name' returns 0" do
326
- expect(provider).to receive(:shell_out_compacted).with(systemctl_path, "--system", "is-enabled", service_name, "--quiet", timeout: 900).and_return(shell_out_success)
383
+ it "should return true if service is enabled" do
384
+ with_systemctl_show(systemctl_path, enabled_and_active)
327
385
  expect(provider.is_enabled?).to be true
328
386
  end
329
387
 
330
- it "should return false if '#{systemctl_path} --system is-enabled service_name' returns anything except 0" do
331
- expect(provider).to receive(:shell_out_compacted).with(systemctl_path, "--system", "is-enabled", service_name, "--quiet", timeout: 900).and_return(shell_out_failure)
388
+ it "should return false if service is disabled" do
389
+ with_systemctl_show(systemctl_path, disabled_and_inactive)
332
390
  expect(provider.is_enabled?).to be false
333
391
  end
392
+
393
+ it "should return false if service has no unit file" do
394
+ with_systemctl_show(systemctl_path, nil_and_inactive)
395
+ expect(provider.is_enabled?).to be false
396
+ end
397
+
398
+ it "should return true if service is static" do
399
+ static_and_active = <<-STDOUT
400
+ ActiveState=active
401
+ UnitFileState=static
402
+ STDOUT
403
+ with_systemctl_show(systemctl_path, static_and_active)
404
+ expect(provider.is_enabled?).to be true
405
+ end
406
+
407
+ it "should return false if service is enabled-runtime" do
408
+ enabled_runtime_and_active = <<-STDOUT
409
+ ActiveState=active
410
+ UnitFileState=enabled-runtime
411
+ STDOUT
412
+ with_systemctl_show(systemctl_path, enabled_runtime_and_active)
413
+ expect(provider.is_enabled?).to be false
414
+ end
415
+
416
+ it "should shellout to 'is-enabled' and return false if unit file is bad and sysv compat isn't enabled" do
417
+ bad_and_inactive = <<-STDOUT
418
+ ActiveState=inactive
419
+ UnitFileState=bad
420
+ STDOUT
421
+ with_systemctl_show(systemctl_path, bad_and_inactive)
422
+ systemctl_isenabled = [systemctl_path, "--system", "is-enabled", service_name, "--quiet"]
423
+ expect(provider).to receive(:shell_out).with(*systemctl_isenabled).and_return(shell_out_failure)
424
+ expect(provider.is_enabled?).to be false
425
+ end
426
+
427
+ it "should shellout to 'is-enabled' and return true if unit file is bad and sysv compat is enabled" do
428
+ bad_and_inactive = <<-STDOUT
429
+ ActiveState=inactive
430
+ UnitFileState=bad
431
+ STDOUT
432
+ with_systemctl_show(systemctl_path, bad_and_inactive)
433
+ systemctl_isenabled = [systemctl_path, "--system", "is-enabled", service_name, "--quiet"]
434
+ expect(provider).to receive(:shell_out).with(*systemctl_isenabled).and_return(shell_out_success)
435
+ expect(provider.is_enabled?).to be true
436
+ end
334
437
  end
335
438
 
336
439
  describe "is_masked?" do
@@ -340,23 +443,31 @@ describe Chef::Provider::Service::Systemd do
340
443
  allow(provider).to receive(:which).with("systemctl").and_return(systemctl_path.to_s)
341
444
  end
342
445
 
343
- it "should return true if '#{systemctl_path} --system is-enabled service_name' returns 'masked' and returns anything except 0" do
344
- expect(provider).to receive(:shell_out_compacted).with(systemctl_path, "--system", "is-enabled", service_name, timeout: 900).and_return(double(stdout: "masked", exitstatus: shell_out_failure))
446
+ it "should return true if service is masked" do
447
+ masked_and_inactive = <<-STDOUT
448
+ ActiveState=inactive
449
+ UnitFileState=masked
450
+ STDOUT
451
+ with_systemctl_show(systemctl_path, masked_and_inactive)
345
452
  expect(provider.is_masked?).to be true
346
453
  end
347
454
 
348
- it "should return true if '#{systemctl_path} --system is-enabled service_name' outputs 'masked-runtime' and returns anything except 0" do
349
- expect(provider).to receive(:shell_out_compacted).with(systemctl_path, "--system", "is-enabled", service_name, timeout: 900).and_return(double(stdout: "masked-runtime", exitstatus: shell_out_failure))
350
- expect(provider.is_masked?).to be true
455
+ it "should return false if service is masked-runtime" do
456
+ masked_runtime_and_inactive = <<-STDOUT
457
+ ActiveState=inactive
458
+ UnitFileState=masked-runtime
459
+ STDOUT
460
+ with_systemctl_show(systemctl_path, masked_runtime_and_inactive)
461
+ expect(provider.is_masked?).to be false
351
462
  end
352
463
 
353
- it "should return false if '#{systemctl_path} --system is-enabled service_name' returns 0" do
354
- expect(provider).to receive(:shell_out_compacted).with(systemctl_path, "--system", "is-enabled", service_name, timeout: 900).and_return(double(stdout: "enabled", exitstatus: shell_out_success))
464
+ it "should return false if service is enabled" do
465
+ with_systemctl_show(systemctl_path, enabled_and_active)
355
466
  expect(provider.is_masked?).to be false
356
467
  end
357
468
 
358
- it "should return false if '#{systemctl_path} --system is-enabled service_name' returns anything except 0 and outputs an error'" do
359
- expect(provider).to receive(:shell_out_compacted).with(systemctl_path, "--system", "is-enabled", service_name, timeout: 900).and_return(double(stdout: "Failed to get unit file state for #{service_name}: No such file or directory", exitstatus: shell_out_failure))
469
+ it "should return false if service has no known unit file" do
470
+ with_systemctl_show(systemctl_path, nil_and_inactive)
360
471
  expect(provider.is_masked?).to be false
361
472
  end
362
473
  end
@@ -368,18 +479,22 @@ describe Chef::Provider::Service::Systemd do
368
479
  allow(provider).to receive(:which).with("systemctl").and_return(systemctl_path.to_s)
369
480
  end
370
481
 
371
- it "should return true if '#{systemctl_path} --system is-enabled service_name' returns 'indirect'" do
372
- expect(provider).to receive(:shell_out_compacted).with(systemctl_path, "--system", "is-enabled", service_name, timeout: 900).and_return(double(stdout: "indirect", exitstatus: shell_out_success))
482
+ it "should return true if service is indirect" do
483
+ indirect_and_inactive = <<-STDOUT
484
+ ActiveState=inactive
485
+ UnitFileState=indirect
486
+ STDOUT
487
+ with_systemctl_show(systemctl_path, indirect_and_inactive)
373
488
  expect(provider.is_indirect?).to be true
374
489
  end
375
490
 
376
- it "should return false if '#{systemctl_path} --system is-enabled service_name' returns 0 and outputs something other than 'indirect'" do
377
- expect(provider).to receive(:shell_out_compacted).with(systemctl_path, "--system", "is-enabled", service_name, timeout: 900).and_return(double(stdout: "enabled", exitstatus: shell_out_success))
491
+ it "should return false if service not indirect" do
492
+ with_systemctl_show(systemctl_path, enabled_and_active)
378
493
  expect(provider.is_indirect?).to be false
379
494
  end
380
495
 
381
- it "should return false if '#{systemctl_path} --system is-enabled service_name' returns anything except 0 and outputs somethign other than 'indirect''" do
382
- expect(provider).to receive(:shell_out_compacted).with(systemctl_path, "--system", "is-enabled", service_name, timeout: 900).and_return(double(stdout: "enabled", exitstatus: shell_out_failure))
496
+ it "should return false if service has no known unit file" do
497
+ with_systemctl_show(systemctl_path, nil_and_inactive)
383
498
  expect(provider.is_indirect?).to be false
384
499
  end
385
500
  end
@@ -27,7 +27,6 @@ describe Chef::Provider::Service::Upstart do
27
27
  @node = Chef::Node.new
28
28
  @node.name("upstarter")
29
29
  @node.automatic_attrs[:platform] = "ubuntu"
30
- @node.automatic_attrs[:platform_version] = "9.10"
31
30
 
32
31
  @events = Chef::EventDispatch::Dispatcher.new
33
32
  @run_context = Chef::RunContext.new(@node, {}, @events)
@@ -36,34 +35,6 @@ describe Chef::Provider::Service::Upstart do
36
35
  @provider = Chef::Provider::Service::Upstart.new(@new_resource, @run_context)
37
36
  end
38
37
 
39
- describe "when first created" do
40
- before do
41
- @platform = nil
42
- end
43
-
44
- it "should return /etc/event.d as the upstart job directory when running on Ubuntu 9.04" do
45
- @node.automatic_attrs[:platform_version] = "9.04"
46
- # Chef::Platform.stub(:find_platform_and_version).and_return([ "ubuntu", "9.04" ])
47
- @provider = Chef::Provider::Service::Upstart.new(@new_resource, @run_context)
48
- expect(@provider.instance_variable_get(:@upstart_job_dir)).to eq("/etc/event.d")
49
- expect(@provider.instance_variable_get(:@upstart_conf_suffix)).to eq("")
50
- end
51
-
52
- it "should return /etc/init as the upstart job directory when running on Ubuntu 9.10" do
53
- @node.automatic_attrs[:platform_version] = "9.10"
54
- @provider = Chef::Provider::Service::Upstart.new(@new_resource, @run_context)
55
- expect(@provider.instance_variable_get(:@upstart_job_dir)).to eq("/etc/init")
56
- expect(@provider.instance_variable_get(:@upstart_conf_suffix)).to eq(".conf")
57
- end
58
-
59
- it "should return /etc/init as the upstart job directory by default" do
60
- @node.automatic_attrs[:platform_version] = "9000"
61
- @provider = Chef::Provider::Service::Upstart.new(@new_resource, @run_context)
62
- expect(@provider.instance_variable_get(:@upstart_job_dir)).to eq("/etc/init")
63
- expect(@provider.instance_variable_get(:@upstart_conf_suffix)).to eq(".conf")
64
- end
65
- end
66
-
67
38
  describe "load_current_resource" do
68
39
  before(:each) do
69
40
  @node.automatic_attrs[:command] = { ps: "ps -ax" }
@@ -254,7 +254,7 @@ describe Chef::Provider::Service::Windows, "load_current_resource" do
254
254
  end
255
255
 
256
256
  it "logs debug message" do
257
- expect(logger).to receive(:trace).with("windows_service[#{chef_service_name}] already exists - nothing to do")
257
+ expect(logger).to receive(:debug).with("windows_service[#{chef_service_name}] already exists - nothing to do")
258
258
  provider.action_create
259
259
  end
260
260
 
@@ -334,7 +334,7 @@ describe Chef::Provider::Service::Windows, "load_current_resource" do
334
334
  end
335
335
 
336
336
  it "logs debug message" do
337
- expect(logger).to receive(:trace).with("windows_service[#{chef_service_name}] does not exist - nothing to do")
337
+ expect(logger).to receive(:debug).with("windows_service[#{chef_service_name}] does not exist - nothing to do")
338
338
  provider.action_delete
339
339
  end
340
340
 
@@ -319,11 +319,11 @@ describe Chef::Provider::Subversion do
319
319
  let(:http_proxy_uri) { "http://somehost:1" }
320
320
  let(:http_no_proxy) { "svn.example.org" }
321
321
 
322
- before (:all) do
322
+ before(:all) do
323
323
  @original_env = ENV.to_hash
324
324
  end
325
325
 
326
- after (:all) do
326
+ after(:all) do
327
327
  ENV.clear
328
328
  ENV.update(@original_env)
329
329
  end
@@ -117,6 +117,7 @@ describe Chef::Provider::SystemdUnit, :linux_only do
117
117
  allow(provider).to receive(:enabled?).and_return(false)
118
118
  allow(provider).to receive(:masked?).and_return(false)
119
119
  allow(provider).to receive(:static?).and_return(false)
120
+ allow(provider).to receive(:indirect?).and_return(false)
120
121
  end
121
122
 
122
123
  it "should create a current resource with the name of the new resource" do
@@ -811,6 +812,49 @@ describe Chef::Provider::SystemdUnit, :linux_only do
811
812
  end
812
813
  end
813
814
 
815
+ def with_systemctl_show(systemctl_path, instance, opts, stdout)
816
+ systemctl_show = [systemctl_path, instance, "show", "-p", "UnitFileState", "-p", "ActiveState", unit_name]
817
+ expect(provider).to receive(:shell_out).with(*systemctl_show, opts).and_return(double(stdout: stdout, exitstatus: 0, error?: false))
818
+ end
819
+
820
+ describe "systemd_unit_status" do
821
+ before(:each) do
822
+ provider.current_resource = current_resource
823
+ current_resource.unit_name(unit_name)
824
+ end
825
+
826
+ it "should return status if '#{systemctl_path} --system show -p UnitFileState -p ActiveState unit_name' returns 0 and has nil" do
827
+ # No unit known for this service, and inactive
828
+ nil_and_inactive = <<-STDOUT
829
+ ActiveState=inactive
830
+ UnitFileState=
831
+ STDOUT
832
+ nil_and_inactive_h = {
833
+ "ActiveState" => "inactive",
834
+ "UnitFileState" => nil,
835
+ }
836
+ with_systemctl_show(systemctl_path, "--system", {}, nil_and_inactive)
837
+ expect(provider.systemd_unit_status).to eql(nil_and_inactive_h)
838
+ end
839
+
840
+ it "should not error if '#{systemctl_path} --system show' is run against a template unit" do
841
+ current_resource.unit_name("foo@.service")
842
+ template_error = "Failed to get properties: Unit name foo@.service is neither a valid invocation ID nor unit name."
843
+ systemctl_show = [systemctl_path, "--system", "show", "-p", "UnitFileState", "-p", "ActiveState", "foo@.service"]
844
+ expect(provider).to receive(:shell_out).with(*systemctl_show, {}).and_return(double(stdout: "", stderr: template_error, exitstatus: 1, error?: true))
845
+ expect(provider.systemd_unit_status).to eql({})
846
+ end
847
+ end
848
+
849
+ enabled_and_active = <<-STDOUT
850
+ ActiveState=active
851
+ UnitFileState=enabled
852
+ STDOUT
853
+ disabled_and_inactive = <<-STDOUT
854
+ ActiveState=disabled
855
+ UnitFileState=inactive
856
+ STDOUT
857
+
814
858
  describe "#active?" do
815
859
  before(:each) do
816
860
  provider.current_resource = current_resource
@@ -820,33 +864,25 @@ describe Chef::Provider::SystemdUnit, :linux_only do
820
864
  context "when a user is specified" do
821
865
  it "returns true when unit is active" do
822
866
  current_resource.user(user_name)
823
- expect(provider).to receive(:shell_out_compacted)
824
- .with(systemctl_path, "--user", "is-active", unit_name, user_cmd_opts)
825
- .and_return(shell_out_success)
867
+ with_systemctl_show(systemctl_path, "--user", user_cmd_opts, enabled_and_active)
826
868
  expect(provider.active?).to be true
827
869
  end
828
870
 
829
871
  it "returns false when unit is inactive" do
830
872
  current_resource.user(user_name)
831
- expect(provider).to receive(:shell_out_compacted)
832
- .with(systemctl_path, "--user", "is-active", unit_name, user_cmd_opts)
833
- .and_return(shell_out_failure)
873
+ with_systemctl_show(systemctl_path, "--user", user_cmd_opts, disabled_and_inactive)
834
874
  expect(provider.active?).to be false
835
875
  end
836
876
  end
837
877
 
838
878
  context "when no user is specified" do
839
879
  it "returns true when unit is active" do
840
- expect(provider).to receive(:shell_out_compacted)
841
- .with(systemctl_path, "--system", "is-active", unit_name)
842
- .and_return(shell_out_success)
880
+ with_systemctl_show(systemctl_path, "--system", {}, enabled_and_active)
843
881
  expect(provider.active?).to be true
844
882
  end
845
883
 
846
884
  it "returns false when unit is not active" do
847
- expect(provider).to receive(:shell_out_compacted)
848
- .with(systemctl_path, "--system", "is-active", unit_name)
849
- .and_return(shell_out_failure)
885
+ with_systemctl_show(systemctl_path, "--system", {}, disabled_and_inactive)
850
886
  expect(provider.active?).to be false
851
887
  end
852
888
  end
@@ -861,33 +897,25 @@ describe Chef::Provider::SystemdUnit, :linux_only do
861
897
  context "when a user is specified" do
862
898
  it "returns true when unit is enabled" do
863
899
  current_resource.user(user_name)
864
- expect(provider).to receive(:shell_out_compacted)
865
- .with(systemctl_path, "--user", "is-enabled", unit_name, user_cmd_opts)
866
- .and_return(shell_out_success)
900
+ with_systemctl_show(systemctl_path, "--user", user_cmd_opts, enabled_and_active)
867
901
  expect(provider.enabled?).to be true
868
902
  end
869
903
 
870
904
  it "returns false when unit is not enabled" do
871
905
  current_resource.user(user_name)
872
- expect(provider).to receive(:shell_out_compacted)
873
- .with(systemctl_path, "--user", "is-enabled", unit_name, user_cmd_opts)
874
- .and_return(shell_out_disabled)
906
+ with_systemctl_show(systemctl_path, "--user", user_cmd_opts, disabled_and_inactive)
875
907
  expect(provider.enabled?).to be false
876
908
  end
877
909
  end
878
910
 
879
911
  context "when no user is specified" do
880
912
  it "returns true when unit is enabled" do
881
- expect(provider).to receive(:shell_out_compacted)
882
- .with(systemctl_path, "--system", "is-enabled", unit_name)
883
- .and_return(shell_out_success)
913
+ with_systemctl_show(systemctl_path, "--system", {}, enabled_and_active)
884
914
  expect(provider.enabled?).to be true
885
915
  end
886
916
 
887
917
  it "returns false when unit is not enabled" do
888
- expect(provider).to receive(:shell_out_compacted)
889
- .with(systemctl_path, "--system", "is-enabled", unit_name)
890
- .and_return(shell_out_disabled)
918
+ with_systemctl_show(systemctl_path, "--system", {}, disabled_and_inactive)
891
919
  expect(provider.enabled?).to be false
892
920
  end
893
921
  end
@@ -899,36 +927,33 @@ describe Chef::Provider::SystemdUnit, :linux_only do
899
927
  allow(provider).to receive(:which).with("systemctl").and_return(systemctl_path.to_s)
900
928
  end
901
929
 
930
+ masked_and_inactive = <<-STDOUT
931
+ ActiveState=inactive
932
+ UnitFileState=masked
933
+ STDOUT
934
+
902
935
  context "when a user is specified" do
903
936
  it "returns true when the unit is masked" do
904
937
  current_resource.user(user_name)
905
- expect(provider).to receive(:shell_out_compacted)
906
- .with(systemctl_path, "--user", "status", unit_name, user_cmd_opts)
907
- .and_return(shell_out_masked)
938
+ with_systemctl_show(systemctl_path, "--user", user_cmd_opts, masked_and_inactive)
908
939
  expect(provider.masked?).to be true
909
940
  end
910
941
 
911
942
  it "returns false when the unit is not masked" do
912
943
  current_resource.user(user_name)
913
- expect(provider).to receive(:shell_out_compacted)
914
- .with(systemctl_path, "--user", "status", unit_name, user_cmd_opts)
915
- .and_return(shell_out_static)
944
+ with_systemctl_show(systemctl_path, "--user", user_cmd_opts, enabled_and_active)
916
945
  expect(provider.masked?).to be false
917
946
  end
918
947
  end
919
948
 
920
949
  context "when no user is specified" do
921
950
  it "returns true when the unit is masked" do
922
- expect(provider).to receive(:shell_out_compacted)
923
- .with(systemctl_path, "--system", "status", unit_name)
924
- .and_return(shell_out_masked)
951
+ with_systemctl_show(systemctl_path, "--system", {}, masked_and_inactive)
925
952
  expect(provider.masked?).to be true
926
953
  end
927
954
 
928
955
  it "returns false when the unit is not masked" do
929
- expect(provider).to receive(:shell_out_compacted)
930
- .with(systemctl_path, "--system", "status", unit_name)
931
- .and_return(shell_out_static)
956
+ with_systemctl_show(systemctl_path, "--system", {}, enabled_and_active)
932
957
  expect(provider.masked?).to be false
933
958
  end
934
959
  end
@@ -940,36 +965,33 @@ describe Chef::Provider::SystemdUnit, :linux_only do
940
965
  allow(provider).to receive(:which).with("systemctl").and_return(systemctl_path.to_s)
941
966
  end
942
967
 
968
+ static_and_active = <<-STDOUT
969
+ ActiveState=active
970
+ UnitFileState=static
971
+ STDOUT
972
+
943
973
  context "when a user is specified" do
944
974
  it "returns true when the unit is static" do
945
975
  current_resource.user(user_name)
946
- expect(provider).to receive(:shell_out_compacted)
947
- .with(systemctl_path, "--user", "is-enabled", unit_name, user_cmd_opts)
948
- .and_return(shell_out_static)
976
+ with_systemctl_show(systemctl_path, "--user", user_cmd_opts, static_and_active)
949
977
  expect(provider.static?).to be true
950
978
  end
951
979
 
952
980
  it "returns false when the unit is not static" do
953
981
  current_resource.user(user_name)
954
- expect(provider).to receive(:shell_out_compacted)
955
- .with(systemctl_path, "--user", "is-enabled", unit_name, user_cmd_opts)
956
- .and_return(shell_out_masked)
982
+ with_systemctl_show(systemctl_path, "--user", user_cmd_opts, enabled_and_active)
957
983
  expect(provider.static?).to be false
958
984
  end
959
985
  end
960
986
 
961
987
  context "when no user is specified" do
962
988
  it "returns true when the unit is static" do
963
- expect(provider).to receive(:shell_out_compacted)
964
- .with(systemctl_path, "--system", "is-enabled", unit_name)
965
- .and_return(shell_out_static)
989
+ with_systemctl_show(systemctl_path, "--system", {}, static_and_active)
966
990
  expect(provider.static?).to be true
967
991
  end
968
992
 
969
993
  it "returns false when the unit is not static" do
970
- expect(provider).to receive(:shell_out_compacted)
971
- .with(systemctl_path, "--system", "is-enabled", unit_name)
972
- .and_return(shell_out_masked)
994
+ with_systemctl_show(systemctl_path, "--system", {}, enabled_and_active)
973
995
  expect(provider.static?).to be false
974
996
  end
975
997
  end
@@ -981,36 +1003,33 @@ describe Chef::Provider::SystemdUnit, :linux_only do
981
1003
  allow(provider).to receive(:which).with("systemctl").and_return(systemctl_path.to_s)
982
1004
  end
983
1005
 
1006
+ indirect_and_inactive = <<-STDOUT
1007
+ ActiveState=inactive
1008
+ UnitFileState=indirect
1009
+ STDOUT
1010
+
984
1011
  context "when a user is specified" do
985
1012
  it "returns true when the unit is indirect" do
986
1013
  current_resource.user(user_name)
987
- expect(provider).to receive(:shell_out_compacted)
988
- .with(systemctl_path, "--user", "is-enabled", unit_name, user_cmd_opts)
989
- .and_return(shell_out_indirect)
1014
+ with_systemctl_show(systemctl_path, "--user", user_cmd_opts, indirect_and_inactive)
990
1015
  expect(provider.indirect?).to be true
991
1016
  end
992
1017
 
993
1018
  it "returns false when the unit is not indirect" do
994
1019
  current_resource.user(user_name)
995
- expect(provider).to receive(:shell_out_compacted)
996
- .with(systemctl_path, "--user", "is-enabled", unit_name, user_cmd_opts)
997
- .and_return(shell_out_static)
1020
+ with_systemctl_show(systemctl_path, "--user", user_cmd_opts, enabled_and_active)
998
1021
  expect(provider.indirect?).to be false
999
1022
  end
1000
1023
  end
1001
1024
 
1002
1025
  context "when no user is specified" do
1003
1026
  it "returns true when the unit is indirect" do
1004
- expect(provider).to receive(:shell_out_compacted)
1005
- .with(systemctl_path, "--system", "is-enabled", unit_name)
1006
- .and_return(shell_out_indirect)
1027
+ with_systemctl_show(systemctl_path, "--system", {}, indirect_and_inactive)
1007
1028
  expect(provider.indirect?).to be true
1008
1029
  end
1009
1030
 
1010
1031
  it "returns false when the unit is not indirect" do
1011
- expect(provider).to receive(:shell_out_compacted)
1012
- .with(systemctl_path, "--system", "is-enabled", unit_name)
1013
- .and_return(shell_out_static)
1032
+ with_systemctl_show(systemctl_path, "--system", {}, enabled_and_active)
1014
1033
  expect(provider.indirect?).to be false
1015
1034
  end
1016
1035
  end
@@ -96,7 +96,7 @@ describe Chef::Provider::ZypperRepository do
96
96
  it "skips key import if gpgautoimportkeys is false" do
97
97
  new_resource.gpgautoimportkeys(false)
98
98
  expect(provider).to receive(:declare_resource)
99
- expect(logger).to receive(:trace)
99
+ expect(logger).to receive(:debug)
100
100
  provider.run_action(:create)
101
101
  end
102
102
  end
@@ -169,7 +169,7 @@ describe Chef::Provider::ZypperRepository do
169
169
 
170
170
  describe "#install_gpg_key" do
171
171
  it "skips installing the key if a nil value for key is passed" do
172
- expect(logger).to receive(:trace)
172
+ expect(logger).to receive(:debug)
173
173
  provider.install_gpg_key(nil)
174
174
  end
175
175
  end
@@ -189,12 +189,4 @@ describe Chef::Provider do
189
189
 
190
190
  end
191
191
  end
192
-
193
- context "when using use_inline_resources" do
194
- it "should log a deprecation warning" do
195
- pending Chef::VERSION.start_with?("14.1")
196
- expect(Chef).to receive(:deprecated).with(:use_inline_resources, kind_of(String))
197
- Class.new(described_class) { use_inline_resources }
198
- end
199
- end
200
192
  end
@@ -19,40 +19,22 @@ require "spec_helper"
19
19
 
20
20
  describe Chef::Resource::HomebrewCask do
21
21
 
22
- context "name with under bar" do
23
- let(:resource) { Chef::Resource::HomebrewCask.new("fakey_fakerton") }
22
+ let(:resource) { Chef::Resource::HomebrewCask.new("fakey_fakerton") }
24
23
 
25
- it "has a resource name of :homebrew_cask" do
26
- expect(resource.resource_name).to eql(:homebrew_cask)
27
- end
28
-
29
- it "the cask_name property is the name_property" do
30
- expect(resource.cask_name).to eql("fakey_fakerton")
31
- end
32
-
33
- it "sets the default action as :install" do
34
- expect(resource.action).to eql([:install])
35
- end
36
-
37
- it "supports :install, :remove actions" do
38
- expect { resource.action :install }.not_to raise_error
39
- expect { resource.action :remove }.not_to raise_error
40
- end
24
+ it "has a resource name of :homebrew_cask" do
25
+ expect(resource.resource_name).to eql(:homebrew_cask)
41
26
  end
42
27
 
43
- context "name with high fun" do
44
- let(:resource) { Chef::Resource::HomebrewCask.new("fakey-fakerton") }
45
-
46
- it "the cask_name property is the name_property" do
47
- expect(resource.cask_name).to eql("fakey-fakerton")
48
- end
28
+ it "the cask_name property is the name_property" do
29
+ expect(resource.cask_name).to eql("fakey_fakerton")
49
30
  end
50
31
 
51
- context "name with at mark" do
52
- let(:resource) { Chef::Resource::HomebrewCask.new("fakey-fakerton@10") }
32
+ it "sets the default action as :install" do
33
+ expect(resource.action).to eql([:install])
34
+ end
53
35
 
54
- it "the cask_name property is the name_property" do
55
- expect(resource.cask_name).to eql("fakey-fakerton@10")
56
- end
36
+ it "supports :install, :remove actions" do
37
+ expect { resource.action :install }.not_to raise_error
38
+ expect { resource.action :remove }.not_to raise_error
57
39
  end
58
40
  end