chef 15.1.36 → 15.2.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (777) hide show
  1. checksums.yaml +4 -4
  2. data/lib/.DS_Store +0 -0
  3. data/lib/chef.rb +1 -2
  4. data/lib/chef/.DS_Store +0 -0
  5. data/lib/chef/action_collection.rb +8 -0
  6. data/lib/chef/api_client.rb +2 -2
  7. data/lib/chef/api_client/registration.rb +8 -7
  8. data/lib/chef/api_client_v1.rb +2 -1
  9. data/lib/chef/application.rb +1 -0
  10. data/lib/chef/application/apply.rb +1 -1
  11. data/lib/chef/application/base.rb +440 -0
  12. data/lib/chef/application/client.rb +6 -389
  13. data/lib/chef/application/solo.rb +11 -258
  14. data/lib/chef/application/windows_service.rb +3 -3
  15. data/lib/chef/application/windows_service_manager.rb +3 -3
  16. data/lib/chef/blacklist.rb +1 -1
  17. data/lib/chef/chef_fs/chef_fs_data_store.rb +15 -7
  18. data/lib/chef/chef_fs/command_line.rb +6 -1
  19. data/lib/chef/chef_fs/config.rb +3 -2
  20. data/lib/chef/chef_fs/data_handler/container_data_handler.rb +1 -1
  21. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  22. data/lib/chef/chef_fs/data_handler/data_handler_base.rb +1 -1
  23. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -1
  24. data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +2 -2
  25. data/lib/chef/chef_fs/file_pattern.rb +13 -7
  26. data/lib/chef/chef_fs/file_system.rb +3 -2
  27. data/lib/chef/chef_fs/file_system/base_fs_object.rb +13 -6
  28. data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +1 -1
  29. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +1 -1
  30. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +8 -5
  31. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +1 -1
  32. data/lib/chef/chef_fs/file_system/chef_server/cookbook_subdir.rb +1 -1
  33. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -1
  34. data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +3 -2
  35. data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +4 -2
  36. data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +1 -0
  37. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +1 -0
  38. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +1 -1
  39. data/lib/chef/chef_fs/file_system/memory/memory_dir.rb +1 -1
  40. data/lib/chef/chef_fs/file_system/repository/acl.rb +1 -1
  41. data/lib/chef/chef_fs/file_system/repository/base_file.rb +2 -1
  42. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +6 -2
  43. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +6 -4
  44. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +6 -4
  45. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_versioned_cookbook_dir.rb +1 -0
  46. data/lib/chef/chef_fs/file_system/repository/directory.rb +5 -1
  47. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +4 -2
  48. data/lib/chef/chef_fs/file_system_cache.rb +1 -0
  49. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +2 -1
  50. data/lib/chef/chef_fs/path_utils.rb +3 -0
  51. data/lib/chef/client.rb +4 -2
  52. data/lib/chef/config.rb +1 -1
  53. data/lib/chef/cookbook/cookbook_version_loader.rb +6 -3
  54. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -0
  55. data/lib/chef/cookbook/file_vendor.rb +1 -0
  56. data/lib/chef/cookbook/gem_installer.rb +1 -0
  57. data/lib/chef/cookbook/manifest_v0.rb +1 -0
  58. data/lib/chef/cookbook/metadata.rb +11 -9
  59. data/lib/chef/cookbook/remote_file_vendor.rb +3 -2
  60. data/lib/chef/cookbook/synchronizer.rb +6 -4
  61. data/lib/chef/cookbook/syntax_check.rb +4 -0
  62. data/lib/chef/cookbook_loader.rb +1 -0
  63. data/lib/chef/cookbook_manifest.rb +4 -2
  64. data/lib/chef/cookbook_site_streaming_uploader.rb +1 -1
  65. data/lib/chef/cookbook_uploader.rb +2 -2
  66. data/lib/chef/cookbook_version.rb +10 -9
  67. data/lib/chef/data_bag.rb +2 -1
  68. data/lib/chef/data_bag_item.rb +6 -3
  69. data/lib/chef/data_collector.rb +16 -8
  70. data/lib/chef/data_collector/run_end_message.rb +2 -0
  71. data/lib/chef/decorator.rb +5 -6
  72. data/lib/chef/deprecated.rb +1 -0
  73. data/lib/chef/dsl/data_query.rb +1 -1
  74. data/lib/chef/dsl/declare_resource.rb +2 -0
  75. data/lib/chef/dsl/platform_introspection.rb +3 -1
  76. data/lib/chef/encrypted_data_bag_item.rb +7 -4
  77. data/lib/chef/encrypted_data_bag_item/assertions.rb +1 -1
  78. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +1 -0
  79. data/lib/chef/encrypted_data_bag_item/decryptor.rb +4 -2
  80. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -0
  81. data/lib/chef/environment.rb +7 -5
  82. data/lib/chef/event_dispatch/base.rb +86 -172
  83. data/lib/chef/event_dispatch/dispatcher.rb +2 -1
  84. data/lib/chef/event_loggers/base.rb +2 -1
  85. data/lib/chef/exceptions.rb +6 -7
  86. data/lib/chef/file_access_control/unix.rb +7 -4
  87. data/lib/chef/file_access_control/windows.rb +17 -8
  88. data/lib/chef/file_cache.rb +2 -1
  89. data/lib/chef/file_content_management/deploy.rb +2 -2
  90. data/lib/chef/formatters/base.rb +3 -4
  91. data/lib/chef/formatters/doc.rb +21 -33
  92. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +3 -2
  93. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -1
  94. data/lib/chef/formatters/indentable_output_stream.rb +3 -3
  95. data/lib/chef/formatters/minimal.rb +21 -42
  96. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +1 -1
  97. data/lib/chef/handler.rb +1 -2
  98. data/lib/chef/http.rb +23 -18
  99. data/lib/chef/http/api_versions.rb +1 -2
  100. data/lib/chef/http/auth_credentials.rb +1 -0
  101. data/lib/chef/http/basic_client.rb +1 -1
  102. data/lib/chef/http/decompressor.rb +1 -0
  103. data/lib/chef/http/json_output.rb +2 -1
  104. data/lib/chef/http/json_to_model_output.rb +1 -1
  105. data/lib/chef/http/remote_request_id.rb +1 -2
  106. data/lib/chef/http/socketless_chef_zero_client.rb +3 -2
  107. data/lib/chef/http/ssl_policies.rb +3 -0
  108. data/lib/chef/http/validate_content_length.rb +2 -2
  109. data/lib/chef/json_compat.rb +1 -1
  110. data/lib/chef/key.rb +8 -6
  111. data/lib/chef/knife.rb +6 -5
  112. data/lib/chef/knife/bootstrap.rb +19 -12
  113. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -0
  114. data/lib/chef/knife/bootstrap/client_builder.rb +1 -0
  115. data/lib/chef/knife/bootstrap/train_connector.rb +23 -17
  116. data/lib/chef/knife/client_bulk_delete.rb +4 -3
  117. data/lib/chef/knife/client_create.rb +13 -13
  118. data/lib/chef/knife/client_delete.rb +3 -3
  119. data/lib/chef/knife/config_get.rb +8 -8
  120. data/lib/chef/knife/config_list_profiles.rb +4 -4
  121. data/lib/chef/knife/cookbook_delete.rb +1 -1
  122. data/lib/chef/knife/cookbook_download.rb +12 -12
  123. data/lib/chef/knife/cookbook_show.rb +10 -10
  124. data/lib/chef/knife/cookbook_upload.rb +5 -5
  125. data/lib/chef/knife/core/bootstrap_context.rb +1 -1
  126. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  127. data/lib/chef/knife/core/gem_glob_loader.rb +2 -2
  128. data/lib/chef/knife/core/generic_presenter.rb +4 -4
  129. data/lib/chef/knife/core/node_presenter.rb +17 -17
  130. data/lib/chef/knife/core/object_loader.rb +1 -1
  131. data/lib/chef/knife/core/status_presenter.rb +5 -5
  132. data/lib/chef/knife/core/subcommand_loader.rb +3 -2
  133. data/lib/chef/knife/core/text_formatter.rb +4 -4
  134. data/lib/chef/knife/core/ui.rb +9 -5
  135. data/lib/chef/knife/data_bag_create.rb +1 -0
  136. data/lib/chef/knife/data_bag_from_file.rb +1 -1
  137. data/lib/chef/knife/data_bag_secret_options.rb +13 -13
  138. data/lib/chef/knife/data_bag_show.rb +2 -2
  139. data/lib/chef/knife/deps.rb +6 -6
  140. data/lib/chef/knife/edit.rb +2 -2
  141. data/lib/chef/knife/environment_compare.rb +1 -0
  142. data/lib/chef/knife/environment_from_file.rb +3 -3
  143. data/lib/chef/knife/key_create_base.rb +12 -12
  144. data/lib/chef/knife/key_edit_base.rb +15 -15
  145. data/lib/chef/knife/key_list.rb +3 -1
  146. data/lib/chef/knife/key_list_base.rb +9 -9
  147. data/lib/chef/knife/list.rb +5 -5
  148. data/lib/chef/knife/node_bulk_delete.rb +1 -0
  149. data/lib/chef/knife/node_edit.rb +1 -1
  150. data/lib/chef/knife/node_environment_set.rb +1 -2
  151. data/lib/chef/knife/node_run_list_add.rb +2 -2
  152. data/lib/chef/knife/node_run_list_remove.rb +2 -2
  153. data/lib/chef/knife/node_run_list_set.rb +2 -2
  154. data/lib/chef/knife/null.rb +1 -2
  155. data/lib/chef/knife/role_bulk_delete.rb +1 -0
  156. data/lib/chef/knife/role_env_run_list_add.rb +2 -2
  157. data/lib/chef/knife/role_env_run_list_set.rb +2 -2
  158. data/lib/chef/knife/role_run_list_add.rb +2 -2
  159. data/lib/chef/knife/role_run_list_set.rb +2 -2
  160. data/lib/chef/knife/search.rb +4 -4
  161. data/lib/chef/knife/ssh.rb +13 -9
  162. data/lib/chef/knife/supermarket_download.rb +1 -1
  163. data/lib/chef/knife/supermarket_install.rb +5 -5
  164. data/lib/chef/knife/supermarket_list.rb +1 -1
  165. data/lib/chef/knife/supermarket_share.rb +3 -2
  166. data/lib/chef/knife/supermarket_show.rb +1 -1
  167. data/lib/chef/knife/supermarket_unshare.rb +1 -0
  168. data/lib/chef/knife/tag_delete.rb +1 -1
  169. data/lib/chef/knife/xargs.rb +2 -2
  170. data/lib/chef/log/syslog.rb +2 -2
  171. data/lib/chef/log/winevt.rb +1 -2
  172. data/lib/chef/mash.rb +2 -2
  173. data/lib/chef/mixin/api_version_request_handling.rb +1 -1
  174. data/lib/chef/mixin/checksum.rb +1 -0
  175. data/lib/chef/mixin/convert_to_class_name.rb +2 -1
  176. data/lib/chef/mixin/create_path.rb +2 -2
  177. data/lib/chef/mixin/deep_merge.rb +5 -5
  178. data/lib/chef/mixin/get_source_from_package.rb +1 -0
  179. data/lib/chef/mixin/homebrew_user.rb +2 -1
  180. data/lib/chef/mixin/openssl_helper.rb +10 -6
  181. data/lib/chef/mixin/params_validate.rb +21 -13
  182. data/lib/chef/mixin/powershell_out.rb +1 -1
  183. data/lib/chef/mixin/powershell_type_coercions.rb +2 -2
  184. data/lib/chef/mixin/properties.rb +13 -10
  185. data/lib/chef/mixin/securable.rb +3 -3
  186. data/lib/chef/mixin/shell_out.rb +1 -0
  187. data/lib/chef/mixin/template.rb +2 -1
  188. data/lib/chef/mixin/user_context.rb +1 -1
  189. data/lib/chef/mixin/which.rb +1 -0
  190. data/lib/chef/mixin/windows_architecture_helper.rb +4 -4
  191. data/lib/chef/mixin/windows_env_helper.rb +2 -2
  192. data/lib/chef/monkey_patches/net_http.rb +1 -1
  193. data/lib/chef/monkey_patches/webrick-utils.rb +6 -4
  194. data/lib/chef/node.rb +24 -17
  195. data/lib/chef/node/attribute.rb +122 -113
  196. data/lib/chef/node/attribute_collections.rb +1 -1
  197. data/lib/chef/node/common_api.rb +8 -2
  198. data/lib/chef/node/immutable_collections.rb +1 -1
  199. data/lib/chef/node/mixin/immutablize_array.rb +142 -142
  200. data/lib/chef/node/mixin/immutablize_hash.rb +131 -131
  201. data/lib/chef/node_map.rb +18 -3
  202. data/lib/chef/null_logger.rb +8 -16
  203. data/lib/chef/org.rb +4 -4
  204. data/lib/chef/platform/query_helpers.rb +3 -0
  205. data/lib/chef/platform/rebooter.rb +1 -1
  206. data/lib/chef/platform/service_helpers.rb +2 -2
  207. data/lib/chef/policy_builder/expand_node_object.rb +4 -4
  208. data/lib/chef/policy_builder/policyfile.rb +4 -4
  209. data/lib/chef/powershell.rb +2 -0
  210. data/lib/chef/property.rb +7 -4
  211. data/lib/chef/provider.rb +9 -12
  212. data/lib/chef/provider/apt_preference.rb +1 -2
  213. data/lib/chef/provider/apt_repository.rb +1 -2
  214. data/lib/chef/provider/apt_update.rb +2 -3
  215. data/lib/chef/provider/cookbook_file.rb +1 -0
  216. data/lib/chef/provider/cron.rb +6 -5
  217. data/lib/chef/provider/cron/unix.rb +1 -0
  218. data/lib/chef/provider/dsc_resource.rb +2 -3
  219. data/lib/chef/provider/dsc_script.rb +2 -2
  220. data/lib/chef/provider/execute.rb +1 -1
  221. data/lib/chef/provider/file.rb +5 -3
  222. data/lib/chef/provider/git.rb +4 -3
  223. data/lib/chef/provider/group.rb +7 -3
  224. data/lib/chef/provider/group/aix.rb +2 -0
  225. data/lib/chef/provider/group/dscl.rb +6 -3
  226. data/lib/chef/provider/group/groupadd.rb +1 -0
  227. data/lib/chef/provider/group/groupmod.rb +1 -1
  228. data/lib/chef/provider/group/pw.rb +3 -3
  229. data/lib/chef/provider/group/suse.rb +2 -2
  230. data/lib/chef/provider/group/usermod.rb +1 -0
  231. data/lib/chef/provider/group/windows.rb +1 -1
  232. data/lib/chef/provider/http_request.rb +1 -1
  233. data/lib/chef/provider/ifconfig.rb +12 -6
  234. data/lib/chef/provider/ifconfig/aix.rb +1 -0
  235. data/lib/chef/provider/ifconfig/debian.rb +1 -0
  236. data/lib/chef/provider/launchd.rb +16 -13
  237. data/lib/chef/provider/lwrp_base.rb +1 -2
  238. data/lib/chef/provider/mount.rb +1 -0
  239. data/lib/chef/provider/mount/aix.rb +6 -6
  240. data/lib/chef/provider/mount/mount.rb +5 -4
  241. data/lib/chef/provider/mount/solaris.rb +4 -4
  242. data/lib/chef/provider/package.rb +9 -6
  243. data/lib/chef/provider/package/apt.rb +4 -3
  244. data/lib/chef/provider/package/bff.rb +1 -0
  245. data/lib/chef/provider/package/cab.rb +4 -2
  246. data/lib/chef/provider/package/chocolatey.rb +5 -2
  247. data/lib/chef/provider/package/dnf.rb +1 -1
  248. data/lib/chef/provider/package/dnf/dnf_helper.py +15 -1
  249. data/lib/chef/provider/package/dnf/python_helper.rb +1 -0
  250. data/lib/chef/provider/package/dpkg.rb +4 -4
  251. data/lib/chef/provider/package/freebsd/base.rb +3 -2
  252. data/lib/chef/provider/package/freebsd/pkgng.rb +2 -2
  253. data/lib/chef/provider/package/homebrew.rb +1 -1
  254. data/lib/chef/provider/package/macports.rb +1 -0
  255. data/lib/chef/provider/package/msu.rb +3 -1
  256. data/lib/chef/provider/package/openbsd.rb +1 -1
  257. data/lib/chef/provider/package/paludis.rb +1 -0
  258. data/lib/chef/provider/package/portage.rb +2 -2
  259. data/lib/chef/provider/package/powershell.rb +3 -2
  260. data/lib/chef/provider/package/rpm.rb +1 -0
  261. data/lib/chef/provider/package/rubygems.rb +5 -3
  262. data/lib/chef/provider/package/smartos.rb +1 -0
  263. data/lib/chef/provider/package/snap.rb +5 -1
  264. data/lib/chef/provider/package/solaris.rb +2 -0
  265. data/lib/chef/provider/package/windows/exe.rb +5 -5
  266. data/lib/chef/provider/package/windows/msi.rb +8 -7
  267. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -0
  268. data/lib/chef/provider/package/yum.rb +5 -2
  269. data/lib/chef/provider/package/yum/python_helper.rb +2 -1
  270. data/lib/chef/provider/package/zypper.rb +1 -1
  271. data/lib/chef/provider/reboot.rb +1 -1
  272. data/lib/chef/provider/registry_key.rb +2 -2
  273. data/lib/chef/provider/remote_directory.rb +1 -1
  274. data/lib/chef/provider/remote_file.rb +10 -9
  275. data/lib/chef/provider/remote_file/fetcher.rb +3 -2
  276. data/lib/chef/provider/remote_file/local_file.rb +1 -1
  277. data/lib/chef/provider/route.rb +4 -2
  278. data/lib/chef/provider/service/aixinit.rb +1 -1
  279. data/lib/chef/provider/service/arch.rb +2 -1
  280. data/lib/chef/provider/service/debian.rb +12 -11
  281. data/lib/chef/provider/service/freebsd.rb +1 -1
  282. data/lib/chef/provider/service/openbsd.rb +7 -7
  283. data/lib/chef/provider/service/redhat.rb +2 -2
  284. data/lib/chef/provider/service/simple.rb +2 -1
  285. data/lib/chef/provider/service/systemd.rb +2 -2
  286. data/lib/chef/provider/service/upstart.rb +3 -2
  287. data/lib/chef/provider/service/windows.rb +7 -6
  288. data/lib/chef/provider/subversion.rb +4 -1
  289. data/lib/chef/provider/template.rb +1 -0
  290. data/lib/chef/provider/user.rb +5 -1
  291. data/lib/chef/provider/user/aix.rb +3 -0
  292. data/lib/chef/provider/user/dscl.rb +8 -3
  293. data/lib/chef/provider/user/linux.rb +1 -0
  294. data/lib/chef/provider/user/pw.rb +1 -0
  295. data/lib/chef/provider/user/solaris.rb +2 -0
  296. data/lib/chef/provider/user/windows.rb +2 -1
  297. data/lib/chef/provider/windows_env.rb +3 -0
  298. data/lib/chef/provider/windows_script.rb +1 -1
  299. data/lib/chef/provider/windows_task.rb +4 -3
  300. data/lib/chef/provider/yum_repository.rb +1 -2
  301. data/lib/chef/provider/zypper_repository.rb +2 -3
  302. data/lib/chef/recipe.rb +2 -1
  303. data/lib/chef/resource.rb +24 -15
  304. data/lib/chef/resource/.DS_Store +0 -0
  305. data/lib/chef/resource/apt_package.rb +9 -9
  306. data/lib/chef/resource/apt_preference.rb +9 -9
  307. data/lib/chef/resource/apt_repository.rb +86 -23
  308. data/lib/chef/resource/apt_update.rb +2 -2
  309. data/lib/chef/resource/archive_file.rb +13 -13
  310. data/lib/chef/resource/build_essential.rb +5 -4
  311. data/lib/chef/resource/cab_package.rb +9 -9
  312. data/lib/chef/resource/chef_gem.rb +4 -4
  313. data/lib/chef/resource/chef_handler.rb +8 -7
  314. data/lib/chef/resource/chocolatey_config.rb +3 -3
  315. data/lib/chef/resource/chocolatey_feature.rb +2 -2
  316. data/lib/chef/resource/chocolatey_package.rb +8 -8
  317. data/lib/chef/resource/chocolatey_source.rb +3 -3
  318. data/lib/chef/resource/cookbook_file.rb +4 -4
  319. data/lib/chef/resource/cron.rb +12 -12
  320. data/lib/chef/resource/cron_access.rb +2 -2
  321. data/lib/chef/resource/cron_d.rb +45 -38
  322. data/lib/chef/resource/directory.rb +2 -2
  323. data/lib/chef/resource/dmg_package.rb +26 -26
  324. data/lib/chef/resource/dnf_package.rb +20 -20
  325. data/lib/chef/resource/dpkg_package.rb +5 -5
  326. data/lib/chef/resource/dsc_resource.rb +7 -7
  327. data/lib/chef/resource/dsc_script.rb +9 -4
  328. data/lib/chef/resource/execute.rb +14 -14
  329. data/lib/chef/resource/file.rb +4 -4
  330. data/lib/chef/resource/file/verification.rb +2 -0
  331. data/lib/chef/resource/file/verification/systemd_unit.rb +1 -0
  332. data/lib/chef/resource/gem_package.rb +7 -7
  333. data/lib/chef/resource/git.rb +2 -2
  334. data/lib/chef/resource/group.rb +5 -5
  335. data/lib/chef/resource/homebrew_cask.rb +17 -17
  336. data/lib/chef/resource/homebrew_package.rb +1 -1
  337. data/lib/chef/resource/homebrew_tap.rb +18 -18
  338. data/lib/chef/resource/hostname.rb +11 -11
  339. data/lib/chef/resource/http_request.rb +1 -1
  340. data/lib/chef/resource/ifconfig.rb +26 -26
  341. data/lib/chef/resource/ips_package.rb +2 -2
  342. data/lib/chef/resource/kernel_module.rb +25 -7
  343. data/lib/chef/resource/launchd.rb +105 -105
  344. data/lib/chef/resource/link.rb +10 -10
  345. data/lib/chef/resource/locale.rb +20 -20
  346. data/lib/chef/resource/log.rb +4 -4
  347. data/lib/chef/resource/lwrp_base.rb +1 -0
  348. data/lib/chef/resource/macos_userdefaults.rb +17 -16
  349. data/lib/chef/resource/macosx_service.rb +1 -1
  350. data/lib/chef/resource/mdadm.rb +14 -14
  351. data/lib/chef/resource/mount.rb +24 -24
  352. data/lib/chef/resource/msu_package.rb +8 -8
  353. data/lib/chef/resource/ohai.rb +1 -1
  354. data/lib/chef/resource/ohai_hint.rb +7 -5
  355. data/lib/chef/resource/openssl_dhparam.rb +14 -14
  356. data/lib/chef/resource/openssl_ec_private_key.rb +16 -16
  357. data/lib/chef/resource/openssl_ec_public_key.rb +9 -9
  358. data/lib/chef/resource/openssl_rsa_private_key.rb +17 -17
  359. data/lib/chef/resource/openssl_rsa_public_key.rb +9 -9
  360. data/lib/chef/resource/openssl_x509_certificate.rb +34 -34
  361. data/lib/chef/resource/openssl_x509_crl.rb +17 -17
  362. data/lib/chef/resource/openssl_x509_request.rb +20 -20
  363. data/lib/chef/resource/osx_profile.rb +5 -5
  364. data/lib/chef/resource/package.rb +9 -9
  365. data/lib/chef/resource/paludis_package.rb +2 -2
  366. data/lib/chef/resource/powershell_package.rb +8 -8
  367. data/lib/chef/resource/powershell_package_source.rb +13 -13
  368. data/lib/chef/resource/reboot.rb +4 -4
  369. data/lib/chef/resource/registry_key.rb +5 -3
  370. data/lib/chef/resource/remote_directory.rb +20 -20
  371. data/lib/chef/resource/remote_file.rb +8 -7
  372. data/lib/chef/resource/resource_notification.rb +4 -3
  373. data/lib/chef/resource/rhsm_errata.rb +2 -2
  374. data/lib/chef/resource/rhsm_errata_level.rb +4 -4
  375. data/lib/chef/resource/rhsm_register.rb +14 -14
  376. data/lib/chef/resource/rhsm_repo.rb +3 -3
  377. data/lib/chef/resource/rhsm_subscription.rb +2 -2
  378. data/lib/chef/resource/route.rb +11 -11
  379. data/lib/chef/resource/scm.rb +18 -18
  380. data/lib/chef/resource/service.rb +27 -27
  381. data/lib/chef/resource/snap_package.rb +4 -4
  382. data/lib/chef/resource/ssh_known_hosts_entry.rb +19 -19
  383. data/lib/chef/resource/subversion.rb +10 -10
  384. data/lib/chef/resource/sudo.rb +38 -37
  385. data/lib/chef/resource/swap_file.rb +9 -9
  386. data/lib/chef/resource/sysctl.rb +20 -17
  387. data/lib/chef/resource/systemd_unit.rb +12 -12
  388. data/lib/chef/resource/template.rb +8 -8
  389. data/lib/chef/resource/timezone.rb +3 -2
  390. data/lib/chef/resource/user.rb +19 -19
  391. data/lib/chef/resource/user/dscl_user.rb +2 -2
  392. data/lib/chef/resource/user/windows_user.rb +2 -2
  393. data/lib/chef/resource/windows_ad_join.rb +17 -16
  394. data/lib/chef/resource/windows_auto_run.rb +8 -8
  395. data/lib/chef/resource/windows_certificate.rb +13 -13
  396. data/lib/chef/resource/windows_dfs_folder.rb +13 -12
  397. data/lib/chef/resource/windows_dfs_namespace.rb +18 -18
  398. data/lib/chef/resource/windows_dfs_server.rb +12 -12
  399. data/lib/chef/resource/windows_dns_record.rb +8 -8
  400. data/lib/chef/resource/windows_dns_zone.rb +6 -6
  401. data/lib/chef/resource/windows_env.rb +6 -6
  402. data/lib/chef/resource/windows_feature.rb +12 -12
  403. data/lib/chef/resource/windows_feature_dism.rb +20 -19
  404. data/lib/chef/resource/windows_feature_powershell.rb +24 -22
  405. data/lib/chef/resource/windows_firewall_rule.rb +34 -34
  406. data/lib/chef/resource/windows_font.rb +4 -4
  407. data/lib/chef/resource/windows_package.rb +5 -5
  408. data/lib/chef/resource/windows_pagefile.rb +9 -8
  409. data/lib/chef/resource/windows_path.rb +2 -2
  410. data/lib/chef/resource/windows_printer.rb +15 -15
  411. data/lib/chef/resource/windows_printer_port.rb +14 -14
  412. data/lib/chef/resource/windows_script.rb +1 -1
  413. data/lib/chef/resource/windows_service.rb +16 -16
  414. data/lib/chef/resource/windows_share.rb +27 -24
  415. data/lib/chef/resource/windows_shortcut.rb +7 -7
  416. data/lib/chef/resource/windows_task.rb +53 -51
  417. data/lib/chef/resource/windows_uac.rb +15 -15
  418. data/lib/chef/resource/windows_workgroup.rb +15 -14
  419. data/lib/chef/resource/yum_package.rb +24 -24
  420. data/lib/chef/resource/yum_repository.rb +44 -44
  421. data/lib/chef/resource/zypper_package.rb +9 -9
  422. data/lib/chef/resource/zypper_repository.rb +30 -30
  423. data/lib/chef/resource_builder.rb +1 -0
  424. data/lib/chef/resource_collection.rb +6 -4
  425. data/lib/chef/resource_collection/resource_collection_serialization.rb +4 -3
  426. data/lib/chef/resource_collection/resource_list.rb +5 -3
  427. data/lib/chef/resource_collection/resource_set.rb +12 -8
  428. data/lib/chef/resource_collection/stepable_iterator.rb +1 -0
  429. data/lib/chef/resource_definition.rb +5 -3
  430. data/lib/chef/resource_definition_list.rb +1 -1
  431. data/lib/chef/resource_inspector.rb +1 -1
  432. data/lib/chef/resource_reporter.rb +1 -1
  433. data/lib/chef/role.rb +9 -7
  434. data/lib/chef/run_context.rb +5 -5
  435. data/lib/chef/run_context/cookbook_compiler.rb +5 -1
  436. data/lib/chef/run_list.rb +5 -4
  437. data/lib/chef/run_list/run_list_expansion.rb +3 -2
  438. data/lib/chef/run_list/run_list_item.rb +5 -5
  439. data/lib/chef/run_list/versioned_recipe_list.rb +1 -1
  440. data/lib/chef/run_status.rb +1 -1
  441. data/lib/chef/runner.rb +2 -4
  442. data/lib/chef/search/query.rb +3 -3
  443. data/lib/chef/shell/ext.rb +2 -2
  444. data/lib/chef/shell/model_wrapper.rb +2 -1
  445. data/lib/chef/shell/shell_session.rb +1 -1
  446. data/lib/chef/train_transport.rb +3 -3
  447. data/lib/chef/user.rb +6 -6
  448. data/lib/chef/user_v1.rb +13 -11
  449. data/lib/chef/util/diff.rb +5 -2
  450. data/lib/chef/util/dsc/configuration_generator.rb +6 -6
  451. data/lib/chef/util/dsc/lcm_output_parser.rb +2 -2
  452. data/lib/chef/util/dsc/local_configuration_manager.rb +2 -2
  453. data/lib/chef/util/dsc/resource_store.rb +2 -2
  454. data/lib/chef/util/file_edit.rb +1 -0
  455. data/lib/chef/util/powershell/cmdlet.rb +1 -1
  456. data/lib/chef/util/threaded_job_queue.rb +1 -1
  457. data/lib/chef/util/windows/logon_session.rb +5 -5
  458. data/lib/chef/util/windows/net_use.rb +2 -2
  459. data/lib/chef/util/windows/net_user.rb +3 -2
  460. data/lib/chef/version.rb +1 -1
  461. data/lib/chef/version_class.rb +1 -1
  462. data/lib/chef/version_constraint.rb +1 -1
  463. data/lib/chef/whitelist.rb +1 -1
  464. data/lib/chef/win32/api/crypto.rb +11 -11
  465. data/lib/chef/win32/api/error.rb +4 -4
  466. data/lib/chef/win32/api/file.rb +38 -38
  467. data/lib/chef/win32/api/installer.rb +3 -3
  468. data/lib/chef/win32/api/memory.rb +4 -4
  469. data/lib/chef/win32/api/net.rb +38 -38
  470. data/lib/chef/win32/api/process.rb +2 -2
  471. data/lib/chef/win32/api/psapi.rb +1 -1
  472. data/lib/chef/win32/api/registry.rb +3 -3
  473. data/lib/chef/win32/api/security.rb +87 -87
  474. data/lib/chef/win32/api/synchronization.rb +5 -5
  475. data/lib/chef/win32/api/system.rb +7 -7
  476. data/lib/chef/win32/api/unicode.rb +3 -3
  477. data/lib/chef/win32/eventlog.rb +2 -2
  478. data/lib/chef/win32/file.rb +5 -2
  479. data/lib/chef/win32/file/info.rb +1 -0
  480. data/lib/chef/win32/file/version_info.rb +15 -14
  481. data/lib/chef/win32/memory.rb +1 -1
  482. data/lib/chef/win32/net.rb +8 -4
  483. data/lib/chef/win32/registry.rb +6 -1
  484. data/lib/chef/win32/security.rb +7 -2
  485. data/lib/chef/win32/security/acl.rb +2 -1
  486. data/lib/chef/win32/security/security_descriptor.rb +4 -2
  487. data/lib/chef/win32/security/sid.rb +11 -10
  488. data/lib/chef/win32/security/token.rb +3 -1
  489. data/lib/chef/win32/version.rb +3 -3
  490. data/spec/.DS_Store +0 -0
  491. data/spec/functional/dsl/reboot_pending_spec.rb +2 -2
  492. data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -4
  493. data/spec/functional/file_content_management/deploy_strategies_spec.rb +21 -21
  494. data/spec/functional/knife/exec_spec.rb +1 -1
  495. data/spec/functional/knife/ssh_spec.rb +3 -3
  496. data/spec/functional/mixin/user_context_spec.rb +3 -1
  497. data/spec/functional/rebooter_spec.rb +1 -1
  498. data/spec/functional/resource/aix_service_spec.rb +1 -1
  499. data/spec/functional/resource/aixinit_service_spec.rb +1 -1
  500. data/spec/functional/resource/chocolatey_package_spec.rb +2 -2
  501. data/spec/functional/resource/cookbook_file_spec.rb +1 -3
  502. data/spec/functional/resource/cron_spec.rb +1 -0
  503. data/spec/functional/resource/dnf_package_spec.rb +5 -5
  504. data/spec/functional/resource/dpkg_package_spec.rb +4 -4
  505. data/spec/functional/resource/dsc_resource_spec.rb +2 -1
  506. data/spec/functional/resource/dsc_script_spec.rb +7 -11
  507. data/spec/functional/resource/git_spec.rb +5 -5
  508. data/spec/functional/resource/group_spec.rb +15 -13
  509. data/spec/functional/resource/ifconfig_spec.rb +2 -2
  510. data/spec/functional/resource/link_spec.rb +2 -2
  511. data/spec/functional/resource/locale_spec.rb +4 -4
  512. data/spec/functional/resource/mount_spec.rb +3 -3
  513. data/spec/functional/resource/powershell_script_spec.rb +9 -8
  514. data/spec/functional/resource/reboot_spec.rb +1 -1
  515. data/spec/functional/resource/remote_file_spec.rb +2 -2
  516. data/spec/functional/resource/template_spec.rb +1 -1
  517. data/spec/functional/resource/user/windows_spec.rb +2 -2
  518. data/spec/functional/resource/windows_certificate_spec.rb +3 -3
  519. data/spec/functional/resource/windows_service_spec.rb +3 -3
  520. data/spec/functional/run_lock_spec.rb +3 -2
  521. data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
  522. data/spec/functional/win32/security_spec.rb +12 -7
  523. data/spec/functional/win32/service_manager_spec.rb +1 -1
  524. data/spec/integration/client/client_spec.rb +79 -81
  525. data/spec/integration/client/exit_code_spec.rb +2 -2
  526. data/spec/integration/client/ipv6_spec.rb +2 -2
  527. data/spec/integration/knife/chef_fs_data_store_spec.rb +25 -25
  528. data/spec/integration/knife/chef_repo_path_spec.rb +4 -4
  529. data/spec/integration/knife/config_get_spec.rb +1 -1
  530. data/spec/integration/knife/config_list_profiles_spec.rb +2 -1
  531. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +1 -1
  532. data/spec/integration/knife/cookbook_download_spec.rb +1 -1
  533. data/spec/integration/knife/diff_spec.rb +2 -2
  534. data/spec/integration/knife/download_spec.rb +1 -1
  535. data/spec/integration/knife/redirection_spec.rb +1 -1
  536. data/spec/integration/knife/upload_spec.rb +2 -2
  537. data/spec/integration/recipes/accumulator_spec.rb +4 -4
  538. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -5
  539. data/spec/integration/recipes/lwrp_spec.rb +2 -2
  540. data/spec/integration/recipes/notifies_spec.rb +20 -20
  541. data/spec/integration/recipes/notifying_block_spec.rb +4 -4
  542. data/spec/integration/recipes/provider_choice.rb +1 -2
  543. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  544. data/spec/integration/recipes/remote_directory.rb +2 -2
  545. data/spec/integration/solo/solo_spec.rb +20 -20
  546. data/spec/spec_helper.rb +9 -11
  547. data/spec/stress/win32/security_spec.rb +1 -1
  548. data/spec/support/lib/chef/resource/zen_follower.rb +1 -1
  549. data/spec/support/lib/chef/resource/zen_master.rb +1 -1
  550. data/spec/support/mock/platform.rb +2 -2
  551. data/spec/support/platform_helpers.rb +14 -0
  552. data/spec/support/platforms/win32/spec_service.rb +6 -10
  553. data/spec/support/shared/functional/execute_resource.rb +4 -4
  554. data/spec/support/shared/functional/file_resource.rb +1 -3
  555. data/spec/support/shared/functional/http.rb +15 -39
  556. data/spec/support/shared/functional/securable_resource.rb +4 -8
  557. data/spec/support/shared/functional/win32_service.rb +1 -1
  558. data/spec/support/shared/functional/windows_script.rb +2 -1
  559. data/spec/support/shared/integration/app_server_support.rb +3 -4
  560. data/spec/support/shared/integration/integration_helper.rb +1 -0
  561. data/spec/support/shared/integration/knife_support.rb +5 -5
  562. data/spec/support/shared/unit/application_dot_d.rb +10 -4
  563. data/spec/support/shared/unit/file_system_support.rb +3 -2
  564. data/spec/support/shared/unit/platform_introspector.rb +12 -12
  565. data/spec/support/shared/unit/provider/file.rb +1 -1
  566. data/spec/support/shared/unit/script_resource.rb +1 -1
  567. data/spec/support/shared/unit/windows_script_resource.rb +1 -1
  568. data/spec/tiny_server.rb +1 -1
  569. data/spec/unit/.DS_Store +0 -0
  570. data/spec/unit/api_client/registration_spec.rb +1 -1
  571. data/spec/unit/api_client_spec.rb +5 -5
  572. data/spec/unit/api_client_v1_spec.rb +6 -6
  573. data/spec/unit/application/client_spec.rb +8 -8
  574. data/spec/unit/application/exit_code_spec.rb +3 -2
  575. data/spec/unit/application/knife_spec.rb +1 -2
  576. data/spec/unit/chef_fs/config_spec.rb +3 -3
  577. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
  578. data/spec/unit/chef_fs/parallelizer.rb +1 -1
  579. data/spec/unit/client_spec.rb +1 -1
  580. data/spec/unit/config_fetcher_spec.rb +1 -1
  581. data/spec/unit/cookbook/metadata_spec.rb +4 -4
  582. data/spec/unit/cookbook/synchronizer_spec.rb +4 -4
  583. data/spec/unit/cookbook_loader_spec.rb +10 -10
  584. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +1 -2
  585. data/spec/unit/cookbook_version_file_specificity_spec.rb +9 -9
  586. data/spec/unit/data_bag_item_spec.rb +8 -8
  587. data/spec/unit/data_bag_spec.rb +1 -1
  588. data/spec/unit/data_collector_spec.rb +82 -0
  589. data/spec/unit/decorator_spec.rb +2 -2
  590. data/spec/unit/deprecated_spec.rb +2 -2
  591. data/spec/unit/dsl/data_query_spec.rb +3 -2
  592. data/spec/unit/dsl/declare_resource_spec.rb +1 -1
  593. data/spec/unit/dsl/platform_introspection_spec.rb +2 -2
  594. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +2 -1
  595. data/spec/unit/encrypted_data_bag_item_spec.rb +2 -1
  596. data/spec/unit/environment_spec.rb +9 -9
  597. data/spec/unit/event_dispatch/dsl_spec.rb +1 -1
  598. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
  599. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +2 -2
  600. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +3 -3
  601. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +1 -1
  602. data/spec/unit/http/authenticator_spec.rb +3 -2
  603. data/spec/unit/http/json_input_spec.rb +1 -1
  604. data/spec/unit/key_spec.rb +7 -7
  605. data/spec/unit/knife/bootstrap/train_connector_spec.rb +13 -8
  606. data/spec/unit/knife/bootstrap_spec.rb +22 -16
  607. data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
  608. data/spec/unit/knife/configure_client_spec.rb +1 -1
  609. data/spec/unit/knife/configure_spec.rb +1 -1
  610. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
  611. data/spec/unit/knife/cookbook_delete_spec.rb +2 -2
  612. data/spec/unit/knife/cookbook_download_spec.rb +2 -2
  613. data/spec/unit/knife/cookbook_metadata_spec.rb +4 -4
  614. data/spec/unit/knife/cookbook_upload_spec.rb +4 -2
  615. data/spec/unit/knife/core/gem_glob_loader_spec.rb +4 -4
  616. data/spec/unit/knife/core/hashed_command_loader_spec.rb +4 -2
  617. data/spec/unit/knife/core/node_editor_spec.rb +8 -8
  618. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +1 -2
  619. data/spec/unit/knife/data_bag_from_file_spec.rb +2 -1
  620. data/spec/unit/knife/data_bag_show_spec.rb +2 -1
  621. data/spec/unit/knife/key_create_spec.rb +1 -1
  622. data/spec/unit/knife/key_delete_spec.rb +3 -3
  623. data/spec/unit/knife/key_edit_spec.rb +4 -4
  624. data/spec/unit/knife/key_list_spec.rb +1 -1
  625. data/spec/unit/knife/key_show_spec.rb +3 -3
  626. data/spec/unit/knife/node_bulk_delete_spec.rb +3 -3
  627. data/spec/unit/knife/node_delete_spec.rb +2 -2
  628. data/spec/unit/knife/node_edit_spec.rb +1 -1
  629. data/spec/unit/knife/node_environment_set_spec.rb +6 -1
  630. data/spec/unit/knife/node_from_file_spec.rb +1 -1
  631. data/spec/unit/knife/node_policy_set_spec.rb +1 -1
  632. data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
  633. data/spec/unit/knife/node_run_list_remove_spec.rb +1 -1
  634. data/spec/unit/knife/node_run_list_set_spec.rb +1 -1
  635. data/spec/unit/knife/node_show_spec.rb +1 -1
  636. data/spec/unit/knife/raw_spec.rb +2 -2
  637. data/spec/unit/knife/role_bulk_delete_spec.rb +2 -2
  638. data/spec/unit/knife/role_create_spec.rb +1 -1
  639. data/spec/unit/knife/role_delete_spec.rb +1 -1
  640. data/spec/unit/knife/role_edit_spec.rb +1 -1
  641. data/spec/unit/knife/role_env_run_list_add_spec.rb +1 -1
  642. data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
  643. data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
  644. data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
  645. data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
  646. data/spec/unit/knife/role_from_file_spec.rb +1 -1
  647. data/spec/unit/knife/role_run_list_add_spec.rb +1 -1
  648. data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
  649. data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
  650. data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
  651. data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
  652. data/spec/unit/knife/status_spec.rb +2 -1
  653. data/spec/unit/knife/supermarket_install_spec.rb +5 -4
  654. data/spec/unit/knife/supermarket_share_spec.rb +1 -1
  655. data/spec/unit/knife_spec.rb +35 -34
  656. data/spec/unit/lwrp_spec.rb +19 -19
  657. data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
  658. data/spec/unit/mixin/params_validate_spec.rb +10 -10
  659. data/spec/unit/mixin/properties_spec.rb +4 -4
  660. data/spec/unit/mixin/shell_out_spec.rb +3 -3
  661. data/spec/unit/mixin/template_spec.rb +4 -8
  662. data/spec/unit/mixin/unformatter_spec.rb +1 -2
  663. data/spec/unit/mixin/user_context_spec.rb +1 -2
  664. data/spec/unit/mixin/which.rb +2 -0
  665. data/spec/unit/mixin/windows_architecture_helper_spec.rb +3 -3
  666. data/spec/unit/node/attribute_spec.rb +12 -12
  667. data/spec/unit/node/immutable_collections_spec.rb +50 -50
  668. data/spec/unit/node/vivid_mash_spec.rb +4 -4
  669. data/spec/unit/node_spec.rb +12 -12
  670. data/spec/unit/org_spec.rb +3 -3
  671. data/spec/unit/policy_builder/policyfile_spec.rb +2 -2
  672. data/spec/unit/property/state_spec.rb +26 -25
  673. data/spec/unit/property/validation_spec.rb +14 -13
  674. data/spec/unit/property_spec.rb +11 -10
  675. data/spec/unit/provider/apt_update_spec.rb +6 -6
  676. data/spec/unit/provider/cron_spec.rb +1 -1
  677. data/spec/unit/provider/dsc_resource_spec.rb +6 -3
  678. data/spec/unit/provider/dsc_script_spec.rb +1 -1
  679. data/spec/unit/provider/git_spec.rb +38 -38
  680. data/spec/unit/provider/group/dscl_spec.rb +1 -1
  681. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  682. data/spec/unit/provider/group_spec.rb +2 -3
  683. data/spec/unit/provider/launchd_spec.rb +16 -8
  684. data/spec/unit/provider/link_spec.rb +22 -11
  685. data/spec/unit/provider/mount/mount_spec.rb +31 -31
  686. data/spec/unit/provider/mount/solaris_spec.rb +11 -11
  687. data/spec/unit/provider/ohai_spec.rb +1 -1
  688. data/spec/unit/provider/osx_profile_spec.rb +5 -7
  689. data/spec/unit/provider/package/apt_spec.rb +5 -5
  690. data/spec/unit/provider/package/bff_spec.rb +1 -1
  691. data/spec/unit/provider/package/cab_spec.rb +1 -1
  692. data/spec/unit/provider/package/chocolatey_spec.rb +8 -8
  693. data/spec/unit/provider/package/msu_spec.rb +1 -1
  694. data/spec/unit/provider/package/openbsd_spec.rb +14 -10
  695. data/spec/unit/provider/package/powershell_spec.rb +1 -1
  696. data/spec/unit/provider/package/smartos_spec.rb +2 -2
  697. data/spec/unit/provider/package/windows/exe_spec.rb +9 -9
  698. data/spec/unit/provider/package/windows/msi_spec.rb +7 -7
  699. data/spec/unit/provider/package/windows_spec.rb +2 -1
  700. data/spec/unit/provider/package/yum/yum_cache_spec.rb +1 -1
  701. data/spec/unit/provider/package/zypper_spec.rb +13 -4
  702. data/spec/unit/provider/powershell_script_spec.rb +12 -12
  703. data/spec/unit/provider/registry_key_spec.rb +1 -1
  704. data/spec/unit/provider/remote_directory_spec.rb +6 -6
  705. data/spec/unit/provider/route_spec.rb +11 -11
  706. data/spec/unit/provider/service/arch_service_spec.rb +11 -11
  707. data/spec/unit/provider/service/debian_service_spec.rb +2 -1
  708. data/spec/unit/provider/service/freebsd_service_spec.rb +23 -19
  709. data/spec/unit/provider/service/gentoo_service_spec.rb +2 -2
  710. data/spec/unit/provider/service/init_service_spec.rb +9 -9
  711. data/spec/unit/provider/service/invokercd_service_spec.rb +9 -9
  712. data/spec/unit/provider/service/macosx_spec.rb +1 -1
  713. data/spec/unit/provider/service/openbsd_service_spec.rb +15 -11
  714. data/spec/unit/provider/service/simple_service_spec.rb +5 -5
  715. data/spec/unit/provider/service/upstart_service_spec.rb +14 -14
  716. data/spec/unit/provider/service/windows_spec.rb +53 -35
  717. data/spec/unit/provider/subversion_spec.rb +8 -4
  718. data/spec/unit/provider/systemd_unit_spec.rb +146 -146
  719. data/spec/unit/provider/template/content_spec.rb +28 -28
  720. data/spec/unit/provider/windows_task_spec.rb +7 -2
  721. data/spec/unit/provider_resolver_spec.rb +2 -2
  722. data/spec/unit/provider_spec.rb +2 -4
  723. data/spec/unit/recipe_spec.rb +3 -3
  724. data/spec/unit/resource/batch_spec.rb +1 -1
  725. data/spec/unit/resource/cab_package_spec.rb +1 -1
  726. data/spec/unit/resource/chef_gem_spec.rb +1 -1
  727. data/spec/unit/resource/directory_spec.rb +1 -1
  728. data/spec/unit/resource/dnf_package_spec.rb +1 -1
  729. data/spec/unit/resource/dsc_resource_spec.rb +1 -1
  730. data/spec/unit/resource/file/verification_spec.rb +1 -2
  731. data/spec/unit/resource/file_spec.rb +1 -1
  732. data/spec/unit/resource/group_spec.rb +1 -1
  733. data/spec/unit/resource/kernel_module_spec.rb +1 -0
  734. data/spec/unit/resource/link_spec.rb +1 -1
  735. data/spec/unit/resource/locale_spec.rb +12 -12
  736. data/spec/unit/resource/osx_profile_spec.rb +2 -1
  737. data/spec/unit/resource/powershell_script_spec.rb +12 -7
  738. data/spec/unit/resource/registry_key_spec.rb +3 -3
  739. data/spec/unit/resource/rhsm_repo_spec.rb +6 -0
  740. data/spec/unit/resource/service_spec.rb +1 -1
  741. data/spec/unit/resource/template_spec.rb +2 -2
  742. data/spec/unit/resource/windows_env_spec.rb +1 -1
  743. data/spec/unit/resource/windows_service_spec.rb +7 -7
  744. data/spec/unit/resource/windows_task_spec.rb +2 -2
  745. data/spec/unit/resource/windows_uac_spec.rb +2 -2
  746. data/spec/unit/resource/yum_package_spec.rb +1 -1
  747. data/spec/unit/resource_collection/resource_list_spec.rb +1 -1
  748. data/spec/unit/resource_collection/resource_set_spec.rb +7 -7
  749. data/spec/unit/resource_collection/stepable_iterator_spec.rb +2 -2
  750. data/spec/unit/resource_collection_spec.rb +4 -4
  751. data/spec/unit/resource_definition_spec.rb +2 -2
  752. data/spec/unit/resource_inspector_spec.rb +1 -1
  753. data/spec/unit/resource_reporter_spec.rb +6 -4
  754. data/spec/unit/resource_spec.rb +21 -21
  755. data/spec/unit/role_spec.rb +2 -2
  756. data/spec/unit/run_context/cookbook_compiler_spec.rb +24 -24
  757. data/spec/unit/run_list/run_list_expansion_spec.rb +9 -6
  758. data/spec/unit/run_list_spec.rb +1 -1
  759. data/spec/unit/runner_spec.rb +3 -3
  760. data/spec/unit/search/query_spec.rb +3 -2
  761. data/spec/unit/shell/model_wrapper_spec.rb +1 -1
  762. data/spec/unit/shell/shell_session_spec.rb +8 -11
  763. data/spec/unit/shell_spec.rb +1 -2
  764. data/spec/unit/user_spec.rb +4 -4
  765. data/spec/unit/user_v1_spec.rb +3 -3
  766. data/spec/unit/util/backup_spec.rb +1 -1
  767. data/spec/unit/util/editor_spec.rb +1 -1
  768. data/spec/unit/util/powershell/ps_credential_spec.rb +3 -2
  769. data/spec/unit/util/threaded_job_queue_spec.rb +2 -2
  770. data/spec/unit/version_class_spec.rb +4 -4
  771. data/spec/unit/win32/registry_spec.rb +5 -5
  772. data/spec/unit/win32/security_spec.rb +2 -1
  773. data/tasks/bin/run_external_test +1 -1
  774. data/tasks/docs.rb +78 -61
  775. data/tasks/rspec.rb +1 -1
  776. metadata +5 -5
  777. data/lib/chef/nil_argument.rb +0 -3
@@ -115,11 +115,11 @@ describe Chef::RunContext::CookbookCompiler do
115
115
  node.run_list("test-with-deps::default", "test-with-circular-deps::default")
116
116
 
117
117
  compiler.compile_libraries
118
- expect(LibraryLoadOrder.load_order).to eq(["dependency1", "dependency2", "test-with-deps", "circular-dep2", "circular-dep1", "test-with-circular-deps"])
118
+ expect(LibraryLoadOrder.load_order).to eq(%w{dependency1 dependency2 test-with-deps circular-dep2 circular-dep1 test-with-circular-deps})
119
119
 
120
120
  # additionally test that we only load them once
121
121
  compiler.compile_libraries
122
- expect(LibraryLoadOrder.load_order).to eq(["dependency1", "dependency2", "test-with-deps", "circular-dep2", "circular-dep1", "test-with-circular-deps"])
122
+ expect(LibraryLoadOrder.load_order).to eq(%w{dependency1 dependency2 test-with-deps circular-dep2 circular-dep1 test-with-circular-deps})
123
123
  end
124
124
  end
125
125
 
@@ -133,18 +133,18 @@ describe Chef::RunContext::CookbookCompiler do
133
133
  node.run_list("test-with-deps::default", "test-with-circular-deps::default")
134
134
 
135
135
  compiler.compile_lwrps
136
- expect(LibraryLoadOrder.load_order).to eq(["dependency1-provider",
137
- "dependency1-resource",
138
- "dependency2-provider",
139
- "dependency2-resource",
140
- "test-with-deps-provider",
141
- "test-with-deps-resource",
142
- "circular-dep2-provider",
143
- "circular-dep2-resource",
144
- "circular-dep1-provider",
145
- "circular-dep1-resource",
146
- "test-with-circular-deps-provider",
147
- "test-with-circular-deps-resource"])
136
+ expect(LibraryLoadOrder.load_order).to eq(%w{dependency1-provider
137
+ dependency1-resource
138
+ dependency2-provider
139
+ dependency2-resource
140
+ test-with-deps-provider
141
+ test-with-deps-resource
142
+ circular-dep2-provider
143
+ circular-dep2-resource
144
+ circular-dep1-provider
145
+ circular-dep1-resource
146
+ test-with-circular-deps-provider
147
+ test-with-circular-deps-resource})
148
148
  end
149
149
  end
150
150
 
@@ -159,12 +159,12 @@ describe Chef::RunContext::CookbookCompiler do
159
159
  node.run_list("test-with-deps::default", "test-with-circular-deps::default")
160
160
 
161
161
  compiler.compile_resource_definitions
162
- expect(LibraryLoadOrder.load_order).to eq(["dependency1-definition",
163
- "dependency2-definition",
164
- "test-with-deps-definition",
165
- "circular-dep2-definition",
166
- "circular-dep1-definition",
167
- "test-with-circular-deps-definition"])
162
+ expect(LibraryLoadOrder.load_order).to eq(%w{dependency1-definition
163
+ dependency2-definition
164
+ test-with-deps-definition
165
+ circular-dep2-definition
166
+ circular-dep1-definition
167
+ test-with-circular-deps-definition})
168
168
  end
169
169
 
170
170
  end
@@ -217,14 +217,14 @@ describe Chef::RunContext::CookbookCompiler do
217
217
  it "should return an array of cookbook names as symbols without duplicates" do
218
218
  node.run_list("test-with-circular-deps::default", "circular-dep1::default", "circular-dep2::default")
219
219
 
220
- expect(compiler.cookbook_order).to eq([:"circular-dep2",
221
- :"circular-dep1",
222
- :"test-with-circular-deps"])
220
+ expect(compiler.cookbook_order).to eq(%i{circular-dep2
221
+ circular-dep1
222
+ test-with-circular-deps})
223
223
  end
224
224
 
225
225
  it "determines if a cookbook is in the list of cookbooks reachable by dependency" do
226
226
  node.run_list("test-with-deps::default", "test-with-deps::server")
227
- expect(compiler.cookbook_order).to eq([:dependency1, :dependency2, :"test-with-deps"])
227
+ expect(compiler.cookbook_order).to eq(%i{dependency1 dependency2 test-with-deps})
228
228
  expect(compiler.unreachable_cookbook?(:dependency1)).to be_falsey
229
229
  expect(compiler.unreachable_cookbook?(:dependency2)).to be_falsey
230
230
  expect(compiler.unreachable_cookbook?(:'test-with-deps')).to be_falsey
@@ -94,12 +94,15 @@ describe Chef::RunList::RunListExpansion do
94
94
  allow(@expansion).to receive(:fetch_role).and_return(@first_role, @second_role)
95
95
  @expansion.expand
96
96
  @json = '{"id":"_default","run_list":[{"type":"recipe","name":"lobster::mastercookbook","version":"0.1.0",'
97
- .concat(
98
- '"skipped":false},{"type":"role","name":"rage","children":[{"type":"role","name":"mollusk","children":[],"missing":null,'
99
- .concat(
100
- '"error":null,"skipped":null},{"type":"recipe","name":"crabrevenge","version":null,"skipped":false}],"missing":null,'
101
- .concat(
102
- '"error":null,"skipped":null},{"type":"recipe","name":"fist","version":"0.1","skipped":false}]}')))
97
+ .concat(
98
+ '"skipped":false},{"type":"role","name":"rage","children":[{"type":"role","name":"mollusk","children":[],"missing":null,'
99
+ .concat(
100
+ '"error":null,"skipped":null},{"type":"recipe","name":"crabrevenge","version":null,"skipped":false}],"missing":null,'
101
+ .concat(
102
+ '"error":null,"skipped":null},{"type":"recipe","name":"fist","version":"0.1","skipped":false}]}'
103
+ )
104
+ )
105
+ )
103
106
 
104
107
  end
105
108
 
@@ -133,7 +133,7 @@ describe Chef::RunList do
133
133
  it "should yield each member to your block" do
134
134
  @run_list << "foo"
135
135
  @run_list << "bar"
136
- seen = Array.new
136
+ seen = []
137
137
  @run_list.each { |r| seen << r }
138
138
  expect(seen).to be_include("recipe[foo]")
139
139
  expect(seen).to be_include("recipe[bar]")
@@ -295,7 +295,7 @@ describe Chef::Runner do
295
295
  # execution, and schedule delayed actions :second and :third on the first
296
296
  # resource. The duplicate actions should "collapse" to a single notification
297
297
  # and order should be preserved.
298
- expect(SnitchyProvider.all_actions_called).to eq([:first, :first, :second, :third])
298
+ expect(SnitchyProvider.all_actions_called).to eq(%i{first first second third})
299
299
  end
300
300
 
301
301
  it "executes delayed notifications in the order they were declared" do
@@ -321,7 +321,7 @@ describe Chef::Runner do
321
321
  third_resource.notifies(:third_action, first_resource, :delayed)
322
322
 
323
323
  runner.converge
324
- expect(SnitchyProvider.all_actions_called).to eq([:first, :first, :second, :third])
324
+ expect(SnitchyProvider.all_actions_called).to eq(%i{first first second third})
325
325
  end
326
326
 
327
327
  it "does not fire notifications if the resource was not updated by the last action executed" do
@@ -347,7 +347,7 @@ describe Chef::Runner do
347
347
  runner.converge
348
348
 
349
349
  # All of the resources should only fire once:
350
- expect(SnitchyProvider.all_actions_called).to eq([:first, :second, :third])
350
+ expect(SnitchyProvider.all_actions_called).to eq(%i{first second third})
351
351
 
352
352
  # all of the resources should be marked as updated for reporting purposes
353
353
  expect(first_resource).to be_updated
@@ -149,7 +149,8 @@ describe Chef::Search::Query do
149
149
  ],
150
150
  "start" => 0,
151
151
  "total" => 4,
152
- } end
152
+ }
153
+ end
153
154
 
154
155
  let(:big_response_empty) do
155
156
  {
@@ -169,7 +170,7 @@ describe Chef::Search::Query do
169
170
  it "accepts a type as the first argument" do
170
171
  expect { query.search("node") }.not_to raise_error
171
172
  expect { query.search(:node) }.not_to raise_error
172
- expect { query.search(Hash.new) }.to raise_error(Chef::Exceptions::InvalidSearchQuery, /(Hash)/)
173
+ expect { query.search({}) }.to raise_error(Chef::Exceptions::InvalidSearchQuery, /(Hash)/)
173
174
  end
174
175
 
175
176
  it "queries for every object of a type by default" do
@@ -57,7 +57,7 @@ describe Shell::ModelWrapper do
57
57
  end
58
58
 
59
59
  it "maps the listed nodes when given a block" do
60
- expect(@wrapper.all { |n| n.name }.sort.reverse).to eq(%w{yummy sammich})
60
+ expect(@wrapper.all(&:name).sort.reverse).to eq(%w{yummy sammich})
61
61
  end
62
62
  end
63
63
 
@@ -57,8 +57,7 @@ describe Shell::ClientSession do
57
57
  load_node: true,
58
58
  build_node: true,
59
59
  register: true,
60
- sync_cookbooks: {}
61
- )
60
+ sync_cookbooks: {})
62
61
  end
63
62
 
64
63
  before do
@@ -94,8 +93,7 @@ describe Shell::SoloSession do
94
93
  load_node: true,
95
94
  build_node: true,
96
95
  register: true,
97
- sync_cookbooks: {}
98
- )
96
+ sync_cookbooks: {})
99
97
  end
100
98
 
101
99
  before do
@@ -132,8 +130,7 @@ describe Shell::StandAloneSession do
132
130
  load_node: true,
133
131
  build_node: true,
134
132
  register: true,
135
- sync_cookbooks: {}
136
- )
133
+ sync_cookbooks: {})
137
134
  end
138
135
  let(:recipe) { Chef::Recipe.new(nil, nil, run_context) }
139
136
  let(:run_context) { Chef::RunContext.new(node, {}, events) }
@@ -238,11 +235,11 @@ describe Shell::SoloLegacySession do
238
235
 
239
236
  it "passes the shell CLI args to the client" do
240
237
  @client = double("Chef::Client.new",
241
- run_ohai: true,
242
- load_node: true,
243
- build_node: true,
244
- register: true,
245
- sync_cookbooks: {})
238
+ run_ohai: true,
239
+ load_node: true,
240
+ build_node: true,
241
+ register: true,
242
+ sync_cookbooks: {})
246
243
  expect(Chef::Client).to receive(:new).with(json_attribs, Chef::Config[:shell_config]).and_return(@client)
247
244
  @session.json_configuration = json_attribs
248
245
  @session.send(:rebuild_node)
@@ -30,8 +30,7 @@ ObjectTestHarness = Proc.new do
30
30
  end
31
31
 
32
32
  desc "rspecin'"
33
- def rspec_method
34
- end
33
+ def rspec_method; end
35
34
  end
36
35
 
37
36
  class TestJobManager
@@ -65,7 +65,7 @@ describe Chef::User do
65
65
  end
66
66
 
67
67
  it "should throw an ArgumentError if you feed it anything but a string" do
68
- expect { @user.name Hash.new }.to raise_error(ArgumentError)
68
+ expect { @user.name({}) }.to raise_error(ArgumentError)
69
69
  end
70
70
  end
71
71
 
@@ -84,7 +84,7 @@ describe Chef::User do
84
84
  end
85
85
 
86
86
  it "should throw an ArgumentError if you feed it anything but true or false" do
87
- expect { @user.name Hash.new }.to raise_error(ArgumentError)
87
+ expect { @user.name({}) }.to raise_error(ArgumentError)
88
88
  end
89
89
  end
90
90
 
@@ -99,7 +99,7 @@ describe Chef::User do
99
99
  end
100
100
 
101
101
  it "should throw an ArgumentError if you feed it something lame" do
102
- expect { @user.public_key Hash.new }.to raise_error(ArgumentError)
102
+ expect { @user.public_key({}) }.to raise_error(ArgumentError)
103
103
  end
104
104
  end
105
105
 
@@ -114,7 +114,7 @@ describe Chef::User do
114
114
  end
115
115
 
116
116
  it "should throw an ArgumentError if you feed it something lame" do
117
- expect { @user.private_key Hash.new }.to raise_error(ArgumentError)
117
+ expect { @user.private_key({}) }.to raise_error(ArgumentError)
118
118
  end
119
119
  end
120
120
 
@@ -37,7 +37,7 @@ describe Chef::UserV1 do
37
37
  end
38
38
 
39
39
  it "should throw an ArgumentError if you feed it something lame" do
40
- expect { @user.send(method, Hash.new) }.to raise_error(ArgumentError)
40
+ expect { @user.send(method, {}) }.to raise_error(ArgumentError)
41
41
  end
42
42
  end
43
43
 
@@ -57,7 +57,7 @@ describe Chef::UserV1 do
57
57
  end
58
58
 
59
59
  it "should throw an ArgumentError if you feed it anything but true or false" do
60
- expect { @user.send(method, Hash.new) }.to raise_error(ArgumentError)
60
+ expect { @user.send(method, {}) }.to raise_error(ArgumentError)
61
61
  end
62
62
  end
63
63
 
@@ -95,7 +95,7 @@ describe Chef::UserV1 do
95
95
  end
96
96
 
97
97
  it "should throw an ArgumentError if you feed it anything but a string" do
98
- expect { @user.username Hash.new }.to raise_error(ArgumentError)
98
+ expect { @user.username({}) }.to raise_error(ArgumentError)
99
99
  end
100
100
  end
101
101
 
@@ -110,7 +110,7 @@ describe Chef::Util::Backup do
110
110
  end
111
111
  it "should strip the drive letter off for windows" do
112
112
  expect(@backup).to receive(:path).and_return('c:\a\b\c.txt')
113
- expect(@backup.send(:backup_filename)).to match(%r|^\\a\\b\\c.txt.chef-\d{14}.\d{6}$|)
113
+ expect(@backup.send(:backup_filename)).to match(/^\\a\\b\\c.txt.chef-\d{14}.\d{6}$/)
114
114
  end
115
115
  it "should strip the drive letter off for windows (with forwardslashes)" do
116
116
  expect(@backup).to receive(:path).and_return("c:/a/b/c.txt")
@@ -9,7 +9,7 @@ describe Chef::Util::Editor do
9
9
  end
10
10
 
11
11
  it "makes a copy of an Array" do
12
- array = Array.new
12
+ array = []
13
13
  editor = described_class.new(array)
14
14
  expect(editor.lines).to_not be(array)
15
15
  end
@@ -29,8 +29,9 @@ describe Chef::Util::Powershell::PSCredential do
29
29
  it "should create the script to create a PSCredential when calling" do
30
30
  allow(ps_credential).to receive(:encrypt).with(password).and_return("encrypted")
31
31
  expect(ps_credential.to_psobject).to eq(
32
- "New-Object System.Management.Automation.PSCredential("\
33
- "'#{username}',('encrypted' | ConvertTo-SecureString))")
32
+ "New-Object System.Management.Automation.PSCredential("\
33
+ "'#{username}',('encrypted' | ConvertTo-SecureString))"
34
+ )
34
35
  end
35
36
  end
36
37
 
@@ -22,7 +22,7 @@ describe Chef::Util::ThreadedJobQueue do
22
22
  let(:queue) { Chef::Util::ThreadedJobQueue.new }
23
23
 
24
24
  it "should pass mutex to jobs with an arity of 1" do
25
- job = double()
25
+ job = double
26
26
  expect(job).to receive(:arity).at_least(:once).and_return(1)
27
27
  expect(job).to receive(:call).exactly(5).times.with(an_instance_of(Mutex))
28
28
 
@@ -31,7 +31,7 @@ describe Chef::Util::ThreadedJobQueue do
31
31
  end
32
32
 
33
33
  it "should pass nothing to jobs with an arity of 0" do
34
- job = double()
34
+ job = double
35
35
  expect(job).to receive(:arity).at_least(:once).and_return(0)
36
36
  expect(job).to receive(:call).exactly(5).times.with(no_args)
37
37
 
@@ -105,7 +105,7 @@ describe Chef::Version do
105
105
  a = %w{0.0.0 0.0.1 0.1.0 0.1.1 1.0.0 1.1.0 1.1.1}.map do |s|
106
106
  Chef::Version.new(s)
107
107
  end
108
- got = a.sort.map { |v| v.to_s }
108
+ got = a.sort.map(&:to_s)
109
109
  expect(got).to eq(%w{0.0.0 0.0.1 0.1.0 0.1.1 1.0.0 1.1.0 1.1.1})
110
110
  end
111
111
 
@@ -113,7 +113,7 @@ describe Chef::Version do
113
113
  a = %w{9.8.7 1.0.0 1.2.3 4.4.6 4.5.6 0.8.6 4.5.5 5.9.8 3.5.7}.map do |s|
114
114
  Chef::Version.new(s)
115
115
  end
116
- got = a.sort.map { |v| v.to_s }
116
+ got = a.sort.map(&:to_s)
117
117
  expect(got).to eq(%w{0.8.6 1.0.0 1.2.3 3.5.7 4.4.6 4.5.5 4.5.6 5.9.8 9.8.7})
118
118
  end
119
119
 
@@ -160,9 +160,9 @@ describe Chef::Version do
160
160
  [ "1.2.2", :<=, "1.2.1", false ],
161
161
  [ "1.2.2", :<, "1.2.1", false ],
162
162
  ].each do |spec|
163
- it "(#{spec.first(3).join(' ')}) should be #{spec[3]}" do
163
+ it "(#{spec.first(3).join(" ")}) should be #{spec[3]}" do
164
164
  got = Chef::Version.new(spec[0]).send(spec[1],
165
- Chef::Version.new(spec[2]))
165
+ Chef::Version.new(spec[2]))
166
166
  expect(got).to eq(spec[3])
167
167
  end
168
168
  end
@@ -29,7 +29,7 @@ describe Chef::Win32::Registry do
29
29
  let(:key_to_delete) { "OpscodeNumbers" }
30
30
  let(:sub_key) { "OpscodePrimes" }
31
31
  let(:missing_key_path) { 'HKCU\Software' }
32
- let(:registry) { Chef::Win32::Registry.new() }
32
+ let(:registry) { Chef::Win32::Registry.new }
33
33
  let(:hive_mock) { double("::Win32::Registry::KHKEY_CURRENT_USER") }
34
34
  let(:reg_mock) { double("reg") }
35
35
 
@@ -252,7 +252,7 @@ describe Chef::Win32::Registry do
252
252
  expect(registry).to receive(:key_exists!).with(key_path).and_return(true)
253
253
  expect(registry).to receive(:get_hive_and_key).with(key_path).and_return([hive_mock, key])
254
254
  expect(hive_mock).to receive(:open).with(key, ::Win32::Registry::KEY_READ | registry.registry_system_architecture).and_yield(reg_mock)
255
- expect(reg_mock).to receive(:each_key).and_return(no_args())
255
+ expect(reg_mock).to receive(:each_key).and_return(no_args)
256
256
  expect(registry.has_subkeys?(key_path)).to eq(false)
257
257
  end
258
258
 
@@ -290,7 +290,7 @@ describe Chef::Win32::Registry do
290
290
  expect(registry).to receive(:key_exists!).with(key_path).and_return(true)
291
291
  expect(registry).to receive(:get_hive_and_key).with(key_path).and_return([hive_mock, key])
292
292
  expect(hive_mock).to receive(:open).with(key, ::Win32::Registry::KEY_READ | registry.registry_system_architecture).and_yield(reg_mock)
293
- expect(reg_mock).to receive(:any?).and_yield(no_args())
293
+ expect(reg_mock).to receive(:any?).and_yield(no_args)
294
294
  registry.value_exists?(key_path, value1) == false
295
295
  end
296
296
  end
@@ -305,7 +305,7 @@ describe Chef::Win32::Registry do
305
305
  expect(registry).to receive(:key_exists!).with(key_path).and_return(true)
306
306
  expect(registry).to receive(:get_hive_and_key).with(key_path).and_return([hive_mock, key])
307
307
  expect(registry).to receive(:get_type_from_name).with(:string).and_return(1)
308
- expect(reg_mock).to receive(:each).with(no_args()).and_yield("one", 1, "1")
308
+ expect(reg_mock).to receive(:each).with(no_args).and_yield("one", 1, "1")
309
309
  expect(hive_mock).to receive(:open).with(key, ::Win32::Registry::KEY_READ | registry.registry_system_architecture).and_yield(reg_mock)
310
310
  expect(registry.data_exists?(key_path, value1)).to eq(true)
311
311
  end
@@ -315,7 +315,7 @@ describe Chef::Win32::Registry do
315
315
  expect(registry).to receive(:get_hive_and_key).with(key_path).and_return([hive_mock, key])
316
316
  expect(hive_mock).to receive(:open).with(key, ::Win32::Registry::KEY_READ | registry.registry_system_architecture).and_yield(reg_mock)
317
317
  expect(registry).to receive(:get_type_from_name).with(:string).and_return(1)
318
- expect(reg_mock).to receive(:each).with(no_args()).and_yield("one", 1, "2")
318
+ expect(reg_mock).to receive(:each).with(no_args).and_yield("one", 1, "2")
319
319
  expect(registry.data_exists?(key_path, value1)).to eq(false)
320
320
  end
321
321
  end
@@ -98,7 +98,8 @@ describe "Chef::Win32::Security", :windows_only do
98
98
  let(:token) do
99
99
  Chef::ReservedNames::Win32::Security.open_process_token(
100
100
  Chef::ReservedNames::Win32::Process.get_current_process,
101
- token_rights)
101
+ token_rights
102
+ )
102
103
  end
103
104
 
104
105
  it "raises error if GetTokenInformation fails" do
@@ -17,7 +17,7 @@ include Chef::Mixin::ShellOut
17
17
  github_repo = ARGV.shift
18
18
  git_thing = ARGV.shift
19
19
 
20
- build_dir = File.expand_path(ENV["TRAVIS_BUILD_DIR"] || Dir.pwd)
20
+ build_dir = Dir.pwd
21
21
 
22
22
  env = {
23
23
  "GEMFILE_MOD" => "gem 'chef', path: '#{build_dir}'; " \
@@ -11,9 +11,18 @@ namespace :docs_site do
11
11
  require "erb"
12
12
  require "fileutils"
13
13
 
14
+ # @param version String
15
+ # @return String Chef Infra Client or Chef Client depending on version
16
+ def branded_chef_client_name(version)
17
+ return "Chef Infra Client" if Gem::Version.new(version) >= Gem::Version.new("15")
18
+
19
+ "Chef Client"
20
+ end
21
+
14
22
  # @return [String, nil] a pretty defaul value string or nil if we want to skip it
15
23
  def pretty_default(default)
16
24
  return nil if default.nil? || default == "" || default == "lazy default"
25
+
17
26
  if default.is_a?(String)
18
27
  return default.inspect unless default[0] == ":"
19
28
  end
@@ -29,13 +38,13 @@ namespace :docs_site do
29
38
  # build the resource string with property spacing between property names and comments
30
39
  text = " #{resource_name} 'name' do\n"
31
40
  properties.each do |p|
32
- text << " #{p['name'].ljust(padding_size)}"
41
+ text << " #{p["name"].ljust(padding_size)}"
33
42
  text << friendly_types_list(p["is"])
34
43
  text << " # default value: 'name' unless specified" if p["name_property"]
35
- text << " # default value: #{pretty_default(p['default'])}" unless pretty_default(p["default"]).nil?
44
+ text << " # default value: #{pretty_default(p["default"])}" unless pretty_default(p["default"]).nil?
36
45
  text << "\n"
37
46
  end
38
- text << " #{'action'.ljust(padding_size)}Symbol # defaults to :#{@default_action.first} if not specified\n"
47
+ text << " #{"action".ljust(padding_size)}Symbol # defaults to :#{@default_action.first} if not specified\n"
39
48
  text << " end"
40
49
  text
41
50
  end
@@ -57,7 +66,7 @@ namespace :docs_site do
57
66
  def friendly_properly_list(arr)
58
67
  return nil if arr.empty? # resources w/o properties
59
68
 
60
- props = arr.map { |x| "``#{x['name']}``" }
69
+ props = arr.map { |x| "``#{x["name"]}``" }
61
70
 
62
71
  # build the text string containing all properties bolded w/ punctuation
63
72
  if props.size > 1
@@ -91,11 +100,13 @@ namespace :docs_site do
91
100
  # @return String
92
101
  def bolded_description(name, description)
93
102
  return nil if description.nil? # handle resources missing descriptions
103
+
94
104
  description.gsub( "#{name} ", "**#{name}** ").split("Note: ").first.strip
95
105
  end
96
106
 
97
107
  def note_text(description)
98
108
  return nil if description.nil?
109
+
99
110
  note = description.split("Note: ")[1]
100
111
  if note
101
112
  <<-HEREDOC
@@ -139,7 +150,7 @@ namespace :docs_site do
139
150
  ``sensitive``
140
151
  **Ruby Type:** true, false | **Default Value:** ``false``
141
152
 
142
- Ensure that sensitive resource data is not logged by the Chef Infra Client.
153
+ Ensure that sensitive resource data is not logged by Chef Infra Client.
143
154
 
144
155
  .. end_tag
145
156
 
@@ -256,66 +267,71 @@ namespace :docs_site do
256
267
  end
257
268
 
258
269
  template = %{=====================================================
259
- <%= @name %> resource
260
- =====================================================
261
- `[edit on GitHub] <https://github.com/chef/chef-web-docs/blob/master/chef_master/source/resource_<%= @name %>.rst>`__
262
-
263
- <%= bolded_description(@name, @description) %>
264
- <%= note_text(@description) %>
265
- <% unless @introduced.nil? %>
266
- **New in Chef Infra Client <%= @introduced %>.**
267
- <% end %>
268
- Syntax
269
- =====================================================
270
- The <%= @name %> resource has the following syntax:
271
-
272
- .. code-block:: ruby
273
-
274
- <%= @resource_block %>
275
-
276
- where:
277
-
278
- * ``<%= @name %>`` is the resource.
279
- * ``name`` is the name given to the resource block.
280
- * ``action`` identifies which steps the Chef Infra Client will take to bring the node into the desired state.
281
- <% unless @property_list.nil? %>* <%= @property_list %><% end %>
282
-
283
- Actions
284
- =====================================================
285
-
286
- The <%= @name %> resource has the following actions:
287
- <% @actions.each do |a| %>
288
- ``:<%= a %>``
289
- <% if a == @default_action %>Default. <% end %>Description here.
290
- <% end %>
291
- ``:nothing``
292
- .. tag resources_common_actions_nothing
293
-
294
- This resource block does not act unless notified by another resource to take action. Once notified, this resource block either runs immediately or is queued up to run at the end of the Chef Infra Client run.
295
-
296
- .. end_tag
297
-
298
- Properties
299
- =====================================================
300
-
301
- The <%= @name %> resource has the following properties:
302
- <% @properties.each do |p| %>
303
- ``<%= p['name'] %>``
304
- **Ruby Type:** <%= friendly_types_list(p['is']) %><% unless pretty_default(p['default']).nil? %> | **Default Value:** ``<%= pretty_default(p['default']) %>``<% end %><% if p['required'] %> | ``REQUIRED``<% end %><% if p['deprecated'] %> | ``DEPRECATED``<% end %><% if p['name_property'] %> | **Default Value:** ``The resource block's name``<% end %>
305
-
306
- <%= p['description'] %>
307
- <% unless p['introduced'].nil? %>\n *New in Chef Infra Client <%= p['introduced'] %>.*<% end %>
308
- <% end %>
309
- <% if @properties.empty? %>This resource does not have any properties.\n<% end %>
310
- <%= boilerplate_content %>
311
- Examples
312
- ==========================================
313
- }
270
+ <%= @name %> resource
271
+ =====================================================
272
+ `[edit on GitHub] <https://github.com/chef/chef-web-docs/blob/master/chef_master/source/resource_<%= @name %>.rst>`__
273
+
274
+ <%= bolded_description(@name, @description) %>
275
+ <%= note_text(@description) -%>
276
+ <% unless @introduced.nil? -%>
277
+
278
+ **New in <%= branded_chef_client_name(@introduced) %> <%= @introduced %>.**
279
+ <% end -%>
280
+
281
+ Syntax
282
+ =====================================================
283
+
284
+ The <%= @name %> resource has the following syntax:
285
+
286
+ .. code-block:: ruby
287
+
288
+ <%= @resource_block %>
289
+
290
+ where:
291
+
292
+ * ``<%= @name %>`` is the resource.
293
+ * ``name`` is the name given to the resource block.
294
+ * ``action`` identifies which steps Chef Infra Client will take to bring the node into the desired state.
295
+ <% unless @property_list.nil? %>* <%= @property_list %><% end %>
296
+
297
+ Actions
298
+ =====================================================
299
+
300
+ The <%= @name %> resource has the following actions:
301
+ <% @actions.each do |a| %>
302
+ ``:<%= a %>``
303
+ <% if a == @default_action %>Default. <% end %>Description here.
304
+ <% end %>
305
+ ``:nothing``
306
+ .. tag resources_common_actions_nothing
307
+
308
+ This resource block does not act unless notified by another resource to take action. Once notified, this resource block either runs immediately or is queued up to run at the end of the Chef Infra Client run.
309
+
310
+ .. end_tag
311
+
312
+ Properties
313
+ =====================================================
314
+
315
+ The <%= @name %> resource has the following properties:
316
+ <% @properties.each do |p| %>
317
+ ``<%= p['name'] %>``
318
+ **Ruby Type:** <%= friendly_types_list(p['is']) %><% unless pretty_default(p['default']).nil? %> | **Default Value:** ``<%= pretty_default(p['default']) %>``<% end %><% if p['required'] %> | ``REQUIRED``<% end %><% if p['deprecated'] %> | ``DEPRECATED``<% end %><% if p['name_property'] %> | **Default Value:** ``The resource block's name``<% end %>
319
+
320
+ <%= p['description'] %>
321
+ <% unless p['introduced'].nil? -%>\n *New in <%= branded_chef_client_name(@introduced) %> <%= p['introduced'] -%>.*<% end -%>
322
+ <% end %>
323
+ <% if @properties.empty? %>This resource does not have any properties.\n<% end -%>
324
+ <%= boilerplate_content %>
325
+ Examples
326
+ ==========================================
327
+ <%= @examples -%>
328
+ }
314
329
 
315
330
  FileUtils.mkdir_p "docs_site"
316
331
  resources = Chef::JSONCompat.parse(ResourceInspector.inspect)
317
332
  resources.each do |resource, data|
318
333
  next if ["scm", "whyrun_safe_ruby_block", "l_w_r_p_base", "user_resource_abstract_base_class", "linux_user", "pw_user", "aix_user", "dscl_user", "solaris_user", "windows_user", ""].include?(resource)
334
+
319
335
  puts "Writing out #{resource}."
320
336
  @name = resource
321
337
  @description = data["description"]
@@ -327,8 +343,9 @@ namespace :docs_site do
327
343
  @properties = data["properties"].reject { |v| v["name"] == "name" }.sort_by! { |v| v["name"] }
328
344
  @resource_block = generate_resource_block(resource, @properties)
329
345
  @property_list = friendly_properly_list(@properties)
346
+ @examples = data["examples"]
330
347
 
331
- t = ERB.new(template)
348
+ t = ERB.new(template, nil, "-")
332
349
  File.open("docs_site/resource_#{@name}.rst", "w") do |f|
333
350
  f.write t.result(binding)
334
351
  end