chef 12.6.0-universal-mingw32 → 12.7.2-universal-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1452) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +26 -19
  3. data/README.md +26 -23
  4. data/Rakefile +28 -17
  5. data/VERSION +1 -0
  6. data/acceptance/.gitignore +1 -0
  7. data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +27 -0
  8. data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +281 -0
  9. data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +49 -0
  10. data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +46 -0
  11. data/acceptance/.shared/kitchen_acceptance/metadata.rb +1 -0
  12. data/acceptance/Gemfile +11 -0
  13. data/acceptance/README.md +86 -0
  14. data/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore +2 -0
  15. data/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb +3 -0
  16. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
  17. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
  18. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
  19. data/acceptance/basics/.kitchen.yml +4 -0
  20. data/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +19 -0
  21. data/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb +6 -0
  22. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore +2 -0
  23. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb +43 -0
  24. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +21 -0
  25. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb +3 -0
  26. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
  27. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
  28. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
  29. data/acceptance/top-cookbooks/.gitignore +1 -0
  30. data/acceptance/top-cookbooks/.kitchen.git.yml +10 -0
  31. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml +4 -0
  32. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml +4 -0
  33. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml +4 -0
  34. data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +2 -0
  35. data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +2 -0
  36. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
  37. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
  38. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
  39. data/acceptance/trivial/.kitchen.yml +7 -0
  40. data/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb +5 -0
  41. data/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore +2 -0
  42. data/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb +2 -0
  43. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
  44. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
  45. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
  46. data/acceptance/windows-service/.kitchen.yml +7 -0
  47. data/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +58 -0
  48. data/bin/chef-apply +3 -3
  49. data/bin/chef-client +5 -5
  50. data/bin/chef-service-manager +7 -7
  51. data/bin/chef-shell +1 -1
  52. data/bin/chef-solo +4 -4
  53. data/bin/chef-windows-service +5 -5
  54. data/bin/knife +4 -5
  55. data/chef-windows.gemspec +5 -2
  56. data/chef.gemspec +13 -13
  57. data/distro/common/html/_static/basic.css +1 -1
  58. data/distro/common/html/_static/doctools.js +1 -1
  59. data/distro/common/html/_static/searchtools.js +1 -1
  60. data/distro/common/html/_static/websupport.js +1 -1
  61. data/ext/win32-eventlog/Rakefile +13 -14
  62. data/lib-backcompat/chef/chef_fs/file_system/acl_entry.rb +5 -0
  63. data/lib-backcompat/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +5 -0
  64. data/lib-backcompat/chef/chef_fs/file_system/chef_server_root_dir.rb +5 -0
  65. data/lib/chef.rb +17 -17
  66. data/lib/chef/api_client.rb +31 -30
  67. data/lib/chef/api_client/registration.rb +34 -10
  68. data/lib/chef/api_client_v1.rb +36 -36
  69. data/lib/chef/application.rb +32 -23
  70. data/lib/chef/application/apply.rb +20 -20
  71. data/lib/chef/application/client.rb +63 -43
  72. data/lib/chef/application/knife.rb +21 -15
  73. data/lib/chef/application/solo.rb +52 -41
  74. data/lib/chef/application/windows_service.rb +25 -25
  75. data/lib/chef/application/windows_service_manager.rb +22 -22
  76. data/lib/chef/applications.rb +4 -4
  77. data/lib/chef/audit/audit_event_proxy.rb +3 -3
  78. data/lib/chef/audit/audit_reporter.rb +8 -10
  79. data/lib/chef/audit/control_group_data.rb +9 -10
  80. data/lib/chef/audit/logger.rb +3 -3
  81. data/lib/chef/audit/rspec_formatter.rb +2 -2
  82. data/lib/chef/audit/runner.rb +15 -14
  83. data/lib/chef/chef_class.rb +10 -7
  84. data/lib/chef/chef_fs.rb +51 -1
  85. data/lib/chef/chef_fs/chef_fs_data_store.rb +320 -125
  86. data/lib/chef/chef_fs/command_line.rb +8 -8
  87. data/lib/chef/chef_fs/config.rb +52 -23
  88. data/lib/chef/chef_fs/data_handler/acl_data_handler.rb +10 -10
  89. data/lib/chef/chef_fs/data_handler/client_data_handler.rb +12 -12
  90. data/lib/chef/chef_fs/data_handler/container_data_handler.rb +6 -6
  91. data/lib/chef/chef_fs/data_handler/cookbook_data_handler.rb +15 -15
  92. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +11 -11
  93. data/lib/chef/chef_fs/data_handler/data_handler_base.rb +8 -8
  94. data/lib/chef/chef_fs/data_handler/environment_data_handler.rb +14 -14
  95. data/lib/chef/chef_fs/data_handler/group_data_handler.rb +18 -18
  96. data/lib/chef/chef_fs/data_handler/node_data_handler.rb +14 -14
  97. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +9 -9
  98. data/lib/chef/chef_fs/data_handler/organization_invites_data_handler.rb +2 -2
  99. data/lib/chef/chef_fs/data_handler/organization_members_data_handler.rb +2 -2
  100. data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +30 -3
  101. data/lib/chef/chef_fs/data_handler/policy_group_data_handler.rb +27 -0
  102. data/lib/chef/chef_fs/data_handler/role_data_handler.rb +16 -16
  103. data/lib/chef/chef_fs/data_handler/user_data_handler.rb +12 -12
  104. data/lib/chef/chef_fs/file_pattern.rb +25 -25
  105. data/lib/chef/chef_fs/file_system.rb +10 -10
  106. data/lib/chef/chef_fs/file_system/already_exists_error.rb +3 -6
  107. data/lib/chef/chef_fs/file_system/base_fs_dir.rb +4 -4
  108. data/lib/chef/chef_fs/file_system/base_fs_object.rb +8 -8
  109. data/lib/chef/chef_fs/file_system/chef_server/acl_dir.rb +65 -0
  110. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +60 -0
  111. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +75 -0
  112. data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +196 -0
  113. data/lib/chef/chef_fs/file_system/{chef_repository_file_system_acls_dir.rb → chef_server/cookbook_artifact_dir.rb} +13 -12
  114. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +102 -0
  115. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +222 -0
  116. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +84 -0
  117. data/lib/chef/chef_fs/file_system/chef_server/cookbook_subdir.rb +61 -0
  118. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_acl_dir.rb +42 -0
  119. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +102 -0
  120. data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +71 -0
  121. data/lib/chef/chef_fs/file_system/chef_server/data_bags_dir.rb +69 -0
  122. data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +57 -0
  123. data/lib/chef/chef_fs/file_system/chef_server/nodes_dir.rb +53 -0
  124. data/lib/chef/chef_fs/file_system/chef_server/org_entry.rb +31 -0
  125. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +61 -0
  126. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +60 -0
  127. data/lib/chef/chef_fs/file_system/chef_server/policies_acl_dir.rb +41 -0
  128. data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +160 -0
  129. data/lib/chef/chef_fs/file_system/chef_server/policy_group_entry.rb +137 -0
  130. data/lib/chef/chef_fs/file_system/chef_server/policy_groups_dir.rb +43 -0
  131. data/lib/chef/chef_fs/file_system/chef_server/policy_revision_entry.rb +34 -0
  132. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +178 -0
  133. data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +187 -0
  134. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbook_dir.rb +45 -0
  135. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +107 -0
  136. data/lib/chef/chef_fs/file_system/cookbook_frozen_error.rb +3 -6
  137. data/lib/chef/chef_fs/file_system/default_environment_cannot_be_modified_error.rb +3 -7
  138. data/lib/chef/chef_fs/file_system/file_system_error.rb +14 -3
  139. data/lib/chef/chef_fs/file_system/memory/memory_dir.rb +53 -0
  140. data/lib/chef/chef_fs/file_system/memory/memory_file.rb +20 -0
  141. data/lib/chef/chef_fs/file_system/memory/memory_root.rb +23 -0
  142. data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +2 -2
  143. data/lib/chef/chef_fs/file_system/must_delete_recursively_error.rb +3 -6
  144. data/lib/chef/chef_fs/file_system/nonexistent_fs_object.rb +4 -4
  145. data/lib/chef/chef_fs/file_system/not_found_error.rb +3 -6
  146. data/lib/chef/chef_fs/file_system/operation_failed_error.rb +5 -5
  147. data/lib/chef/chef_fs/file_system/operation_not_allowed_error.rb +16 -18
  148. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_acls_dir.rb +39 -0
  149. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_artifact_dir.rb +41 -0
  150. data/lib/chef/chef_fs/file_system/{chef_repository_file_system_policies_dir.rb → repository/chef_repository_file_system_cookbook_artifacts_dir.rb} +9 -13
  151. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +95 -0
  152. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +82 -0
  153. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbooks_dir.rb +84 -0
  154. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_data_bags_dir.rb +38 -0
  155. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_entry.rb +83 -0
  156. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_policies_dir.rb +38 -0
  157. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +210 -0
  158. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_versioned_cookbook_dir.rb +42 -0
  159. data/lib/chef/chef_fs/file_system/{chef_repository_file_system_data_bags_dir.rb → repository/chef_repository_file_system_versioned_cookbooks_dir.rb} +9 -11
  160. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +117 -0
  161. data/lib/chef/chef_fs/file_system/{file_system_root_dir.rb → repository/file_system_root_dir.rb} +8 -6
  162. data/lib/chef/chef_fs/knife.rb +16 -16
  163. data/lib/chef/chef_fs/parallelizer.rb +3 -3
  164. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +1 -1
  165. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +3 -3
  166. data/lib/chef/chef_fs/path_utils.rb +11 -10
  167. data/lib/chef/client.rb +80 -71
  168. data/lib/chef/config.rb +10 -10
  169. data/lib/chef/config_fetcher.rb +12 -4
  170. data/lib/chef/constants.rb +2 -1
  171. data/lib/chef/cookbook/chefignore.rb +4 -5
  172. data/lib/chef/cookbook/cookbook_collection.rb +6 -6
  173. data/lib/chef/cookbook/cookbook_version_loader.rb +15 -15
  174. data/lib/chef/cookbook/file_system_file_vendor.rb +4 -4
  175. data/lib/chef/cookbook/file_vendor.rb +3 -4
  176. data/lib/chef/cookbook/metadata.rb +108 -107
  177. data/lib/chef/cookbook/remote_file_vendor.rb +7 -7
  178. data/lib/chef/cookbook/synchronizer.rb +11 -10
  179. data/lib/chef/cookbook/syntax_check.rb +14 -14
  180. data/lib/chef/cookbook_loader.rb +14 -14
  181. data/lib/chef/cookbook_manifest.rb +16 -15
  182. data/lib/chef/cookbook_site_streaming_uploader.rb +22 -22
  183. data/lib/chef/cookbook_uploader.rb +22 -21
  184. data/lib/chef/cookbook_version.rb +87 -87
  185. data/lib/chef/daemon.rb +6 -6
  186. data/lib/chef/data_bag.rb +32 -26
  187. data/lib/chef/data_bag_item.rb +43 -40
  188. data/lib/chef/delayed_evaluator.rb +1 -1
  189. data/lib/chef/deprecation/mixin/template.rb +4 -4
  190. data/lib/chef/deprecation/provider/cookbook_file.rb +2 -3
  191. data/lib/chef/deprecation/provider/file.rb +10 -10
  192. data/lib/chef/deprecation/provider/remote_directory.rb +5 -5
  193. data/lib/chef/deprecation/provider/remote_file.rb +3 -3
  194. data/lib/chef/deprecation/provider/template.rb +3 -3
  195. data/lib/chef/deprecation/warnings.rb +2 -2
  196. data/lib/chef/digester.rb +6 -6
  197. data/lib/chef/dsl.rb +6 -6
  198. data/lib/chef/dsl/audit.rb +4 -4
  199. data/lib/chef/dsl/chef_provisioning.rb +5 -5
  200. data/lib/chef/dsl/cheffish.rb +5 -5
  201. data/lib/chef/dsl/data_query.rb +10 -10
  202. data/lib/chef/dsl/declare_resource.rb +8 -8
  203. data/lib/chef/dsl/definitions.rb +1 -2
  204. data/lib/chef/dsl/include_attribute.rb +4 -6
  205. data/lib/chef/dsl/include_recipe.rb +4 -4
  206. data/lib/chef/dsl/platform_introspection.rb +8 -14
  207. data/lib/chef/dsl/powershell.rb +3 -3
  208. data/lib/chef/dsl/reboot_pending.rb +12 -13
  209. data/lib/chef/dsl/recipe.rb +20 -20
  210. data/lib/chef/dsl/registry_helper.rb +7 -3
  211. data/lib/chef/dsl/resources.rb +6 -5
  212. data/lib/chef/encrypted_data_bag_item.rb +10 -10
  213. data/lib/chef/encrypted_data_bag_item/assertions.rb +4 -4
  214. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +3 -3
  215. data/lib/chef/encrypted_data_bag_item/decryption_failure.rb +2 -2
  216. data/lib/chef/encrypted_data_bag_item/decryptor.rb +16 -14
  217. data/lib/chef/encrypted_data_bag_item/encrypted_data_bag_item_assertions.rb +1 -1
  218. data/lib/chef/encrypted_data_bag_item/encryption_failure.rb +1 -1
  219. data/lib/chef/encrypted_data_bag_item/encryptor.rb +20 -20
  220. data/lib/chef/encrypted_data_bag_item/unacceptable_encrypted_data_bag_item_format.rb +2 -2
  221. data/lib/chef/encrypted_data_bag_item/unsupported_cipher.rb +2 -2
  222. data/lib/chef/encrypted_data_bag_item/unsupported_encrypted_data_bag_item_format.rb +2 -2
  223. data/lib/chef/environment.rb +41 -34
  224. data/lib/chef/event_dispatch/base.rb +2 -2
  225. data/lib/chef/event_dispatch/dispatcher.rb +2 -2
  226. data/lib/chef/event_dispatch/dsl.rb +6 -5
  227. data/lib/chef/event_loggers/base.rb +3 -3
  228. data/lib/chef/event_loggers/windows_eventlog.rb +11 -11
  229. data/lib/chef/exceptions.rb +23 -34
  230. data/lib/chef/file_access_control.rb +6 -6
  231. data/lib/chef/file_access_control/unix.rb +5 -5
  232. data/lib/chef/file_access_control/windows.rb +5 -5
  233. data/lib/chef/file_cache.rb +21 -21
  234. data/lib/chef/file_content_management/content_base.rb +2 -2
  235. data/lib/chef/file_content_management/deploy.rb +5 -6
  236. data/lib/chef/file_content_management/deploy/cp.rb +2 -2
  237. data/lib/chef/file_content_management/deploy/mv_unix.rb +2 -3
  238. data/lib/chef/file_content_management/deploy/mv_windows.rb +4 -6
  239. data/lib/chef/file_content_management/tempfile.rb +3 -3
  240. data/lib/chef/formatters/base.rb +8 -9
  241. data/lib/chef/formatters/doc.rb +7 -7
  242. data/lib/chef/formatters/error_descriptor.rb +5 -5
  243. data/lib/chef/formatters/error_inspectors.rb +5 -5
  244. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +50 -15
  245. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +11 -11
  246. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +8 -8
  247. data/lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb +8 -6
  248. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +14 -13
  249. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +19 -17
  250. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +8 -11
  251. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +15 -14
  252. data/lib/chef/formatters/error_mapper.rb +2 -2
  253. data/lib/chef/formatters/indentable_output_stream.rb +5 -5
  254. data/lib/chef/formatters/minimal.rb +7 -9
  255. data/lib/chef/guard_interpreter.rb +3 -3
  256. data/lib/chef/guard_interpreter/default_guard_interpreter.rb +3 -4
  257. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +9 -9
  258. data/lib/chef/handler.rb +4 -4
  259. data/lib/chef/handler/error_report.rb +4 -4
  260. data/lib/chef/handler/json_file.rb +5 -5
  261. data/lib/chef/http.rb +32 -35
  262. data/lib/chef/http/auth_credentials.rb +12 -12
  263. data/lib/chef/http/authenticator.rb +17 -12
  264. data/lib/chef/http/basic_client.rb +20 -20
  265. data/lib/chef/http/cookie_jar.rb +7 -7
  266. data/lib/chef/http/cookie_manager.rb +8 -8
  267. data/lib/chef/http/decompressor.rb +7 -9
  268. data/lib/chef/http/http_request.rb +31 -32
  269. data/lib/chef/http/json_input.rb +9 -9
  270. data/lib/chef/http/json_output.rb +9 -9
  271. data/lib/chef/http/json_to_model_output.rb +4 -4
  272. data/lib/chef/http/remote_request_id.rb +6 -6
  273. data/lib/chef/http/simple.rb +23 -5
  274. data/lib/chef/http/simple_json.rb +43 -0
  275. data/lib/chef/http/socketless_chef_zero_client.rb +56 -57
  276. data/lib/chef/http/ssl_policies.rb +9 -9
  277. data/lib/chef/http/validate_content_length.rb +12 -12
  278. data/lib/chef/json_compat.rb +6 -6
  279. data/lib/chef/key.rb +44 -42
  280. data/lib/chef/knife.rb +47 -44
  281. data/lib/chef/knife/bootstrap.rb +32 -32
  282. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +16 -23
  283. data/lib/chef/knife/bootstrap/client_builder.rb +15 -13
  284. data/lib/chef/knife/bootstrap/templates/chef-full.erb +1 -1
  285. data/lib/chef/knife/client_bulk_delete.rb +5 -5
  286. data/lib/chef/knife/client_create.rb +5 -5
  287. data/lib/chef/knife/client_delete.rb +6 -6
  288. data/lib/chef/knife/client_edit.rb +5 -5
  289. data/lib/chef/knife/client_key_create.rb +6 -6
  290. data/lib/chef/knife/client_key_delete.rb +6 -6
  291. data/lib/chef/knife/client_key_edit.rb +8 -9
  292. data/lib/chef/knife/client_key_list.rb +5 -5
  293. data/lib/chef/knife/client_key_show.rb +5 -5
  294. data/lib/chef/knife/client_list.rb +5 -5
  295. data/lib/chef/knife/client_reregister.rb +5 -5
  296. data/lib/chef/knife/client_show.rb +5 -5
  297. data/lib/chef/knife/configure.rb +14 -14
  298. data/lib/chef/knife/configure_client.rb +6 -6
  299. data/lib/chef/knife/cookbook_bulk_delete.rb +9 -10
  300. data/lib/chef/knife/cookbook_create.rb +12 -12
  301. data/lib/chef/knife/cookbook_delete.rb +10 -10
  302. data/lib/chef/knife/cookbook_download.rb +8 -10
  303. data/lib/chef/knife/cookbook_list.rb +5 -5
  304. data/lib/chef/knife/cookbook_metadata.rb +8 -8
  305. data/lib/chef/knife/cookbook_metadata_from_file.rb +5 -5
  306. data/lib/chef/knife/cookbook_show.rb +14 -18
  307. data/lib/chef/knife/cookbook_site_download.rb +22 -22
  308. data/lib/chef/knife/cookbook_site_install.rb +10 -10
  309. data/lib/chef/knife/cookbook_site_list.rb +6 -10
  310. data/lib/chef/knife/cookbook_site_search.rb +5 -10
  311. data/lib/chef/knife/cookbook_site_share.rb +17 -18
  312. data/lib/chef/knife/cookbook_site_show.rb +7 -12
  313. data/lib/chef/knife/cookbook_site_unshare.rb +6 -6
  314. data/lib/chef/knife/cookbook_site_vendor.rb +5 -5
  315. data/lib/chef/knife/cookbook_test.rb +6 -7
  316. data/lib/chef/knife/cookbook_upload.rb +19 -20
  317. data/lib/chef/knife/core/bootstrap_context.rb +25 -21
  318. data/lib/chef/knife/core/cookbook_scm_repo.rb +11 -12
  319. data/lib/chef/knife/core/custom_manifest_loader.rb +2 -2
  320. data/lib/chef/knife/core/gem_glob_loader.rb +11 -11
  321. data/lib/chef/knife/core/generic_presenter.rb +33 -34
  322. data/lib/chef/knife/core/hashed_command_loader.rb +6 -6
  323. data/lib/chef/knife/core/node_editor.rb +59 -38
  324. data/lib/chef/knife/core/node_presenter.rb +13 -14
  325. data/lib/chef/knife/core/object_loader.rb +9 -9
  326. data/lib/chef/knife/core/status_presenter.rb +17 -17
  327. data/lib/chef/knife/core/subcommand_loader.rb +19 -20
  328. data/lib/chef/knife/core/text_formatter.rb +13 -14
  329. data/lib/chef/knife/core/ui.rb +17 -18
  330. data/lib/chef/knife/data_bag_create.rb +11 -10
  331. data/lib/chef/knife/data_bag_delete.rb +6 -8
  332. data/lib/chef/knife/data_bag_edit.rb +8 -11
  333. data/lib/chef/knife/data_bag_from_file.rb +12 -11
  334. data/lib/chef/knife/data_bag_list.rb +4 -8
  335. data/lib/chef/knife/data_bag_secret_options.rb +6 -6
  336. data/lib/chef/knife/data_bag_show.rb +31 -31
  337. data/lib/chef/knife/delete.rb +6 -7
  338. data/lib/chef/knife/deps.rb +18 -18
  339. data/lib/chef/knife/diff.rb +8 -9
  340. data/lib/chef/knife/download.rb +11 -12
  341. data/lib/chef/knife/edit.rb +5 -6
  342. data/lib/chef/knife/environment_compare.rb +23 -23
  343. data/lib/chef/knife/environment_create.rb +5 -5
  344. data/lib/chef/knife/environment_delete.rb +5 -5
  345. data/lib/chef/knife/environment_edit.rb +5 -5
  346. data/lib/chef/knife/environment_from_file.rb +4 -5
  347. data/lib/chef/knife/environment_list.rb +5 -5
  348. data/lib/chef/knife/environment_show.rb +5 -5
  349. data/lib/chef/knife/exec.rb +7 -7
  350. data/lib/chef/knife/help.rb +7 -9
  351. data/lib/chef/knife/index_rebuild.rb +4 -5
  352. data/lib/chef/knife/key_create.rb +5 -5
  353. data/lib/chef/knife/key_create_base.rb +1 -1
  354. data/lib/chef/knife/key_delete.rb +2 -2
  355. data/lib/chef/knife/key_edit.rb +5 -5
  356. data/lib/chef/knife/key_edit_base.rb +1 -1
  357. data/lib/chef/knife/key_list.rb +12 -12
  358. data/lib/chef/knife/key_list_base.rb +1 -1
  359. data/lib/chef/knife/key_show.rb +4 -4
  360. data/lib/chef/knife/list.rb +14 -13
  361. data/lib/chef/knife/node_bulk_delete.rb +6 -12
  362. data/lib/chef/knife/node_create.rb +5 -8
  363. data/lib/chef/knife/node_delete.rb +5 -6
  364. data/lib/chef/knife/node_edit.rb +6 -8
  365. data/lib/chef/knife/node_environment_set.rb +4 -4
  366. data/lib/chef/knife/node_from_file.rb +10 -10
  367. data/lib/chef/knife/node_list.rb +5 -7
  368. data/lib/chef/knife/node_run_list_add.rb +8 -8
  369. data/lib/chef/knife/node_run_list_remove.rb +8 -8
  370. data/lib/chef/knife/node_run_list_set.rb +6 -6
  371. data/lib/chef/knife/node_show.rb +6 -7
  372. data/lib/chef/knife/osc_user_create.rb +5 -5
  373. data/lib/chef/knife/osc_user_delete.rb +5 -5
  374. data/lib/chef/knife/osc_user_edit.rb +5 -5
  375. data/lib/chef/knife/osc_user_list.rb +5 -5
  376. data/lib/chef/knife/osc_user_reregister.rb +5 -5
  377. data/lib/chef/knife/osc_user_show.rb +5 -5
  378. data/lib/chef/knife/raw.rb +18 -17
  379. data/lib/chef/knife/recipe_list.rb +4 -4
  380. data/lib/chef/knife/rehash.rb +9 -9
  381. data/lib/chef/knife/role_bulk_delete.rb +5 -10
  382. data/lib/chef/knife/role_create.rb +5 -7
  383. data/lib/chef/knife/role_delete.rb +5 -6
  384. data/lib/chef/knife/role_edit.rb +5 -8
  385. data/lib/chef/knife/role_env_run_list_add.rb +9 -9
  386. data/lib/chef/knife/role_env_run_list_clear.rb +4 -4
  387. data/lib/chef/knife/role_env_run_list_remove.rb +13 -13
  388. data/lib/chef/knife/role_env_run_list_replace.rb +6 -6
  389. data/lib/chef/knife/role_env_run_list_set.rb +6 -6
  390. data/lib/chef/knife/role_from_file.rb +6 -11
  391. data/lib/chef/knife/role_list.rb +5 -6
  392. data/lib/chef/knife/role_run_list_add.rb +9 -9
  393. data/lib/chef/knife/role_run_list_clear.rb +4 -4
  394. data/lib/chef/knife/role_run_list_remove.rb +13 -13
  395. data/lib/chef/knife/role_run_list_replace.rb +6 -6
  396. data/lib/chef/knife/role_run_list_set.rb +6 -6
  397. data/lib/chef/knife/role_show.rb +5 -8
  398. data/lib/chef/knife/search.rb +11 -11
  399. data/lib/chef/knife/serve.rb +10 -10
  400. data/lib/chef/knife/show.rb +4 -4
  401. data/lib/chef/knife/ssh.rb +34 -34
  402. data/lib/chef/knife/ssl_check.rb +12 -11
  403. data/lib/chef/knife/ssl_fetch.rb +13 -15
  404. data/lib/chef/knife/status.rb +10 -10
  405. data/lib/chef/knife/tag_create.rb +5 -5
  406. data/lib/chef/knife/tag_delete.rb +5 -5
  407. data/lib/chef/knife/tag_list.rb +5 -5
  408. data/lib/chef/knife/upload.rb +10 -11
  409. data/lib/chef/knife/user_create.rb +6 -8
  410. data/lib/chef/knife/user_delete.rb +6 -7
  411. data/lib/chef/knife/user_edit.rb +6 -7
  412. data/lib/chef/knife/user_key_create.rb +7 -7
  413. data/lib/chef/knife/user_key_delete.rb +6 -6
  414. data/lib/chef/knife/user_key_edit.rb +8 -9
  415. data/lib/chef/knife/user_key_list.rb +5 -5
  416. data/lib/chef/knife/user_key_show.rb +5 -5
  417. data/lib/chef/knife/user_list.rb +5 -5
  418. data/lib/chef/knife/user_reregister.rb +6 -7
  419. data/lib/chef/knife/user_show.rb +6 -6
  420. data/lib/chef/knife/xargs.rb +22 -23
  421. data/lib/chef/local_mode.rb +13 -11
  422. data/lib/chef/log.rb +10 -10
  423. data/lib/chef/log/syslog.rb +5 -6
  424. data/lib/chef/log/winevt.rb +12 -12
  425. data/lib/chef/mash.rb +6 -5
  426. data/lib/chef/mixin/api_version_request_handling.rb +1 -1
  427. data/lib/chef/mixin/checksum.rb +4 -4
  428. data/lib/chef/mixin/command.rb +13 -13
  429. data/lib/chef/mixin/command/unix.rb +7 -7
  430. data/lib/chef/mixin/command/windows.rb +6 -7
  431. data/lib/chef/mixin/convert_to_class_name.rb +11 -11
  432. data/lib/chef/mixin/create_path.rb +3 -3
  433. data/lib/chef/mixin/deep_merge.rb +3 -3
  434. data/lib/chef/mixin/deprecation.rb +24 -25
  435. data/lib/chef/mixin/descendants_tracker.rb +2 -3
  436. data/lib/chef/mixin/enforce_ownership_and_permissions.rb +3 -3
  437. data/lib/chef/mixin/file_class.rb +9 -11
  438. data/lib/chef/mixin/from_file.rb +3 -3
  439. data/lib/chef/mixin/get_source_from_package.rb +2 -3
  440. data/lib/chef/mixin/homebrew_user.rb +6 -6
  441. data/lib/chef/mixin/language.rb +5 -5
  442. data/lib/chef/mixin/language_include_attribute.rb +4 -5
  443. data/lib/chef/mixin/language_include_recipe.rb +4 -5
  444. data/lib/chef/mixin/params_validate.rb +38 -18
  445. data/lib/chef/mixin/path_sanity.rb +7 -7
  446. data/lib/chef/mixin/powershell_out.rb +5 -5
  447. data/lib/chef/mixin/powershell_type_coercions.rb +12 -10
  448. data/lib/chef/mixin/properties.rb +8 -8
  449. data/lib/chef/mixin/provides.rb +2 -2
  450. data/lib/chef/mixin/proxified_socket.rb +4 -4
  451. data/lib/chef/mixin/recipe_definition_dsl_core.rb +4 -4
  452. data/lib/chef/mixin/securable.rb +24 -27
  453. data/lib/chef/mixin/shell_out.rb +10 -10
  454. data/lib/chef/mixin/subclass_directive.rb +2 -2
  455. data/lib/chef/mixin/template.rb +8 -9
  456. data/lib/chef/mixin/unformatter.rb +1 -1
  457. data/lib/chef/mixin/uris.rb +2 -3
  458. data/lib/chef/mixin/which.rb +3 -3
  459. data/lib/chef/mixin/why_run.rb +6 -7
  460. data/lib/chef/mixin/wide_string.rb +7 -7
  461. data/lib/chef/mixin/windows_architecture_helper.rb +9 -10
  462. data/lib/chef/mixin/windows_env_helper.rb +10 -11
  463. data/lib/chef/mixin/xml_escape.rb +13 -13
  464. data/lib/chef/mixins.rb +13 -14
  465. data/lib/chef/monkey_patches/net-ssh-multi.rb +6 -6
  466. data/lib/chef/monkey_patches/net_http.rb +2 -2
  467. data/lib/chef/monkey_patches/webrick-utils.rb +6 -6
  468. data/lib/chef/monkey_patches/win32/registry.rb +6 -6
  469. data/lib/chef/monologger.rb +2 -4
  470. data/lib/chef/node.rb +66 -60
  471. data/lib/chef/node/attribute.rb +289 -289
  472. data/lib/chef/node/attribute_collections.rb +8 -8
  473. data/lib/chef/node/immutable_collections.rb +3 -3
  474. data/lib/chef/node_map.rb +11 -11
  475. data/lib/chef/null_logger.rb +3 -3
  476. data/lib/chef/org.rb +31 -30
  477. data/lib/chef/platform.rb +4 -4
  478. data/lib/chef/platform/handler_map.rb +2 -2
  479. data/lib/chef/platform/priority_map.rb +2 -2
  480. data/lib/chef/platform/provider_handler_map.rb +3 -3
  481. data/lib/chef/platform/provider_mapping.rb +33 -33
  482. data/lib/chef/platform/provider_priority_map.rb +2 -2
  483. data/lib/chef/platform/query_helpers.rb +10 -11
  484. data/lib/chef/platform/rebooter.rb +11 -11
  485. data/lib/chef/platform/resource_handler_map.rb +3 -3
  486. data/lib/chef/platform/resource_priority_map.rb +2 -2
  487. data/lib/chef/platform/service_helpers.rb +5 -5
  488. data/lib/chef/policy_builder.rb +5 -5
  489. data/lib/chef/policy_builder/dynamic.rb +10 -11
  490. data/lib/chef/policy_builder/expand_node_object.rb +24 -19
  491. data/lib/chef/policy_builder/policyfile.rb +13 -14
  492. data/lib/chef/property.rb +115 -49
  493. data/lib/chef/provider.rb +43 -43
  494. data/lib/chef/provider/apt_update.rb +79 -0
  495. data/lib/chef/provider/batch.rb +6 -6
  496. data/lib/chef/provider/breakpoint.rb +1 -1
  497. data/lib/chef/provider/cookbook_file.rb +5 -5
  498. data/lib/chef/provider/cookbook_file/content.rb +4 -4
  499. data/lib/chef/provider/cron.rb +8 -8
  500. data/lib/chef/provider/cron/aix.rb +1 -1
  501. data/lib/chef/provider/cron/solaris.rb +1 -1
  502. data/lib/chef/provider/cron/unix.rb +7 -7
  503. data/lib/chef/provider/deploy.rb +7 -8
  504. data/lib/chef/provider/deploy/revision.rb +9 -9
  505. data/lib/chef/provider/deploy/timestamped.rb +1 -1
  506. data/lib/chef/provider/directory.rb +8 -8
  507. data/lib/chef/provider/dsc_resource.rb +33 -27
  508. data/lib/chef/provider/dsc_script.rb +17 -17
  509. data/lib/chef/provider/env.rb +8 -8
  510. data/lib/chef/provider/env/windows.rb +3 -3
  511. data/lib/chef/provider/erl_call.rb +5 -5
  512. data/lib/chef/provider/execute.rb +8 -8
  513. data/lib/chef/provider/file.rb +24 -24
  514. data/lib/chef/provider/file/content.rb +4 -4
  515. data/lib/chef/provider/git.rb +33 -35
  516. data/lib/chef/provider/group.rb +7 -7
  517. data/lib/chef/provider/group/aix.rb +6 -6
  518. data/lib/chef/provider/group/dscl.rb +11 -11
  519. data/lib/chef/provider/group/gpasswd.rb +3 -3
  520. data/lib/chef/provider/group/groupadd.rb +8 -8
  521. data/lib/chef/provider/group/groupmod.rb +3 -3
  522. data/lib/chef/provider/group/pw.rb +2 -2
  523. data/lib/chef/provider/group/suse.rb +5 -5
  524. data/lib/chef/provider/group/usermod.rb +8 -8
  525. data/lib/chef/provider/group/windows.rb +5 -5
  526. data/lib/chef/provider/http_request.rb +15 -15
  527. data/lib/chef/provider/ifconfig.rb +15 -14
  528. data/lib/chef/provider/ifconfig/aix.rb +5 -4
  529. data/lib/chef/provider/ifconfig/debian.rb +6 -6
  530. data/lib/chef/provider/ifconfig/redhat.rb +3 -3
  531. data/lib/chef/provider/link.rb +13 -13
  532. data/lib/chef/provider/log.rb +1 -1
  533. data/lib/chef/provider/lwrp_base.rb +8 -8
  534. data/lib/chef/provider/mdadm.rb +4 -4
  535. data/lib/chef/provider/mount.rb +13 -13
  536. data/lib/chef/provider/mount/aix.rb +14 -14
  537. data/lib/chef/provider/mount/mount.rb +18 -18
  538. data/lib/chef/provider/mount/solaris.rb +30 -30
  539. data/lib/chef/provider/mount/windows.rb +4 -4
  540. data/lib/chef/provider/ohai.rb +2 -2
  541. data/lib/chef/provider/osx_profile.rb +256 -0
  542. data/lib/chef/provider/package.rb +19 -19
  543. data/lib/chef/provider/package/aix.rb +8 -9
  544. data/lib/chef/provider/package/apt.rb +12 -12
  545. data/lib/chef/provider/package/chocolatey.rb +277 -0
  546. data/lib/chef/provider/package/dpkg.rb +7 -7
  547. data/lib/chef/provider/package/easy_install.rb +14 -15
  548. data/lib/chef/provider/package/freebsd/base.rb +7 -7
  549. data/lib/chef/provider/package/freebsd/pkg.rb +8 -8
  550. data/lib/chef/provider/package/freebsd/pkgng.rb +6 -6
  551. data/lib/chef/provider/package/freebsd/port.rb +4 -4
  552. data/lib/chef/provider/package/homebrew.rb +16 -16
  553. data/lib/chef/provider/package/ips.rb +8 -8
  554. data/lib/chef/provider/package/macports.rb +1 -0
  555. data/lib/chef/provider/package/openbsd.rb +13 -13
  556. data/lib/chef/provider/package/pacman.rb +6 -9
  557. data/lib/chef/provider/package/paludis.rb +7 -10
  558. data/lib/chef/provider/package/portage.rb +10 -13
  559. data/lib/chef/provider/package/rpm.rb +7 -8
  560. data/lib/chef/provider/package/rubygems.rb +64 -64
  561. data/lib/chef/provider/package/smartos.rb +7 -10
  562. data/lib/chef/provider/package/solaris.rb +6 -11
  563. data/lib/chef/provider/package/windows.rb +38 -29
  564. data/lib/chef/provider/package/windows/exe.rb +9 -21
  565. data/lib/chef/provider/package/windows/msi.rb +12 -12
  566. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +7 -7
  567. data/lib/chef/provider/package/yum-dump.py +1 -1
  568. data/lib/chef/provider/package/yum.rb +43 -44
  569. data/lib/chef/provider/package/zypper.rb +57 -47
  570. data/lib/chef/provider/powershell_script.rb +14 -14
  571. data/lib/chef/provider/reboot.rb +5 -5
  572. data/lib/chef/provider/registry_key.rb +16 -16
  573. data/lib/chef/provider/remote_directory.rb +15 -15
  574. data/lib/chef/provider/remote_file.rb +5 -5
  575. data/lib/chef/provider/remote_file/cache_control_data.rb +11 -12
  576. data/lib/chef/provider/remote_file/content.rb +11 -11
  577. data/lib/chef/provider/remote_file/fetcher.rb +2 -2
  578. data/lib/chef/provider/remote_file/ftp.rb +11 -11
  579. data/lib/chef/provider/remote_file/http.rb +9 -9
  580. data/lib/chef/provider/remote_file/local_file.rb +5 -5
  581. data/lib/chef/provider/remote_file/network_file.rb +4 -4
  582. data/lib/chef/provider/route.rb +188 -188
  583. data/lib/chef/provider/ruby_block.rb +3 -3
  584. data/lib/chef/provider/script.rb +5 -5
  585. data/lib/chef/provider/service.rb +30 -30
  586. data/lib/chef/provider/service/aix.rb +4 -4
  587. data/lib/chef/provider/service/aixinit.rb +12 -12
  588. data/lib/chef/provider/service/arch.rb +5 -5
  589. data/lib/chef/provider/service/debian.rb +12 -13
  590. data/lib/chef/provider/service/freebsd.rb +7 -7
  591. data/lib/chef/provider/service/gentoo.rb +5 -5
  592. data/lib/chef/provider/service/init.rb +4 -4
  593. data/lib/chef/provider/service/insserv.rb +4 -4
  594. data/lib/chef/provider/service/invokercd.rb +3 -3
  595. data/lib/chef/provider/service/macosx.rb +19 -19
  596. data/lib/chef/provider/service/openbsd.rb +14 -14
  597. data/lib/chef/provider/service/redhat.rb +6 -6
  598. data/lib/chef/provider/service/simple.rb +10 -9
  599. data/lib/chef/provider/service/solaris.rb +8 -8
  600. data/lib/chef/provider/service/systemd.rb +4 -4
  601. data/lib/chef/provider/service/upstart.rb +8 -8
  602. data/lib/chef/provider/service/windows.rb +32 -78
  603. data/lib/chef/provider/subversion.rb +13 -13
  604. data/lib/chef/provider/template.rb +7 -7
  605. data/lib/chef/provider/template/content.rb +4 -4
  606. data/lib/chef/provider/template_finder.rb +2 -1
  607. data/lib/chef/provider/user.rb +9 -10
  608. data/lib/chef/provider/user/aix.rb +4 -3
  609. data/lib/chef/provider/user/dscl.rb +39 -40
  610. data/lib/chef/provider/user/pw.rb +9 -9
  611. data/lib/chef/provider/user/solaris.rb +9 -9
  612. data/lib/chef/provider/user/useradd.rb +9 -9
  613. data/lib/chef/provider/user/windows.rb +13 -13
  614. data/lib/chef/provider/whyrun_safe_ruby_block.rb +1 -1
  615. data/lib/chef/provider/windows_script.rb +5 -5
  616. data/lib/chef/provider_resolver.rb +3 -3
  617. data/lib/chef/providers.rb +113 -110
  618. data/lib/chef/recipe.rb +13 -14
  619. data/lib/chef/request_id.rb +4 -4
  620. data/lib/chef/resource.rb +103 -93
  621. data/lib/chef/resource/action_class.rb +3 -3
  622. data/lib/chef/resource/apt_package.rb +6 -17
  623. data/lib/chef/{shell/shell_rest.rb → resource/apt_update.rb} +14 -9
  624. data/lib/chef/resource/bash.rb +5 -5
  625. data/lib/chef/resource/batch.rb +4 -4
  626. data/lib/chef/resource/bff_package.rb +3 -3
  627. data/lib/chef/resource/breakpoint.rb +3 -4
  628. data/lib/chef/resource/chef_gem.rb +9 -25
  629. data/lib/chef/resource/chocolatey_package.rb +39 -0
  630. data/lib/chef/resource/conditional.rb +8 -8
  631. data/lib/chef/resource/conditional_action_not_nothing.rb +1 -1
  632. data/lib/chef/resource/cookbook_file.rb +10 -10
  633. data/lib/chef/resource/cron.rb +33 -33
  634. data/lib/chef/resource/csh.rb +5 -5
  635. data/lib/chef/resource/deploy.rb +76 -76
  636. data/lib/chef/resource/deploy_revision.rb +1 -1
  637. data/lib/chef/resource/directory.rb +12 -12
  638. data/lib/chef/resource/dpkg_package.rb +5 -6
  639. data/lib/chef/resource/dsc_resource.rb +121 -120
  640. data/lib/chef/resource/dsc_script.rb +25 -25
  641. data/lib/chef/resource/easy_install_package.rb +6 -25
  642. data/lib/chef/resource/env.rb +9 -9
  643. data/lib/chef/resource/erl_call.rb +15 -15
  644. data/lib/chef/resource/execute.rb +28 -28
  645. data/lib/chef/resource/file.rb +20 -87
  646. data/lib/chef/resource/file/verification.rb +11 -11
  647. data/lib/chef/resource/freebsd_package.rb +10 -9
  648. data/lib/chef/resource/gem_package.rb +8 -23
  649. data/lib/chef/resource/git.rb +4 -4
  650. data/lib/chef/resource/group.rb +18 -19
  651. data/lib/chef/resource/homebrew_package.rb +7 -18
  652. data/lib/chef/resource/http_request.rb +12 -12
  653. data/lib/chef/resource/ifconfig.rb +28 -28
  654. data/lib/chef/resource/ips_package.rb +5 -16
  655. data/lib/chef/resource/ksh.rb +3 -3
  656. data/lib/chef/resource/link.rb +18 -17
  657. data/lib/chef/resource/log.rb +9 -9
  658. data/lib/chef/resource/lwrp_base.rb +10 -10
  659. data/lib/chef/resource/macosx_service.rb +7 -7
  660. data/lib/chef/resource/macports_package.rb +3 -2
  661. data/lib/chef/resource/mdadm.rb +18 -19
  662. data/lib/chef/resource/mount.rb +34 -34
  663. data/lib/chef/resource/ohai.rb +7 -7
  664. data/lib/chef/resource/openbsd_package.rb +7 -6
  665. data/lib/chef/resource/osx_profile.rb +74 -0
  666. data/lib/chef/resource/package.rb +15 -69
  667. data/lib/chef/resource/pacman_package.rb +3 -2
  668. data/lib/chef/resource/paludis_package.rb +5 -7
  669. data/lib/chef/resource/perl.rb +5 -5
  670. data/lib/chef/resource/portage_package.rb +5 -4
  671. data/lib/chef/resource/powershell_script.rb +7 -7
  672. data/lib/chef/resource/python.rb +5 -5
  673. data/lib/chef/resource/reboot.rb +6 -6
  674. data/lib/chef/resource/registry_key.rb +15 -15
  675. data/lib/chef/resource/remote_directory.rb +23 -24
  676. data/lib/chef/resource/remote_file.rb +21 -21
  677. data/lib/chef/resource/resource_notification.rb +2 -2
  678. data/lib/chef/resource/route.rb +26 -26
  679. data/lib/chef/resource/rpm_package.rb +5 -15
  680. data/lib/chef/resource/ruby.rb +5 -5
  681. data/lib/chef/resource/ruby_block.rb +8 -8
  682. data/lib/chef/resource/scm.rb +36 -37
  683. data/lib/chef/resource/script.rb +13 -13
  684. data/lib/chef/resource/service.rb +32 -32
  685. data/lib/chef/resource/smartos_package.rb +4 -3
  686. data/lib/chef/resource/solaris_package.rb +4 -3
  687. data/lib/chef/resource/subversion.rb +6 -6
  688. data/lib/chef/resource/template.rb +19 -19
  689. data/lib/chef/resource/timestamped_deploy.rb +1 -1
  690. data/lib/chef/resource/user.rb +31 -31
  691. data/lib/chef/resource/whyrun_safe_ruby_block.rb +1 -1
  692. data/lib/chef/resource/windows_package.rb +21 -66
  693. data/lib/chef/resource/windows_script.rb +8 -8
  694. data/lib/chef/resource/windows_service.rb +9 -9
  695. data/lib/chef/resource/yum_package.rb +18 -42
  696. data/lib/chef/resource/zypper_package.rb +3 -2
  697. data/lib/chef/resource_builder.rb +4 -4
  698. data/lib/chef/resource_collection.rb +11 -11
  699. data/lib/chef/resource_collection/resource_collection_serialization.rb +5 -5
  700. data/lib/chef/resource_collection/resource_list.rb +6 -6
  701. data/lib/chef/resource_collection/resource_set.rb +6 -6
  702. data/lib/chef/resource_collection/stepable_iterator.rb +4 -4
  703. data/lib/chef/resource_definition.rb +7 -7
  704. data/lib/chef/resource_definition_list.rb +5 -5
  705. data/lib/chef/resource_reporter.rb +14 -15
  706. data/lib/chef/resource_resolver.rb +4 -5
  707. data/lib/chef/resources.rb +71 -68
  708. data/lib/chef/rest.rb +23 -23
  709. data/lib/chef/role.rb +49 -43
  710. data/lib/chef/run_context.rb +21 -23
  711. data/lib/chef/run_context/cookbook_compiler.rb +10 -13
  712. data/lib/chef/run_list.rb +17 -17
  713. data/lib/chef/run_list/run_list_expansion.rb +22 -26
  714. data/lib/chef/run_list/run_list_item.rb +8 -9
  715. data/lib/chef/run_list/versioned_recipe_list.rb +13 -13
  716. data/lib/chef/run_lock.rb +12 -12
  717. data/lib/chef/run_status.rb +3 -3
  718. data/lib/chef/runner.rb +11 -12
  719. data/lib/chef/scan_access_control.rb +7 -7
  720. data/lib/chef/search/query.rb +30 -16
  721. data/lib/chef/server_api.rb +42 -10
  722. data/lib/chef/shell.rb +24 -25
  723. data/lib/chef/shell/ext.rb +31 -31
  724. data/lib/chef/shell/model_wrapper.rb +7 -8
  725. data/lib/chef/shell/shell_session.rb +20 -19
  726. data/lib/chef/shell_out.rb +2 -2
  727. data/lib/chef/tasks/chef_repo.rake +62 -63
  728. data/lib/chef/user.rb +38 -37
  729. data/lib/chef/user_v1.rb +53 -58
  730. data/lib/chef/util/backup.rb +6 -6
  731. data/lib/chef/util/diff.rb +8 -8
  732. data/lib/chef/util/dsc/configuration_generator.rb +11 -11
  733. data/lib/chef/util/dsc/lcm_output_parser.rb +8 -8
  734. data/lib/chef/util/dsc/local_configuration_manager.rb +9 -9
  735. data/lib/chef/util/dsc/resource_info.rb +15 -15
  736. data/lib/chef/util/dsc/resource_store.rb +73 -74
  737. data/lib/chef/util/editor.rb +1 -2
  738. data/lib/chef/util/file_edit.rb +5 -5
  739. data/lib/chef/util/path_helper.rb +2 -2
  740. data/lib/chef/util/powershell/cmdlet.rb +119 -119
  741. data/lib/chef/util/powershell/cmdlet_result.rb +36 -36
  742. data/lib/chef/util/powershell/ps_credential.rb +2 -2
  743. data/lib/chef/util/selinux.rb +6 -6
  744. data/lib/chef/util/threaded_job_queue.rb +2 -2
  745. data/lib/chef/util/windows.rb +1 -1
  746. data/lib/chef/util/windows/net_group.rb +84 -85
  747. data/lib/chef/util/windows/net_use.rb +6 -6
  748. data/lib/chef/util/windows/net_user.rb +9 -8
  749. data/lib/chef/util/windows/volume.rb +3 -3
  750. data/lib/chef/version.rb +2 -2
  751. data/lib/chef/version/platform.rb +5 -5
  752. data/lib/chef/version_class.rb +6 -6
  753. data/lib/chef/version_constraint.rb +13 -13
  754. data/lib/chef/version_constraint/platform.rb +3 -3
  755. data/lib/chef/whitelist.rb +2 -2
  756. data/lib/chef/win32/api.rb +13 -8
  757. data/lib/chef/win32/api/crypto.rb +63 -63
  758. data/lib/chef/win32/api/error.rb +11 -10
  759. data/lib/chef/win32/api/file.rb +17 -16
  760. data/lib/chef/win32/api/installer.rb +15 -16
  761. data/lib/chef/win32/api/memory.rb +4 -4
  762. data/lib/chef/win32/api/net.rb +111 -123
  763. data/lib/chef/win32/api/process.rb +4 -4
  764. data/lib/chef/win32/api/psapi.rb +4 -4
  765. data/lib/chef/win32/api/registry.rb +4 -4
  766. data/lib/chef/win32/api/security.rb +51 -26
  767. data/lib/chef/win32/api/synchronization.rb +4 -4
  768. data/lib/chef/win32/api/system.rb +4 -4
  769. data/lib/chef/win32/api/unicode.rb +4 -4
  770. data/lib/chef/win32/crypto.rb +50 -50
  771. data/lib/chef/win32/error.rb +18 -15
  772. data/lib/chef/win32/eventlog.rb +2 -2
  773. data/lib/chef/win32/file.rb +14 -14
  774. data/lib/chef/win32/file/info.rb +3 -4
  775. data/lib/chef/win32/file/version_info.rb +4 -4
  776. data/lib/chef/win32/handle.rb +6 -6
  777. data/lib/chef/win32/memory.rb +4 -4
  778. data/lib/chef/win32/mutex.rb +4 -4
  779. data/lib/chef/win32/net.rb +26 -59
  780. data/lib/chef/win32/process.rb +7 -7
  781. data/lib/chef/win32/registry.rb +19 -33
  782. data/lib/chef/win32/security.rb +82 -20
  783. data/lib/chef/win32/security/ace.rb +6 -6
  784. data/lib/chef/win32/security/acl.rb +8 -8
  785. data/lib/chef/win32/security/securable_object.rb +5 -5
  786. data/lib/chef/win32/security/security_descriptor.rb +5 -5
  787. data/lib/chef/win32/security/sid.rb +81 -43
  788. data/lib/chef/win32/security/token.rb +6 -6
  789. data/lib/chef/win32/system.rb +4 -4
  790. data/lib/chef/win32/unicode.rb +7 -7
  791. data/lib/chef/win32/version.rb +26 -26
  792. data/lib/chef/workstation_config_loader.rb +2 -2
  793. data/spec/data/apt/chef-integration-test-1.0/debian/copyright +2 -2
  794. data/spec/data/apt/chef-integration-test-1.1/debian/copyright +2 -2
  795. data/spec/data/apt/chef-integration-test2-1.0/debian/copyright +2 -2
  796. data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +1 -1
  797. data/spec/data/cookbooks/supports-platform-constraints/metadata.rb +5 -0
  798. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +1 -1
  799. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +1 -2
  800. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +1 -1
  801. data/spec/functional/application_spec.rb +7 -7
  802. data/spec/functional/assets/chocolatey_feed/test-A.1.0.nupkg +0 -0
  803. data/spec/functional/assets/chocolatey_feed/test-A.1.5.nupkg +0 -0
  804. data/spec/functional/assets/chocolatey_feed/test-A.2.0.nupkg +0 -0
  805. data/spec/functional/assets/chocolatey_feed/test-B.1.0.nupkg +0 -0
  806. data/spec/functional/audit/rspec_formatter_spec.rb +8 -8
  807. data/spec/functional/audit/runner_spec.rb +9 -9
  808. data/spec/functional/dsl/reboot_pending_spec.rb +10 -15
  809. data/spec/functional/dsl/registry_helper_spec.rb +8 -10
  810. data/spec/functional/event_loggers/windows_eventlog_spec.rb +27 -22
  811. data/spec/functional/file_content_management/deploy_strategies_spec.rb +9 -10
  812. data/spec/functional/http/simple_spec.rb +11 -11
  813. data/spec/functional/knife/configure_spec.rb +5 -10
  814. data/spec/functional/knife/cookbook_delete_spec.rb +11 -11
  815. data/spec/functional/knife/exec_spec.rb +6 -6
  816. data/spec/functional/knife/smoke_test.rb +11 -3
  817. data/spec/functional/knife/ssh_spec.rb +22 -22
  818. data/spec/functional/mixin/powershell_out_spec.rb +3 -3
  819. data/spec/functional/mixin/shell_out_spec.rb +12 -12
  820. data/spec/functional/notifications_spec.rb +6 -7
  821. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +11 -12
  822. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +4 -4
  823. data/spec/functional/rebooter_spec.rb +12 -12
  824. data/spec/functional/resource/aix_service_spec.rb +7 -8
  825. data/spec/functional/resource/aixinit_service_spec.rb +20 -20
  826. data/spec/functional/resource/base.rb +1 -3
  827. data/spec/functional/resource/bash_spec.rb +6 -6
  828. data/spec/functional/resource/batch_spec.rb +5 -5
  829. data/spec/functional/resource/bff_spec.rb +10 -12
  830. data/spec/functional/resource/chocolatey_package_spec.rb +124 -0
  831. data/spec/functional/resource/cookbook_file_spec.rb +9 -9
  832. data/spec/functional/resource/cron_spec.rb +13 -13
  833. data/spec/functional/resource/deploy_revision_spec.rb +18 -18
  834. data/spec/functional/resource/directory_spec.rb +4 -4
  835. data/spec/functional/resource/dpkg_package_spec.rb +38 -38
  836. data/spec/functional/resource/dsc_resource_spec.rb +17 -22
  837. data/spec/functional/resource/dsc_script_spec.rb +104 -106
  838. data/spec/functional/resource/env_spec.rb +30 -30
  839. data/spec/functional/resource/execute_spec.rb +10 -10
  840. data/spec/functional/resource/file_spec.rb +12 -13
  841. data/spec/functional/resource/git_spec.rb +20 -20
  842. data/spec/functional/resource/group_spec.rb +21 -21
  843. data/spec/functional/resource/ifconfig_spec.rb +11 -11
  844. data/spec/functional/resource/link_spec.rb +140 -135
  845. data/spec/functional/resource/mount_spec.rb +17 -29
  846. data/spec/functional/resource/ohai_spec.rb +5 -8
  847. data/spec/functional/resource/package_spec.rb +11 -13
  848. data/spec/functional/resource/powershell_script_spec.rb +60 -60
  849. data/spec/functional/resource/reboot_spec.rb +12 -12
  850. data/spec/functional/resource/registry_spec.rb +71 -72
  851. data/spec/functional/resource/remote_directory_spec.rb +23 -23
  852. data/spec/functional/resource/remote_file_spec.rb +17 -17
  853. data/spec/functional/resource/rpm_spec.rb +14 -14
  854. data/spec/functional/resource/template_spec.rb +8 -8
  855. data/spec/functional/resource/user/dscl_spec.rb +3 -3
  856. data/spec/functional/resource/user/useradd_spec.rb +31 -37
  857. data/spec/functional/resource/user/windows_spec.rb +20 -20
  858. data/spec/functional/resource/windows_package_spec.rb +26 -35
  859. data/spec/functional/resource/windows_service_spec.rb +12 -8
  860. data/spec/functional/rest_spec.rb +6 -5
  861. data/spec/functional/run_lock_spec.rb +15 -14
  862. data/spec/functional/shell_spec.rb +11 -10
  863. data/spec/functional/tiny_server_spec.rb +18 -18
  864. data/spec/functional/util/path_helper_spec.rb +5 -5
  865. data/spec/functional/util/powershell/cmdlet_spec.rb +24 -27
  866. data/spec/functional/version_spec.rb +6 -6
  867. data/spec/functional/win32/crypto_spec.rb +7 -10
  868. data/spec/functional/win32/registry_spec.rb +105 -107
  869. data/spec/functional/win32/security_spec.rb +17 -17
  870. data/spec/functional/win32/service_manager_spec.rb +7 -8
  871. data/spec/functional/win32/sid_spec.rb +13 -13
  872. data/spec/functional/win32/version_info_spec.rb +7 -7
  873. data/spec/functional/win32/versions_spec.rb +13 -13
  874. data/spec/integration/client/client_spec.rb +65 -66
  875. data/spec/integration/client/ipv6_spec.rb +15 -16
  876. data/spec/integration/knife/chef_fs_data_store_spec.rb +432 -246
  877. data/spec/integration/knife/chef_repo_path_spec.rb +261 -261
  878. data/spec/integration/knife/chef_repository_file_system_spec.rb +84 -84
  879. data/spec/integration/knife/chefignore_spec.rb +82 -82
  880. data/spec/integration/knife/common_options_spec.rb +41 -41
  881. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +9 -9
  882. data/spec/integration/knife/delete_spec.rb +262 -248
  883. data/spec/integration/knife/deps_spec.rb +301 -301
  884. data/spec/integration/knife/diff_spec.rb +237 -237
  885. data/spec/integration/knife/download_spec.rb +532 -401
  886. data/spec/integration/knife/list_spec.rb +310 -116
  887. data/spec/integration/knife/raw_spec.rb +39 -39
  888. data/spec/integration/knife/redirection_spec.rb +12 -12
  889. data/spec/integration/knife/serve_spec.rb +12 -12
  890. data/spec/integration/knife/show_spec.rb +59 -59
  891. data/spec/integration/knife/upload_spec.rb +661 -550
  892. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +18 -18
  893. data/spec/integration/recipes/lwrp_spec.rb +7 -7
  894. data/spec/integration/recipes/provider_choice.rb +3 -2
  895. data/spec/integration/recipes/recipe_dsl_spec.rb +151 -124
  896. data/spec/integration/recipes/remote_directory.rb +2 -2
  897. data/spec/integration/recipes/resource_action_spec.rb +439 -328
  898. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +12 -11
  899. data/spec/integration/recipes/resource_load_spec.rb +35 -33
  900. data/spec/integration/solo/solo_spec.rb +31 -32
  901. data/spec/scripts/ssl-serve.rb +12 -17
  902. data/spec/spec_helper.rb +48 -43
  903. data/spec/stress/win32/file_spec.rb +5 -5
  904. data/spec/stress/win32/memory_spec.rb +4 -4
  905. data/spec/stress/win32/security_spec.rb +8 -8
  906. data/spec/support/chef_helpers.rb +5 -6
  907. data/spec/support/key_helpers.rb +2 -2
  908. data/spec/support/lib/chef/provider/easy.rb +2 -2
  909. data/spec/support/lib/chef/provider/openldap_includer.rb +2 -2
  910. data/spec/support/lib/chef/provider/snakeoil.rb +2 -2
  911. data/spec/support/lib/chef/resource/cat.rb +4 -4
  912. data/spec/support/lib/chef/resource/one_two_three_four.rb +2 -2
  913. data/spec/support/lib/chef/resource/openldap_includer.rb +2 -3
  914. data/spec/support/lib/chef/resource/with_state.rb +4 -4
  915. data/spec/support/lib/chef/resource/zen_follower.rb +4 -4
  916. data/spec/support/lib/chef/resource/zen_master.rb +5 -6
  917. data/spec/support/lib/library_load_order.rb +0 -2
  918. data/spec/support/matchers/leak.rb +7 -5
  919. data/spec/support/mock/constant.rb +3 -3
  920. data/spec/support/mock/platform.rb +5 -5
  921. data/spec/support/platform_helpers.rb +36 -23
  922. data/spec/support/platforms/prof/gc.rb +2 -3
  923. data/spec/support/platforms/prof/win32.rb +3 -4
  924. data/spec/support/platforms/win32/spec_service.rb +3 -3
  925. data/spec/support/shared/context/client.rb +22 -14
  926. data/spec/support/shared/context/config.rb +3 -3
  927. data/spec/support/shared/context/win32.rb +9 -9
  928. data/spec/support/shared/examples/client.rb +4 -4
  929. data/spec/support/shared/functional/diff_disabled.rb +1 -1
  930. data/spec/support/shared/functional/directory_resource.rb +8 -8
  931. data/spec/support/shared/functional/file_resource.rb +20 -23
  932. data/spec/support/shared/functional/http.rb +33 -34
  933. data/spec/support/shared/functional/knife.rb +3 -3
  934. data/spec/support/shared/functional/securable_resource.rb +48 -48
  935. data/spec/support/shared/functional/securable_resource_with_reporting.rb +8 -12
  936. data/spec/support/shared/functional/win32_service.rb +3 -5
  937. data/spec/support/shared/functional/windows_script.rb +13 -13
  938. data/spec/support/shared/integration/app_server_support.rb +7 -7
  939. data/spec/support/shared/integration/integration_helper.rb +21 -21
  940. data/spec/support/shared/integration/knife_support.rb +13 -13
  941. data/spec/support/shared/matchers/exit_with_code.rb +2 -2
  942. data/spec/support/shared/matchers/match_environment_variable.rb +2 -2
  943. data/spec/support/shared/unit/api_error_inspector.rb +3 -5
  944. data/spec/support/shared/unit/api_versioning.rb +8 -8
  945. data/spec/support/shared/unit/execute_resource.rb +4 -4
  946. data/spec/support/shared/unit/file_system_support.rb +12 -13
  947. data/spec/support/shared/unit/knife_shared.rb +1 -2
  948. data/spec/support/shared/unit/mock_shellout.rb +5 -2
  949. data/spec/support/shared/unit/platform_introspector.rb +35 -37
  950. data/spec/support/shared/unit/provider/file.rb +29 -40
  951. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +50 -51
  952. data/spec/support/shared/unit/resource/static_provider_resolution.rb +2 -5
  953. data/spec/support/shared/unit/script_resource.rb +10 -10
  954. data/spec/support/shared/unit/user_and_client_shared.rb +5 -6
  955. data/spec/support/shared/unit/windows_script_resource.rb +6 -7
  956. data/spec/tiny_server.rb +24 -24
  957. data/spec/unit/api_client/registration_spec.rb +41 -38
  958. data/spec/unit/api_client_spec.rb +13 -16
  959. data/spec/unit/api_client_v1_spec.rb +17 -19
  960. data/spec/unit/application/apply_spec.rb +3 -3
  961. data/spec/unit/application/client_spec.rb +12 -9
  962. data/spec/unit/application/knife_spec.rb +69 -17
  963. data/spec/unit/application/solo_spec.rb +29 -48
  964. data/spec/unit/application_spec.rb +171 -151
  965. data/spec/unit/audit/audit_event_proxy_spec.rb +13 -13
  966. data/spec/unit/audit/audit_reporter_spec.rb +18 -25
  967. data/spec/unit/audit/control_group_data_spec.rb +16 -17
  968. data/spec/unit/audit/logger_spec.rb +5 -5
  969. data/spec/unit/audit/rspec_formatter_spec.rb +4 -4
  970. data/spec/unit/audit/runner_spec.rb +11 -12
  971. data/spec/unit/chef_class_spec.rb +5 -5
  972. data/spec/unit/chef_fs/config_spec.rb +14 -18
  973. data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +17 -17
  974. data/spec/unit/chef_fs/diff_spec.rb +75 -75
  975. data/spec/unit/chef_fs/file_pattern_spec.rb +368 -369
  976. data/spec/unit/chef_fs/file_system/cookbook_subdir_spec.rb +9 -9
  977. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +9 -9
  978. data/spec/unit/chef_fs/file_system_spec.rb +74 -74
  979. data/spec/unit/chef_fs/parallelizer.rb +63 -66
  980. data/spec/unit/chef_fs/path_util_spec.rb +45 -45
  981. data/spec/unit/chef_spec.rb +3 -3
  982. data/spec/unit/client_spec.rb +44 -44
  983. data/spec/unit/config_fetcher_spec.rb +56 -28
  984. data/spec/unit/config_spec.rb +2 -2
  985. data/spec/unit/cookbook/chefignore_spec.rb +12 -12
  986. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +5 -6
  987. data/spec/unit/cookbook/file_vendor_spec.rb +8 -9
  988. data/spec/unit/cookbook/metadata_spec.rb +73 -76
  989. data/spec/unit/cookbook/synchronizer_spec.rb +31 -32
  990. data/spec/unit/cookbook/syntax_check_spec.rb +22 -22
  991. data/spec/unit/cookbook_loader_spec.rb +9 -10
  992. data/spec/unit/cookbook_manifest_spec.rb +27 -28
  993. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +24 -24
  994. data/spec/unit/cookbook_spec.rb +3 -3
  995. data/spec/unit/cookbook_uploader_spec.rb +10 -11
  996. data/spec/unit/cookbook_version_file_specificity_spec.rb +49 -50
  997. data/spec/unit/cookbook_version_spec.rb +45 -48
  998. data/spec/unit/daemon_spec.rb +5 -5
  999. data/spec/unit/data_bag_item_spec.rb +29 -30
  1000. data/spec/unit/data_bag_spec.rb +47 -47
  1001. data/spec/unit/deprecation_spec.rb +11 -11
  1002. data/spec/unit/digester_spec.rb +5 -6
  1003. data/spec/unit/dsl/audit_spec.rb +5 -5
  1004. data/spec/unit/dsl/data_query_spec.rb +12 -12
  1005. data/spec/unit/dsl/platform_introspection_spec.rb +19 -20
  1006. data/spec/unit/dsl/reboot_pending_spec.rb +17 -17
  1007. data/spec/unit/dsl/recipe_spec.rb +4 -6
  1008. data/spec/unit/dsl/regsitry_helper_spec.rb +9 -12
  1009. data/spec/unit/dsl/resources_spec.rb +13 -13
  1010. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +7 -7
  1011. data/spec/unit/encrypted_data_bag_item_spec.rb +11 -11
  1012. data/spec/unit/environment_spec.rb +53 -53
  1013. data/spec/unit/event_dispatch/dispatcher_spec.rb +3 -4
  1014. data/spec/unit/event_dispatch/dsl_spec.rb +16 -16
  1015. data/spec/unit/exceptions_spec.rb +10 -10
  1016. data/spec/unit/file_access_control_spec.rb +32 -32
  1017. data/spec/unit/file_cache_spec.rb +19 -19
  1018. data/spec/unit/file_content_management/deploy/cp_spec.rb +3 -5
  1019. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -5
  1020. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +5 -12
  1021. data/spec/unit/formatters/base_spec.rb +29 -6
  1022. data/spec/unit/formatters/doc_spec.rb +7 -7
  1023. data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +9 -10
  1024. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +11 -11
  1025. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +4 -7
  1026. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +3 -3
  1027. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +3 -4
  1028. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +3 -4
  1029. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +4 -6
  1030. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +5 -7
  1031. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +9 -9
  1032. data/spec/unit/guard_interpreter_spec.rb +3 -3
  1033. data/spec/unit/handler/json_file_spec.rb +11 -12
  1034. data/spec/unit/handler_spec.rb +7 -7
  1035. data/spec/unit/http/authenticator_spec.rb +9 -7
  1036. data/spec/unit/http/basic_client_spec.rb +3 -3
  1037. data/spec/unit/http/http_request_spec.rb +22 -22
  1038. data/spec/unit/http/json_input_spec.rb +7 -7
  1039. data/spec/unit/http/simple_spec.rb +3 -3
  1040. data/spec/unit/http/socketless_chef_zero_client_spec.rb +3 -4
  1041. data/spec/unit/http/ssl_policies_spec.rb +18 -19
  1042. data/spec/unit/http/validate_content_length_spec.rb +9 -9
  1043. data/spec/unit/http_spec.rb +18 -18
  1044. data/spec/unit/json_compat_spec.rb +16 -9
  1045. data/spec/unit/key_spec.rb +41 -44
  1046. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +41 -42
  1047. data/spec/unit/knife/bootstrap/client_builder_spec.rb +30 -28
  1048. data/spec/unit/knife/bootstrap_spec.rb +75 -37
  1049. data/spec/unit/knife/client_bulk_delete_spec.rb +6 -6
  1050. data/spec/unit/knife/client_create_spec.rb +11 -12
  1051. data/spec/unit/knife/client_delete_spec.rb +13 -13
  1052. data/spec/unit/knife/client_edit_spec.rb +9 -9
  1053. data/spec/unit/knife/client_list_spec.rb +5 -5
  1054. data/spec/unit/knife/client_reregister_spec.rb +13 -13
  1055. data/spec/unit/knife/client_show_spec.rb +12 -12
  1056. data/spec/unit/knife/configure_client_spec.rb +19 -20
  1057. data/spec/unit/knife/configure_spec.rb +37 -39
  1058. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +17 -19
  1059. data/spec/unit/knife/cookbook_create_spec.rb +32 -32
  1060. data/spec/unit/knife/cookbook_delete_spec.rb +79 -79
  1061. data/spec/unit/knife/cookbook_download_spec.rb +84 -85
  1062. data/spec/unit/knife/cookbook_list_spec.rb +26 -26
  1063. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +5 -5
  1064. data/spec/unit/knife/cookbook_metadata_spec.rb +55 -55
  1065. data/spec/unit/knife/cookbook_show_spec.rb +33 -34
  1066. data/spec/unit/knife/cookbook_site_download_spec.rb +51 -53
  1067. data/spec/unit/knife/cookbook_site_install_spec.rb +10 -8
  1068. data/spec/unit/knife/cookbook_site_share_spec.rb +42 -42
  1069. data/spec/unit/knife/cookbook_site_unshare_spec.rb +20 -20
  1070. data/spec/unit/knife/cookbook_test_spec.rb +6 -6
  1071. data/spec/unit/knife/cookbook_upload_spec.rb +69 -69
  1072. data/spec/unit/knife/core/bootstrap_context_spec.rb +39 -33
  1073. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +32 -32
  1074. data/spec/unit/knife/core/custom_manifest_loader_spec.rb +3 -3
  1075. data/spec/unit/knife/core/gem_glob_loader_spec.rb +23 -24
  1076. data/spec/unit/knife/core/hashed_command_loader_spec.rb +8 -8
  1077. data/spec/unit/knife/core/node_editor_spec.rb +211 -0
  1078. data/spec/unit/knife/core/object_loader_spec.rb +12 -12
  1079. data/spec/unit/knife/core/subcommand_loader_spec.rb +10 -10
  1080. data/spec/unit/knife/core/ui_spec.rb +45 -45
  1081. data/spec/unit/knife/data_bag_create_spec.rb +14 -14
  1082. data/spec/unit/knife/data_bag_edit_spec.rb +12 -12
  1083. data/spec/unit/knife/data_bag_from_file_spec.rb +9 -9
  1084. data/spec/unit/knife/data_bag_secret_options_spec.rb +6 -6
  1085. data/spec/unit/knife/data_bag_show_spec.rb +19 -19
  1086. data/spec/unit/knife/environment_compare_spec.rb +32 -32
  1087. data/spec/unit/knife/environment_create_spec.rb +2 -2
  1088. data/spec/unit/knife/environment_delete_spec.rb +2 -2
  1089. data/spec/unit/knife/environment_edit_spec.rb +2 -2
  1090. data/spec/unit/knife/environment_from_file_spec.rb +5 -5
  1091. data/spec/unit/knife/environment_list_spec.rb +4 -4
  1092. data/spec/unit/knife/environment_show_spec.rb +2 -2
  1093. data/spec/unit/knife/index_rebuild_spec.rb +14 -17
  1094. data/spec/unit/knife/key_create_spec.rb +11 -12
  1095. data/spec/unit/knife/key_delete_spec.rb +8 -10
  1096. data/spec/unit/knife/key_edit_spec.rb +14 -17
  1097. data/spec/unit/knife/key_helper.rb +2 -2
  1098. data/spec/unit/knife/key_list_spec.rb +13 -13
  1099. data/spec/unit/knife/key_show_spec.rb +11 -11
  1100. data/spec/unit/knife/knife_help.rb +2 -2
  1101. data/spec/unit/knife/node_bulk_delete_spec.rb +10 -13
  1102. data/spec/unit/knife/node_delete_spec.rb +4 -4
  1103. data/spec/unit/knife/node_edit_spec.rb +17 -18
  1104. data/spec/unit/knife/node_environment_set_spec.rb +4 -4
  1105. data/spec/unit/knife/node_from_file_spec.rb +5 -5
  1106. data/spec/unit/knife/node_list_spec.rb +5 -6
  1107. data/spec/unit/knife/node_run_list_add_spec.rb +5 -8
  1108. data/spec/unit/knife/node_run_list_remove_spec.rb +27 -27
  1109. data/spec/unit/knife/node_run_list_set_spec.rb +4 -4
  1110. data/spec/unit/knife/node_show_spec.rb +6 -6
  1111. data/spec/unit/knife/osc_user_create_spec.rb +7 -7
  1112. data/spec/unit/knife/osc_user_delete_spec.rb +7 -7
  1113. data/spec/unit/knife/osc_user_edit_spec.rb +6 -6
  1114. data/spec/unit/knife/osc_user_list_spec.rb +3 -3
  1115. data/spec/unit/knife/osc_user_reregister_spec.rb +10 -10
  1116. data/spec/unit/knife/osc_user_show_spec.rb +8 -8
  1117. data/spec/unit/knife/raw_spec.rb +6 -6
  1118. data/spec/unit/knife/role_bulk_delete_spec.rb +4 -4
  1119. data/spec/unit/knife/role_create_spec.rb +4 -4
  1120. data/spec/unit/knife/role_delete_spec.rb +4 -4
  1121. data/spec/unit/knife/role_edit_spec.rb +4 -6
  1122. data/spec/unit/knife/role_env_run_list_add_spec.rb +9 -9
  1123. data/spec/unit/knife/role_env_run_list_clear_spec.rb +38 -44
  1124. data/spec/unit/knife/role_env_run_list_remove_spec.rb +46 -52
  1125. data/spec/unit/knife/role_env_run_list_replace_spec.rb +49 -52
  1126. data/spec/unit/knife/role_env_run_list_set_spec.rb +17 -20
  1127. data/spec/unit/knife/role_from_file_spec.rb +7 -7
  1128. data/spec/unit/knife/role_list_spec.rb +5 -7
  1129. data/spec/unit/knife/role_run_list_add_spec.rb +7 -7
  1130. data/spec/unit/knife/role_run_list_clear_spec.rb +28 -34
  1131. data/spec/unit/knife/role_run_list_remove_spec.rb +36 -42
  1132. data/spec/unit/knife/role_run_list_replace_spec.rb +42 -45
  1133. data/spec/unit/knife/role_run_list_set_spec.rb +6 -9
  1134. data/spec/unit/knife/role_show_spec.rb +14 -14
  1135. data/spec/unit/knife/ssh_spec.rb +36 -36
  1136. data/spec/unit/knife/ssl_check_spec.rb +7 -7
  1137. data/spec/unit/knife/ssl_fetch_spec.rb +8 -8
  1138. data/spec/unit/knife/status_spec.rb +5 -5
  1139. data/spec/unit/knife/tag_create_spec.rb +1 -1
  1140. data/spec/unit/knife/tag_delete_spec.rb +1 -1
  1141. data/spec/unit/knife/tag_list_spec.rb +2 -2
  1142. data/spec/unit/knife/user_create_spec.rb +30 -30
  1143. data/spec/unit/knife/user_delete_spec.rb +11 -11
  1144. data/spec/unit/knife/user_edit_spec.rb +9 -9
  1145. data/spec/unit/knife/user_list_spec.rb +3 -3
  1146. data/spec/unit/knife/user_reregister_spec.rb +13 -13
  1147. data/spec/unit/knife/user_show_spec.rb +12 -12
  1148. data/spec/unit/knife_spec.rb +61 -61
  1149. data/spec/unit/lib_backcompat_spec.rb +34 -0
  1150. data/spec/unit/log/syslog_spec.rb +3 -3
  1151. data/spec/unit/log/winevt_spec.rb +3 -3
  1152. data/spec/unit/log_spec.rb +5 -5
  1153. data/spec/unit/lwrp_spec.rb +41 -43
  1154. data/spec/unit/mash_spec.rb +8 -8
  1155. data/spec/unit/mixin/api_version_request_handling_spec.rb +13 -14
  1156. data/spec/unit/mixin/checksum_spec.rb +5 -6
  1157. data/spec/unit/mixin/command_spec.rb +9 -9
  1158. data/spec/unit/mixin/convert_to_class_name_spec.rb +2 -2
  1159. data/spec/unit/mixin/deep_merge_spec.rb +107 -107
  1160. data/spec/unit/mixin/deprecation_spec.rb +5 -5
  1161. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +9 -9
  1162. data/spec/unit/mixin/homebrew_user_spec.rb +13 -13
  1163. data/spec/unit/mixin/params_validate_spec.rb +71 -71
  1164. data/spec/unit/mixin/path_sanity_spec.rb +16 -16
  1165. data/spec/unit/mixin/powershell_out_spec.rb +9 -9
  1166. data/spec/unit/mixin/powershell_type_coercions_spec.rb +34 -23
  1167. data/spec/unit/mixin/properties_spec.rb +27 -27
  1168. data/spec/unit/mixin/proxified_socket_spec.rb +6 -6
  1169. data/spec/unit/mixin/securable_spec.rb +37 -37
  1170. data/spec/unit/mixin/shell_out_spec.rb +68 -68
  1171. data/spec/unit/mixin/subclass_directive_spec.rb +2 -2
  1172. data/spec/unit/mixin/template_spec.rb +15 -12
  1173. data/spec/unit/mixin/unformatter_spec.rb +3 -3
  1174. data/spec/unit/mixin/uris_spec.rb +8 -8
  1175. data/spec/unit/mixin/windows_architecture_helper_spec.rb +14 -17
  1176. data/spec/unit/mixin/xml_escape_spec.rb +3 -3
  1177. data/spec/unit/monkey_patches/uri_spec.rb +3 -3
  1178. data/spec/unit/monologger_spec.rb +4 -4
  1179. data/spec/unit/node/attribute_spec.rb +203 -248
  1180. data/spec/unit/node/immutable_collections_spec.rb +20 -21
  1181. data/spec/unit/node_map_spec.rb +5 -5
  1182. data/spec/unit/node_spec.rb +165 -135
  1183. data/spec/unit/org_spec.rb +17 -17
  1184. data/spec/unit/platform/query_helpers_spec.rb +23 -23
  1185. data/spec/unit/platform_spec.rb +17 -17
  1186. data/spec/unit/policy_builder/dynamic_spec.rb +8 -10
  1187. data/spec/unit/policy_builder/expand_node_object_spec.rb +16 -14
  1188. data/spec/unit/policy_builder/policyfile_spec.rb +30 -37
  1189. data/spec/unit/policy_builder_spec.rb +4 -4
  1190. data/spec/unit/property/state_spec.rb +58 -56
  1191. data/spec/unit/property/validation_spec.rb +255 -216
  1192. data/spec/unit/property_spec.rb +206 -129
  1193. data/spec/unit/provider/apt_update_spec.rb +113 -0
  1194. data/spec/unit/provider/breakpoint_spec.rb +2 -3
  1195. data/spec/unit/provider/cookbook_file/content_spec.rb +9 -10
  1196. data/spec/unit/provider/cookbook_file_spec.rb +11 -11
  1197. data/spec/unit/provider/cron/unix_spec.rb +7 -7
  1198. data/spec/unit/provider/cron_spec.rb +67 -67
  1199. data/spec/unit/provider/deploy/revision_spec.rb +6 -7
  1200. data/spec/unit/provider/deploy/timestamped_spec.rb +2 -2
  1201. data/spec/unit/provider/deploy_spec.rb +24 -25
  1202. data/spec/unit/provider/directory_spec.rb +12 -12
  1203. data/spec/unit/provider/dsc_resource_spec.rb +29 -27
  1204. data/spec/unit/provider/dsc_script_spec.rb +47 -48
  1205. data/spec/unit/provider/env/windows_spec.rb +21 -21
  1206. data/spec/unit/provider/env_spec.rb +5 -5
  1207. data/spec/unit/provider/erl_call_spec.rb +3 -4
  1208. data/spec/unit/provider/execute_spec.rb +5 -5
  1209. data/spec/unit/provider/file/content_spec.rb +4 -4
  1210. data/spec/unit/provider/file_spec.rb +8 -9
  1211. data/spec/unit/provider/git_spec.rb +64 -65
  1212. data/spec/unit/provider/group/dscl_spec.rb +7 -7
  1213. data/spec/unit/provider/group/gpasswd_spec.rb +3 -3
  1214. data/spec/unit/provider/group/groupadd_spec.rb +9 -9
  1215. data/spec/unit/provider/group/groupmod_spec.rb +12 -12
  1216. data/spec/unit/provider/group/pw_spec.rb +3 -3
  1217. data/spec/unit/provider/group/usermod_spec.rb +6 -6
  1218. data/spec/unit/provider/group/windows_spec.rb +3 -3
  1219. data/spec/unit/provider/group_spec.rb +16 -16
  1220. data/spec/unit/provider/http_request_spec.rb +7 -7
  1221. data/spec/unit/provider/ifconfig/aix_spec.rb +4 -5
  1222. data/spec/unit/provider/ifconfig/debian_spec.rb +6 -6
  1223. data/spec/unit/provider/ifconfig/redhat_spec.rb +3 -3
  1224. data/spec/unit/provider/ifconfig_spec.rb +5 -5
  1225. data/spec/unit/provider/link_spec.rb +12 -12
  1226. data/spec/unit/provider/log_spec.rb +2 -2
  1227. data/spec/unit/provider/mdadm_spec.rb +12 -12
  1228. data/spec/unit/provider/mount/aix_spec.rb +7 -7
  1229. data/spec/unit/provider/mount/mount_spec.rb +20 -20
  1230. data/spec/unit/provider/mount/solaris_spec.rb +26 -26
  1231. data/spec/unit/provider/mount/windows_spec.rb +8 -8
  1232. data/spec/unit/provider/mount_spec.rb +7 -8
  1233. data/spec/unit/provider/ohai_spec.rb +13 -13
  1234. data/spec/unit/provider/osx_profile_spec.rb +249 -0
  1235. data/spec/unit/provider/package/aix_spec.rb +5 -5
  1236. data/spec/unit/provider/package/apt_spec.rb +49 -49
  1237. data/spec/unit/provider/package/chocolatey_spec.rb +504 -0
  1238. data/spec/unit/provider/package/dpkg_spec.rb +32 -36
  1239. data/spec/unit/provider/package/easy_install_spec.rb +11 -15
  1240. data/spec/unit/provider/package/freebsd/pkg_spec.rb +10 -10
  1241. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +12 -19
  1242. data/spec/unit/provider/package/freebsd/port_spec.rb +12 -19
  1243. data/spec/unit/provider/package/homebrew_spec.rb +139 -139
  1244. data/spec/unit/provider/package/ips_spec.rb +10 -11
  1245. data/spec/unit/provider/package/macports_spec.rb +3 -3
  1246. data/spec/unit/provider/package/openbsd_spec.rb +38 -38
  1247. data/spec/unit/provider/package/pacman_spec.rb +8 -9
  1248. data/spec/unit/provider/package/paludis_spec.rb +9 -10
  1249. data/spec/unit/provider/package/portage_spec.rb +2 -2
  1250. data/spec/unit/provider/package/rpm_spec.rb +7 -11
  1251. data/spec/unit/provider/package/rubygems_spec.rb +386 -289
  1252. data/spec/unit/provider/package/smartos_spec.rb +8 -10
  1253. data/spec/unit/provider/package/solaris_spec.rb +4 -4
  1254. data/spec/unit/provider/package/windows/exe_spec.rb +17 -81
  1255. data/spec/unit/provider/package/windows/msi_spec.rb +16 -16
  1256. data/spec/unit/provider/package/windows_spec.rb +50 -40
  1257. data/spec/unit/provider/package/yum_spec.rb +179 -181
  1258. data/spec/unit/provider/package/zypper_spec.rb +53 -50
  1259. data/spec/unit/provider/package_spec.rb +104 -104
  1260. data/spec/unit/provider/powershell_script_spec.rb +20 -20
  1261. data/spec/unit/provider/registry_key_spec.rb +3 -3
  1262. data/spec/unit/provider/remote_directory_spec.rb +46 -46
  1263. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +9 -10
  1264. data/spec/unit/provider/remote_file/content_spec.rb +5 -6
  1265. data/spec/unit/provider/remote_file/fetcher_spec.rb +3 -3
  1266. data/spec/unit/provider/remote_file/ftp_spec.rb +3 -3
  1267. data/spec/unit/provider/remote_file/http_spec.rb +10 -12
  1268. data/spec/unit/provider/remote_file/local_file_spec.rb +2 -2
  1269. data/spec/unit/provider/remote_file/network_file_spec.rb +2 -2
  1270. data/spec/unit/provider/remote_file_spec.rb +9 -11
  1271. data/spec/unit/provider/route_spec.rb +26 -27
  1272. data/spec/unit/provider/ruby_block_spec.rb +4 -5
  1273. data/spec/unit/provider/script_spec.rb +11 -11
  1274. data/spec/unit/provider/service/aix_service_spec.rb +5 -6
  1275. data/spec/unit/provider/service/aixinit_service_spec.rb +26 -23
  1276. data/spec/unit/provider/service/arch_service_spec.rb +15 -15
  1277. data/spec/unit/provider/service/debian_service_spec.rb +37 -37
  1278. data/spec/unit/provider/service/freebsd_service_spec.rb +9 -9
  1279. data/spec/unit/provider/service/gentoo_service_spec.rb +4 -4
  1280. data/spec/unit/provider/service/init_service_spec.rb +9 -9
  1281. data/spec/unit/provider/service/insserv_service_spec.rb +3 -3
  1282. data/spec/unit/provider/service/invokercd_service_spec.rb +9 -9
  1283. data/spec/unit/provider/service/macosx_spec.rb +26 -26
  1284. data/spec/unit/provider/service/openbsd_service_spec.rb +26 -26
  1285. data/spec/unit/provider/service/redhat_spec.rb +16 -16
  1286. data/spec/unit/provider/service/simple_service_spec.rb +5 -5
  1287. data/spec/unit/provider/service/solaris_smf_service_spec.rb +51 -51
  1288. data/spec/unit/provider/service/systemd_service_spec.rb +4 -4
  1289. data/spec/unit/provider/service/upstart_service_spec.rb +13 -13
  1290. data/spec/unit/provider/service/windows_spec.rb +28 -37
  1291. data/spec/unit/provider/service_spec.rb +2 -3
  1292. data/spec/unit/provider/subversion_spec.rb +27 -28
  1293. data/spec/unit/provider/template/content_spec.rb +21 -21
  1294. data/spec/unit/provider/template_spec.rb +15 -16
  1295. data/spec/unit/provider/user/dscl_spec.rb +36 -37
  1296. data/spec/unit/provider/user/pw_spec.rb +12 -12
  1297. data/spec/unit/provider/user/solaris_spec.rb +31 -31
  1298. data/spec/unit/provider/user/useradd_spec.rb +10 -10
  1299. data/spec/unit/provider/user/windows_spec.rb +9 -9
  1300. data/spec/unit/provider/user_spec.rb +19 -20
  1301. data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +3 -4
  1302. data/spec/unit/provider_resolver_spec.rb +63 -62
  1303. data/spec/unit/provider_spec.rb +7 -8
  1304. data/spec/unit/pure_application_spec.rb +3 -3
  1305. data/spec/unit/recipe_spec.rb +13 -16
  1306. data/spec/unit/resource/apt_package_spec.rb +4 -4
  1307. data/spec/unit/resource/apt_update_spec.rb +38 -0
  1308. data/spec/unit/resource/bash_spec.rb +3 -3
  1309. data/spec/unit/resource/batch_spec.rb +5 -5
  1310. data/spec/unit/resource/breakpoint_spec.rb +3 -3
  1311. data/spec/unit/resource/chef_gem_spec.rb +5 -9
  1312. data/spec/unit/resource/chocolatey_package_spec.rb +67 -0
  1313. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +2 -2
  1314. data/spec/unit/resource/conditional_spec.rb +12 -12
  1315. data/spec/unit/resource/cookbook_file_spec.rb +23 -24
  1316. data/spec/unit/resource/cron_spec.rb +4 -4
  1317. data/spec/unit/resource/csh_spec.rb +3 -3
  1318. data/spec/unit/resource/deploy_revision_spec.rb +3 -3
  1319. data/spec/unit/resource/deploy_spec.rb +23 -24
  1320. data/spec/unit/resource/directory_spec.rb +4 -4
  1321. data/spec/unit/resource/dpkg_package_spec.rb +5 -5
  1322. data/spec/unit/resource/dsc_resource_spec.rb +11 -11
  1323. data/spec/unit/resource/dsc_script_spec.rb +15 -15
  1324. data/spec/unit/resource/easy_install_package_spec.rb +3 -3
  1325. data/spec/unit/resource/env_spec.rb +5 -5
  1326. data/spec/unit/resource/erl_call_spec.rb +3 -3
  1327. data/spec/unit/resource/execute_spec.rb +4 -4
  1328. data/spec/unit/resource/file/verification_spec.rb +11 -11
  1329. data/spec/unit/resource/file_spec.rb +10 -10
  1330. data/spec/unit/resource/freebsd_package_spec.rb +6 -9
  1331. data/spec/unit/resource/gem_package_spec.rb +4 -4
  1332. data/spec/unit/resource/git_spec.rb +3 -3
  1333. data/spec/unit/resource/group_spec.rb +4 -4
  1334. data/spec/unit/resource/homebrew_package_spec.rb +13 -13
  1335. data/spec/unit/resource/http_request_spec.rb +5 -5
  1336. data/spec/unit/resource/ifconfig_spec.rb +9 -9
  1337. data/spec/unit/resource/ips_package_spec.rb +4 -4
  1338. data/spec/unit/resource/ksh_spec.rb +2 -2
  1339. data/spec/unit/resource/link_spec.rb +6 -6
  1340. data/spec/unit/resource/log_spec.rb +3 -3
  1341. data/spec/unit/resource/macports_package_spec.rb +3 -3
  1342. data/spec/unit/resource/mdadm_spec.rb +3 -3
  1343. data/spec/unit/resource/mount_spec.rb +7 -7
  1344. data/spec/unit/resource/ohai_spec.rb +2 -3
  1345. data/spec/unit/resource/openbsd_package_spec.rb +5 -6
  1346. data/spec/unit/resource/osx_profile_spec.rb +61 -0
  1347. data/spec/unit/resource/package_spec.rb +6 -6
  1348. data/spec/unit/resource/pacman_package_spec.rb +3 -3
  1349. data/spec/unit/resource/perl_spec.rb +3 -3
  1350. data/spec/unit/resource/portage_package_spec.rb +2 -2
  1351. data/spec/unit/resource/powershell_script_spec.rb +16 -16
  1352. data/spec/unit/resource/python_spec.rb +3 -3
  1353. data/spec/unit/resource/registry_key_spec.rb +21 -21
  1354. data/spec/unit/resource/remote_directory_spec.rb +3 -3
  1355. data/spec/unit/resource/remote_file_spec.rb +15 -15
  1356. data/spec/unit/resource/resource_notification_spec.rb +18 -18
  1357. data/spec/unit/resource/route_spec.rb +3 -3
  1358. data/spec/unit/resource/rpm_package_spec.rb +4 -4
  1359. data/spec/unit/resource/ruby_block_spec.rb +4 -4
  1360. data/spec/unit/resource/ruby_spec.rb +3 -3
  1361. data/spec/unit/resource/scm_spec.rb +8 -8
  1362. data/spec/unit/resource/script_spec.rb +4 -4
  1363. data/spec/unit/resource/service_spec.rb +4 -5
  1364. data/spec/unit/resource/smartos_package_spec.rb +3 -3
  1365. data/spec/unit/resource/solaris_package_spec.rb +3 -3
  1366. data/spec/unit/resource/subversion_spec.rb +5 -5
  1367. data/spec/unit/resource/template_spec.rb +7 -8
  1368. data/spec/unit/resource/timestamped_deploy_spec.rb +4 -4
  1369. data/spec/unit/resource/user_spec.rb +4 -4
  1370. data/spec/unit/resource/windows_package_spec.rb +7 -7
  1371. data/spec/unit/resource/windows_service_spec.rb +3 -3
  1372. data/spec/unit/resource/yum_package_spec.rb +6 -6
  1373. data/spec/unit/resource_collection/resource_list_spec.rb +7 -7
  1374. data/spec/unit/resource_collection/resource_set_spec.rb +9 -9
  1375. data/spec/unit/resource_collection/stepable_iterator_spec.rb +6 -6
  1376. data/spec/unit/resource_collection_spec.rb +8 -9
  1377. data/spec/unit/resource_definition_spec.rb +3 -3
  1378. data/spec/unit/resource_reporter_spec.rb +56 -64
  1379. data/spec/unit/resource_resolver_spec.rb +5 -6
  1380. data/spec/unit/resource_spec.rb +80 -60
  1381. data/spec/unit/rest/auth_credentials_spec.rb +39 -71
  1382. data/spec/unit/rest_spec.rb +96 -90
  1383. data/spec/unit/role_spec.rb +64 -68
  1384. data/spec/unit/run_context/child_run_context_spec.rb +23 -23
  1385. data/spec/unit/run_context/cookbook_compiler_spec.rb +5 -7
  1386. data/spec/unit/run_context_spec.rb +19 -19
  1387. data/spec/unit/run_list/run_list_expansion_spec.rb +24 -24
  1388. data/spec/unit/run_list/run_list_item_spec.rb +28 -28
  1389. data/spec/unit/run_list/versioned_recipe_list_spec.rb +22 -23
  1390. data/spec/unit/run_list_spec.rb +37 -41
  1391. data/spec/unit/run_lock_spec.rb +10 -10
  1392. data/spec/unit/run_status_spec.rb +4 -5
  1393. data/spec/unit/runner_spec.rb +8 -8
  1394. data/spec/unit/scan_access_control_spec.rb +4 -5
  1395. data/spec/unit/search/query_spec.rb +50 -46
  1396. data/spec/unit/shell/model_wrapper_spec.rb +12 -13
  1397. data/spec/unit/shell/shell_ext_spec.rb +5 -5
  1398. data/spec/unit/shell/shell_session_spec.rb +8 -9
  1399. data/spec/unit/shell_out_spec.rb +1 -1
  1400. data/spec/unit/shell_spec.rb +9 -9
  1401. data/spec/unit/user_spec.rb +14 -15
  1402. data/spec/unit/user_v1_spec.rb +22 -23
  1403. data/spec/unit/util/backup_spec.rb +17 -18
  1404. data/spec/unit/util/diff_spec.rb +6 -9
  1405. data/spec/unit/util/dsc/configuration_generator_spec.rb +48 -48
  1406. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +22 -22
  1407. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +30 -31
  1408. data/spec/unit/util/dsc/resource_store.rb +22 -22
  1409. data/spec/unit/util/editor_spec.rb +65 -65
  1410. data/spec/unit/util/file_edit_spec.rb +7 -7
  1411. data/spec/unit/util/powershell/cmdlet_spec.rb +27 -27
  1412. data/spec/unit/util/powershell/ps_credential_spec.rb +13 -13
  1413. data/spec/unit/util/selinux_spec.rb +8 -9
  1414. data/spec/unit/util/threaded_job_queue_spec.rb +2 -2
  1415. data/spec/unit/version/platform_spec.rb +5 -6
  1416. data/spec/unit/version_class_spec.rb +8 -9
  1417. data/spec/unit/version_constraint/platform_spec.rb +3 -4
  1418. data/spec/unit/version_constraint_spec.rb +19 -19
  1419. data/spec/unit/win32/registry_spec.rb +25 -25
  1420. data/spec/unit/windows_service_spec.rb +20 -20
  1421. data/tasks/cbgb.rb +84 -0
  1422. data/tasks/external_tests.rb +12 -11
  1423. data/tasks/maintainers.rb +15 -15
  1424. data/tasks/rspec.rb +18 -15
  1425. metadata +250 -67
  1426. data/lib/chef/chef_fs/file_system/acl_dir.rb +0 -63
  1427. data/lib/chef/chef_fs/file_system/acl_entry.rb +0 -58
  1428. data/lib/chef/chef_fs/file_system/acls_dir.rb +0 -72
  1429. data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_dir.rb +0 -102
  1430. data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb +0 -80
  1431. data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb +0 -82
  1432. data/lib/chef/chef_fs/file_system/chef_repository_file_system_entry.rb +0 -81
  1433. data/lib/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +0 -196
  1434. data/lib/chef/chef_fs/file_system/chef_server_root_dir.rb +0 -165
  1435. data/lib/chef/chef_fs/file_system/cookbook_dir.rb +0 -224
  1436. data/lib/chef/chef_fs/file_system/cookbook_file.rb +0 -82
  1437. data/lib/chef/chef_fs/file_system/cookbook_subdir.rb +0 -59
  1438. data/lib/chef/chef_fs/file_system/cookbooks_acl_dir.rb +0 -41
  1439. data/lib/chef/chef_fs/file_system/cookbooks_dir.rb +0 -156
  1440. data/lib/chef/chef_fs/file_system/data_bag_dir.rb +0 -69
  1441. data/lib/chef/chef_fs/file_system/data_bags_dir.rb +0 -71
  1442. data/lib/chef/chef_fs/file_system/environments_dir.rb +0 -60
  1443. data/lib/chef/chef_fs/file_system/file_system_entry.rb +0 -115
  1444. data/lib/chef/chef_fs/file_system/memory_dir.rb +0 -51
  1445. data/lib/chef/chef_fs/file_system/memory_file.rb +0 -17
  1446. data/lib/chef/chef_fs/file_system/memory_root.rb +0 -21
  1447. data/lib/chef/chef_fs/file_system/nodes_dir.rb +0 -55
  1448. data/lib/chef/chef_fs/file_system/org_entry.rb +0 -34
  1449. data/lib/chef/chef_fs/file_system/organization_invites_entry.rb +0 -59
  1450. data/lib/chef/chef_fs/file_system/organization_members_entry.rb +0 -58
  1451. data/lib/chef/chef_fs/file_system/rest_list_dir.rb +0 -110
  1452. data/lib/chef/chef_fs/file_system/rest_list_entry.rb +0 -185
@@ -1,6 +1,6 @@
1
1
  #
2
- # Author:: Adam Jacob (<adam@opscode.com>)
3
- # Copyright:: Copyright (c) 2008-2015 Chef Software, Inc.
2
+ # Author:: Adam Jacob (<adam@chef.io>)
3
+ # Copyright:: Copyright 2008-2016, Chef Software, Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,18 +16,18 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
- require 'spec_helper'
20
- require 'securerandom'
19
+ require "spec_helper"
20
+ require "securerandom"
21
21
 
22
22
  describe Chef::Provider::Package::Yum do
23
23
  before(:each) do
24
24
  @node = Chef::Node.new
25
25
  @events = Chef::EventDispatch::Dispatcher.new
26
26
  @run_context = Chef::RunContext.new(@node, {}, @events)
27
- @new_resource = Chef::Resource::YumPackage.new('cups')
27
+ @new_resource = Chef::Resource::YumPackage.new("cups")
28
28
  @status = double("Status", :exitstatus => 0)
29
29
  @yum_cache = double(
30
- 'Chef::Provider::Yum::YumCache',
30
+ "Chef::Provider::Yum::YumCache",
31
31
  :reload_installed => true,
32
32
  :reset => true,
33
33
  :installed_version => "1.2.4-11.18.el5",
@@ -36,7 +36,7 @@ describe Chef::Provider::Package::Yum do
36
36
  :version_available? => true,
37
37
  :allow_multi_install => [ "kernel" ],
38
38
  :package_repository => "base",
39
- :disable_extra_repo_control => true
39
+ :disable_extra_repo_control => true,
40
40
  )
41
41
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
42
42
  allow(@yum_cache).to receive(:yum_binary=).with("yum")
@@ -77,15 +77,15 @@ describe Chef::Provider::Package::Yum do
77
77
 
78
78
  describe "when source is provided" do
79
79
  it "should set the candidate version" do
80
- @new_resource = Chef::Resource::YumPackage.new('testing.source')
80
+ @new_resource = Chef::Resource::YumPackage.new("testing.source")
81
81
  @new_resource.source "chef-server-core-12.0.5-1.rpm"
82
82
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
83
83
  allow(File).to receive(:exists?).with(@new_resource.source).and_return(true)
84
84
  allow(@yum_cache).to receive(:installed_version).and_return(nil)
85
- shellout_double = double(:stdout => 'chef-server-core 12.0.5-1')
85
+ shellout_double = double(:stdout => "chef-server-core 12.0.5-1")
86
86
  allow(@provider).to receive(:shell_out!).and_return(shellout_double)
87
87
  @provider.load_current_resource
88
- expect(@provider.candidate_version).to eql('12.0.5-1')
88
+ expect(@provider.candidate_version).to eql("12.0.5-1")
89
89
  end
90
90
  end
91
91
 
@@ -113,7 +113,7 @@ describe Chef::Provider::Package::Yum do
113
113
  end
114
114
 
115
115
  it "when the new_resource is a vanilla package class and yum-deprecated exists" do
116
- @new_resource = Chef::Resource::Package.new('cups')
116
+ @new_resource = Chef::Resource::Package.new("cups")
117
117
  expect(File).to receive(:exist?).with("/usr/bin/yum-deprecated").and_return(true)
118
118
  expect(@yum_cache).to receive(:yum_binary=).with("yum-deprecated")
119
119
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
@@ -121,7 +121,7 @@ describe Chef::Provider::Package::Yum do
121
121
  end
122
122
 
123
123
  it "when the new_resource is a vanilla package class and yum-deprecated does not exist" do
124
- @new_resource = Chef::Resource::Package.new('cups')
124
+ @new_resource = Chef::Resource::Package.new("cups")
125
125
  expect(File).to receive(:exist?).with("/usr/bin/yum-deprecated").and_return(false)
126
126
  expect(@yum_cache).to receive(:yum_binary=).with("yum")
127
127
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
@@ -131,9 +131,9 @@ describe Chef::Provider::Package::Yum do
131
131
 
132
132
  describe "when arch in package_name" do
133
133
  it "should set the arch if no existing package_name is found and new_package_name+new_arch is available" do
134
- @new_resource = Chef::Resource::YumPackage.new('testing.noarch')
134
+ @new_resource = Chef::Resource::YumPackage.new("testing.noarch")
135
135
  @yum_cache = double(
136
- 'Chef::Provider::Yum::YumCache'
136
+ "Chef::Provider::Yum::YumCache"
137
137
  )
138
138
  allow(@yum_cache).to receive(:installed_version) do |package_name, arch|
139
139
  # nothing installed for package_name/new_package_name
@@ -157,7 +157,7 @@ describe Chef::Provider::Package::Yum do
157
157
  expect(@provider.new_resource.arch).to eq("noarch")
158
158
  expect(@provider.arch).to eq("noarch")
159
159
 
160
- @new_resource = Chef::Resource::YumPackage.new('testing.more.noarch')
160
+ @new_resource = Chef::Resource::YumPackage.new("testing.more.noarch")
161
161
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
162
162
  @provider.load_current_resource
163
163
  expect(@provider.new_resource.package_name).to eq("testing.more")
@@ -167,12 +167,12 @@ describe Chef::Provider::Package::Yum do
167
167
 
168
168
  describe "when version constraint in package_name" do
169
169
  it "should set package_version if no existing package_name is found and new_package_name is available" do
170
- @new_resource = Chef::Resource::Package.new('cups = 1.2.4-11.18.el5_2.3')
170
+ @new_resource = Chef::Resource::Package.new("cups = 1.2.4-11.18.el5_2.3")
171
171
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
172
- allow(@yum_cache).to receive(:package_available?) { |pkg| pkg == 'cups' ? true : false }
172
+ allow(@yum_cache).to receive(:package_available?) { |pkg| pkg == "cups" ? true : false }
173
173
  allow(@yum_cache).to receive(:packages_from_require) do |pkg|
174
174
  [Chef::Provider::Package::Yum::RPMDbPackage.new("cups", "1.2.4-11.18.el5_2.3", "noarch", [], false, true, "base"),
175
- Chef::Provider::Package::Yum::RPMDbPackage.new("cups", "1.2.4-11.18.el5_2.2", "noarch", [], false, true, "base"),]
175
+ Chef::Provider::Package::Yum::RPMDbPackage.new("cups", "1.2.4-11.18.el5_2.2", "noarch", [], false, true, "base")]
176
176
  end
177
177
  expect(Chef::Log).to receive(:debug).exactly(1).times.with(%r{checking yum info})
178
178
  expect(Chef::Log).to receive(:debug).exactly(1).times.with(%r{installed version})
@@ -186,9 +186,9 @@ describe Chef::Provider::Package::Yum do
186
186
  end
187
187
 
188
188
  it "should not set the arch when an existing package_name is found" do
189
- @new_resource = Chef::Resource::YumPackage.new('testing.beta3')
189
+ @new_resource = Chef::Resource::YumPackage.new("testing.beta3")
190
190
  @yum_cache = double(
191
- 'Chef::Provider::Yum::YumCache'
191
+ "Chef::Provider::Yum::YumCache"
192
192
  )
193
193
  allow(@yum_cache).to receive(:installed_version) do |package_name, arch|
194
194
  # installed for package_name
@@ -213,7 +213,7 @@ describe Chef::Provider::Package::Yum do
213
213
  expect(@provider.new_resource.arch).to eq(nil)
214
214
  expect(@provider.arch).to eq(nil)
215
215
 
216
- @new_resource = Chef::Resource::YumPackage.new('testing.beta3.more')
216
+ @new_resource = Chef::Resource::YumPackage.new("testing.beta3.more")
217
217
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
218
218
  @provider.load_current_resource
219
219
  expect(@provider.new_resource.package_name).to eq("testing.beta3.more")
@@ -222,9 +222,9 @@ describe Chef::Provider::Package::Yum do
222
222
  end
223
223
 
224
224
  it "should not set the arch when no existing package_name or new_package_name+new_arch is found" do
225
- @new_resource = Chef::Resource::YumPackage.new('testing.beta3')
225
+ @new_resource = Chef::Resource::YumPackage.new("testing.beta3")
226
226
  @yum_cache = double(
227
- 'Chef::Provider::Yum::YumCache'
227
+ "Chef::Provider::Yum::YumCache"
228
228
  )
229
229
  allow(@yum_cache).to receive(:installed_version) do |package_name, arch|
230
230
  # nothing installed for package_name/new_package_name
@@ -244,7 +244,7 @@ describe Chef::Provider::Package::Yum do
244
244
  expect(@provider.new_resource.arch).to eq(nil)
245
245
  expect(@provider.arch).to eq(nil)
246
246
 
247
- @new_resource = Chef::Resource::YumPackage.new('testing.beta3.more')
247
+ @new_resource = Chef::Resource::YumPackage.new("testing.beta3.more")
248
248
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
249
249
  @provider.load_current_resource
250
250
  expect(@provider.new_resource.package_name).to eq("testing.beta3.more")
@@ -253,14 +253,14 @@ describe Chef::Provider::Package::Yum do
253
253
  end
254
254
 
255
255
  it "should ensure it doesn't clobber an existing arch if passed" do
256
- @new_resource = Chef::Resource::YumPackage.new('testing.i386')
256
+ @new_resource = Chef::Resource::YumPackage.new("testing.i386")
257
257
  @new_resource.arch("x86_64")
258
258
  @yum_cache = double(
259
- 'Chef::Provider::Yum::YumCache'
259
+ "Chef::Provider::Yum::YumCache"
260
260
  )
261
- allow(@yum_cache).to receive(:installed_version) do |package_name, arch|
262
- # nothing installed for package_name/new_package_name
263
- nil
261
+ allow(@yum_cache).to receive(:installed_version) do |package_name, arch|
262
+ # nothing installed for package_name/new_package_name
263
+ nil
264
264
  end
265
265
  allow(@yum_cache).to receive(:candidate_version) do |package_name, arch|
266
266
  if package_name == "testing.noarch"
@@ -282,13 +282,13 @@ describe Chef::Provider::Package::Yum do
282
282
  end
283
283
 
284
284
  it "should flush the cache if :before is true" do
285
- allow(@new_resource).to receive(:flush_cache).and_return({:after => false, :before => true})
285
+ allow(@new_resource).to receive(:flush_cache).and_return({ :after => false, :before => true })
286
286
  expect(@yum_cache).to receive(:reload).once
287
287
  @provider.load_current_resource
288
288
  end
289
289
 
290
290
  it "should flush the cache if :before is false" do
291
- allow(@new_resource).to receive(:flush_cache).and_return({:after => false, :before => false})
291
+ allow(@new_resource).to receive(:flush_cache).and_return({ :after => false, :before => false })
292
292
  expect(@yum_cache).not_to receive(:reload)
293
293
  @provider.load_current_resource
294
294
  end
@@ -313,14 +313,14 @@ describe Chef::Provider::Package::Yum do
313
313
 
314
314
  context "when the package name isn't found" do
315
315
  let(:yum_cache) { double(
316
- 'Chef::Provider::Yum::YumCache',
316
+ "Chef::Provider::Yum::YumCache",
317
317
  :reload_installed => true,
318
318
  :reset => true,
319
319
  :installed_version => "1.0.1.el5",
320
320
  :candidate_version => "2.0.1.el5",
321
321
  :package_available? => false,
322
322
  :version_available? => true,
323
- :disable_extra_repo_control => true
323
+ :disable_extra_repo_control => true,
324
324
  )
325
325
  }
326
326
 
@@ -334,71 +334,69 @@ describe Chef::Provider::Package::Yum do
334
334
  it "should search provides then set package_name to match" do
335
335
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
336
336
  @provider.load_current_resource
337
- expect(@new_resource.package_name).to eq('test-package')
337
+ expect(@new_resource.package_name).to eq("test-package")
338
338
  expect(@new_resource.version).to eq(nil)
339
339
  end
340
340
 
341
341
  it "should search provides then set version to match if a requirement was passed in the package name" do
342
- @new_resource = Chef::Resource::YumPackage.new('test-package = 2.0.1.el5')
342
+ @new_resource = Chef::Resource::YumPackage.new("test-package = 2.0.1.el5")
343
343
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
344
344
  @provider.load_current_resource
345
- expect(@new_resource.package_name).to eq('test-package')
346
- expect(@new_resource.version).to eq('2.0.1.el5')
345
+ expect(@new_resource.package_name).to eq("test-package")
346
+ expect(@new_resource.version).to eq("2.0.1.el5")
347
347
  end
348
348
 
349
-
350
349
  it "should search provides then set version to match if a requirement was passed in the version" do
351
- @new_resource = Chef::Resource::YumPackage.new('test-package')
352
- @new_resource.version('= 2.0.1.el5')
350
+ @new_resource = Chef::Resource::YumPackage.new("test-package")
351
+ @new_resource.version("= 2.0.1.el5")
353
352
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
354
353
  @provider.load_current_resource
355
- expect(@new_resource.package_name).to eq('test-package')
356
- expect(@new_resource.version).to eq('2.0.1.el5')
354
+ expect(@new_resource.package_name).to eq("test-package")
355
+ expect(@new_resource.version).to eq("2.0.1.el5")
357
356
  end
358
357
 
359
-
360
358
  it "should search provides and not set the version to match if a specific version was requested" do
361
- @new_resource = Chef::Resource::YumPackage.new('test-package')
362
- @new_resource.version('3.0.1.el5')
359
+ @new_resource = Chef::Resource::YumPackage.new("test-package")
360
+ @new_resource.version("3.0.1.el5")
363
361
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
364
362
  @provider.load_current_resource
365
- expect(@new_resource.package_name).to eq('test-package')
366
- expect(@new_resource.version).to eq('3.0.1.el5')
363
+ expect(@new_resource.package_name).to eq("test-package")
364
+ expect(@new_resource.version).to eq("3.0.1.el5")
367
365
  end
368
366
 
369
367
  it "should search provides then set versions to match if requirements were passed in the package name as an array" do
370
- @new_resource = Chef::Resource::YumPackage.new(['test-package = 2.0.1.el5'])
368
+ @new_resource = Chef::Resource::YumPackage.new(["test-package = 2.0.1.el5"])
371
369
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
372
370
  @provider.load_current_resource
373
- expect(@new_resource.package_name).to eq(['test-package'])
374
- expect(@new_resource.version).to eq(['2.0.1.el5'])
371
+ expect(@new_resource.package_name).to eq(["test-package"])
372
+ expect(@new_resource.version).to eq(["2.0.1.el5"])
375
373
  end
376
374
 
377
375
  it "should search provides and not set the versions to match if specific versions were requested in an array" do
378
- @new_resource = Chef::Resource::YumPackage.new(['test-package'])
379
- @new_resource.version(['3.0.1.el5'])
376
+ @new_resource = Chef::Resource::YumPackage.new(["test-package"])
377
+ @new_resource.version(["3.0.1.el5"])
380
378
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
381
379
  @provider.load_current_resource
382
- expect(@new_resource.package_name).to eq(['test-package'])
383
- expect(@new_resource.version).to eq(['3.0.1.el5'])
380
+ expect(@new_resource.package_name).to eq(["test-package"])
381
+ expect(@new_resource.version).to eq(["3.0.1.el5"])
384
382
  end
385
383
 
386
384
  end
387
385
 
388
386
  it "should not return an error if no version number is specified in the resource" do
389
- @new_resource = Chef::Resource::YumPackage.new('test-package')
387
+ @new_resource = Chef::Resource::YumPackage.new("test-package")
390
388
  @yum_cache = double(
391
- 'Chef::Provider::Yum::YumCache',
389
+ "Chef::Provider::Yum::YumCache",
392
390
  :reload_installed => true,
393
391
  :reset => true,
394
392
  :installed_version => "1.0.1.el5",
395
393
  :candidate_version => "2.0.1.el5",
396
394
  :package_available? => false,
397
395
  :version_available? => true,
398
- :disable_extra_repo_control => true
396
+ :disable_extra_repo_control => true,
399
397
  )
400
398
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
401
- allow(@yum_cache).to receive(:yum_binary=).with("yum")
399
+ allow(@yum_cache).to receive(:yum_binary=).with("yum")
402
400
  pkg = Chef::Provider::Package::Yum::RPMPackage.new("test-package", "2.0.1.el5", "x86_64", [])
403
401
  expect(@yum_cache).to receive(:packages_from_require).and_return([pkg])
404
402
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
@@ -408,39 +406,39 @@ describe Chef::Provider::Package::Yum do
408
406
  end
409
407
 
410
408
  it "should give precedence to the version attribute when both a requirement in the resource name and a version attribute are specified" do
411
- @new_resource = Chef::Resource::YumPackage.new('test-package')
409
+ @new_resource = Chef::Resource::YumPackage.new("test-package")
412
410
  @yum_cache = double(
413
- 'Chef::Provider::Yum::YumCache',
411
+ "Chef::Provider::Yum::YumCache",
414
412
  :reload_installed => true,
415
413
  :reset => true,
416
414
  :installed_version => "1.2.4-11.18.el5",
417
415
  :candidate_version => "1.2.4-11.18.el5",
418
416
  :package_available? => false,
419
417
  :version_available? => true,
420
- :disable_extra_repo_control => true
418
+ :disable_extra_repo_control => true,
421
419
  )
422
420
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
423
- allow(@yum_cache).to receive(:yum_binary=).with("yum")
421
+ allow(@yum_cache).to receive(:yum_binary=).with("yum")
424
422
  pkg = Chef::Provider::Package::Yum::RPMPackage.new("test-package", "2.0.1.el5", "x86_64", [])
425
423
  expect(@yum_cache).to receive(:packages_from_require).and_return([pkg])
426
- @new_resource = Chef::Resource::YumPackage.new('test-package = 2.0.1.el5')
427
- @new_resource.version('3.0.1.el5')
424
+ @new_resource = Chef::Resource::YumPackage.new("test-package = 2.0.1.el5")
425
+ @new_resource.version("3.0.1.el5")
428
426
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
429
427
  @provider.load_current_resource
430
- expect(@new_resource.package_name).to eq('test-package')
431
- expect(@new_resource.version).to eq('3.0.1.el5')
428
+ expect(@new_resource.package_name).to eq("test-package")
429
+ expect(@new_resource.version).to eq("3.0.1.el5")
432
430
  end
433
431
 
434
432
  it "should correctly detect the installed states of an array of package names and version numbers" do
435
433
  @yum_cache = double(
436
- 'Chef::Provider::Yum::YumCache',
434
+ "Chef::Provider::Yum::YumCache",
437
435
  :reload_installed => true,
438
436
  :reset => true,
439
437
  :installed_version => "1.0.1.el5",
440
438
  :candidate_version => "2.0.1.el5",
441
439
  :package_available? => false,
442
440
  :version_available? => true,
443
- :disable_extra_repo_control => true
441
+ :disable_extra_repo_control => true,
444
442
  )
445
443
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
446
444
  allow(@yum_cache).to receive(:yum_binary=).with("yum")
@@ -448,24 +446,24 @@ describe Chef::Provider::Package::Yum do
448
446
  expect(@yum_cache).to receive(:packages_from_require).exactly(4).times.and_return([])
449
447
  expect(@yum_cache).to receive(:reload_provides).twice
450
448
 
451
- @new_resource = Chef::Resource::YumPackage.new(['test-package','test-package2'])
452
- @new_resource.version(['2.0.1.el5','3.0.1.el5'])
449
+ @new_resource = Chef::Resource::YumPackage.new(["test-package", "test-package2"])
450
+ @new_resource.version(["2.0.1.el5", "3.0.1.el5"])
453
451
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
454
452
  @provider.load_current_resource
455
- expect(@new_resource.package_name).to eq(['test-package','test-package2'])
456
- expect(@new_resource.version).to eq(['2.0.1.el5','3.0.1.el5'])
453
+ expect(@new_resource.package_name).to eq(["test-package", "test-package2"])
454
+ expect(@new_resource.version).to eq(["2.0.1.el5", "3.0.1.el5"])
457
455
  end
458
456
 
459
457
  it "should search provides if no package is available - if no match in installed provides then load the complete set" do
460
458
  @yum_cache = double(
461
- 'Chef::Provider::Yum::YumCache',
459
+ "Chef::Provider::Yum::YumCache",
462
460
  :reload_installed => true,
463
461
  :reset => true,
464
462
  :installed_version => "1.2.4-11.18.el5",
465
463
  :candidate_version => "1.2.4-11.18.el5",
466
464
  :package_available? => false,
467
465
  :version_available? => true,
468
- :disable_extra_repo_control => true
466
+ :disable_extra_repo_control => true,
469
467
  )
470
468
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
471
469
  allow(@yum_cache).to receive(:yum_binary=).with("yum")
@@ -478,14 +476,14 @@ describe Chef::Provider::Package::Yum do
478
476
 
479
477
  it "should search provides if no package is available and not load the complete set if action is :remove or :purge" do
480
478
  @yum_cache = double(
481
- 'Chef::Provider::Yum::YumCache',
479
+ "Chef::Provider::Yum::YumCache",
482
480
  :reload_installed => true,
483
481
  :reset => true,
484
482
  :installed_version => "1.2.4-11.18.el5",
485
483
  :candidate_version => "1.2.4-11.18.el5",
486
484
  :package_available? => false,
487
485
  :version_available? => true,
488
- :disable_extra_repo_control => true
486
+ :disable_extra_repo_control => true,
489
487
  )
490
488
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
491
489
  allow(@yum_cache).to receive(:yum_binary=).with("yum")
@@ -502,7 +500,7 @@ describe Chef::Provider::Package::Yum do
502
500
 
503
501
  it "should search provides if no package is available - if no match in provides leave the name intact" do
504
502
  @yum_cache = double(
505
- 'Chef::Provider::Yum::YumCache',
503
+ "Chef::Provider::Yum::YumCache",
506
504
  :reload_provides => true,
507
505
  :reload_installed => true,
508
506
  :reset => true,
@@ -510,7 +508,7 @@ describe Chef::Provider::Package::Yum do
510
508
  :candidate_version => "1.2.4-11.18.el5",
511
509
  :package_available? => false,
512
510
  :version_available? => true,
513
- :disable_extra_repo_control => true
511
+ :disable_extra_repo_control => true,
514
512
  )
515
513
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
516
514
  allow(@yum_cache).to receive(:yum_binary=).with("yum")
@@ -562,7 +560,7 @@ describe Chef::Provider::Package::Yum do
562
560
 
563
561
  it "installs the package with the options given in the resource" do
564
562
  @provider.load_current_resource
565
- allow(@provider).to receive(:candidate_version).and_return('11')
563
+ allow(@provider).to receive(:candidate_version).and_return("11")
566
564
  allow(@new_resource).to receive(:options).and_return("--disablerepo epmd")
567
565
  allow(Chef::Provider::Package::Yum::RPMUtils).to receive(:rpmvercmp).and_return(-1)
568
566
  expect(@provider).to receive(:yum_command).with(
@@ -573,14 +571,14 @@ describe Chef::Provider::Package::Yum do
573
571
 
574
572
  it "should raise an exception if the package is not available" do
575
573
  @yum_cache = double(
576
- 'Chef::Provider::Yum::YumCache',
574
+ "Chef::Provider::Yum::YumCache",
577
575
  :reload_from_cache => true,
578
576
  :reset => true,
579
577
  :installed_version => "1.2.4-11.18.el5",
580
578
  :candidate_version => "1.2.4-11.18.el5_2.3",
581
579
  :package_available? => true,
582
580
  :version_available? => nil,
583
- :disable_extra_repo_control => true
581
+ :disable_extra_repo_control => true,
584
582
  )
585
583
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
586
584
  allow(@yum_cache).to receive(:yum_binary=).with("yum")
@@ -591,7 +589,7 @@ describe Chef::Provider::Package::Yum do
591
589
  it "should raise an exception if candidate version is older than the installed version and allow_downgrade is false" do
592
590
  allow(@new_resource).to receive(:allow_downgrade).and_return(false)
593
591
  @yum_cache = double(
594
- 'Chef::Provider::Yum::YumCache',
592
+ "Chef::Provider::Yum::YumCache",
595
593
  :reload_installed => true,
596
594
  :reset => true,
597
595
  :installed_version => "1.2.4-11.18.el5",
@@ -599,7 +597,7 @@ describe Chef::Provider::Package::Yum do
599
597
  :package_available? => true,
600
598
  :version_available? => true,
601
599
  :allow_multi_install => [ "kernel" ],
602
- :disable_extra_repo_control => true
600
+ :disable_extra_repo_control => true,
603
601
  )
604
602
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
605
603
  allow(@yum_cache).to receive(:yum_binary=).with("yum")
@@ -610,7 +608,7 @@ describe Chef::Provider::Package::Yum do
610
608
 
611
609
  it "should not raise an exception if candidate version is older than the installed version and the package is list in yum's installonlypkg option" do
612
610
  @yum_cache = double(
613
- 'Chef::Provider::Yum::YumCache',
611
+ "Chef::Provider::Yum::YumCache",
614
612
  :reload_installed => true,
615
613
  :reset => true,
616
614
  :installed_version => "1.2.4-11.18.el5",
@@ -619,7 +617,7 @@ describe Chef::Provider::Package::Yum do
619
617
  :version_available? => true,
620
618
  :allow_multi_install => [ "cups" ],
621
619
  :package_repository => "base",
622
- :disable_extra_repo_control => true
620
+ :disable_extra_repo_control => true,
623
621
  )
624
622
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
625
623
  allow(@yum_cache).to receive(:yum_binary=).with("yum")
@@ -634,7 +632,7 @@ describe Chef::Provider::Package::Yum do
634
632
  it "should run yum downgrade if candidate version is older than the installed version and allow_downgrade is true" do
635
633
  allow(@new_resource).to receive(:allow_downgrade).and_return(true)
636
634
  @yum_cache = double(
637
- 'Chef::Provider::Yum::YumCache',
635
+ "Chef::Provider::Yum::YumCache",
638
636
  :reload_installed => true,
639
637
  :reset => true,
640
638
  :installed_version => "1.2.4-11.18.el5",
@@ -643,7 +641,7 @@ describe Chef::Provider::Package::Yum do
643
641
  :version_available? => true,
644
642
  :allow_multi_install => [],
645
643
  :package_repository => "base",
646
- :disable_extra_repo_control => true
644
+ :disable_extra_repo_control => true,
647
645
  )
648
646
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
649
647
  allow(@yum_cache).to receive(:yum_binary=).with("yum")
@@ -656,7 +654,7 @@ describe Chef::Provider::Package::Yum do
656
654
  end
657
655
 
658
656
  it "should run yum install then flush the cache if :after is true" do
659
- allow(@new_resource).to receive(:flush_cache).and_return({:after => true, :before => false})
657
+ allow(@new_resource).to receive(:flush_cache).and_return({ :after => true, :before => false })
660
658
  @provider.load_current_resource
661
659
  allow(Chef::Provider::Package::Yum::RPMUtils).to receive(:rpmvercmp).and_return(-1)
662
660
  expect(@provider).to receive(:yum_command).with(
@@ -667,7 +665,7 @@ describe Chef::Provider::Package::Yum do
667
665
  end
668
666
 
669
667
  it "should run yum install then not flush the cache if :after is false" do
670
- allow(@new_resource).to receive(:flush_cache).and_return({:after => false, :before => false})
668
+ allow(@new_resource).to receive(:flush_cache).and_return({ :after => false, :before => false })
671
669
  @provider.load_current_resource
672
670
  allow(Chef::Provider::Package::Yum::RPMUtils).to receive(:rpmvercmp).and_return(-1)
673
671
  expect(@provider).to receive(:yum_command).with(
@@ -681,7 +679,7 @@ describe Chef::Provider::Package::Yum do
681
679
  describe "when upgrading a package" do
682
680
  it "should run yum install if the package is installed and a version is given" do
683
681
  @provider.load_current_resource
684
- allow(@provider).to receive(:candidate_version).and_return('11')
682
+ allow(@provider).to receive(:candidate_version).and_return("11")
685
683
  allow(Chef::Provider::Package::Yum::RPMUtils).to receive(:rpmvercmp).and_return(-1)
686
684
  expect(@provider).to receive(:yum_command).with(
687
685
  "-d0 -e0 -y install cups-11"
@@ -691,8 +689,8 @@ describe Chef::Provider::Package::Yum do
691
689
 
692
690
  it "should run yum install if the package is not installed" do
693
691
  @provider.load_current_resource
694
- @current_resource = Chef::Resource::Package.new('cups')
695
- allow(@provider).to receive(:candidate_version).and_return('11')
692
+ @current_resource = Chef::Resource::Package.new("cups")
693
+ allow(@provider).to receive(:candidate_version).and_return("11")
696
694
  allow(Chef::Provider::Package::Yum::RPMUtils).to receive(:rpmvercmp).and_return(-1)
697
695
  expect(@provider).to receive(:yum_command).with(
698
696
  "-d0 -e0 -y install cups-11"
@@ -702,7 +700,7 @@ describe Chef::Provider::Package::Yum do
702
700
 
703
701
  it "should raise an exception if candidate version is older than the installed version" do
704
702
  @yum_cache = double(
705
- 'Chef::Provider::Yum::YumCache',
703
+ "Chef::Provider::Yum::YumCache",
706
704
  :reload_installed => true,
707
705
  :reset => true,
708
706
  :installed_version => "1.2.4-11.18.el5",
@@ -710,7 +708,7 @@ describe Chef::Provider::Package::Yum do
710
708
  :package_available? => true,
711
709
  :version_available? => true,
712
710
  :allow_multi_install => [ "kernel" ],
713
- :disable_extra_repo_control => true
711
+ :disable_extra_repo_control => true,
714
712
  )
715
713
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
716
714
  allow(@yum_cache).to receive(:yum_binary=).with("yum")
@@ -722,18 +720,18 @@ describe Chef::Provider::Package::Yum do
722
720
  # Test our little workaround, some crossover into Chef::Provider::Package territory
723
721
  it "should call action_upgrade in the parent if the current resource version is nil" do
724
722
  allow(@yum_cache).to receive(:installed_version).and_return(nil)
725
- @current_resource = Chef::Resource::Package.new('cups')
726
- allow(@provider).to receive(:candidate_version).and_return('11')
723
+ @current_resource = Chef::Resource::Package.new("cups")
724
+ allow(@provider).to receive(:candidate_version).and_return("11")
727
725
  expect(@provider).to receive(:upgrade_package).with(
728
726
  "cups",
729
- "11"
727
+ "11",
730
728
  )
731
729
  @provider.run_action(:upgrade)
732
730
  end
733
731
 
734
732
  it "should call action_upgrade in the parent if the candidate version is nil" do
735
733
  @provider.load_current_resource
736
- @current_resource = Chef::Resource::Package.new('cups')
734
+ @current_resource = Chef::Resource::Package.new("cups")
737
735
  allow(@provider).to receive(:candidate_version).and_return(nil)
738
736
  expect(@provider).not_to receive(:upgrade_package)
739
737
  @provider.run_action(:upgrade)
@@ -741,11 +739,11 @@ describe Chef::Provider::Package::Yum do
741
739
 
742
740
  it "should call action_upgrade in the parent if the candidate is newer" do
743
741
  @provider.load_current_resource
744
- @current_resource = Chef::Resource::Package.new('cups')
745
- allow(@provider).to receive(:candidate_version).and_return('11')
742
+ @current_resource = Chef::Resource::Package.new("cups")
743
+ allow(@provider).to receive(:candidate_version).and_return("11")
746
744
  expect(@provider).to receive(:upgrade_package).with(
747
745
  "cups",
748
- "11"
746
+ "11",
749
747
  )
750
748
  @provider.run_action(:upgrade)
751
749
  end
@@ -753,8 +751,8 @@ describe Chef::Provider::Package::Yum do
753
751
  it "should not call action_upgrade in the parent if the candidate is older" do
754
752
  allow(@yum_cache).to receive(:installed_version).and_return("12")
755
753
  @provider.load_current_resource
756
- @current_resource = Chef::Resource::Package.new('cups')
757
- allow(@provider).to receive(:candidate_version).and_return('11')
754
+ @current_resource = Chef::Resource::Package.new("cups")
755
+ allow(@provider).to receive(:candidate_version).and_return("11")
758
756
  expect(@provider).not_to receive(:upgrade_package)
759
757
  @provider.run_action(:upgrade)
760
758
  end
@@ -792,7 +790,7 @@ describe Chef::Provider::Package::Yum do
792
790
  allow(@provider).to receive(:shell_out).and_return(@status)
793
791
  expect(@provider).to receive(:shell_out).once.with(
794
792
  "yum -d0 -e0 -y install emacs-1.0",
795
- {:timeout => Chef::Config[:yum_timeout]}
793
+ { :timeout => Chef::Config[:yum_timeout] },
796
794
  )
797
795
  @provider.yum_command("-d0 -e0 -y install emacs-1.0")
798
796
  end
@@ -802,18 +800,18 @@ describe Chef::Provider::Package::Yum do
802
800
  allow(@provider).to receive(:shell_out).and_return(@status)
803
801
  expect(@provider).to receive(:shell_out).once.with(
804
802
  "yum -d0 -e0 -y install emacs-1.0",
805
- {:timeout => Chef::Config[:yum_timeout]}
803
+ { :timeout => Chef::Config[:yum_timeout] },
806
804
  )
807
805
  expect { @provider.yum_command("-d0 -e0 -y install emacs-1.0") }.to raise_error(Chef::Exceptions::Exec)
808
806
  end
809
807
 
810
808
  it "should run yum once if it exits with a return code of 1 and %pre scriptlet failures" do
811
809
  @status = double("Status", :exitstatus => 1, :stdout => "error: %pre(demo-1-1.el5.centos.x86_64) scriptlet failed, exit status 2",
812
- :stderr => "")
810
+ :stderr => "")
813
811
  allow(@provider).to receive(:shell_out).and_return(@status)
814
812
  expect(@provider).to receive(:shell_out).once.with(
815
813
  "yum -d0 -e0 -y install emacs-1.0",
816
- {:timeout => Chef::Config[:yum_timeout]}
814
+ { :timeout => Chef::Config[:yum_timeout] },
817
815
  )
818
816
  # will still raise an exception, can't stub out the subsequent call
819
817
  expect { @provider.yum_command("-d0 -e0 -y install emacs-1.0") }.to raise_error(Chef::Exceptions::Exec)
@@ -821,11 +819,11 @@ describe Chef::Provider::Package::Yum do
821
819
 
822
820
  it "should run yum twice if it exits with a return code of 1 and %post scriptlet failures" do
823
821
  @status = double("Status", :exitstatus => 1, :stdout => "error: %post(demo-1-1.el5.centos.x86_64) scriptlet failed, exit status 2",
824
- :stderr => "")
822
+ :stderr => "")
825
823
  allow(@provider).to receive(:shell_out).and_return(@status)
826
824
  expect(@provider).to receive(:shell_out).twice.with(
827
825
  "yum -d0 -e0 -y install emacs-1.0",
828
- {:timeout => Chef::Config[:yum_timeout]}
826
+ { :timeout => Chef::Config[:yum_timeout] },
829
827
  )
830
828
  # will still raise an exception, can't stub out the subsequent call
831
829
  expect { @provider.yum_command("-d0 -e0 -y install emacs-1.0") }.to raise_error(Chef::Exceptions::Exec)
@@ -839,7 +837,7 @@ describe Chef::Provider::Package::Yum do
839
837
  allow(@provider).to receive(:shell_out).and_return(@status)
840
838
  expect(@provider).to receive(:shell_out).once.with(
841
839
  "yum-deprecated -d0 -e0 -y install emacs-1.0",
842
- {:timeout => Chef::Config[:yum_timeout]}
840
+ { :timeout => Chef::Config[:yum_timeout] },
843
841
  )
844
842
  @provider.yum_command("-d0 -e0 -y install emacs-1.0")
845
843
  end
@@ -856,7 +854,7 @@ describe Chef::Provider::Package::Yum::RPMUtils do
856
854
  [
857
855
  [ "0:3.3", [ 0, "3.3", nil ] ],
858
856
  [ "9:1.7.3", [ 9, "1.7.3", nil ] ],
859
- [ "15:20020927", [ 15, "20020927", nil ] ]
857
+ [ "15:20020927", [ 15, "20020927", nil ] ],
860
858
  ].each do |x, y|
861
859
  expect(@rpmutils.version_parse(x)).to eq(y)
862
860
  end
@@ -866,7 +864,7 @@ describe Chef::Provider::Package::Yum::RPMUtils do
866
864
  [
867
865
  [ ":3.3", [ 0, "3.3", nil ] ],
868
866
  [ "-1:1.7.3", [ nil, nil, "1:1.7.3" ] ],
869
- [ "-:20020927", [ nil, nil, ":20020927" ] ]
867
+ [ "-:20020927", [ nil, nil, ":20020927" ] ],
870
868
  ].each do |x, y|
871
869
  expect(@rpmutils.version_parse(x)).to eq(y)
872
870
  end
@@ -876,7 +874,7 @@ describe Chef::Provider::Package::Yum::RPMUtils do
876
874
  [
877
875
  [ "3.3", [ nil, "3.3", nil ] ],
878
876
  [ "1.7.3", [ nil, "1.7.3", nil ] ],
879
- [ "20020927", [ nil, "20020927", nil ] ]
877
+ [ "20020927", [ nil, "20020927", nil ] ],
880
878
  ].each do |x, y|
881
879
  expect(@rpmutils.version_parse(x)).to eq(y)
882
880
  end
@@ -886,7 +884,7 @@ describe Chef::Provider::Package::Yum::RPMUtils do
886
884
  [
887
885
  [ "3..3", [ nil, "3..3", nil ] ],
888
886
  [ "0001.7.3", [ nil, "0001.7.3", nil ] ],
889
- [ "20020927,3", [ nil, "20020927,3", nil ] ]
887
+ [ "20020927,3", [ nil, "20020927,3", nil ] ],
890
888
  ].each do |x, y|
891
889
  expect(@rpmutils.version_parse(x)).to eq(y)
892
890
  end
@@ -896,7 +894,7 @@ describe Chef::Provider::Package::Yum::RPMUtils do
896
894
  [
897
895
  [ "3.3-0.pre3.1.60.el5_5.1", [ nil, "3.3", "0.pre3.1.60.el5_5.1" ] ],
898
896
  [ "1.7.3-1jpp.2.el5", [ nil, "1.7.3", "1jpp.2.el5" ] ],
899
- [ "20020927-46.el5", [ nil, "20020927", "46.el5" ] ]
897
+ [ "20020927-46.el5", [ nil, "20020927", "46.el5" ] ],
900
898
  ].each do |x, y|
901
899
  expect(@rpmutils.version_parse(x)).to eq(y)
902
900
  end
@@ -906,7 +904,7 @@ describe Chef::Provider::Package::Yum::RPMUtils do
906
904
  [
907
905
  [ "3.3-", [ nil, "3.3", nil ] ],
908
906
  [ "-1jpp.2.el5", [ nil, nil, "1jpp.2.el5" ] ],
909
- [ "-0020020927-46.el5", [ nil, "-0020020927", "46.el5" ] ]
907
+ [ "-0020020927-46.el5", [ nil, "-0020020927", "46.el5" ] ],
910
908
  ].each do |x, y|
911
909
  expect(@rpmutils.version_parse(x)).to eq(y)
912
910
  end
@@ -965,7 +963,7 @@ describe Chef::Provider::Package::Yum::RPMUtils do
965
963
  [ "0.0.1aa", "0.0.1aa", 0 ],
966
964
  [ "0.0.1a", "0.0.1aa", -1 ],
967
965
  ].each do |x, y, result|
968
- expect(@rpmutils.rpmvercmp(x,y)).to eq(result)
966
+ expect(@rpmutils.rpmvercmp(x, y)).to eq(result)
969
967
  end
970
968
  end
971
969
 
@@ -982,44 +980,44 @@ describe Chef::Provider::Package::Yum::RPMUtils do
982
980
  [ nil, "1.0.1", -1 ],
983
981
  [ "1.0.1", "", 1 ],
984
982
  [ "", "", 0 ],
985
- [ "", "1.0.1", -1 ]
983
+ [ "", "1.0.1", -1 ],
986
984
  ].each do |x, y, result|
987
- expect(@rpmutils.rpmvercmp(x,y)).to eq(result)
985
+ expect(@rpmutils.rpmvercmp(x, y)).to eq(result)
988
986
  end
989
987
  end
990
988
 
991
989
  it "tests isalnum good input" do
992
- [ 'a', 'z', 'A', 'Z', '0', '9' ].each do |t|
990
+ [ "a", "z", "A", "Z", "0", "9" ].each do |t|
993
991
  expect(@rpmutils.isalnum(t)).to eq(true)
994
992
  end
995
993
  end
996
994
 
997
995
  it "tests isalnum bad input" do
998
- [ '-', '.', '!', '^', ':', '_' ].each do |t|
996
+ [ "-", ".", "!", "^", ":", "_" ].each do |t|
999
997
  expect(@rpmutils.isalnum(t)).to eq(false)
1000
998
  end
1001
999
  end
1002
1000
 
1003
1001
  it "tests isalpha good input" do
1004
- [ 'a', 'z', 'A', 'Z', ].each do |t|
1002
+ [ "a", "z", "A", "Z" ].each do |t|
1005
1003
  expect(@rpmutils.isalpha(t)).to eq(true)
1006
1004
  end
1007
1005
  end
1008
1006
 
1009
1007
  it "tests isalpha bad input" do
1010
- [ '0', '9', '-', '.', '!', '^', ':', '_' ].each do |t|
1008
+ [ "0", "9", "-", ".", "!", "^", ":", "_" ].each do |t|
1011
1009
  expect(@rpmutils.isalpha(t)).to eq(false)
1012
1010
  end
1013
1011
  end
1014
1012
 
1015
1013
  it "tests isdigit good input" do
1016
- [ '0', '9', ].each do |t|
1014
+ [ "0", "9" ].each do |t|
1017
1015
  expect(@rpmutils.isdigit(t)).to eq(true)
1018
1016
  end
1019
1017
  end
1020
1018
 
1021
1019
  it "tests isdigit bad input" do
1022
- [ 'A', 'z', '-', '.', '!', '^', ':', '_' ].each do |t|
1020
+ [ "A", "z", "-", ".", "!", "^", ":", "_" ].each do |t|
1023
1021
  expect(@rpmutils.isdigit(t)).to eq(false)
1024
1022
  end
1025
1023
  end
@@ -1102,7 +1100,7 @@ describe Chef::Provider::Package::Yum::RPMVersion do
1102
1100
  [ "0:1.4.10-7.20090624svn.el5",
1103
1101
  "0:1.4.10-7.20090625svn.el5" ],
1104
1102
  [ "0:2.3.4-2.el5",
1105
- "0:2.3.4-2.el6" ]
1103
+ "0:2.3.4-2.el6" ],
1106
1104
  ].each do |smaller, larger|
1107
1105
  sm = Chef::Provider::Package::Yum::RPMVersion.new(smaller)
1108
1106
  lg = Chef::Provider::Package::Yum::RPMVersion.new(larger)
@@ -1128,7 +1126,7 @@ describe Chef::Provider::Package::Yum::RPMVersion do
1128
1126
  [ "0:1.9",
1129
1127
  "3:1.9" ],
1130
1128
  [ "2.3-2.el5",
1131
- "2.3-2.el6" ]
1129
+ "2.3-2.el6" ],
1132
1130
  ].each do |smaller, larger|
1133
1131
  sm = Chef::Provider::Package::Yum::RPMVersion.new(smaller)
1134
1132
  lg = Chef::Provider::Package::Yum::RPMVersion.new(larger)
@@ -1145,7 +1143,7 @@ describe Chef::Provider::Package::Yum::RPMVersion do
1145
1143
  [ "0:2.3-15.el5",
1146
1144
  "0:2.3-15.el5" ],
1147
1145
  [ "0:alpha9.8-27.2",
1148
- "0:alpha9.8-27.2" ]
1146
+ "0:alpha9.8-27.2" ],
1149
1147
  ].each do |smaller, larger|
1150
1148
  sm = Chef::Provider::Package::Yum::RPMVersion.new(smaller)
1151
1149
  lg = Chef::Provider::Package::Yum::RPMVersion.new(larger)
@@ -1160,7 +1158,7 @@ describe Chef::Provider::Package::Yum::RPMVersion do
1160
1158
  [ "2.3-15.el5",
1161
1159
  "2.3-15.el5" ],
1162
1160
  [ "alpha9.8-3",
1163
- "alpha9.8-3" ]
1161
+ "alpha9.8-3" ],
1164
1162
  ].each do |smaller, larger|
1165
1163
  sm = Chef::Provider::Package::Yum::RPMVersion.new(smaller)
1166
1164
  lg = Chef::Provider::Package::Yum::RPMVersion.new(larger)
@@ -1460,7 +1458,7 @@ describe Chef::Provider::Package::Yum::RPMDependency do
1460
1458
  [ "=", :== ],
1461
1459
  [ "==", :== ],
1462
1460
  [ "<=", :<= ],
1463
- [ "<", :< ]
1461
+ [ "<", :< ],
1464
1462
  ].each do |before, after|
1465
1463
  @rpmdep = Chef::Provider::Package::Yum::RPMDependency.parse("testing #{before} 1:1.1-1")
1466
1464
  expect(@rpmdep.flag).to eq(after)
@@ -1474,7 +1472,7 @@ describe Chef::Provider::Package::Yum::RPMDependency do
1474
1472
  [ ">>", :== ],
1475
1473
  [ "<<", :== ],
1476
1474
  [ "!", :== ],
1477
- [ "~", :== ]
1475
+ [ "~", :== ],
1478
1476
  ].each do |before, after|
1479
1477
  @rpmdep = Chef::Provider::Package::Yum::RPMDependency.parse("testing #{before} 1:1.1-1")
1480
1478
  expect(@rpmdep.name).to eq("testing #{before} 1:1.1-1")
@@ -1549,12 +1547,12 @@ describe Chef::Provider::Package::Yum::RPMDb do
1549
1547
  # name, version, arch, installed, available
1550
1548
  deps_v = [
1551
1549
  Chef::Provider::Package::Yum::RPMDependency.parse("libz.so.1()(64bit)"),
1552
- Chef::Provider::Package::Yum::RPMDependency.parse("test-package-a = 0:1.6.5-9.36.el5")
1550
+ Chef::Provider::Package::Yum::RPMDependency.parse("test-package-a = 0:1.6.5-9.36.el5"),
1553
1551
  ]
1554
1552
  deps_z = [
1555
1553
  Chef::Provider::Package::Yum::RPMDependency.parse("libz.so.1()(64bit)"),
1556
1554
  Chef::Provider::Package::Yum::RPMDependency.parse("config(test) = 0:1.6.5-9.36.el5"),
1557
- Chef::Provider::Package::Yum::RPMDependency.parse("test-package-c = 0:1.6.5-9.36.el5")
1555
+ Chef::Provider::Package::Yum::RPMDependency.parse("test-package-c = 0:1.6.5-9.36.el5"),
1558
1556
  ]
1559
1557
  @rpm_v = Chef::Provider::Package::Yum::RPMDbPackage.new("test-package-a", "0:1.6.5-9.36.el5", "i386", deps_v, true, false, "base")
1560
1558
  @rpm_w = Chef::Provider::Package::Yum::RPMDbPackage.new("test-package-b", "0:1.6.5-9.36.el5", "i386", [], true, true, "extras")
@@ -1840,19 +1838,19 @@ EOF
1840
1838
  end
1841
1839
 
1842
1840
  it "should return the default python if the yum-executable doesn't start with #!" do
1843
- allow(::File).to receive(:open).with("/usr/bin/yum", "r") { |&b| r = b.call(bin_exe); bin_exe.rewind; r}
1841
+ allow(::File).to receive(:open).with("/usr/bin/yum", "r") { |&b| r = b.call(bin_exe); bin_exe.rewind; r }
1844
1842
  expect(@yc.python_bin).to eq("/usr/bin/python")
1845
1843
  end
1846
1844
 
1847
1845
  it "should return /usr/bin/python if the interpreter is /bin/bash" do
1848
1846
  other = StringIO.new("#!/bin/bash\n# The yum executable redirecting to dnf from dnf-yum compatible package.")
1849
- allow(::File).to receive(:open).with("/usr/bin/yum", "r") { |&b| r = b.call(other); other.rewind; r}
1847
+ allow(::File).to receive(:open).with("/usr/bin/yum", "r") { |&b| r = b.call(other); other.rewind; r }
1850
1848
  expect(@yc.python_bin).to eq("/usr/bin/python")
1851
1849
  end
1852
1850
 
1853
1851
  it "should return the interpreter for yum" do
1854
1852
  other = StringIO.new("#!/usr/bin/super_python\n\nlasjdfdsaljf\nlasdjfs")
1855
- allow(::File).to receive(:open).with("/usr/bin/yum", "r") { |&b| r = b.call(other); other.rewind; r}
1853
+ allow(::File).to receive(:open).with("/usr/bin/yum", "r") { |&b| r = b.call(other); other.rewind; r }
1856
1854
  expect(@yc.python_bin).to eq("/usr/bin/super_python")
1857
1855
  end
1858
1856
  end
@@ -1867,32 +1865,32 @@ EOF
1867
1865
 
1868
1866
  it "should run yum-dump.py using the system python when next_refresh is for :all" do
1869
1867
  @yc.reload
1870
- expect(@yc).to receive(:shell_out!).with(%r{^/usr/bin/python .*/yum-dump.py --options --installed-provides --yum-lock-timeout 30$}, :timeout=>Chef::Config[:yum_timeout])
1868
+ expect(@yc).to receive(:shell_out!).with(%r{^/usr/bin/python .*/yum-dump.py --options --installed-provides --yum-lock-timeout 30$}, :timeout => Chef::Config[:yum_timeout])
1871
1869
  @yc.refresh
1872
1870
  end
1873
1871
 
1874
1872
  it "should run yum-dump.py with the installed flag when next_refresh is for :installed" do
1875
1873
  @yc.reload_installed
1876
- expect(@yc).to receive(:shell_out!).with(%r{^/usr/bin/python .*/yum-dump.py --installed --yum-lock-timeout 30$}, :timeout=>Chef::Config[:yum_timeout])
1874
+ expect(@yc).to receive(:shell_out!).with(%r{^/usr/bin/python .*/yum-dump.py --installed --yum-lock-timeout 30$}, :timeout => Chef::Config[:yum_timeout])
1877
1875
  @yc.refresh
1878
1876
  end
1879
1877
 
1880
1878
  it "should run yum-dump.py with the all-provides flag when next_refresh is for :provides" do
1881
1879
  @yc.reload_provides
1882
- expect(@yc).to receive(:shell_out!).with(%r{^/usr/bin/python .*/yum-dump.py --options --all-provides --yum-lock-timeout 30$}, :timeout=>Chef::Config[:yum_timeout])
1880
+ expect(@yc).to receive(:shell_out!).with(%r{^/usr/bin/python .*/yum-dump.py --options --all-provides --yum-lock-timeout 30$}, :timeout => Chef::Config[:yum_timeout])
1883
1881
  @yc.refresh
1884
1882
  end
1885
1883
 
1886
1884
  it "should pass extra_repo_control args to yum-dump.py" do
1887
1885
  @yc.enable_extra_repo_control("--enablerepo=foo --disablerepo=bar")
1888
- expect(@yc).to receive(:shell_out!).with(%r{^/usr/bin/python .*/yum-dump.py --options --installed-provides --enablerepo=foo --disablerepo=bar --yum-lock-timeout 30$}, :timeout=>Chef::Config[:yum_timeout])
1886
+ expect(@yc).to receive(:shell_out!).with(%r{^/usr/bin/python .*/yum-dump.py --options --installed-provides --enablerepo=foo --disablerepo=bar --yum-lock-timeout 30$}, :timeout => Chef::Config[:yum_timeout])
1889
1887
  @yc.refresh
1890
1888
  end
1891
1889
 
1892
1890
  it "should pass extra_repo_control args and configured yum lock timeout to yum-dump.py" do
1893
1891
  Chef::Config[:yum_lock_timeout] = 999
1894
1892
  @yc.enable_extra_repo_control("--enablerepo=foo --disablerepo=bar")
1895
- expect(@yc).to receive(:shell_out!).with(%r{^/usr/bin/python .*/yum-dump.py --options --installed-provides --enablerepo=foo --disablerepo=bar --yum-lock-timeout 999$}, :timeout=>Chef::Config[:yum_timeout])
1893
+ expect(@yc).to receive(:shell_out!).with(%r{^/usr/bin/python .*/yum-dump.py --options --installed-provides --enablerepo=foo --disablerepo=bar --yum-lock-timeout 999$}, :timeout => Chef::Config[:yum_timeout])
1896
1894
  @yc.refresh
1897
1895
  end
1898
1896
 
@@ -1920,7 +1918,7 @@ EOF
1920
1918
  it "should raise exception yum-dump.py exits with a non zero status" do
1921
1919
  @status = double("Status", :exitstatus => 1, :stdin => @stdin, :stdout => @stdout_no_output, :stderr => @stderr)
1922
1920
  allow(@yc).to receive(:shell_out!).and_return(@status)
1923
- expect { @yc.refresh}.to raise_error(Chef::Exceptions::Package, %r{CentOS-Base.repo, line: 12})
1921
+ expect { @yc.refresh }.to raise_error(Chef::Exceptions::Package, %r{CentOS-Base.repo, line: 12})
1924
1922
  end
1925
1923
 
1926
1924
  it "should parse type 'i' into an installed state for a package" do
@@ -2115,19 +2113,19 @@ describe "Chef::Provider::Package::Yum - Multi" do
2115
2113
  @node = Chef::Node.new
2116
2114
  @events = Chef::EventDispatch::Dispatcher.new
2117
2115
  @run_context = Chef::RunContext.new(@node, {}, @events)
2118
- @new_resource = Chef::Resource::Package.new(['cups', 'vim'])
2116
+ @new_resource = Chef::Resource::Package.new(["cups", "vim"])
2119
2117
  @status = double("Status", :exitstatus => 0)
2120
2118
  @yum_cache = double(
2121
- 'Chef::Provider::Yum::YumCache',
2119
+ "Chef::Provider::Yum::YumCache",
2122
2120
  :reload_installed => true,
2123
2121
  :reset => true,
2124
- :installed_version => 'XXXX',
2125
- :candidate_version => 'YYYY',
2122
+ :installed_version => "XXXX",
2123
+ :candidate_version => "YYYY",
2126
2124
  :package_available? => true,
2127
2125
  :version_available? => true,
2128
- :allow_multi_install => [ 'kernel' ],
2129
- :package_repository => 'base',
2130
- :disable_extra_repo_control => true
2126
+ :allow_multi_install => [ "kernel" ],
2127
+ :package_repository => "base",
2128
+ :disable_extra_repo_control => true,
2131
2129
  )
2132
2130
  allow(Chef::Provider::Package::Yum::YumCache).to receive(:instance).and_return(@yum_cache)
2133
2131
  allow(@yum_cache).to receive(:yum_binary=).with("yum")
@@ -2139,12 +2137,12 @@ describe "Chef::Provider::Package::Yum - Multi" do
2139
2137
  describe "when loading the current system state" do
2140
2138
  it "should create a current resource with the name of the new_resource" do
2141
2139
  @provider.load_current_resource
2142
- expect(@provider.current_resource.name).to eq('cups, vim')
2140
+ expect(@provider.current_resource.name).to eq("cups, vim")
2143
2141
  end
2144
2142
 
2145
2143
  it "should set the current resources package name to the new resources package name" do
2146
2144
  @provider.load_current_resource
2147
- expect(@provider.current_resource.package_name).to eq(['cups', 'vim'])
2145
+ expect(@provider.current_resource.package_name).to eq(["cups", "vim"])
2148
2146
  end
2149
2147
 
2150
2148
  it "should set the installed version to nil on the current resource if no installed package" do
@@ -2154,21 +2152,21 @@ describe "Chef::Provider::Package::Yum - Multi" do
2154
2152
  end
2155
2153
 
2156
2154
  it "should set the installed version if yum has one" do
2157
- allow(@yum_cache).to receive(:installed_version).with('cups', nil).and_return('1.2.4-11.18.el5')
2158
- allow(@yum_cache).to receive(:installed_version).with('vim', nil).and_return('1.0')
2159
- allow(@yum_cache).to receive(:candidate_version).with('cups', nil).and_return('1.2.4-11.18.el5_2.3')
2160
- allow(@yum_cache).to receive(:candidate_version).with('vim', nil).and_return('1.5')
2155
+ allow(@yum_cache).to receive(:installed_version).with("cups", nil).and_return("1.2.4-11.18.el5")
2156
+ allow(@yum_cache).to receive(:installed_version).with("vim", nil).and_return("1.0")
2157
+ allow(@yum_cache).to receive(:candidate_version).with("cups", nil).and_return("1.2.4-11.18.el5_2.3")
2158
+ allow(@yum_cache).to receive(:candidate_version).with("vim", nil).and_return("1.5")
2161
2159
  @provider.load_current_resource
2162
- expect(@provider.current_resource.version).to eq(['1.2.4-11.18.el5', '1.0'])
2160
+ expect(@provider.current_resource.version).to eq(["1.2.4-11.18.el5", "1.0"])
2163
2161
  end
2164
2162
 
2165
2163
  it "should set the candidate version if yum info has one" do
2166
- allow(@yum_cache).to receive(:installed_version).with('cups', nil).and_return('1.2.4-11.18.el5')
2167
- allow(@yum_cache).to receive(:installed_version).with('vim', nil).and_return('1.0')
2168
- allow(@yum_cache).to receive(:candidate_version).with('cups', nil).and_return('1.2.4-11.18.el5_2.3')
2169
- allow(@yum_cache).to receive(:candidate_version).with('vim', nil).and_return('1.5')
2164
+ allow(@yum_cache).to receive(:installed_version).with("cups", nil).and_return("1.2.4-11.18.el5")
2165
+ allow(@yum_cache).to receive(:installed_version).with("vim", nil).and_return("1.0")
2166
+ allow(@yum_cache).to receive(:candidate_version).with("cups", nil).and_return("1.2.4-11.18.el5_2.3")
2167
+ allow(@yum_cache).to receive(:candidate_version).with("vim", nil).and_return("1.5")
2170
2168
  @provider.load_current_resource
2171
- expect(@provider.candidate_version).to eql(['1.2.4-11.18.el5_2.3', '1.5'])
2169
+ expect(@provider.candidate_version).to eql(["1.2.4-11.18.el5_2.3", "1.5"])
2172
2170
  end
2173
2171
 
2174
2172
  it "should return the current resouce" do
@@ -2177,20 +2175,20 @@ describe "Chef::Provider::Package::Yum - Multi" do
2177
2175
 
2178
2176
  describe "when version constraint in package_name" do
2179
2177
  it "should set package_version if no existing package_name is found and new_package_name is available" do
2180
- @new_resource = Chef::Resource::Package.new(['cups = 1.2.4-11.18.el5_2.3', 'emacs = 24.4'])
2178
+ @new_resource = Chef::Resource::Package.new(["cups = 1.2.4-11.18.el5_2.3", "emacs = 24.4"])
2181
2179
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
2182
- allow(@yum_cache).to receive(:package_available?) { |pkg| %w(cups emacs).include?(pkg) ? true : false }
2180
+ allow(@yum_cache).to receive(:package_available?) { |pkg| %w{cups emacs}.include?(pkg) ? true : false }
2183
2181
  allow(@yum_cache).to receive(:candidate_version) do |pkg|
2184
- if pkg == 'cups'
2182
+ if pkg == "cups"
2185
2183
  "1.2.4-11.18.el5_2.3"
2186
- elsif pkg == 'emacs'
2184
+ elsif pkg == "emacs"
2187
2185
  "24.4"
2188
2186
  end
2189
2187
  end
2190
2188
  allow(@yum_cache).to receive(:packages_from_require) do |pkg|
2191
- if pkg.name == 'cups'
2189
+ if pkg.name == "cups"
2192
2190
  [Chef::Provider::Package::Yum::RPMDbPackage.new("cups", "1.2.4-11.18.el5_2.3", "noarch", [], false, true, "base")]
2193
- elsif pkg.name == 'emacs'
2191
+ elsif pkg.name == "emacs"
2194
2192
  [Chef::Provider::Package::Yum::RPMDbPackage.new("emacs", "24.4", "noarch", [], false, true, "base")]
2195
2193
  end
2196
2194
  end
@@ -2210,12 +2208,12 @@ describe "Chef::Provider::Package::Yum - Multi" do
2210
2208
  it "should run yum install with the package name and version" do
2211
2209
  @provider.load_current_resource
2212
2210
  allow(Chef::Provider::Package::Yum::RPMUtils).to receive(:rpmvercmp).and_return(-1)
2213
- allow(@yum_cache).to receive(:installed_version).with('cups', nil).and_return('1.2.4-11.18.el5')
2214
- allow(@yum_cache).to receive(:installed_version).with('vim', nil).and_return('0.9')
2211
+ allow(@yum_cache).to receive(:installed_version).with("cups", nil).and_return("1.2.4-11.18.el5")
2212
+ allow(@yum_cache).to receive(:installed_version).with("vim", nil).and_return("0.9")
2215
2213
  expect(@provider).to receive(:yum_command).with(
2216
2214
  "-d0 -e0 -y install cups-1.2.4-11.19.el5 vim-1.0"
2217
2215
  )
2218
- @provider.install_package(["cups", "vim"], ["1.2.4-11.19.el5", '1.0'])
2216
+ @provider.install_package(["cups", "vim"], ["1.2.4-11.19.el5", "1.0"])
2219
2217
  end
2220
2218
 
2221
2219
  it "should run yum install with the package name, version and arch" do
@@ -2231,17 +2229,17 @@ describe "Chef::Provider::Package::Yum - Multi" do
2231
2229
  it "installs the package with the options given in the resource" do
2232
2230
  @provider.load_current_resource
2233
2231
  allow(Chef::Provider::Package::Yum::RPMUtils).to receive(:rpmvercmp).and_return(-1)
2234
- allow(@yum_cache).to receive(:installed_version).with('cups', nil).and_return('1.2.4-11.18.el5')
2235
- allow(@yum_cache).to receive(:installed_version).with('vim', nil).and_return('0.9')
2232
+ allow(@yum_cache).to receive(:installed_version).with("cups", nil).and_return("1.2.4-11.18.el5")
2233
+ allow(@yum_cache).to receive(:installed_version).with("vim", nil).and_return("0.9")
2236
2234
  expect(@provider).to receive(:yum_command).with(
2237
2235
  "-d0 -e0 -y --disablerepo epmd install cups-1.2.4-11.19.el5 vim-1.0"
2238
2236
  )
2239
2237
  allow(@new_resource).to receive(:options).and_return("--disablerepo epmd")
2240
- @provider.install_package(["cups", "vim"], ["1.2.4-11.19.el5", '1.0'])
2238
+ @provider.install_package(["cups", "vim"], ["1.2.4-11.19.el5", "1.0"])
2241
2239
  end
2242
2240
 
2243
2241
  it "should run yum install with the package name and version when name has arch" do
2244
- @new_resource = Chef::Resource::Package.new(['cups.x86_64', 'vim'])
2242
+ @new_resource = Chef::Resource::Package.new(["cups.x86_64", "vim"])
2245
2243
  @provider = Chef::Provider::Package::Yum.new(@new_resource, @run_context)
2246
2244
  allow(Chef::Provider::Package::Yum::RPMUtils).to receive(:rpmvercmp).and_return(-1)
2247
2245
 
@@ -2249,20 +2247,20 @@ describe "Chef::Provider::Package::Yum - Multi" do
2249
2247
  # and we need to craft the right response. The default mock setup above
2250
2248
  # will just return valid versions all the time which won't work for this
2251
2249
  # test.
2252
- allow(@yum_cache).to receive(:installed_version).with('cups', 'x86_64').and_return('XXXX')
2253
- allow(@yum_cache).to receive(:candidate_version).with('cups', 'x86_64').and_return('1.2.4-11.18.el5')
2254
- allow(@yum_cache).to receive(:installed_version).with('cups.x86_64').and_return(nil)
2255
- allow(@yum_cache).to receive(:candidate_version).with('cups.x86_64').and_return(nil)
2250
+ allow(@yum_cache).to receive(:installed_version).with("cups", "x86_64").and_return("XXXX")
2251
+ allow(@yum_cache).to receive(:candidate_version).with("cups", "x86_64").and_return("1.2.4-11.18.el5")
2252
+ allow(@yum_cache).to receive(:installed_version).with("cups.x86_64").and_return(nil)
2253
+ allow(@yum_cache).to receive(:candidate_version).with("cups.x86_64").and_return(nil)
2256
2254
 
2257
2255
  # Normal mock's for the idempotency check
2258
- allow(@yum_cache).to receive(:installed_version).with('cups', nil).and_return('1.2.4-11.18.el5')
2259
- allow(@yum_cache).to receive(:installed_version).with('vim', nil).and_return('0.9')
2256
+ allow(@yum_cache).to receive(:installed_version).with("cups", nil).and_return("1.2.4-11.18.el5")
2257
+ allow(@yum_cache).to receive(:installed_version).with("vim", nil).and_return("0.9")
2260
2258
 
2261
2259
  @provider.load_current_resource
2262
2260
  expect(@provider).to receive(:yum_command).with(
2263
2261
  "-d0 -e0 -y install cups-1.2.4-11.19.el5.x86_64 vim-1.0"
2264
2262
  )
2265
- @provider.install_package(["cups", "vim"], ["1.2.4-11.19.el5", '1.0'])
2263
+ @provider.install_package(["cups", "vim"], ["1.2.4-11.19.el5", "1.0"])
2266
2264
  end
2267
2265
 
2268
2266
  end