chef 18.8.11 → 18.8.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1125) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -19
  3. data/chef-universal-mingw-ucrt.gemspec +1 -1
  4. data/chef.gemspec +4 -5
  5. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +4 -0
  6. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +1 -5
  7. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +12 -0
  8. data/lib/chef/chef_fs/file_system.rb +18 -0
  9. data/lib/chef/property.rb +6 -6
  10. data/lib/chef/provider/package/rubygems.rb +21 -0
  11. data/lib/chef/pwsh.rb +2 -5
  12. data/lib/chef/resource/apt_repository.rb +14 -5
  13. data/lib/chef/resource/chocolatey_installer.rb +19 -4
  14. data/lib/chef/resource/ohai.rb +1 -0
  15. data/lib/chef/resource_reporter.rb +1 -1
  16. data/lib/chef/shell.rb +8 -3
  17. data/lib/chef/version.rb +1 -1
  18. metadata +14 -1121
  19. data/spec/data/apt/chef-integration-test-1.0/debian/changelog +0 -5
  20. data/spec/data/apt/chef-integration-test-1.0/debian/compat +0 -1
  21. data/spec/data/apt/chef-integration-test-1.0/debian/control +0 -13
  22. data/spec/data/apt/chef-integration-test-1.0/debian/copyright +0 -34
  23. data/spec/data/apt/chef-integration-test-1.0/debian/files +0 -1
  24. data/spec/data/apt/chef-integration-test-1.0/debian/rules +0 -13
  25. data/spec/data/apt/chef-integration-test-1.0/debian/source/format +0 -1
  26. data/spec/data/apt/chef-integration-test-1.1/debian/changelog +0 -11
  27. data/spec/data/apt/chef-integration-test-1.1/debian/compat +0 -1
  28. data/spec/data/apt/chef-integration-test-1.1/debian/control +0 -13
  29. data/spec/data/apt/chef-integration-test-1.1/debian/copyright +0 -34
  30. data/spec/data/apt/chef-integration-test-1.1/debian/files +0 -1
  31. data/spec/data/apt/chef-integration-test-1.1/debian/rules +0 -13
  32. data/spec/data/apt/chef-integration-test-1.1/debian/source/format +0 -1
  33. data/spec/data/apt/chef-integration-test2-1.0/debian/changelog +0 -5
  34. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/conffiles +0 -1
  35. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/control +0 -10
  36. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/md5sums +0 -1
  37. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.debhelper.log +0 -45
  38. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.substvars +0 -1
  39. data/spec/data/apt/chef-integration-test2-1.0/debian/compat +0 -1
  40. data/spec/data/apt/chef-integration-test2-1.0/debian/conffiles +0 -1
  41. data/spec/data/apt/chef-integration-test2-1.0/debian/control +0 -13
  42. data/spec/data/apt/chef-integration-test2-1.0/debian/copyright +0 -34
  43. data/spec/data/apt/chef-integration-test2-1.0/debian/files +0 -1
  44. data/spec/data/apt/chef-integration-test2-1.0/debian/rules +0 -13
  45. data/spec/data/apt/chef-integration-test2-1.0/debian/source/format +0 -1
  46. data/spec/data/apt/chef-integration-test2_1.0-1.debian.tar.gz +0 -0
  47. data/spec/data/apt/chef-integration-test2_1.0-1.dsc +0 -18
  48. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.build +0 -91
  49. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.changes +0 -31
  50. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.deb +0 -0
  51. data/spec/data/apt/chef-integration-test2_1.0.orig.tar.gz +0 -0
  52. data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +0 -22
  53. data/spec/data/apt/chef-integration-test_1.0-1_amd64.deb +0 -0
  54. data/spec/data/apt/chef-integration-test_1.0.orig.tar.gz +0 -0
  55. data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +0 -22
  56. data/spec/data/apt/chef-integration-test_1.1-1_amd64.deb +0 -0
  57. data/spec/data/apt/chef-integration-test_1.1.orig.tar.gz +0 -0
  58. data/spec/data/apt/var/www/apt/conf/distributions +0 -7
  59. data/spec/data/apt/var/www/apt/conf/incoming +0 -4
  60. data/spec/data/apt/var/www/apt/conf/pulls +0 -3
  61. data/spec/data/apt/var/www/apt/db/checksums.db +0 -0
  62. data/spec/data/apt/var/www/apt/db/contents.cache.db +0 -0
  63. data/spec/data/apt/var/www/apt/db/packages.db +0 -0
  64. data/spec/data/apt/var/www/apt/db/references.db +0 -0
  65. data/spec/data/apt/var/www/apt/db/release.caches.db +0 -0
  66. data/spec/data/apt/var/www/apt/db/version +0 -4
  67. data/spec/data/apt/var/www/apt/dists/sid/Release +0 -19
  68. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +0 -16
  69. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages.gz +0 -0
  70. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +0 -5
  71. data/spec/data/apt/var/www/apt/dists/sid/main/binary-i386/Packages +0 -0
  72. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.0-1_amd64.deb +0 -0
  73. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.1-1_amd64.deb +0 -0
  74. data/spec/data/archive_file/test_archive.tar.gz +0 -0
  75. data/spec/data/bad-config.rb +0 -1
  76. data/spec/data/bootstrap/encrypted_data_bag_secret +0 -1
  77. data/spec/data/bootstrap/no_proxy.erb +0 -2
  78. data/spec/data/bootstrap/secret.erb +0 -9
  79. data/spec/data/bootstrap/test-hints.erb +0 -12
  80. data/spec/data/bootstrap/test.erb +0 -1
  81. data/spec/data/cb_version_cookbooks/cookbook2/files/test.txt +0 -0
  82. data/spec/data/cb_version_cookbooks/cookbook2/templates/test.erb +0 -0
  83. data/spec/data/cb_version_cookbooks/tatft/README.rdoc +0 -3
  84. data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +0 -1
  85. data/spec/data/cb_version_cookbooks/tatft/definitions/runit_service.rb +0 -1
  86. data/spec/data/cb_version_cookbooks/tatft/files/default/giant_blob.tgz +0 -1
  87. data/spec/data/cb_version_cookbooks/tatft/libraries/ownage.rb +0 -1
  88. data/spec/data/cb_version_cookbooks/tatft/providers/lwp.rb +0 -1
  89. data/spec/data/cb_version_cookbooks/tatft/recipes/default.rb +0 -1
  90. data/spec/data/cb_version_cookbooks/tatft/resources/lwr.rb +0 -1
  91. data/spec/data/cb_version_cookbooks/tatft/templates/default/configuration.erb +0 -0
  92. data/spec/data/checksum/random.txt +0 -1
  93. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +0 -1
  94. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-6m8zdk-0 +0 -0
  95. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +0 -1
  96. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +0 -1
  97. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +0 -1
  98. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +0 -1
  99. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +0 -1
  100. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +0 -1
  101. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +0 -1
  102. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +0 -1
  103. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +0 -1
  104. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +0 -1
  105. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +0 -1
  106. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +0 -1
  107. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +0 -1
  108. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +0 -1
  109. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +0 -1
  110. data/spec/data/client.d_00/00-foo.rb +0 -2
  111. data/spec/data/client.d_00/01-bar.rb +0 -1
  112. data/spec/data/client.d_00/02-strings.rb +0 -2
  113. data/spec/data/client.d_00/bar +0 -1
  114. data/spec/data/client.d_01/foo/bar.rb +0 -1
  115. data/spec/data/client.d_02/foo.rb/foo.txt +0 -1
  116. data/spec/data/config.rb +0 -6
  117. data/spec/data/cookbooks/angrybash/metadata.rb +0 -2
  118. data/spec/data/cookbooks/angrybash/recipes/default.rb +0 -8
  119. data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +0 -2
  120. data/spec/data/cookbooks/apache2/metadata.json +0 -33
  121. data/spec/data/cookbooks/apache2/metadata.rb +0 -2
  122. data/spec/data/cookbooks/apache2/recipes/default.rb +0 -3
  123. data/spec/data/cookbooks/borken/metadata.rb +0 -2
  124. data/spec/data/cookbooks/borken/recipes/default.rb +0 -2
  125. data/spec/data/cookbooks/borken/templates/default/borken.erb +0 -2
  126. data/spec/data/cookbooks/chefignore +0 -8
  127. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +0 -2
  128. data/spec/data/cookbooks/ignorken/metadata.rb +0 -2
  129. data/spec/data/cookbooks/ignorken/recipes/default.rb +0 -1
  130. data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +0 -2
  131. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +0 -2
  132. data/spec/data/cookbooks/irssi/files/default/irssi.response +0 -2
  133. data/spec/data/cookbooks/java/files/default/java.response +0 -2
  134. data/spec/data/cookbooks/java/metadata.json +0 -33
  135. data/spec/data/cookbooks/java/metadata.rb +0 -2
  136. data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +0 -4
  137. data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +0 -8
  138. data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +0 -8
  139. data/spec/data/cookbooks/openldap/.root_dotfile +0 -0
  140. data/spec/data/cookbooks/openldap/attributes/default.rb +0 -16
  141. data/spec/data/cookbooks/openldap/attributes/smokey.rb +0 -1
  142. data/spec/data/cookbooks/openldap/definitions/client.rb +0 -5
  143. data/spec/data/cookbooks/openldap/definitions/server.rb +0 -5
  144. data/spec/data/cookbooks/openldap/files/default/.dotfile +0 -1
  145. data/spec/data/cookbooks/openldap/files/default/.ssh/id_rsa +0 -1
  146. data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +0 -1
  147. data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +0 -2
  148. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +0 -3
  149. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +0 -3
  150. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +0 -1
  151. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +0 -3
  152. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +0 -3
  153. data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +0 -3
  154. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +0 -3
  155. data/spec/data/cookbooks/openldap/libraries/openldap.rb +0 -4
  156. data/spec/data/cookbooks/openldap/metadata.rb +0 -8
  157. data/spec/data/cookbooks/openldap/recipes/default.rb +0 -4
  158. data/spec/data/cookbooks/openldap/recipes/gigantor.rb +0 -3
  159. data/spec/data/cookbooks/openldap/recipes/one.rb +0 -15
  160. data/spec/data/cookbooks/openldap/recipes/return.rb +0 -2
  161. data/spec/data/cookbooks/openldap/spec/spec_helper.rb +0 -0
  162. data/spec/data/cookbooks/openldap/templates/default/all_windows_line_endings.erb +0 -4
  163. data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +0 -1
  164. data/spec/data/cookbooks/openldap/templates/default/helpers.erb +0 -14
  165. data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +0 -1
  166. data/spec/data/cookbooks/openldap/templates/default/nested_openldap_partials.erb +0 -1
  167. data/spec/data/cookbooks/openldap/templates/default/nested_partial.erb +0 -1
  168. data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +0 -4
  169. data/spec/data/cookbooks/openldap/templates/default/openldap_nested_variable_stuff.erb +0 -1
  170. data/spec/data/cookbooks/openldap/templates/default/openldap_stuff.conf.erb +0 -1
  171. data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +0 -1
  172. data/spec/data/cookbooks/openldap/templates/default/some_windows_line_endings.erb +0 -4
  173. data/spec/data/cookbooks/openldap/templates/default/test.erb +0 -1
  174. data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +0 -1
  175. data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +0 -4
  176. data/spec/data/cookbooks/preseed/metadata.rb +0 -2
  177. data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +0 -1
  178. data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +0 -1
  179. data/spec/data/cookbooks/starter/chefignore +0 -8
  180. data/spec/data/cookbooks/starter/files/sample.txt +0 -1
  181. data/spec/data/cookbooks/starter/metadata.rb +0 -2
  182. data/spec/data/cookbooks/starter/recipes/default.rb +0 -4
  183. data/spec/data/cookbooks/supports-platform-constraints/metadata.rb +0 -5
  184. data/spec/data/cookbooks/wget/files/default/wget.response +0 -2
  185. data/spec/data/definitions/test.rb +0 -5
  186. data/spec/data/dsc_lcm.pfx +0 -0
  187. data/spec/data/environment-config.rb +0 -5
  188. data/spec/data/file-providers-method-snapshot-chef-11-4.json +0 -127
  189. data/spec/data/fileedit/blank +0 -0
  190. data/spec/data/fileedit/hosts +0 -4
  191. data/spec/data/gems/chef-integration-test-0.1.0.gem +0 -0
  192. data/spec/data/git_bundles/example-repo.gitbundle +0 -0
  193. data/spec/data/git_bundles/sinatra-test-app-with-callback-files.gitbundle +0 -0
  194. data/spec/data/git_bundles/sinatra-test-app-with-symlinks.gitbundle +0 -0
  195. data/spec/data/git_bundles/sinatra-test-app.gitbundle +0 -0
  196. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +0 -4
  197. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +0 -13
  198. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +0 -8
  199. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +0 -4
  200. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +0 -9
  201. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +0 -8
  202. data/spec/data/kitchen/chefignore +0 -6
  203. data/spec/data/kitchen/openldap/attributes/default.rb +0 -3
  204. data/spec/data/kitchen/openldap/attributes/robinson.rb +0 -3
  205. data/spec/data/kitchen/openldap/definitions/client.rb +0 -3
  206. data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +0 -3
  207. data/spec/data/kitchen/openldap/recipes/gigantor.rb +0 -3
  208. data/spec/data/kitchen/openldap/recipes/ignoreme.rb +0 -3
  209. data/spec/data/kitchen/openldap/recipes/woot.rb +0 -3
  210. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  211. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  212. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  213. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  214. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  215. data/spec/data/lwrp/providers/buck_passer.rb +0 -28
  216. data/spec/data/lwrp/providers/buck_passer_2.rb +0 -26
  217. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +0 -28
  218. data/spec/data/lwrp/providers/inline_compiler.rb +0 -24
  219. data/spec/data/lwrp/providers/monkey_name_printer.rb +0 -5
  220. data/spec/data/lwrp/providers/paint_drying_watcher.rb +0 -7
  221. data/spec/data/lwrp/providers/thumb_twiddler.rb +0 -7
  222. data/spec/data/lwrp/resources/bar.rb +0 -4
  223. data/spec/data/lwrp/resources/buck_passer.rb +0 -6
  224. data/spec/data/lwrp/resources/buck_passer_2.rb +0 -4
  225. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +0 -4
  226. data/spec/data/lwrp/resources/foo.rb +0 -6
  227. data/spec/data/lwrp/resources/inline_compiler.rb +0 -4
  228. data/spec/data/lwrp/resources/monkey_name_printer.rb +0 -6
  229. data/spec/data/lwrp/resources/paint_drying_watcher.rb +0 -4
  230. data/spec/data/lwrp/resources/thumb_twiddler.rb +0 -4
  231. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +0 -3
  232. data/spec/data/lwrp_const_scoping/resources/conflict.rb +0 -1
  233. data/spec/data/lwrp_override/providers/buck_passer.rb +0 -5
  234. data/spec/data/lwrp_override/resources/foo.rb +0 -11
  235. data/spec/data/mac_users/10.9.plist.xml +0 -560
  236. data/spec/data/mac_users/10.9.shadow.xml +0 -21
  237. data/spec/data/metadata/quick_start/metadata.rb +0 -14
  238. data/spec/data/mixin/invalid_data.rb +0 -3
  239. data/spec/data/mixin/real_data.rb +0 -2
  240. data/spec/data/nested.json +0 -2
  241. data/spec/data/nodes/default.rb +0 -15
  242. data/spec/data/nodes/test.example.com.rb +0 -17
  243. data/spec/data/nodes/test.rb +0 -15
  244. data/spec/data/null_config.rb +0 -1
  245. data/spec/data/object_loader/environments/test.json +0 -7
  246. data/spec/data/object_loader/environments/test.rb +0 -2
  247. data/spec/data/object_loader/environments/test_json_class.json +0 -8
  248. data/spec/data/object_loader/nodes/test.json +0 -7
  249. data/spec/data/object_loader/nodes/test.rb +0 -2
  250. data/spec/data/object_loader/nodes/test_json_class.json +0 -8
  251. data/spec/data/object_loader/roles/test.json +0 -7
  252. data/spec/data/object_loader/roles/test.rb +0 -2
  253. data/spec/data/object_loader/roles/test_json_class.json +0 -8
  254. data/spec/data/old_home_dir/my-dot-emacs +0 -0
  255. data/spec/data/old_home_dir/my-dot-vim +0 -0
  256. data/spec/data/partial_one.erb +0 -1
  257. data/spec/data/prefer_metadata_json/metadata.json +0 -51
  258. data/spec/data/prefer_metadata_json/metadata.rb +0 -6
  259. data/spec/data/prefer_metadata_json/recipes/default.rb +0 -0
  260. data/spec/data/recipes/test.rb +0 -7
  261. data/spec/data/recipes.tgz +0 -0
  262. data/spec/data/remote_directory_data/remote_dir_file.txt +0 -1
  263. data/spec/data/remote_directory_data/remote_subdirectory/remote_subdir_file.txt +0 -1
  264. data/spec/data/remote_file/nyan_cat.png +0 -0
  265. data/spec/data/remote_file/nyan_cat.png.gz +0 -0
  266. data/spec/data/root_alias_cookbooks/dup_attr/attributes/default.rb +0 -1
  267. data/spec/data/root_alias_cookbooks/dup_attr/attributes.rb +0 -1
  268. data/spec/data/root_alias_cookbooks/dup_attr/metadata.rb +0 -2
  269. data/spec/data/root_alias_cookbooks/dup_attr/recipe.rb +0 -3
  270. data/spec/data/root_alias_cookbooks/dup_recipe/attributes.rb +0 -1
  271. data/spec/data/root_alias_cookbooks/dup_recipe/metadata.rb +0 -2
  272. data/spec/data/root_alias_cookbooks/dup_recipe/recipe.rb +0 -3
  273. data/spec/data/root_alias_cookbooks/dup_recipe/recipes/default.rb +0 -3
  274. data/spec/data/root_alias_cookbooks/simple/attributes.rb +0 -1
  275. data/spec/data/root_alias_cookbooks/simple/metadata.rb +0 -2
  276. data/spec/data/root_alias_cookbooks/simple/recipe.rb +0 -3
  277. data/spec/data/rubygems.org/latest_specs.4.8.gz +0 -0
  278. data/spec/data/rubygems.org/nonexistent_gem +0 -0
  279. data/spec/data/rubygems.org/nonexistent_gem-info +0 -1
  280. data/spec/data/rubygems.org/sexp_processor +0 -0
  281. data/spec/data/rubygems.org/sexp_processor-4.15.1.gemspec.rz +0 -0
  282. data/spec/data/rubygems.org/sexp_processor-info +0 -50
  283. data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +0 -2
  284. data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +0 -1
  285. data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +0 -2
  286. data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +0 -2
  287. data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +0 -1
  288. data/spec/data/run_context/cookbooks/circular-dep1/recipes/default.rb +0 -0
  289. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +0 -2
  290. data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +0 -2
  291. data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +0 -1
  292. data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +0 -2
  293. data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +0 -2
  294. data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +0 -1
  295. data/spec/data/run_context/cookbooks/circular-dep2/recipes/default.rb +0 -0
  296. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +0 -2
  297. data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +0 -2
  298. data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +0 -2
  299. data/spec/data/run_context/cookbooks/dependency1/attributes/unparsed_file +0 -1
  300. data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +0 -2
  301. data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +0 -1
  302. data/spec/data/run_context/cookbooks/dependency1/definitions/unparsed_file +0 -1
  303. data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +0 -2
  304. data/spec/data/run_context/cookbooks/dependency1/libraries/unparsed_file +0 -1
  305. data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +0 -1
  306. data/spec/data/run_context/cookbooks/dependency1/providers/unparsed_file +0 -1
  307. data/spec/data/run_context/cookbooks/dependency1/recipes/default.rb +0 -0
  308. data/spec/data/run_context/cookbooks/dependency1/recipes/unparsed_file +0 -1
  309. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +0 -2
  310. data/spec/data/run_context/cookbooks/dependency1/resources/unparsed_file +0 -1
  311. data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +0 -2
  312. data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +0 -1
  313. data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +0 -2
  314. data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +0 -1
  315. data/spec/data/run_context/cookbooks/dependency2/recipes/default.rb +0 -0
  316. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +0 -2
  317. data/spec/data/run_context/cookbooks/include/recipes/default.rb +0 -24
  318. data/spec/data/run_context/cookbooks/include/recipes/includee.rb +0 -3
  319. data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +0 -2
  320. data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +0 -1
  321. data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +0 -1
  322. data/spec/data/run_context/cookbooks/no-default-attr/recipes/default.rb +0 -0
  323. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +0 -2
  324. data/spec/data/run_context/cookbooks/test/attributes/default.rb +0 -0
  325. data/spec/data/run_context/cookbooks/test/attributes/george.rb +0 -1
  326. data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +0 -9
  327. data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +0 -5
  328. data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +0 -1
  329. data/spec/data/run_context/cookbooks/test/providers/provider.rb +0 -1
  330. data/spec/data/run_context/cookbooks/test/recipes/default.rb +0 -5
  331. data/spec/data/run_context/cookbooks/test/recipes/one.rb +0 -7
  332. data/spec/data/run_context/cookbooks/test/recipes/two.rb +0 -7
  333. data/spec/data/run_context/cookbooks/test/resources/resource.rb +0 -3
  334. data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +0 -2
  335. data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +0 -1
  336. data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +0 -2
  337. data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +0 -2
  338. data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +0 -1
  339. data/spec/data/run_context/cookbooks/test-with-circular-deps/recipes/default.rb +0 -0
  340. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +0 -3
  341. data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +0 -2
  342. data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +0 -1
  343. data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +0 -1
  344. data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +0 -3
  345. data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +0 -1
  346. data/spec/data/run_context/cookbooks/test-with-deps/recipes/default.rb +0 -0
  347. data/spec/data/run_context/cookbooks/test-with-deps/recipes/server.rb +0 -0
  348. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +0 -2
  349. data/spec/data/run_context/nodes/run_context.rb +0 -5
  350. data/spec/data/sample_msu1.xml +0 -10
  351. data/spec/data/sample_msu2.xml +0 -14
  352. data/spec/data/sample_msu3.xml +0 -16
  353. data/spec/data/search_queries_to_transform.txt +0 -98
  354. data/spec/data/shef-config.rb +0 -11
  355. data/spec/data/snap_package/async_result_success.json +0 -6
  356. data/spec/data/snap_package/change_id_result.json +0 -175
  357. data/spec/data/snap_package/find_result_failure.json +0 -10
  358. data/spec/data/snap_package/find_result_success.json +0 -70
  359. data/spec/data/snap_package/get_by_name_result_failure.json +0 -10
  360. data/spec/data/snap_package/get_by_name_result_success.json +0 -38
  361. data/spec/data/snap_package/get_conf_success.json +0 -10
  362. data/spec/data/snap_package/result_failure.json +0 -9
  363. data/spec/data/ssl/5e707473.0 +0 -18
  364. data/spec/data/ssl/binary/chef-rspec-der.cert +0 -0
  365. data/spec/data/ssl/binary/chef-rspec-der.key +0 -0
  366. data/spec/data/ssl/chef-rspec.cert +0 -27
  367. data/spec/data/ssl/chef-rspec.key +0 -27
  368. data/spec/data/ssl/key.pem +0 -15
  369. data/spec/data/ssl/private_key.pem +0 -27
  370. data/spec/data/ssl/private_key_with_whitespace.pem +0 -32
  371. data/spec/data/standalone_cookbook/Gemfile +0 -1
  372. data/spec/data/standalone_cookbook/chefignore +0 -9
  373. data/spec/data/standalone_cookbook/recipes/default.rb +0 -3
  374. data/spec/data/standalone_cookbook/vendor/bundle/ruby/2.0.0/gems/multi_json-1.9.0/lib/multi_json.rb +0 -1
  375. data/spec/data/templates/chef-seattle20160930-4388-1crv7ef.txt +0 -1
  376. data/spec/data/templates/chef-seattle20160930-4388-jjfoae.txt +0 -1
  377. data/spec/data/templates/chef-seattle20160930-4388-umeq2c.txt +0 -1
  378. data/spec/data/templates/failed.erb +0 -5
  379. data/spec/data/templates/seattle.txt +0 -1
  380. data/spec/data/trusted_certs/example.crt +0 -31
  381. data/spec/data/trusted_certs/example_no_cn.crt +0 -32
  382. data/spec/data/trusted_certs/intermediate.pem +0 -38
  383. data/spec/data/trusted_certs/opscode.pem +0 -36
  384. data/spec/data/trusted_certs/root.pem +0 -22
  385. data/spec/data/windows_certificates/base64_test.cer +0 -20
  386. data/spec/data/windows_certificates/othertest.cer +0 -20
  387. data/spec/data/windows_certificates/test.cer +0 -20
  388. data/spec/data/windows_certificates/test.p7b +0 -0
  389. data/spec/data/windows_certificates/test.pem +0 -20
  390. data/spec/data/windows_certificates/test.pfx +0 -0
  391. data/spec/functional/application_spec.rb +0 -58
  392. data/spec/functional/assets/PkgA.1.0.0.0.bff +0 -0
  393. data/spec/functional/assets/PkgA.2.0.0.0.bff +0 -0
  394. data/spec/functional/assets/chefinittest +0 -36
  395. data/spec/functional/assets/chocolatey_feed/test-A.1.0.0.nupkg +0 -0
  396. data/spec/functional/assets/chocolatey_feed/test-A.1.5.0.nupkg +0 -0
  397. data/spec/functional/assets/chocolatey_feed/test-A.2.0.0.nupkg +0 -0
  398. data/spec/functional/assets/chocolatey_feed/test-B.1.0.0.nupkg +0 -0
  399. data/spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm +0 -0
  400. data/spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm +0 -0
  401. data/spec/functional/assets/inittest +0 -37
  402. data/spec/functional/assets/mytest-1.0-1.noarch.rpm +0 -0
  403. data/spec/functional/assets/mytest-2.0-1.noarch.rpm +0 -0
  404. data/spec/functional/assets/testchefsubsys +0 -10
  405. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  406. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.i686.rpm +0 -0
  407. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  408. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  409. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  410. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.src.rpm +0 -0
  411. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  412. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  413. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.i686.rpm +0 -0
  414. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  415. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  416. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  417. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.src.rpm +0 -0
  418. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  419. data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
  420. data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
  421. data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
  422. data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
  423. data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
  424. data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
  425. data/spec/functional/assets/yumrepo/repodata/filelists.xml.gz +0 -0
  426. data/spec/functional/assets/yumrepo/repodata/other.xml.gz +0 -0
  427. data/spec/functional/assets/yumrepo/repodata/primary.xml.gz +0 -0
  428. data/spec/functional/assets/yumrepo/repodata/repomd.xml +0 -21
  429. data/spec/functional/assets/yumrepo-empty/repodata/01a3b-filelists.sqlite.bz2 +0 -0
  430. data/spec/functional/assets/yumrepo-empty/repodata/401dc-filelists.xml.gz +0 -0
  431. data/spec/functional/assets/yumrepo-empty/repodata/5dc1e-primary.sqlite.bz2 +0 -0
  432. data/spec/functional/assets/yumrepo-empty/repodata/6bf96-other.xml.gz +0 -0
  433. data/spec/functional/assets/yumrepo-empty/repodata/7c365-other.sqlite.bz2 +0 -0
  434. data/spec/functional/assets/yumrepo-empty/repodata/dabe2-primary.xml.gz +0 -0
  435. data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +0 -55
  436. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  437. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.i686.rpm +0 -0
  438. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  439. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  440. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  441. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.src.rpm +0 -0
  442. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  443. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  444. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.i686.rpm +0 -0
  445. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  446. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  447. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  448. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.src.rpm +0 -0
  449. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  450. data/spec/functional/dsl/reboot_pending_spec.rb +0 -88
  451. data/spec/functional/dsl/registry_helper_spec.rb +0 -61
  452. data/spec/functional/event_loggers/windows_eventlog_spec.rb +0 -107
  453. data/spec/functional/file_content_management/deploy_strategies_spec.rb +0 -229
  454. data/spec/functional/http/simple_spec.rb +0 -146
  455. data/spec/functional/mixin/from_file_spec.rb +0 -93
  456. data/spec/functional/mixin/powershell_out_spec.rb +0 -51
  457. data/spec/functional/mixin/shell_out_spec.rb +0 -48
  458. data/spec/functional/mixin/user_context_spec.rb +0 -119
  459. data/spec/functional/notifications_spec.rb +0 -238
  460. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +0 -100
  461. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +0 -51
  462. data/spec/functional/rebooter_spec.rb +0 -117
  463. data/spec/functional/resource/aix_service_spec.rb +0 -145
  464. data/spec/functional/resource/aixinit_service_spec.rb +0 -210
  465. data/spec/functional/resource/apt_package_spec.rb +0 -383
  466. data/spec/functional/resource/archive_file_spec.rb +0 -88
  467. data/spec/functional/resource/bash_spec.rb +0 -55
  468. data/spec/functional/resource/batch_spec.rb +0 -34
  469. data/spec/functional/resource/bff_spec.rb +0 -120
  470. data/spec/functional/resource/chocolatey_package_spec.rb +0 -194
  471. data/spec/functional/resource/cookbook_file_spec.rb +0 -79
  472. data/spec/functional/resource/cron_spec.rb +0 -179
  473. data/spec/functional/resource/directory_spec.rb +0 -43
  474. data/spec/functional/resource/dnf_package_spec.rb +0 -1629
  475. data/spec/functional/resource/dpkg_package_spec.rb +0 -355
  476. data/spec/functional/resource/dsc_resource_spec.rb +0 -91
  477. data/spec/functional/resource/dsc_script_spec.rb +0 -476
  478. data/spec/functional/resource/execute_spec.rb +0 -171
  479. data/spec/functional/resource/file_spec.rb +0 -167
  480. data/spec/functional/resource/git_spec.rb +0 -330
  481. data/spec/functional/resource/group_spec.rb +0 -486
  482. data/spec/functional/resource/ifconfig_spec.rb +0 -178
  483. data/spec/functional/resource/insserv_spec.rb +0 -206
  484. data/spec/functional/resource/launchd_spec.rb +0 -232
  485. data/spec/functional/resource/link_spec.rb +0 -704
  486. data/spec/functional/resource/locale_spec.rb +0 -108
  487. data/spec/functional/resource/macos_userdefaults_spec.rb +0 -139
  488. data/spec/functional/resource/mount_spec.rb +0 -219
  489. data/spec/functional/resource/msu_package_spec.rb +0 -107
  490. data/spec/functional/resource/ohai_spec.rb +0 -54
  491. data/spec/functional/resource/plist_spec.rb +0 -25
  492. data/spec/functional/resource/powershell_package_source_spec.rb +0 -106
  493. data/spec/functional/resource/powershell_script_spec.rb +0 -588
  494. data/spec/functional/resource/reboot_spec.rb +0 -103
  495. data/spec/functional/resource/registry_spec.rb +0 -300
  496. data/spec/functional/resource/remote_directory_spec.rb +0 -220
  497. data/spec/functional/resource/remote_file_spec.rb +0 -418
  498. data/spec/functional/resource/rpm_spec.rb +0 -120
  499. data/spec/functional/resource/template_spec.rb +0 -245
  500. data/spec/functional/resource/timezone_spec.rb +0 -41
  501. data/spec/functional/resource/user/linux_user_spec.rb +0 -127
  502. data/spec/functional/resource/user/mac_user_spec.rb +0 -207
  503. data/spec/functional/resource/user/windows_spec.rb +0 -245
  504. data/spec/functional/resource/windows_certificate_spec.rb +0 -401
  505. data/spec/functional/resource/windows_env_spec.rb +0 -285
  506. data/spec/functional/resource/windows_firewall_rule_spec.rb +0 -93
  507. data/spec/functional/resource/windows_font_spec.rb +0 -52
  508. data/spec/functional/resource/windows_hostname_spec.rb +0 -91
  509. data/spec/functional/resource/windows_package_spec.rb +0 -193
  510. data/spec/functional/resource/windows_pagefile_spec.rb +0 -125
  511. data/spec/functional/resource/windows_path_spec.rb +0 -68
  512. data/spec/functional/resource/windows_security_policy_spec.rb +0 -86
  513. data/spec/functional/resource/windows_share_spec.rb +0 -103
  514. data/spec/functional/resource/windows_task_spec.rb +0 -1969
  515. data/spec/functional/resource/windows_user_privilege_spec.rb +0 -192
  516. data/spec/functional/resource/yum_package_spec.rb +0 -1739
  517. data/spec/functional/resource/zypper_package_spec.rb +0 -276
  518. data/spec/functional/root_alias_spec.rb +0 -78
  519. data/spec/functional/run_lock_spec.rb +0 -481
  520. data/spec/functional/shell_spec.rb +0 -149
  521. data/spec/functional/tiny_server_spec.rb +0 -79
  522. data/spec/functional/util/path_helper_spec.rb +0 -37
  523. data/spec/functional/version_spec.rb +0 -36
  524. data/spec/functional/win32/crypto_spec.rb +0 -54
  525. data/spec/functional/win32/registry_spec.rb +0 -618
  526. data/spec/functional/win32/security_spec.rb +0 -233
  527. data/spec/functional/win32/sid_spec.rb +0 -55
  528. data/spec/functional/win32/version_info_spec.rb +0 -50
  529. data/spec/functional/win32/versions_spec.rb +0 -115
  530. data/spec/integration/client/client_spec.rb +0 -963
  531. data/spec/integration/client/exit_code_spec.rb +0 -116
  532. data/spec/integration/client/fips_spec.rb +0 -29
  533. data/spec/integration/client/ipv6_spec.rb +0 -135
  534. data/spec/integration/client/open_ssl_spec.rb +0 -25
  535. data/spec/integration/compliance/compliance_spec.rb +0 -143
  536. data/spec/integration/ohai/ohai_spec.rb +0 -62
  537. data/spec/integration/recipes/accumulator_spec.rb +0 -245
  538. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +0 -176
  539. data/spec/integration/recipes/lwrp_spec.rb +0 -56
  540. data/spec/integration/recipes/noop_resource_spec.rb +0 -24
  541. data/spec/integration/recipes/notifies_spec.rb +0 -438
  542. data/spec/integration/recipes/notifying_block_spec.rb +0 -116
  543. data/spec/integration/recipes/provider_choice.rb +0 -38
  544. data/spec/integration/recipes/recipe_dsl_spec.rb +0 -1281
  545. data/spec/integration/recipes/remote_directory.rb +0 -74
  546. data/spec/integration/recipes/resource_action_spec.rb +0 -524
  547. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +0 -554
  548. data/spec/integration/recipes/resource_load_spec.rb +0 -315
  549. data/spec/integration/recipes/unified_mode_spec.rb +0 -947
  550. data/spec/integration/recipes/use_partial_spec.rb +0 -116
  551. data/spec/integration/solo/solo_spec.rb +0 -219
  552. data/spec/rcov.opts +0 -2
  553. data/spec/spec_helper.rb +0 -350
  554. data/spec/stress/win32/file_spec.rb +0 -37
  555. data/spec/stress/win32/memory_spec.rb +0 -22
  556. data/spec/stress/win32/security_spec.rb +0 -69
  557. data/spec/support/chef_helpers.rb +0 -79
  558. data/spec/support/key_helpers.rb +0 -102
  559. data/spec/support/lib/chef/provider/easy.rb +0 -35
  560. data/spec/support/lib/chef/provider/openldap_includer.rb +0 -29
  561. data/spec/support/lib/chef/provider/snakeoil.rb +0 -42
  562. data/spec/support/lib/chef/resource/cat.rb +0 -39
  563. data/spec/support/lib/chef/resource/one_two_three_four.rb +0 -36
  564. data/spec/support/lib/chef/resource/openldap_includer.rb +0 -28
  565. data/spec/support/lib/chef/resource/with_state.rb +0 -29
  566. data/spec/support/lib/chef/resource/zen_follower.rb +0 -36
  567. data/spec/support/lib/chef/resource/zen_master.rb +0 -39
  568. data/spec/support/lib/library_load_order.rb +0 -20
  569. data/spec/support/matchers/leak.rb +0 -96
  570. data/spec/support/mock/platform.rb +0 -33
  571. data/spec/support/platform_helpers.rb +0 -284
  572. data/spec/support/platforms/prof/gc.rb +0 -51
  573. data/spec/support/platforms/prof/win32.rb +0 -45
  574. data/spec/support/platforms/win32/spec_service.rb +0 -57
  575. data/spec/support/recipe_dsl_helper.rb +0 -83
  576. data/spec/support/ruby_installer.rb +0 -51
  577. data/spec/support/shared/context/config.rb +0 -18
  578. data/spec/support/shared/context/win32.rb +0 -34
  579. data/spec/support/shared/functional/diff_disabled.rb +0 -10
  580. data/spec/support/shared/functional/directory_resource.rb +0 -178
  581. data/spec/support/shared/functional/execute_resource.rb +0 -150
  582. data/spec/support/shared/functional/file_resource.rb +0 -1047
  583. data/spec/support/shared/functional/http.rb +0 -224
  584. data/spec/support/shared/functional/knife.rb +0 -37
  585. data/spec/support/shared/functional/securable_resource.rb +0 -654
  586. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -393
  587. data/spec/support/shared/functional/windows_script.rb +0 -260
  588. data/spec/support/shared/integration/integration_helper.rb +0 -122
  589. data/spec/support/shared/integration/knife_support.rb +0 -192
  590. data/spec/support/shared/matchers/exit_with_code.rb +0 -32
  591. data/spec/support/shared/matchers/match_environment_variable.rb +0 -17
  592. data/spec/support/shared/shared_examples.rb +0 -14
  593. data/spec/support/shared/unit/api_error_inspector.rb +0 -190
  594. data/spec/support/shared/unit/api_versioning.rb +0 -77
  595. data/spec/support/shared/unit/application_dot_d.rb +0 -82
  596. data/spec/support/shared/unit/execute_resource.rb +0 -166
  597. data/spec/support/shared/unit/file_system_support.rb +0 -70
  598. data/spec/support/shared/unit/knife_shared.rb +0 -39
  599. data/spec/support/shared/unit/mock_shellout.rb +0 -49
  600. data/spec/support/shared/unit/platform_introspector.rb +0 -189
  601. data/spec/support/shared/unit/provider/file.rb +0 -877
  602. data/spec/support/shared/unit/provider/package/package_shared.rb +0 -95
  603. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +0 -410
  604. data/spec/support/shared/unit/resource/static_provider_resolution.rb +0 -63
  605. data/spec/support/shared/unit/script_resource.rb +0 -74
  606. data/spec/support/shared/unit/user_and_client_shared.rb +0 -114
  607. data/spec/support/shared/unit/windows_script_resource.rb +0 -65
  608. data/spec/tiny_server.rb +0 -193
  609. data/spec/unit/action_collection_spec.rb +0 -19
  610. data/spec/unit/api_client/registration_spec.rb +0 -278
  611. data/spec/unit/api_client_spec.rb +0 -341
  612. data/spec/unit/api_client_v1_spec.rb +0 -455
  613. data/spec/unit/application/agent_spec.rb +0 -0
  614. data/spec/unit/application/apply_spec.rb +0 -116
  615. data/spec/unit/application/base_spec.rb +0 -40
  616. data/spec/unit/application/client_spec.rb +0 -588
  617. data/spec/unit/application/exit_code_spec.rb +0 -145
  618. data/spec/unit/application/server_spec.rb +0 -0
  619. data/spec/unit/application/solo_spec.rb +0 -218
  620. data/spec/unit/application_spec.rb +0 -587
  621. data/spec/unit/chef_class_spec.rb +0 -240
  622. data/spec/unit/chef_fs/config_spec.rb +0 -235
  623. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +0 -82
  624. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +0 -65
  625. data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +0 -63
  626. data/spec/unit/chef_fs/diff_spec.rb +0 -328
  627. data/spec/unit/chef_fs/file_pattern_spec.rb +0 -512
  628. data/spec/unit/chef_fs/file_system/cookbook_subdir_spec.rb +0 -34
  629. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +0 -45
  630. data/spec/unit/chef_fs/file_system/repository/base_file_spec.rb +0 -126
  631. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +0 -175
  632. data/spec/unit/chef_fs/file_system_spec.rb +0 -150
  633. data/spec/unit/chef_fs/path_util_spec.rb +0 -108
  634. data/spec/unit/chef_spec.rb +0 -25
  635. data/spec/unit/client_spec.rb +0 -881
  636. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -126
  637. data/spec/unit/compliance/fetcher/chef_server_spec.rb +0 -93
  638. data/spec/unit/compliance/input_spec.rb +0 -104
  639. data/spec/unit/compliance/profile_spec.rb +0 -120
  640. data/spec/unit/compliance/reporter/automate_spec.rb +0 -451
  641. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +0 -197
  642. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +0 -49
  643. data/spec/unit/compliance/runner_spec.rb +0 -354
  644. data/spec/unit/compliance/waiver_spec.rb +0 -104
  645. data/spec/unit/config_fetcher_spec.rb +0 -125
  646. data/spec/unit/config_spec.rb +0 -31
  647. data/spec/unit/cookbook/chefignore_spec.rb +0 -69
  648. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +0 -213
  649. data/spec/unit/cookbook/file_vendor_spec.rb +0 -123
  650. data/spec/unit/cookbook/gem_installer_spec.rb +0 -114
  651. data/spec/unit/cookbook/manifest_v0_spec.rb +0 -133
  652. data/spec/unit/cookbook/manifest_v2_spec.rb +0 -70
  653. data/spec/unit/cookbook/metadata_spec.rb +0 -610
  654. data/spec/unit/cookbook/synchronizer_spec.rb +0 -560
  655. data/spec/unit/cookbook/syntax_check_spec.rb +0 -229
  656. data/spec/unit/cookbook_loader_spec.rb +0 -265
  657. data/spec/unit/cookbook_manifest_spec.rb +0 -228
  658. data/spec/unit/cookbook_spec.rb +0 -62
  659. data/spec/unit/cookbook_uploader_spec.rb +0 -205
  660. data/spec/unit/cookbook_version_file_specificity_spec.rb +0 -623
  661. data/spec/unit/cookbook_version_spec.rb +0 -341
  662. data/spec/unit/daemon_spec.rb +0 -179
  663. data/spec/unit/data_bag_item_spec.rb +0 -387
  664. data/spec/unit/data_bag_spec.rb +0 -263
  665. data/spec/unit/data_collector/config_validation_spec.rb +0 -208
  666. data/spec/unit/data_collector_spec.rb +0 -1076
  667. data/spec/unit/decorator/lazy_array_spec.rb +0 -58
  668. data/spec/unit/decorator/lazy_spec.rb +0 -39
  669. data/spec/unit/decorator_spec.rb +0 -142
  670. data/spec/unit/delayed_evaluator_spec.rb +0 -35
  671. data/spec/unit/deprecated_spec.rb +0 -65
  672. data/spec/unit/deprecation_spec.rb +0 -129
  673. data/spec/unit/digester_spec.rb +0 -49
  674. data/spec/unit/dsl/data_query_spec.rb +0 -108
  675. data/spec/unit/dsl/declare_resource_spec.rb +0 -374
  676. data/spec/unit/dsl/platform_introspection_spec.rb +0 -160
  677. data/spec/unit/dsl/reboot_pending_spec.rb +0 -87
  678. data/spec/unit/dsl/recipe_spec.rb +0 -76
  679. data/spec/unit/dsl/registry_helper_spec.rb +0 -52
  680. data/spec/unit/dsl/render_helpers_spec.rb +0 -102
  681. data/spec/unit/dsl/resources_spec.rb +0 -85
  682. data/spec/unit/dsl/secret_spec.rb +0 -175
  683. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +0 -97
  684. data/spec/unit/encrypted_data_bag_item_spec.rb +0 -439
  685. data/spec/unit/environment_spec.rb +0 -476
  686. data/spec/unit/event_dispatch/dispatcher_spec.rb +0 -172
  687. data/spec/unit/event_dispatch/dsl_spec.rb +0 -83
  688. data/spec/unit/exceptions_spec.rb +0 -132
  689. data/spec/unit/file_access_control_spec.rb +0 -308
  690. data/spec/unit/file_cache_spec.rb +0 -178
  691. data/spec/unit/file_content_management/deploy/cp_spec.rb +0 -44
  692. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +0 -113
  693. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +0 -232
  694. data/spec/unit/file_content_management/tempfile_spec.rb +0 -115
  695. data/spec/unit/formatters/base_spec.rb +0 -100
  696. data/spec/unit/formatters/doc_spec.rb +0 -110
  697. data/spec/unit/formatters/error_description_spec.rb +0 -141
  698. data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +0 -76
  699. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +0 -265
  700. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +0 -126
  701. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +0 -43
  702. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +0 -26
  703. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +0 -26
  704. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +0 -191
  705. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +0 -91
  706. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +0 -155
  707. data/spec/unit/guard_interpreter_spec.rb +0 -41
  708. data/spec/unit/handler/json_file_spec.rb +0 -63
  709. data/spec/unit/handler_spec.rb +0 -308
  710. data/spec/unit/http/api_versions_spec.rb +0 -100
  711. data/spec/unit/http/authenticator_spec.rb +0 -247
  712. data/spec/unit/http/basic_client_spec.rb +0 -102
  713. data/spec/unit/http/http_request_spec.rb +0 -97
  714. data/spec/unit/http/json_input_spec.rb +0 -128
  715. data/spec/unit/http/simple_spec.rb +0 -32
  716. data/spec/unit/http/socketless_chef_zero_client_spec.rb +0 -174
  717. data/spec/unit/http/ssl_policies_spec.rb +0 -228
  718. data/spec/unit/http/validate_content_length_spec.rb +0 -207
  719. data/spec/unit/http_spec.rb +0 -235
  720. data/spec/unit/json_compat_spec.rb +0 -73
  721. data/spec/unit/key_spec.rb +0 -631
  722. data/spec/unit/log/syslog_spec.rb +0 -47
  723. data/spec/unit/log/winevt_spec.rb +0 -62
  724. data/spec/unit/lwrp_spec.rb +0 -693
  725. data/spec/unit/mixin/api_version_request_handling_spec.rb +0 -126
  726. data/spec/unit/mixin/checksum_spec.rb +0 -82
  727. data/spec/unit/mixin/convert_to_class_name_spec.rb +0 -54
  728. data/spec/unit/mixin/deep_merge_spec.rb +0 -357
  729. data/spec/unit/mixin/default_paths_spec.rb +0 -92
  730. data/spec/unit/mixin/deprecation_spec.rb +0 -57
  731. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +0 -96
  732. data/spec/unit/mixin/homebrew_spec.rb +0 -118
  733. data/spec/unit/mixin/lazy_module_include.rb +0 -71
  734. data/spec/unit/mixin/openssl_helper_spec.rb +0 -897
  735. data/spec/unit/mixin/params_validate_spec.rb +0 -422
  736. data/spec/unit/mixin/powershell_exec_spec.rb +0 -90
  737. data/spec/unit/mixin/powershell_out_spec.rb +0 -106
  738. data/spec/unit/mixin/powershell_type_coercions_spec.rb +0 -84
  739. data/spec/unit/mixin/properties_spec.rb +0 -107
  740. data/spec/unit/mixin/proxified_socket_spec.rb +0 -97
  741. data/spec/unit/mixin/securable_spec.rb +0 -313
  742. data/spec/unit/mixin/shell_out_spec.rb +0 -308
  743. data/spec/unit/mixin/subclass_directive_spec.rb +0 -45
  744. data/spec/unit/mixin/template_spec.rb +0 -317
  745. data/spec/unit/mixin/unformatter_spec.rb +0 -60
  746. data/spec/unit/mixin/uris_spec.rb +0 -57
  747. data/spec/unit/mixin/user_context_spec.rb +0 -99
  748. data/spec/unit/mixin/versioned_api_spec.rb +0 -128
  749. data/spec/unit/mixin/which.rb +0 -170
  750. data/spec/unit/mixin/why_run_spec.rb +0 -53
  751. data/spec/unit/mixin/windows_architecture_helper_spec.rb +0 -85
  752. data/spec/unit/mixin/xml_escape_spec.rb +0 -54
  753. data/spec/unit/monologger_spec.rb +0 -45
  754. data/spec/unit/node/attribute_spec.rb +0 -1322
  755. data/spec/unit/node/immutable_collections_spec.rb +0 -258
  756. data/spec/unit/node/vivid_mash_spec.rb +0 -500
  757. data/spec/unit/node_map_spec.rb +0 -276
  758. data/spec/unit/node_spec.rb +0 -2038
  759. data/spec/unit/org_group_spec.rb +0 -45
  760. data/spec/unit/org_spec.rb +0 -196
  761. data/spec/unit/platform/query_helpers_spec.rb +0 -48
  762. data/spec/unit/policy_builder/dynamic_spec.rb +0 -256
  763. data/spec/unit/policy_builder/expand_node_object_spec.rb +0 -311
  764. data/spec/unit/policy_builder/policyfile_spec.rb +0 -960
  765. data/spec/unit/policy_builder_spec.rb +0 -26
  766. data/spec/unit/property/state_spec.rb +0 -514
  767. data/spec/unit/property/validation_spec.rb +0 -813
  768. data/spec/unit/property_spec.rb +0 -1329
  769. data/spec/unit/provider/apt_preference_spec.rb +0 -91
  770. data/spec/unit/provider/apt_repository_spec.rb +0 -370
  771. data/spec/unit/provider/apt_update_spec.rb +0 -119
  772. data/spec/unit/provider/batch_spec.rb +0 -130
  773. data/spec/unit/provider/cookbook_file/content_spec.rb +0 -39
  774. data/spec/unit/provider/cookbook_file_spec.rb +0 -59
  775. data/spec/unit/provider/cron/unix_spec.rb +0 -144
  776. data/spec/unit/provider/cron_spec.rb +0 -1252
  777. data/spec/unit/provider/directory_spec.rb +0 -289
  778. data/spec/unit/provider/dsc_resource_spec.rb +0 -313
  779. data/spec/unit/provider/dsc_script_spec.rb +0 -173
  780. data/spec/unit/provider/execute_spec.rb +0 -244
  781. data/spec/unit/provider/file/content_spec.rb +0 -114
  782. data/spec/unit/provider/file_spec.rb +0 -58
  783. data/spec/unit/provider/git_spec.rb +0 -822
  784. data/spec/unit/provider/group/dscl_spec.rb +0 -339
  785. data/spec/unit/provider/group/gpasswd_spec.rb +0 -119
  786. data/spec/unit/provider/group/groupadd_spec.rb +0 -195
  787. data/spec/unit/provider/group/groupmod_spec.rb +0 -136
  788. data/spec/unit/provider/group/pw_spec.rb +0 -141
  789. data/spec/unit/provider/group/solaris_spec.rb +0 -106
  790. data/spec/unit/provider/group/usermod_spec.rb +0 -112
  791. data/spec/unit/provider/group/windows_spec.rb +0 -130
  792. data/spec/unit/provider/group_spec.rb +0 -285
  793. data/spec/unit/provider/http_request_spec.rb +0 -147
  794. data/spec/unit/provider/ifconfig/aix_spec.rb +0 -180
  795. data/spec/unit/provider/ifconfig/debian_spec.rb +0 -332
  796. data/spec/unit/provider/ifconfig/redhat_spec.rb +0 -83
  797. data/spec/unit/provider/ifconfig_spec.rb +0 -247
  798. data/spec/unit/provider/launchd_spec.rb +0 -234
  799. data/spec/unit/provider/link_spec.rb +0 -425
  800. data/spec/unit/provider/log_spec.rb +0 -94
  801. data/spec/unit/provider/mdadm_spec.rb +0 -138
  802. data/spec/unit/provider/mount/aix_spec.rb +0 -277
  803. data/spec/unit/provider/mount/linux_spec.rb +0 -131
  804. data/spec/unit/provider/mount/mount_spec.rb +0 -590
  805. data/spec/unit/provider/mount/solaris_spec.rb +0 -822
  806. data/spec/unit/provider/mount/windows_spec.rb +0 -150
  807. data/spec/unit/provider/mount_spec.rb +0 -222
  808. data/spec/unit/provider/package/apt_spec.rb +0 -703
  809. data/spec/unit/provider/package/bff_spec.rb +0 -188
  810. data/spec/unit/provider/package/cab_spec.rb +0 -272
  811. data/spec/unit/provider/package/chocolatey_spec.rb +0 -574
  812. data/spec/unit/provider/package/deb_spec.rb +0 -135
  813. data/spec/unit/provider/package/dnf/python_helper_spec.rb +0 -36
  814. data/spec/unit/provider/package/dpkg_spec.rb +0 -314
  815. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +0 -147
  816. data/spec/unit/provider/package/freebsd/port_spec.rb +0 -151
  817. data/spec/unit/provider/package/homebrew_spec.rb +0 -402
  818. data/spec/unit/provider/package/ips_spec.rb +0 -233
  819. data/spec/unit/provider/package/macports_spec.rb +0 -203
  820. data/spec/unit/provider/package/msu_spec.rb +0 -283
  821. data/spec/unit/provider/package/openbsd_spec.rb +0 -136
  822. data/spec/unit/provider/package/pacman_spec.rb +0 -109
  823. data/spec/unit/provider/package/paludis_spec.rb +0 -134
  824. data/spec/unit/provider/package/portage_spec.rb +0 -179
  825. data/spec/unit/provider/package/powershell_spec.rb +0 -565
  826. data/spec/unit/provider/package/rpm_spec.rb +0 -440
  827. data/spec/unit/provider/package/rubygems_spec.rb +0 -1187
  828. data/spec/unit/provider/package/smartos_spec.rb +0 -110
  829. data/spec/unit/provider/package/snap_spec.rb +0 -208
  830. data/spec/unit/provider/package/solaris_spec.rb +0 -168
  831. data/spec/unit/provider/package/windows/exe_spec.rb +0 -201
  832. data/spec/unit/provider/package/windows/msi_spec.rb +0 -168
  833. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +0 -78
  834. data/spec/unit/provider/package/windows_spec.rb +0 -441
  835. data/spec/unit/provider/package/yum/python_helper_spec.rb +0 -30
  836. data/spec/unit/provider/package/yum/yum_cache_spec.rb +0 -109
  837. data/spec/unit/provider/package/zypper_spec.rb +0 -494
  838. data/spec/unit/provider/package_spec.rb +0 -791
  839. data/spec/unit/provider/powershell_script_spec.rb +0 -157
  840. data/spec/unit/provider/registry_key_spec.rb +0 -487
  841. data/spec/unit/provider/remote_directory_spec.rb +0 -236
  842. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +0 -245
  843. data/spec/unit/provider/remote_file/content_spec.rb +0 -253
  844. data/spec/unit/provider/remote_file/fetcher_spec.rb +0 -95
  845. data/spec/unit/provider/remote_file/ftp_spec.rb +0 -217
  846. data/spec/unit/provider/remote_file/http_spec.rb +0 -334
  847. data/spec/unit/provider/remote_file/local_file_spec.rb +0 -105
  848. data/spec/unit/provider/remote_file/network_file_spec.rb +0 -50
  849. data/spec/unit/provider/remote_file/sftp_spec.rb +0 -150
  850. data/spec/unit/provider/remote_file_spec.rb +0 -61
  851. data/spec/unit/provider/route_spec.rb +0 -268
  852. data/spec/unit/provider/ruby_block_spec.rb +0 -45
  853. data/spec/unit/provider/script_spec.rb +0 -67
  854. data/spec/unit/provider/service/aix_service_spec.rb +0 -195
  855. data/spec/unit/provider/service/aixinit_service_spec.rb +0 -272
  856. data/spec/unit/provider/service/arch_service_spec.rb +0 -326
  857. data/spec/unit/provider/service/debian_service_spec.rb +0 -273
  858. data/spec/unit/provider/service/freebsd_service_spec.rb +0 -621
  859. data/spec/unit/provider/service/gentoo_service_spec.rb +0 -145
  860. data/spec/unit/provider/service/init_service_spec.rb +0 -235
  861. data/spec/unit/provider/service/insserv_service_spec.rb +0 -75
  862. data/spec/unit/provider/service/invokercd_service_spec.rb +0 -211
  863. data/spec/unit/provider/service/macosx_spec.rb +0 -337
  864. data/spec/unit/provider/service/openbsd_service_spec.rb +0 -553
  865. data/spec/unit/provider/service/redhat_spec.rb +0 -253
  866. data/spec/unit/provider/service/simple_service_spec.rb +0 -171
  867. data/spec/unit/provider/service/solaris_smf_service_spec.rb +0 -292
  868. data/spec/unit/provider/service/systemd_service_spec.rb +0 -504
  869. data/spec/unit/provider/service/upstart_service_spec.rb +0 -322
  870. data/spec/unit/provider/service/windows_spec.rb +0 -986
  871. data/spec/unit/provider/service_spec.rb +0 -168
  872. data/spec/unit/provider/subversion_spec.rb +0 -364
  873. data/spec/unit/provider/systemd_unit_spec.rb +0 -1039
  874. data/spec/unit/provider/template/content_spec.rb +0 -169
  875. data/spec/unit/provider/template_spec.rb +0 -86
  876. data/spec/unit/provider/user/aix_spec.rb +0 -96
  877. data/spec/unit/provider/user/linux_spec.rb +0 -178
  878. data/spec/unit/provider/user/mac_spec.rb +0 -38
  879. data/spec/unit/provider/user/pw_spec.rb +0 -235
  880. data/spec/unit/provider/user/solaris_spec.rb +0 -177
  881. data/spec/unit/provider/user/windows_spec.rb +0 -198
  882. data/spec/unit/provider/user_spec.rb +0 -520
  883. data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +0 -46
  884. data/spec/unit/provider/windows_env_spec.rb +0 -385
  885. data/spec/unit/provider/windows_path_spec.rb +0 -60
  886. data/spec/unit/provider/windows_task_spec.rb +0 -436
  887. data/spec/unit/provider/yum_repository_spec.rb +0 -35
  888. data/spec/unit/provider/zypper_repository_spec.rb +0 -169
  889. data/spec/unit/provider_spec.rb +0 -215
  890. data/spec/unit/pure_application_spec.rb +0 -32
  891. data/spec/unit/recipe_spec.rb +0 -703
  892. data/spec/unit/resource/alternatives_spec.rb +0 -120
  893. data/spec/unit/resource/apt_package_spec.rb +0 -71
  894. data/spec/unit/resource/apt_preference_spec.rb +0 -39
  895. data/spec/unit/resource/apt_repository_spec.rb +0 -79
  896. data/spec/unit/resource/apt_update_spec.rb +0 -44
  897. data/spec/unit/resource/archive_file_spec.rb +0 -466
  898. data/spec/unit/resource/bash_spec.rb +0 -45
  899. data/spec/unit/resource/batch_spec.rb +0 -46
  900. data/spec/unit/resource/bff_package_spec.rb +0 -51
  901. data/spec/unit/resource/breakpoint_spec.rb +0 -64
  902. data/spec/unit/resource/build_essential_spec.rb +0 -77
  903. data/spec/unit/resource/cab_package_spec.rb +0 -64
  904. data/spec/unit/resource/chef_client_config_spec.rb +0 -145
  905. data/spec/unit/resource/chef_client_cron_spec.rb +0 -161
  906. data/spec/unit/resource/chef_client_launchd_spec.rb +0 -132
  907. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +0 -186
  908. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +0 -108
  909. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -68
  910. data/spec/unit/resource/chef_gem_spec.rb +0 -122
  911. data/spec/unit/resource/chef_handler_spec.rb +0 -40
  912. data/spec/unit/resource/chef_sleep_spec.rb +0 -30
  913. data/spec/unit/resource/chef_vault_secret_spec.rb +0 -40
  914. data/spec/unit/resource/chocolatey_config_spec.rb +0 -93
  915. data/spec/unit/resource/chocolatey_feature_spec.rb +0 -89
  916. data/spec/unit/resource/chocolatey_installer_spec.rb +0 -151
  917. data/spec/unit/resource/chocolatey_package_spec.rb +0 -106
  918. data/spec/unit/resource/chocolatey_source_spec.rb +0 -151
  919. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +0 -45
  920. data/spec/unit/resource/conditional_spec.rb +0 -254
  921. data/spec/unit/resource/cookbook_file_spec.rb +0 -93
  922. data/spec/unit/resource/cron_access_spec.rb +0 -36
  923. data/spec/unit/resource/cron_d_spec.rb +0 -84
  924. data/spec/unit/resource/cron_spec.rb +0 -167
  925. data/spec/unit/resource/csh_spec.rb +0 -45
  926. data/spec/unit/resource/directory_spec.rb +0 -69
  927. data/spec/unit/resource/dmg_package_spec.rb +0 -39
  928. data/spec/unit/resource/dnf_package_spec.rb +0 -114
  929. data/spec/unit/resource/dpkg_package_spec.rb +0 -72
  930. data/spec/unit/resource/dsc_resource_spec.rb +0 -102
  931. data/spec/unit/resource/dsc_script_spec.rb +0 -134
  932. data/spec/unit/resource/execute_spec.rb +0 -282
  933. data/spec/unit/resource/file/verification/json_spec.rb +0 -72
  934. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +0 -103
  935. data/spec/unit/resource/file/verification/yaml_spec.rb +0 -67
  936. data/spec/unit/resource/file/verification_spec.rb +0 -147
  937. data/spec/unit/resource/file_spec.rb +0 -127
  938. data/spec/unit/resource/freebsd_package_spec.rb +0 -77
  939. data/spec/unit/resource/gem_package_spec.rb +0 -67
  940. data/spec/unit/resource/group_spec.rb +0 -165
  941. data/spec/unit/resource/helpers/cron_validations_spec.rb +0 -81
  942. data/spec/unit/resource/homebrew_cask_spec.rb +0 -58
  943. data/spec/unit/resource/homebrew_package_spec.rb +0 -68
  944. data/spec/unit/resource/homebrew_tap_spec.rb +0 -44
  945. data/spec/unit/resource/homebrew_update_spec.rb +0 -30
  946. data/spec/unit/resource/hostname_spec.rb +0 -47
  947. data/spec/unit/resource/http_request_spec.rb +0 -65
  948. data/spec/unit/resource/ifconfig_spec.rb +0 -101
  949. data/spec/unit/resource/inspec_input_spec.rb +0 -300
  950. data/spec/unit/resource/inspec_waiver_file_entry_spec.rb +0 -80
  951. data/spec/unit/resource/inspec_waiver_spec.rb +0 -312
  952. data/spec/unit/resource/ips_package_spec.rb +0 -54
  953. data/spec/unit/resource/kernel_module_spec.rb +0 -45
  954. data/spec/unit/resource/ksh_spec.rb +0 -45
  955. data/spec/unit/resource/launchd_spec.rb +0 -48
  956. data/spec/unit/resource/link_spec.rb +0 -120
  957. data/spec/unit/resource/locale_spec.rb +0 -189
  958. data/spec/unit/resource/log_spec.rb +0 -64
  959. data/spec/unit/resource/macos_pkg_spec.rb +0 -38
  960. data/spec/unit/resource/macos_user_defaults_spec.rb +0 -76
  961. data/spec/unit/resource/macosx_service.rb +0 -37
  962. data/spec/unit/resource/macports_package_spec.rb +0 -51
  963. data/spec/unit/resource/mdadm_spec.rb +0 -104
  964. data/spec/unit/resource/mount_spec.rb +0 -201
  965. data/spec/unit/resource/msu_package_spec.rb +0 -67
  966. data/spec/unit/resource/notify_group_spec.rb +0 -34
  967. data/spec/unit/resource/ohai_hint_spec.rb +0 -44
  968. data/spec/unit/resource/ohai_spec.rb +0 -185
  969. data/spec/unit/resource/openbsd_package_spec.rb +0 -58
  970. data/spec/unit/resource/openssl_dhparam_spec.rb +0 -61
  971. data/spec/unit/resource/openssl_ec_private_key_spec.rb +0 -64
  972. data/spec/unit/resource/openssl_ec_public_key_spec.rb +0 -43
  973. data/spec/unit/resource/openssl_rsa_private_key_spec.rb +0 -64
  974. data/spec/unit/resource/openssl_rsa_public_key_spec.rb +0 -43
  975. data/spec/unit/resource/openssl_x509_certificate_spec.rb +0 -72
  976. data/spec/unit/resource/openssl_x509_crl_spec.rb +0 -61
  977. data/spec/unit/resource/openssl_x509_request.rb +0 -68
  978. data/spec/unit/resource/osx_profile_spec.rb +0 -360
  979. data/spec/unit/resource/package_spec.rb +0 -98
  980. data/spec/unit/resource/pacman_package_spec.rb +0 -46
  981. data/spec/unit/resource/paludis_package_spec.rb +0 -36
  982. data/spec/unit/resource/perl_spec.rb +0 -44
  983. data/spec/unit/resource/plist_spec.rb +0 -130
  984. data/spec/unit/resource/portage_package_spec.rb +0 -46
  985. data/spec/unit/resource/powershell_package_source_spec.rb +0 -220
  986. data/spec/unit/resource/powershell_package_spec.rb +0 -98
  987. data/spec/unit/resource/powershell_script_spec.rb +0 -65
  988. data/spec/unit/resource/python_spec.rb +0 -40
  989. data/spec/unit/resource/reboot_spec.rb +0 -47
  990. data/spec/unit/resource/registry_key_spec.rb +0 -215
  991. data/spec/unit/resource/remote_directory_spec.rb +0 -118
  992. data/spec/unit/resource/remote_file_spec.rb +0 -220
  993. data/spec/unit/resource/resource_notification_spec.rb +0 -169
  994. data/spec/unit/resource/rest_resource_spec.rb +0 -381
  995. data/spec/unit/resource/rhsm_errata_level_spec.rb +0 -50
  996. data/spec/unit/resource/rhsm_errata_spec.rb +0 -39
  997. data/spec/unit/resource/rhsm_register_spec.rb +0 -308
  998. data/spec/unit/resource/rhsm_repo_spec.rb +0 -70
  999. data/spec/unit/resource/rhsm_subscription_spec.rb +0 -145
  1000. data/spec/unit/resource/route_spec.rb +0 -100
  1001. data/spec/unit/resource/rpm_package_spec.rb +0 -62
  1002. data/spec/unit/resource/ruby_block_spec.rb +0 -58
  1003. data/spec/unit/resource/ruby_spec.rb +0 -39
  1004. data/spec/unit/resource/scm/git_spec.rb +0 -110
  1005. data/spec/unit/resource/scm/scm.rb +0 -122
  1006. data/spec/unit/resource/scm/subversion_spec.rb +0 -90
  1007. data/spec/unit/resource/script_spec.rb +0 -57
  1008. data/spec/unit/resource/selinux_boolean_spec.rb +0 -92
  1009. data/spec/unit/resource/selinux_fcontext_spec.rb +0 -65
  1010. data/spec/unit/resource/selinux_install_spec.rb +0 -60
  1011. data/spec/unit/resource/selinux_login_spec.rb +0 -73
  1012. data/spec/unit/resource/selinux_module_spec.rb +0 -55
  1013. data/spec/unit/resource/selinux_permissive_spec.rb +0 -39
  1014. data/spec/unit/resource/selinux_port_spec.rb +0 -42
  1015. data/spec/unit/resource/selinux_state_spec.rb +0 -46
  1016. data/spec/unit/resource/selinux_user_spec.rb +0 -92
  1017. data/spec/unit/resource/service_spec.rb +0 -203
  1018. data/spec/unit/resource/smartos_package_spec.rb +0 -52
  1019. data/spec/unit/resource/snap_package_spec.rb +0 -60
  1020. data/spec/unit/resource/solaris_package_spec.rb +0 -52
  1021. data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +0 -50
  1022. data/spec/unit/resource/sudo_spec.rb +0 -99
  1023. data/spec/unit/resource/swap_file_spec.rb +0 -39
  1024. data/spec/unit/resource/sysctl_spec.rb +0 -76
  1025. data/spec/unit/resource/systemd_unit_spec.rb +0 -130
  1026. data/spec/unit/resource/template_spec.rb +0 -222
  1027. data/spec/unit/resource/timezone_spec.rb +0 -102
  1028. data/spec/unit/resource/user/linux_user_spec.rb +0 -42
  1029. data/spec/unit/resource/user/windows_user_spec.rb +0 -36
  1030. data/spec/unit/resource/user_spec.rb +0 -121
  1031. data/spec/unit/resource/user_ulimit_spec.rb +0 -66
  1032. data/spec/unit/resource/windows_ad_join_spec.rb +0 -55
  1033. data/spec/unit/resource/windows_audit_policy_spec.rb +0 -64
  1034. data/spec/unit/resource/windows_auto_run_spec.rb +0 -50
  1035. data/spec/unit/resource/windows_certificate_spec.rb +0 -95
  1036. data/spec/unit/resource/windows_defender_exclusion_spec.rb +0 -62
  1037. data/spec/unit/resource/windows_defender_spec.rb +0 -71
  1038. data/spec/unit/resource/windows_dfs_folder_spec.rb +0 -39
  1039. data/spec/unit/resource/windows_dfs_namespace_spec.rb +0 -39
  1040. data/spec/unit/resource/windows_dfs_server_spec.rb +0 -34
  1041. data/spec/unit/resource/windows_dns_record_spec.rb +0 -55
  1042. data/spec/unit/resource/windows_dns_zone_spec.rb +0 -51
  1043. data/spec/unit/resource/windows_env_spec.rb +0 -75
  1044. data/spec/unit/resource/windows_feature_dism_spec.rb +0 -57
  1045. data/spec/unit/resource/windows_feature_powershell_spec.rb +0 -83
  1046. data/spec/unit/resource/windows_feature_spec.rb +0 -64
  1047. data/spec/unit/resource/windows_firewall_profile_spec.rb +0 -77
  1048. data/spec/unit/resource/windows_firewall_rule_spec.rb +0 -510
  1049. data/spec/unit/resource/windows_font_spec.rb +0 -43
  1050. data/spec/unit/resource/windows_package_spec.rb +0 -125
  1051. data/spec/unit/resource/windows_pagefile_spec.rb +0 -44
  1052. data/spec/unit/resource/windows_path_spec.rb +0 -40
  1053. data/spec/unit/resource/windows_printer_port_spec.rb +0 -62
  1054. data/spec/unit/resource/windows_printer_spec.rb +0 -52
  1055. data/spec/unit/resource/windows_service_spec.rb +0 -122
  1056. data/spec/unit/resource/windows_share_spec.rb +0 -48
  1057. data/spec/unit/resource/windows_shortcut_spec.rb +0 -38
  1058. data/spec/unit/resource/windows_task_spec.rb +0 -403
  1059. data/spec/unit/resource/windows_uac_spec.rb +0 -50
  1060. data/spec/unit/resource/windows_update_settings_spec.rb +0 -64
  1061. data/spec/unit/resource/windows_user_privilege_spec.rb +0 -55
  1062. data/spec/unit/resource/windows_workgroup_spec.rb +0 -74
  1063. data/spec/unit/resource/yum_package_spec.rb +0 -159
  1064. data/spec/unit/resource/yum_repository_spec.rb +0 -156
  1065. data/spec/unit/resource/zypper_package_spec.rb +0 -51
  1066. data/spec/unit/resource/zypper_repository_spec.rb +0 -115
  1067. data/spec/unit/resource_builder_spec.rb +0 -1
  1068. data/spec/unit/resource_collection/resource_list_spec.rb +0 -137
  1069. data/spec/unit/resource_collection/resource_set_spec.rb +0 -244
  1070. data/spec/unit/resource_collection/stepable_iterator_spec.rb +0 -144
  1071. data/spec/unit/resource_collection_spec.rb +0 -408
  1072. data/spec/unit/resource_definition_spec.rb +0 -117
  1073. data/spec/unit/resource_inspector_spec.rb +0 -101
  1074. data/spec/unit/resource_reporter_spec.rb +0 -802
  1075. data/spec/unit/resource_resolver_spec.rb +0 -52
  1076. data/spec/unit/resource_spec.rb +0 -1484
  1077. data/spec/unit/role_spec.rb +0 -363
  1078. data/spec/unit/run_context/child_run_context_spec.rb +0 -126
  1079. data/spec/unit/run_context/cookbook_compiler_spec.rb +0 -236
  1080. data/spec/unit/run_context_spec.rb +0 -257
  1081. data/spec/unit/run_list/run_list_expansion_spec.rb +0 -147
  1082. data/spec/unit/run_list/run_list_item_spec.rb +0 -117
  1083. data/spec/unit/run_list/versioned_recipe_list_spec.rb +0 -197
  1084. data/spec/unit/run_list_spec.rb +0 -312
  1085. data/spec/unit/run_lock_spec.rb +0 -144
  1086. data/spec/unit/run_status_spec.rb +0 -144
  1087. data/spec/unit/runner_spec.rb +0 -397
  1088. data/spec/unit/scan_access_control_spec.rb +0 -183
  1089. data/spec/unit/search/query_spec.rb +0 -291
  1090. data/spec/unit/secret_fetcher/akeyless_vault_spec.rb +0 -37
  1091. data/spec/unit/secret_fetcher/aws_secrets_manager_spec.rb +0 -70
  1092. data/spec/unit/secret_fetcher/azure_key_vault_spec.rb +0 -149
  1093. data/spec/unit/secret_fetcher/hashi_vault_spec.rb +0 -126
  1094. data/spec/unit/secret_fetcher_spec.rb +0 -82
  1095. data/spec/unit/server_api_spec.rb +0 -151
  1096. data/spec/unit/server_api_versions_spec.rb +0 -66
  1097. data/spec/unit/shell/model_wrapper_spec.rb +0 -96
  1098. data/spec/unit/shell/shell_ext_spec.rb +0 -196
  1099. data/spec/unit/shell/shell_session_spec.rb +0 -218
  1100. data/spec/unit/shell_spec.rb +0 -178
  1101. data/spec/unit/train_transport_spec.rb +0 -85
  1102. data/spec/unit/user_spec.rb +0 -275
  1103. data/spec/unit/user_v1_spec.rb +0 -585
  1104. data/spec/unit/util/backup_spec.rb +0 -141
  1105. data/spec/unit/util/diff_spec.rb +0 -562
  1106. data/spec/unit/util/dsc/configuration_generator_spec.rb +0 -272
  1107. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +0 -248
  1108. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +0 -192
  1109. data/spec/unit/util/dsc/resource_store.rb +0 -78
  1110. data/spec/unit/util/editor_spec.rb +0 -152
  1111. data/spec/unit/util/file_edit_spec.rb +0 -224
  1112. data/spec/unit/util/powershell/ps_credential_spec.rb +0 -51
  1113. data/spec/unit/util/selinux_spec.rb +0 -160
  1114. data/spec/unit/util/threaded_job_queue_spec.rb +0 -60
  1115. data/spec/unit/util/windows/logon_session_spec.rb +0 -285
  1116. data/spec/unit/version/platform_spec.rb +0 -60
  1117. data/spec/unit/version_class_spec.rb +0 -171
  1118. data/spec/unit/version_constraint/platform_spec.rb +0 -45
  1119. data/spec/unit/version_constraint_spec.rb +0 -179
  1120. data/spec/unit/version_string_spec.rb +0 -79
  1121. data/spec/unit/win32/error_spec.rb +0 -77
  1122. data/spec/unit/win32/link_spec.rb +0 -73
  1123. data/spec/unit/win32/registry_spec.rb +0 -394
  1124. data/spec/unit/win32/security_spec.rb +0 -136
  1125. data/tasks/rspec.rb +0 -87
@@ -1,1322 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Author:: AJ Christensen (<aj@chef.io>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- require "spec_helper"
21
- require "chef/node/attribute"
22
-
23
- describe Chef::Node::Attribute do
24
- let(:events) { instance_double(Chef::EventDispatch::Dispatcher) }
25
- let(:run_context) { instance_double(Chef::RunContext, events: events) }
26
- let(:node) { instance_double(Chef::Node, run_context: run_context) }
27
- before(:each) do
28
- allow(events).to receive(:attribute_changed)
29
- @attribute_hash =
30
- { "dmi" => {},
31
- "command" => { "ps" => "ps -ef" },
32
- "platform_version" => "10.5.7",
33
- "platform" => "mac_os_x",
34
- "ipaddress" => "192.168.0.117",
35
- "network" => { "default_interface" => "en1",
36
- "interfaces" => { "vmnet1" => { "flags" => %w{UP BROADCAST SMART RUNNING SIMPLEX MULTICAST},
37
- "number" => "1",
38
- "addresses" => { "00:50:56:c0:00:01" => { "family" => "lladdr" },
39
- "192.168.110.1" => { "broadcast" => "192.168.110.255",
40
- "netmask" => "255.255.255.0",
41
- "family" => "inet" } },
42
- "mtu" => "1500",
43
- "type" => "vmnet",
44
- "arp" => { "192.168.110.255" => "ff:ff:ff:ff:ff:ff" },
45
- "encapsulation" => "Ethernet" },
46
- "stf0" => { "flags" => [],
47
- "number" => "0",
48
- "addresses" => {},
49
- "mtu" => "1280",
50
- "type" => "stf",
51
- "encapsulation" => "6to4" },
52
- "lo0" => { "flags" => %w{UP LOOPBACK RUNNING MULTICAST},
53
- "number" => "0",
54
- "addresses" => { "::1" => { "scope" => "Node", "prefixlen" => "128", "family" => "inet6" },
55
- "127.0.0.1" => { "netmask" => "255.0.0.0", "family" => "inet" },
56
- "fe80::1" => { "scope" => "Link", "prefixlen" => "64", "family" => "inet6" } },
57
- "mtu" => "16384",
58
- "type" => "lo",
59
- "encapsulation" => "Loopback" },
60
- "gif0" => { "flags" => %w{POINTOPOINT MULTICAST},
61
- "number" => "0",
62
- "addresses" => {},
63
- "mtu" => "1280",
64
- "type" => "gif",
65
- "encapsulation" => "IPIP" },
66
- "vmnet8" => { "flags" => %w{UP BROADCAST SMART RUNNING SIMPLEX MULTICAST},
67
- "number" => "8",
68
- "addresses" => { "192.168.4.1" => { "broadcast" => "192.168.4.255",
69
- "netmask" => "255.255.255.0",
70
- "family" => "inet" },
71
- "00:50:56:c0:00:08" => { "family" => "lladdr" } },
72
- "mtu" => "1500",
73
- "type" => "vmnet",
74
- "arp" => { "192.168.4.255" => "ff:ff:ff:ff:ff:ff" },
75
- "encapsulation" => "Ethernet" },
76
- "en0" => { "status" => "inactive",
77
- "flags" => %w{UP BROADCAST SMART RUNNING SIMPLEX MULTICAST},
78
- "number" => "0",
79
- "addresses" => { "00:23:32:b0:32:f2" => { "family" => "lladdr" } },
80
- "mtu" => "1500",
81
- "media" => { "supported" => { "autoselect" => { "options" => [] },
82
- "none" => { "options" => [] },
83
- "1000baseT" => { "options" => %w{full-duplex flow-control hw-loopback} },
84
- "10baseT/UTP" => { "options" => %w{half-duplex full-duplex flow-control hw-loopback} },
85
- "100baseTX" => { "options" => %w{half-duplex full-duplex flow-control hw-loopback} } },
86
- "selected" => { "autoselect" => { "options" => [] } } },
87
- "type" => "en",
88
- "encapsulation" => "Ethernet" },
89
- "en1" => { "status" => "active",
90
- "flags" => %w{UP BROADCAST SMART RUNNING SIMPLEX MULTICAST},
91
- "number" => "1",
92
- "addresses" => { "fe80::223:6cff:fe7f:676c" => { "scope" => "Link", "prefixlen" => "64", "family" => "inet6" },
93
- "00:23:6c:7f:67:6c" => { "family" => "lladdr" },
94
- "192.168.0.117" => { "broadcast" => "192.168.0.255",
95
- "netmask" => "255.255.255.0",
96
- "family" => "inet" } },
97
- "mtu" => "1500",
98
- "media" => { "supported" => { "autoselect" => { "options" => [] } },
99
- "selected" => { "autoselect" => { "options" => [] } } },
100
- "type" => "en",
101
- "arp" => { "192.168.0.72" => "0:f:ea:39:fa:d5",
102
- "192.168.0.1" => "0:1c:fb:fc:6f:20",
103
- "192.168.0.255" => "ff:ff:ff:ff:ff:ff",
104
- "192.168.0.3" => "0:1f:33:ea:26:9b",
105
- "192.168.0.77" => "0:23:12:70:f8:cf",
106
- "192.168.0.152" => "0:26:8:7d:2:4c" },
107
- "encapsulation" => "Ethernet" },
108
- "en2" => { "status" => "active",
109
- "flags" => %w{UP BROADCAST SMART RUNNING SIMPLEX MULTICAST},
110
- "number" => "2",
111
- "addresses" => { "169.254.206.152" => { "broadcast" => "169.254.255.255",
112
- "netmask" => "255.255.0.0",
113
- "family" => "inet" },
114
- "00:1c:42:00:00:01" => { "family" => "lladdr" },
115
- "fe80::21c:42ff:fe00:1" => { "scope" => "Link", "prefixlen" => "64", "family" => "inet6" } },
116
- "mtu" => "1500",
117
- "media" => { "supported" => { "autoselect" => { "options" => [] } },
118
- "selected" => { "autoselect" => { "options" => [] } } },
119
- "type" => "en",
120
- "encapsulation" => "Ethernet" },
121
- "fw0" => { "status" => "inactive",
122
- "flags" => %w{BROADCAST SIMPLEX MULTICAST},
123
- "number" => "0",
124
- "addresses" => { "00:23:32:ff:fe:b0:32:f2" => { "family" => "lladdr" } },
125
- "mtu" => "4078",
126
- "media" => { "supported" => { "autoselect" => { "options" => ["full-duplex"] } },
127
- "selected" => { "autoselect" => { "options" => ["full-duplex"] } } },
128
- "type" => "fw",
129
- "encapsulation" => "1394" },
130
- "en3" => { "status" => "active",
131
- "flags" => %w{UP BROADCAST SMART RUNNING SIMPLEX MULTICAST},
132
- "number" => "3",
133
- "addresses" => { "169.254.206.152" => { "broadcast" => "169.254.255.255",
134
- "netmask" => "255.255.0.0",
135
- "family" => "inet" },
136
- "00:1c:42:00:00:00" => { "family" => "lladdr" },
137
- "fe80::21c:42ff:fe00:0" => { "scope" => "Link", "prefixlen" => "64", "family" => "inet6" } },
138
- "mtu" => "1500",
139
- "media" => { "supported" => { "autoselect" => { "options" => [] } },
140
- "selected" => { "autoselect" => { "options" => [] } } },
141
- "type" => "en",
142
- "encapsulation" => "Ethernet" } } },
143
- "fqdn" => "latte.local",
144
- "ohai_time" => 1249065590.90391,
145
- "domain" => "local",
146
- "os" => "darwin",
147
- "platform_build" => "9J61",
148
- "os_version" => "9.7.0",
149
- "hostname" => "latte",
150
- "macaddress" => "00:23:6c:7f:67:6c",
151
- "music" => { "jimmy_eat_world" => "nice", "apophis" => false },
152
- }
153
- @default_hash = {
154
- "domain" => "opscode.com",
155
- "hot" => { "day" => "saturday" },
156
- "music" => {
157
- "jimmy_eat_world" => "is fun!",
158
- "mastodon" => "rocks",
159
- "mars_volta" => "is loud and nutty",
160
- "deeper" => { "gates_of_ishtar" => nil },
161
- "this" => { "apparatus" => { "must" => "be unearthed" } },
162
- },
163
- }
164
- @override_hash = {
165
- "macaddress" => "00:00:00:00:00:00",
166
- "hot" => { "day" => "sunday" },
167
- "fire" => "still burn",
168
- "music" => {
169
- "mars_volta" => "cicatriz",
170
- },
171
- }
172
- @automatic_hash = { "week" => "friday" }
173
- @attributes = Chef::Node::Attribute.new(@attribute_hash, @default_hash, @override_hash, @automatic_hash, node)
174
- end
175
-
176
- describe "initialize" do
177
- it "should return a Chef::Node::Attribute" do
178
- expect(@attributes).to be_a_kind_of(Chef::Node::Attribute)
179
- end
180
-
181
- it "should take an Automatic, Normal, Default and Override hash" do
182
- expect { Chef::Node::Attribute.new({}, {}, {}, {}) }.not_to raise_error
183
- end
184
-
185
- %i{normal default override automatic}.each do |accessor|
186
- it "should set #{accessor}" do
187
- na = Chef::Node::Attribute.new({ normal: true }, { default: true }, { override: true }, { automatic: true })
188
- expect(na.send(accessor)).to eq({ accessor.to_s => true })
189
- end
190
- end
191
-
192
- it "should be enumerable" do
193
- expect(@attributes).to be_is_a(Enumerable)
194
- end
195
- end
196
-
197
- describe "when printing attribute components" do
198
-
199
- it "does not cause a type error" do
200
- # See CHEF-3799; IO#puts implicitly calls #to_ary on its argument. This
201
- # is expected to raise a NoMethodError or return an Array. `to_ary` is
202
- # the "strict" conversion method that should only be implemented by
203
- # things that are truly Array-like, so NoMethodError is the right choice.
204
- # (cf. there is no Hash#to_ary).
205
- expect { @attributes.default.to_ary }.to raise_error(NoMethodError)
206
- end
207
-
208
- end
209
-
210
- describe "when debugging attributes" do
211
- it "gives the value at each level of precedence for a path spec" do
212
- @attributes.default[:foo][:bar] = "default"
213
- @attributes.env_default[:foo][:bar] = "env_default"
214
- @attributes.role_default[:foo][:bar] = "role_default"
215
- @attributes.force_default[:foo][:bar] = "force_default"
216
- @attributes.normal[:foo][:bar] = "normal"
217
- @attributes.override[:foo][:bar] = "override"
218
- @attributes.role_override[:foo][:bar] = "role_override"
219
- @attributes.env_override[:foo][:bar] = "env_override"
220
- @attributes.force_override[:foo][:bar] = "force_override"
221
- @attributes.automatic[:foo][:bar] = "automatic"
222
-
223
- expected = [
224
- %w{default default},
225
- %w{env_default env_default},
226
- %w{role_default role_default},
227
- %w{force_default force_default},
228
- %w{normal normal},
229
- %w{override override},
230
- %w{role_override role_override},
231
- %w{env_override env_override},
232
- %w{force_override force_override},
233
- %w{automatic automatic},
234
- ]
235
- expect(@attributes.debug_value(:foo, :bar)).to eq(expected)
236
- end
237
-
238
- it "works through arrays" do
239
- @attributes.default["foo"] = [ { "bar" => "baz" } ]
240
-
241
- expect(@attributes.debug_value(:foo, 0)).to eq(
242
- [
243
- ["default", { "bar" => "baz" }],
244
- ["env_default", :not_present],
245
- ["role_default", :not_present],
246
- ["force_default", :not_present],
247
- ["normal", :not_present],
248
- ["override", :not_present],
249
- ["role_override", :not_present],
250
- ["env_override", :not_present],
251
- ["force_override", :not_present],
252
- ["automatic", :not_present],
253
- ]
254
- )
255
- end
256
- end
257
-
258
- describe "when fetching values based on precedence" do
259
- before do
260
- @attributes.default["default"] = "cookbook default"
261
- @attributes.override["override"] = "cookbook override"
262
- end
263
-
264
- it "prefers 'forced default' over any other default" do
265
- @attributes.force_default["default"] = "force default"
266
- @attributes.role_default["default"] = "role default"
267
- @attributes.env_default["default"] = "environment default"
268
- expect(@attributes["default"]).to eq("force default")
269
- end
270
-
271
- it "prefers role_default over environment or cookbook default" do
272
- @attributes.role_default["default"] = "role default"
273
- @attributes.env_default["default"] = "environment default"
274
- expect(@attributes["default"]).to eq("role default")
275
- end
276
-
277
- it "prefers environment default over cookbook default" do
278
- @attributes.env_default["default"] = "environment default"
279
- expect(@attributes["default"]).to eq("environment default")
280
- end
281
-
282
- it "returns the cookbook default when no other default values are present" do
283
- expect(@attributes["default"]).to eq("cookbook default")
284
- end
285
-
286
- it "prefers 'forced overrides' over role or cookbook overrides" do
287
- @attributes.force_override["override"] = "force override"
288
- @attributes.env_override["override"] = "environment override"
289
- @attributes.role_override["override"] = "role override"
290
- expect(@attributes["override"]).to eq("force override")
291
- end
292
-
293
- it "prefers environment overrides over role or cookbook overrides" do
294
- @attributes.env_override["override"] = "environment override"
295
- @attributes.role_override["override"] = "role override"
296
- expect(@attributes["override"]).to eq("environment override")
297
- end
298
-
299
- it "prefers role overrides over cookbook overrides" do
300
- @attributes.role_override["override"] = "role override"
301
- expect(@attributes["override"]).to eq("role override")
302
- end
303
-
304
- it "returns cookbook overrides when no other overrides are present" do
305
- expect(@attributes["override"]).to eq("cookbook override")
306
- end
307
-
308
- it "merges arrays within the default precedence" do
309
- @attributes.role_default["array"] = %w{role}
310
- @attributes.env_default["array"] = %w{env}
311
- expect(@attributes["array"]).to eq(%w{env role})
312
- end
313
-
314
- it "merges arrays within the override precedence" do
315
- @attributes.role_override["array"] = %w{role}
316
- @attributes.env_override["array"] = %w{env}
317
- expect(@attributes["array"]).to eq(%w{role env})
318
- end
319
-
320
- it "does not merge arrays between default and normal" do
321
- @attributes.role_default["array"] = %w{role}
322
- @attributes.normal["array"] = %w{normal}
323
- expect(@attributes["array"]).to eq(%w{normal})
324
- end
325
-
326
- it "does not merge arrays between normal and override" do
327
- @attributes.normal["array"] = %w{normal}
328
- @attributes.role_override["array"] = %w{role}
329
- expect(@attributes["array"]).to eq(%w{role})
330
- end
331
-
332
- it "merges nested hashes between precedence levels" do
333
- @attributes = Chef::Node::Attribute.new({}, {}, {}, {})
334
- @attributes.env_default = { "a" => { "b" => { "default" => "default" } } }
335
- @attributes.normal = { "a" => { "b" => { "normal" => "normal" } } }
336
- @attributes.override = { "a" => { "override" => "role" } }
337
- @attributes.automatic = { "a" => { "automatic" => "auto" } }
338
- expect(@attributes["a"]).to eq({ "b" => { "default" => "default", "normal" => "normal" },
339
- "override" => "role",
340
- "automatic" => "auto" })
341
- end
342
- end
343
-
344
- describe "when reading combined default or override values" do
345
- before do
346
- @attributes.default["cd"] = "cookbook default"
347
- @attributes.role_default["rd"] = "role default"
348
- @attributes.env_default["ed"] = "env default"
349
- @attributes.default!["fd"] = "force default"
350
- @attributes.override["co"] = "cookbook override"
351
- @attributes.role_override["ro"] = "role override"
352
- @attributes.env_override["eo"] = "env override"
353
- @attributes.override!["fo"] = "force override"
354
- end
355
-
356
- it "merges all types of overrides into a combined override" do
357
- expect(@attributes.combined_override["co"]).to eq("cookbook override")
358
- expect(@attributes.combined_override["ro"]).to eq("role override")
359
- expect(@attributes.combined_override["eo"]).to eq("env override")
360
- expect(@attributes.combined_override["fo"]).to eq("force override")
361
- end
362
-
363
- it "merges all types of defaults into a combined default" do
364
- expect(@attributes.combined_default["cd"]).to eq("cookbook default")
365
- expect(@attributes.combined_default["rd"]).to eq("role default")
366
- expect(@attributes.combined_default["ed"]).to eq("env default")
367
- expect(@attributes.combined_default["fd"]).to eq("force default")
368
- end
369
-
370
- end
371
-
372
- describe "[]" do
373
- it "should return override data if it exists" do
374
- expect(@attributes["macaddress"]).to eq("00:00:00:00:00:00")
375
- end
376
-
377
- it "should return attribute data if it is not overridden" do
378
- expect(@attributes["platform"]).to eq("mac_os_x")
379
- end
380
-
381
- it "should return data that doesn't have corresponding keys in every hash" do
382
- expect(@attributes["command"]["ps"]).to eq("ps -ef")
383
- end
384
-
385
- it "should return default data if it is not overridden or in attribute data" do
386
- expect(@attributes["music"]["mastodon"]).to eq("rocks")
387
- end
388
-
389
- it "should prefer the override data over an available default" do
390
- expect(@attributes["music"]["mars_volta"]).to eq("cicatriz")
391
- end
392
-
393
- it "should prefer the attribute data over an available default" do
394
- expect(@attributes["music"]["jimmy_eat_world"]).to eq("nice")
395
- end
396
-
397
- it "should prefer override data over default data if there is no attribute data" do
398
- expect(@attributes["hot"]["day"]).to eq("sunday")
399
- end
400
-
401
- it "should return the merged hash if all three have values" do
402
- result = @attributes["music"]
403
- expect(result["mars_volta"]).to eq("cicatriz")
404
- expect(result["jimmy_eat_world"]).to eq("nice")
405
- expect(result["mastodon"]).to eq("rocks")
406
- end
407
- end
408
-
409
- describe "[]=" do
410
- it "should error out when the type of attribute to set has not been specified" do
411
- @attributes.normal["the_ghost"] = {}
412
- expect { @attributes["the_ghost"]["exterminate"] = false }.to raise_error(Chef::Exceptions::ImmutableAttributeModification)
413
- end
414
-
415
- it "should let you set an attribute value when another hash has an intermediate value" do
416
- @attributes.normal["the_ghost"] = { "exterminate" => "the future" }
417
- expect { @attributes.normal["the_ghost"]["eviscerate"]["tomorrow"] = false }.not_to raise_error
418
- end
419
-
420
- it "should set the attribute value" do
421
- @attributes.normal["longboard"] = "surfing"
422
- expect(@attributes.normal["longboard"]).to eq("surfing")
423
- expect(@attributes.normal["longboard"]).to eq("surfing")
424
- end
425
-
426
- it "should set deeply nested attribute values when a precedence level is specified" do
427
- @attributes.normal["deftones"]["hunters"]["nap"] = "surfing"
428
- expect(@attributes.normal["deftones"]["hunters"]["nap"]).to eq("surfing")
429
- end
430
-
431
- it "should die if you try and do nested attributes that do not exist without read vivification" do
432
- expect { @attributes["foo"]["bar"] = :baz }.to raise_error(NoMethodError)
433
- end
434
-
435
- it "should let you set attributes manually without vivification" do
436
- @attributes.normal["foo"] = Mash.new
437
- @attributes.normal["foo"]["bar"] = :baz
438
- expect(@attributes.normal["foo"]["bar"]).to eq(:baz)
439
- end
440
-
441
- it "does not support ||= when setting" do
442
- # This is a limitation of auto-vivification.
443
- # Users who need this behavior can use set_unless and friends
444
- @attributes.normal["foo"] = Mash.new
445
- @attributes.normal["foo"]["bar"] ||= "stop the world"
446
- expect(@attributes.normal["foo"]["bar"]).to eq({})
447
- end
448
- end
449
-
450
- describe "to_hash" do
451
- it "should convert to a hash" do
452
- expect(@attributes.to_hash.class).to eq(Hash)
453
- end
454
-
455
- it "should convert to a hash based on current state" do
456
- hash = @attributes["hot"].to_hash
457
- expect(hash.class).to eq(Hash)
458
- expect(hash["day"]).to eq("sunday")
459
- end
460
-
461
- it "should create a deep copy of the node attribute" do
462
- @attributes.default["foo"]["bar"]["baz"] = "fizz"
463
- hash = @attributes["foo"].to_hash
464
- expect(hash).to eql({ "bar" => { "baz" => "fizz" } })
465
- hash["bar"]["baz"] = "buzz"
466
- expect(hash).to eql({ "bar" => { "baz" => "buzz" } })
467
- expect(@attributes.default["foo"]).to eql({ "bar" => { "baz" => "fizz" } })
468
- end
469
-
470
- it "should create a deep copy of arrays in the node attribute" do
471
- @attributes.default["foo"]["bar"] = ["fizz"]
472
- hash = @attributes["foo"].to_hash
473
- expect(hash).to eql({ "bar" => [ "fizz" ] })
474
- hash["bar"].push("buzz")
475
- expect(hash).to eql({ "bar" => %w{fizz buzz} })
476
- expect(@attributes.default["foo"]).to eql({ "bar" => [ "fizz" ] })
477
- end
478
-
479
- it "mutating strings should not mutate the attributes in a hash" do
480
- @attributes.default["foo"]["bar"]["baz"] = "fizz"
481
- hash = @attributes["foo"].to_hash
482
- expect(hash).to eql({ "bar" => { "baz" => "fizz" } })
483
- hash["bar"]["baz"] << "buzz"
484
- expect(hash).to eql({ "bar" => { "baz" => "fizzbuzz" } })
485
- expect(@attributes.default["foo"]).to eql({ "bar" => { "baz" => "fizz" } })
486
- end
487
-
488
- it "mutating array elements should not mutate the attributes" do
489
- @attributes.default["foo"]["bar"] = [ "fizz" ]
490
- hash = @attributes["foo"].to_hash
491
- expect(hash).to eql({ "bar" => [ "fizz" ] })
492
- hash["bar"][0] << "buzz"
493
- expect(hash).to eql({ "bar" => [ "fizzbuzz" ] })
494
- expect(@attributes.default["foo"]).to eql({ "bar" => [ "fizz" ] })
495
- end
496
- end
497
-
498
- describe "dup" do
499
- it "array can be duped even if some elements can't" do
500
- @attributes.default[:foo] = %w{foo bar baz} + Array(1..3) + [nil, true, false, [ "el", 0, nil ] ]
501
- @attributes.default[:foo].dup
502
- end
503
-
504
- it "mutating strings should not mutate the attributes in a hash" do
505
- @attributes.default["foo"]["bar"]["baz"] = "fizz"
506
- hash = @attributes["foo"].dup
507
- expect(hash).to eql({ "bar" => { "baz" => "fizz" } })
508
- hash["bar"]["baz"] << "buzz"
509
- expect(hash).to eql({ "bar" => { "baz" => "fizzbuzz" } })
510
- expect(@attributes.default["foo"]).to eql({ "bar" => { "baz" => "fizz" } })
511
- end
512
-
513
- it "mutating array elements should not mutate the attributes" do
514
- @attributes.default["foo"]["bar"] = [ "fizz" ]
515
- hash = @attributes["foo"].dup
516
- expect(hash).to eql({ "bar" => [ "fizz" ] })
517
- hash["bar"][0] << "buzz"
518
- expect(hash).to eql({ "bar" => [ "fizzbuzz" ] })
519
- expect(@attributes.default["foo"]).to eql({ "bar" => [ "fizz" ] })
520
- end
521
- end
522
-
523
- describe "has_key?" do
524
- it "should return true if an attribute exists" do
525
- expect(@attributes.key?("music")).to eq(true)
526
- end
527
-
528
- it "should return false if an attribute does not exist" do
529
- expect(@attributes.key?("ninja")).to eq(false)
530
- end
531
-
532
- it "should return false if an attribute does not exist using dot notation" do
533
- expect(@attributes.key?("does_not_exist_at_all")).to eq(false)
534
- end
535
-
536
- it "should return true if an attribute exists but is set to false" do
537
- @attributes.key?("music")
538
- expect(@attributes["music"].key?("apophis")).to eq(true)
539
- end
540
-
541
- it "does not find keys above the current nesting level" do
542
- expect(@attributes["music"]["this"]["apparatus"]).not_to have_key("this")
543
- end
544
-
545
- it "does not find keys below the current nesting level" do
546
- expect(@attributes["music"]["this"]).not_to have_key("must")
547
- end
548
-
549
- %i{include? key? member?}.each do |method|
550
- it "should alias the method #{method} to itself" do
551
- expect(@attributes).to respond_to(method)
552
- end
553
-
554
- it "#{method} should behave like has_key?" do
555
- expect(@attributes.send(method, "music")).to eq(true)
556
- end
557
- end
558
- end
559
-
560
- describe "attribute?" do
561
- it "should return true if an attribute exists" do
562
- expect(@attributes.attribute?("music")).to eq(true)
563
- end
564
-
565
- it "should return false if an attribute does not exist" do
566
- expect(@attributes.attribute?("ninja")).to eq(false)
567
- end
568
-
569
- end
570
-
571
- describe "keys" do
572
- before(:each) do
573
- @attributes = Chef::Node::Attribute.new(
574
- {
575
- "one" => { "two" => "three" },
576
- "hut" => { "two" => "three" },
577
- "place" => {},
578
- },
579
- {
580
- "one" => { "four" => "five" },
581
- "snakes" => "on a plane",
582
- },
583
- {
584
- "one" => { "six" => "seven" },
585
- "snack" => "cookies",
586
- },
587
- {}
588
- )
589
- end
590
-
591
- it "should yield each top level key" do
592
- collect = []
593
- @attributes.each_key do |k|
594
- collect << k
595
- end
596
- expect(collect.include?("one")).to eq(true)
597
- expect(collect.include?("hut")).to eq(true)
598
- expect(collect.include?("snakes")).to eq(true)
599
- expect(collect.include?("snack")).to eq(true)
600
- expect(collect.include?("place")).to eq(true)
601
- expect(collect.length).to eq(5)
602
- end
603
-
604
- it "should yield lower if we go deeper" do
605
- collect = []
606
- @attributes["one"].each_key do |k|
607
- collect << k
608
- end
609
- expect(collect.include?("two")).to eq(true)
610
- expect(collect.include?("four")).to eq(true)
611
- expect(collect.include?("six")).to eq(true)
612
- expect(collect.length).to eq(3)
613
- end
614
-
615
- it "should not raise an exception if one of the hashes has a nil value on a deep lookup" do
616
- expect { @attributes["place"].keys { |k| } }.not_to raise_error
617
- end
618
- end
619
-
620
- describe "each" do
621
- before(:each) do
622
- @attributes = Chef::Node::Attribute.new(
623
- {
624
- "one" => "two",
625
- "hut" => "three",
626
- },
627
- {
628
- "one" => "four",
629
- "snakes" => "on a plane",
630
- },
631
- {
632
- "one" => "six",
633
- "snack" => "cookies",
634
- },
635
- {}
636
- )
637
- end
638
-
639
- it "should yield each top level key and value, post merge rules" do
640
- collect = {}
641
- @attributes.each do |k, v|
642
- collect[k] = v
643
- end
644
-
645
- expect(collect["one"]).to eq("six")
646
- expect(collect["hut"]).to eq("three")
647
- expect(collect["snakes"]).to eq("on a plane")
648
- expect(collect["snack"]).to eq("cookies")
649
- end
650
-
651
- it "should yield as a two-element array" do
652
- @attributes.each do |a|
653
- expect(a).to be_an_instance_of(Array)
654
- end
655
- end
656
- end
657
-
658
- describe "each_key" do
659
- before do
660
- @attributes = Chef::Node::Attribute.new(
661
- {
662
- "one" => "two",
663
- "hut" => "three",
664
- },
665
- {
666
- "one" => "four",
667
- "snakes" => "on a plane",
668
- },
669
- {
670
- "one" => "six",
671
- "snack" => "cookies",
672
- },
673
- {}
674
- )
675
- end
676
-
677
- it "should respond to each_key" do
678
- expect(@attributes).to respond_to(:each_key)
679
- end
680
-
681
- it "should yield each top level key, post merge rules" do
682
- collect = []
683
- @attributes.each_key do |k|
684
- collect << k
685
- end
686
-
687
- expect(collect).to include("one")
688
- expect(collect).to include("snack")
689
- expect(collect).to include("hut")
690
- expect(collect).to include("snakes")
691
- end
692
- end
693
-
694
- describe "each_pair" do
695
- before do
696
- @attributes = Chef::Node::Attribute.new(
697
- {
698
- "one" => "two",
699
- "hut" => "three",
700
- },
701
- {
702
- "one" => "four",
703
- "snakes" => "on a plane",
704
- },
705
- {
706
- "one" => "six",
707
- "snack" => "cookies",
708
- },
709
- {}
710
- )
711
- end
712
-
713
- it "should respond to each_pair" do
714
- expect(@attributes).to respond_to(:each_pair)
715
- end
716
-
717
- it "should yield each top level key and value pair, post merge rules" do
718
- collect = {}
719
- @attributes.each_pair do |k, v|
720
- collect[k] = v
721
- end
722
-
723
- expect(collect["one"]).to eq("six")
724
- expect(collect["hut"]).to eq("three")
725
- expect(collect["snakes"]).to eq("on a plane")
726
- expect(collect["snack"]).to eq("cookies")
727
- end
728
- end
729
-
730
- describe "each_value" do
731
- before do
732
- @attributes = Chef::Node::Attribute.new(
733
- {
734
- "one" => "two",
735
- "hut" => "three",
736
- },
737
- {
738
- "one" => "four",
739
- "snakes" => "on a plane",
740
- },
741
- {
742
- "one" => "six",
743
- "snack" => "cookies",
744
- },
745
- {}
746
- )
747
- end
748
-
749
- it "should respond to each_value" do
750
- expect(@attributes).to respond_to(:each_value)
751
- end
752
-
753
- it "should yield each value, post merge rules" do
754
- collect = []
755
- @attributes.each_value do |v|
756
- collect << v
757
- end
758
-
759
- expect(collect).to include("cookies")
760
- expect(collect).to include("three")
761
- expect(collect).to include("on a plane")
762
- end
763
-
764
- it "should yield four elements" do
765
- collect = []
766
- @attributes.each_value do |v|
767
- collect << v
768
- end
769
-
770
- expect(collect.length).to eq(4)
771
- end
772
- end
773
-
774
- describe "empty?" do
775
- before do
776
- @attributes = Chef::Node::Attribute.new(
777
- {
778
- "one" => "two",
779
- "hut" => "three",
780
- },
781
- {
782
- "one" => "four",
783
- "snakes" => "on a plane",
784
- },
785
- {
786
- "one" => "six",
787
- "snack" => "cookies",
788
- },
789
- {}
790
- )
791
- @empty = Chef::Node::Attribute.new({}, {}, {}, {})
792
- end
793
-
794
- it "should respond to empty?" do
795
- expect(@attributes).to respond_to(:empty?)
796
- end
797
-
798
- it "should return true when there are no keys" do
799
- expect(@empty.empty?).to eq(true)
800
- end
801
-
802
- it "should return false when there are keys" do
803
- expect(@attributes.empty?).to eq(false)
804
- end
805
-
806
- end
807
-
808
- describe "fetch" do
809
- before do
810
- @attributes = Chef::Node::Attribute.new(
811
- {
812
- "one" => "two",
813
- "hut" => "three",
814
- },
815
- {
816
- "one" => "four",
817
- "snakes" => "on a plane",
818
- },
819
- {
820
- "one" => "six",
821
- "snack" => "cookies",
822
- },
823
- {}
824
- )
825
- end
826
-
827
- it "should respond to fetch" do
828
- expect(@attributes).to respond_to(:fetch)
829
- end
830
-
831
- describe "when the key exists" do
832
- it "should return the value of the key, post merge (same result as each)" do
833
- {
834
- "one" => "six",
835
- "hut" => "three",
836
- "snakes" => "on a plane",
837
- "snack" => "cookies",
838
- }.each do |k, v|
839
- expect(@attributes.fetch(k)).to eq(v)
840
- end
841
- end
842
- end
843
-
844
- describe "when the key does not exist" do
845
- describe "and no args are passed" do
846
- it "should raise an indexerror" do
847
- expect { @attributes.fetch("lololol") }.to raise_error(IndexError)
848
- end
849
- end
850
-
851
- describe "and a default arg is passed" do
852
- it "should return the value of the default arg" do
853
- expect(@attributes.fetch("lol", "blah")).to eq("blah")
854
- end
855
- end
856
-
857
- describe "and a block is passed" do
858
- it "should run the block and return its value" do
859
- expect(@attributes.fetch("lol") { |x| "#{x}, blah" }).to eq("lol, blah")
860
- end
861
- end
862
- end
863
- end
864
-
865
- describe "has_value?" do
866
- before do
867
- @attributes = Chef::Node::Attribute.new(
868
- {
869
- "one" => "two",
870
- "hut" => "three",
871
- },
872
- {
873
- "one" => "four",
874
- "snakes" => "on a plane",
875
- },
876
- {
877
- "one" => "six",
878
- "snack" => "cookies",
879
- },
880
- {}
881
- )
882
- end
883
-
884
- it "should respond to has_value?" do
885
- expect(@attributes).to respond_to(:has_value?)
886
- end
887
-
888
- it "should return true if any key has the value supplied" do
889
- expect(@attributes.value?("cookies")).to eq(true)
890
- end
891
-
892
- it "should return false no key has the value supplied" do
893
- expect(@attributes.value?("lololol")).to eq(false)
894
- end
895
-
896
- it "should alias value?" do
897
- expect(@attributes).to respond_to(:value?)
898
- end
899
- end
900
-
901
- describe "index", ruby: "< 3.0.0" do
902
- # Hash#index is deprecated and triggers warnings.
903
- def silence
904
- old_verbose = $VERBOSE
905
- $VERBOSE = nil
906
- yield
907
- ensure
908
- $VERBOSE = old_verbose
909
- end
910
-
911
- before do
912
- @attributes = Chef::Node::Attribute.new(
913
- {
914
- "one" => "two",
915
- "hut" => "three",
916
- },
917
- {
918
- "one" => "four",
919
- "snakes" => "on a plane",
920
- },
921
- {
922
- "one" => "six",
923
- "snack" => "cookies",
924
- },
925
- {}
926
- )
927
- end
928
-
929
- it "should respond to index" do
930
- expect(@attributes).to respond_to(:index)
931
- end
932
-
933
- describe "when the value is indexed" do
934
- it "should return the index" do
935
- silence do
936
- expect(@attributes.index("six")).to eq("one")
937
- end
938
- end
939
- end
940
-
941
- describe "when the value is not indexed" do
942
- it "should return nil" do
943
- silence do
944
- expect(@attributes.index("lolol")).to eq(nil)
945
- end
946
- end
947
- end
948
-
949
- end
950
-
951
- describe "values" do
952
- before do
953
- @attributes = Chef::Node::Attribute.new(
954
- {
955
- "one" => "two",
956
- "hut" => "three",
957
- },
958
- {
959
- "one" => "four",
960
- "snakes" => "on a plane",
961
- },
962
- {
963
- "one" => "six",
964
- "snack" => "cookies",
965
- },
966
- {}
967
- )
968
- end
969
-
970
- it "should respond to values" do
971
- expect(@attributes).to respond_to(:values)
972
- end
973
-
974
- it "should return an array of values" do
975
- expect(@attributes.values.length).to eq(4)
976
- end
977
-
978
- it "should match the values output from each" do
979
- expect(@attributes.values).to include("six")
980
- expect(@attributes.values).to include("cookies")
981
- expect(@attributes.values).to include("three")
982
- expect(@attributes.values).to include("on a plane")
983
- end
984
-
985
- end
986
-
987
- describe "select" do
988
- before do
989
- @attributes = Chef::Node::Attribute.new(
990
- {
991
- "one" => "two",
992
- "hut" => "three",
993
- },
994
- {
995
- "one" => "four",
996
- "snakes" => "on a plane",
997
- },
998
- {
999
- "one" => "six",
1000
- "snack" => "cookies",
1001
- },
1002
- {}
1003
- )
1004
- end
1005
-
1006
- it "should respond to select" do
1007
- expect(@attributes).to respond_to(:select)
1008
- end
1009
-
1010
- it "should not raise a LocalJumpError if no block is given" do
1011
- expect { @attributes.select }.not_to raise_error
1012
- end
1013
-
1014
- it "should return an empty hash/array (ruby-version-dependent) for a block containing nil" do
1015
- expect(@attributes.select { nil }).to eq({}.select { nil })
1016
- end
1017
-
1018
- # sorted for spec clarity
1019
- it "should return a new array of k,v pairs for which the block returns true" do
1020
- expect(@attributes.select { true }.sort).to eq(
1021
- [
1022
- %w{hut three},
1023
- %w{one six},
1024
- %w{snack cookies},
1025
- ["snakes", "on a plane"],
1026
- ]
1027
- )
1028
- end
1029
- end
1030
-
1031
- describe "size" do
1032
- before do
1033
- @attributes = Chef::Node::Attribute.new(
1034
- {
1035
- "one" => "two",
1036
- "hut" => "three",
1037
- },
1038
- {
1039
- "one" => "four",
1040
- "snakes" => "on a plane",
1041
- },
1042
- {
1043
- "one" => "six",
1044
- "snack" => "cookies",
1045
- },
1046
- {}
1047
- )
1048
-
1049
- @empty = Chef::Node::Attribute.new({}, {}, {}, {})
1050
- end
1051
-
1052
- it "should respond to size" do
1053
- expect(@attributes).to respond_to(:size)
1054
- end
1055
-
1056
- it "should alias length to size" do
1057
- expect(@attributes).to respond_to(:length)
1058
- end
1059
-
1060
- it "should return 0 for an empty attribute" do
1061
- expect(@empty.size).to eq(0)
1062
- end
1063
-
1064
- it "should return the number of pairs" do
1065
- expect(@attributes.size).to eq(4)
1066
- end
1067
- end
1068
-
1069
- describe "kind_of?" do
1070
- it "should falsely inform you that it is a Hash" do
1071
- expect(@attributes).to be_a_kind_of(Hash)
1072
- end
1073
-
1074
- it "should falsely inform you that it is a Mash" do
1075
- expect(@attributes).to be_a_kind_of(Mash)
1076
- end
1077
-
1078
- it "should inform you that it is a Chef::Node::Attribute" do
1079
- expect(@attributes).to be_a_kind_of(Chef::Node::Attribute)
1080
- end
1081
-
1082
- it "should inform you that it is anything else" do
1083
- expect(@attributes).not_to be_a_kind_of(Chef::Node)
1084
- end
1085
- end
1086
-
1087
- describe "to_s" do
1088
- it "should output simple attributes" do
1089
- attributes = Chef::Node::Attribute.new(nil, nil, nil, nil)
1090
- expect(attributes.to_s).to eq("{}")
1091
- end
1092
-
1093
- it "should output merged attributes" do
1094
- default_hash = {
1095
- "a" => 1,
1096
- "b" => 2,
1097
- }
1098
- override_hash = {
1099
- "b" => 3,
1100
- "c" => 4,
1101
- }
1102
- attributes = Chef::Node::Attribute.new(nil, default_hash, override_hash, nil)
1103
- expect(attributes).to match({ "a" => 1, "b" => 3, "c" => 4 })
1104
- end
1105
- end
1106
-
1107
- describe "inspect" do
1108
- it "should be readable" do
1109
- # NOTE: previous implementation hid the values, showing @automatic={...}
1110
- # That is nice and compact, but hides a lot of info, which seems counter
1111
- # to the point of calling #inspect...
1112
- expect(@attributes.inspect).to match(/@automatic=\{.*\}/)
1113
- expect(@attributes.inspect).to match(/@normal=\{.*\}/)
1114
- end
1115
- end
1116
-
1117
- describe "when not mutated" do
1118
-
1119
- it "does not reset the cache when dup'd [CHEF-3680]" do
1120
- @attributes.default[:foo][:bar] = "set on original"
1121
- subtree = @attributes[:foo]
1122
- @attributes.default[:foo].dup[:bar] = "set on dup"
1123
- expect(subtree[:bar]).to eq("set on original")
1124
- end
1125
-
1126
- end
1127
-
1128
- describe "when setting a component attribute to a new value" do
1129
- it "converts the input in to a VividMash tree (default)" do
1130
- @attributes.default = {}
1131
- @attributes.default["foo"] = "bar"
1132
- expect(@attributes.merged_attributes[:foo]).to eq("bar")
1133
- end
1134
-
1135
- it "converts the input in to a VividMash tree (normal)" do
1136
- @attributes.normal = {}
1137
- @attributes.normal["foo"] = "bar"
1138
- expect(@attributes.merged_attributes[:foo]).to eq("bar")
1139
- end
1140
-
1141
- it "converts the input in to a VividMash tree (override)" do
1142
- @attributes.override = {}
1143
- @attributes.override["foo"] = "bar"
1144
- expect(@attributes.merged_attributes[:foo]).to eq("bar")
1145
- end
1146
-
1147
- it "converts the input in to a VividMash tree (automatic)" do
1148
- @attributes.automatic = {}
1149
- @attributes.automatic["foo"] = "bar"
1150
- expect(@attributes.merged_attributes[:foo]).to eq("bar")
1151
- end
1152
- end
1153
-
1154
- describe "when deep-merging between precedence levels" do
1155
- it "correctly deep merges hashes and preserves the original contents" do
1156
- @attributes.default = { "arglebargle" => { "foo" => "bar" } }
1157
- @attributes.override = { "arglebargle" => { "fizz" => "buzz" } }
1158
- expect(@attributes.merged_attributes[:arglebargle]).to eq({ "foo" => "bar", "fizz" => "buzz" })
1159
- expect(@attributes.default[:arglebargle]).to eq({ "foo" => "bar" })
1160
- expect(@attributes.override[:arglebargle]).to eq({ "fizz" => "buzz" })
1161
- end
1162
-
1163
- it "does not deep merge arrays, and preserves the original contents" do
1164
- @attributes.default = { "arglebargle" => [ 1, 2, 3 ] }
1165
- @attributes.override = { "arglebargle" => [ 4, 5, 6 ] }
1166
- expect(@attributes.merged_attributes[:arglebargle]).to eq([ 4, 5, 6 ])
1167
- expect(@attributes.default[:arglebargle]).to eq([ 1, 2, 3 ])
1168
- expect(@attributes.override[:arglebargle]).to eq([ 4, 5, 6 ])
1169
- end
1170
-
1171
- it "correctly deep merges hashes and preserves the original contents when merging default and role_default" do
1172
- @attributes.default = { "arglebargle" => { "foo" => "bar" } }
1173
- @attributes.role_default = { "arglebargle" => { "fizz" => "buzz" } }
1174
- expect(@attributes.merged_attributes[:arglebargle]).to eq({ "foo" => "bar", "fizz" => "buzz" })
1175
- expect(@attributes.default[:arglebargle]).to eq({ "foo" => "bar" })
1176
- expect(@attributes.role_default[:arglebargle]).to eq({ "fizz" => "buzz" })
1177
- end
1178
-
1179
- it "correctly deep merges arrays, and preserves the original contents when merging default and role_default" do
1180
- @attributes.default = { "arglebargle" => [ 1, 2, 3 ] }
1181
- @attributes.role_default = { "arglebargle" => [ 4, 5, 6 ] }
1182
- expect(@attributes.merged_attributes[:arglebargle]).to eq([ 1, 2, 3, 4, 5, 6 ])
1183
- expect(@attributes.default[:arglebargle]).to eq([ 1, 2, 3 ])
1184
- expect(@attributes.role_default[:arglebargle]).to eq([ 4, 5, 6 ])
1185
- end
1186
- end
1187
-
1188
- describe "when attemping to write without specifying precedence" do
1189
- it "raises an error when using []=" do
1190
- expect { @attributes[:new_key] = "new value" }.to raise_error(Chef::Exceptions::ImmutableAttributeModification)
1191
- end
1192
- end
1193
-
1194
- describe "deeply converting values" do
1195
- it "converts values through an array" do
1196
- @attributes.default[:foo] = [ { bar: true } ]
1197
- expect(@attributes["foo"].class).to eql(Chef::Node::ImmutableArray)
1198
- expect(@attributes["foo"][0].class).to eql(Chef::Node::ImmutableMash)
1199
- expect(@attributes["foo"][0]["bar"]).to be true
1200
- end
1201
-
1202
- it "converts values through nested arrays" do
1203
- @attributes.default[:foo] = [ [ { bar: true } ] ]
1204
- expect(@attributes["foo"].class).to eql(Chef::Node::ImmutableArray)
1205
- expect(@attributes["foo"][0].class).to eql(Chef::Node::ImmutableArray)
1206
- expect(@attributes["foo"][0][0].class).to eql(Chef::Node::ImmutableMash)
1207
- expect(@attributes["foo"][0][0]["bar"]).to be true
1208
- end
1209
-
1210
- it "converts values through nested hashes" do
1211
- @attributes.default[:foo] = { baz: { bar: true } }
1212
- expect(@attributes["foo"].class).to eql(Chef::Node::ImmutableMash)
1213
- expect(@attributes["foo"]["baz"].class).to eql(Chef::Node::ImmutableMash)
1214
- expect(@attributes["foo"]["baz"]["bar"]).to be true
1215
- end
1216
- end
1217
-
1218
- describe "node state" do
1219
- it "sets __root__ correctly" do
1220
- @attributes.default["foo"]["bar"]["baz"] = "quux"
1221
- expect(@attributes["foo"].__root__).to eql(@attributes)
1222
- expect(@attributes["foo"]["bar"].__root__).to eql(@attributes)
1223
- expect(@attributes.default["foo"].__root__).to eql(@attributes)
1224
- expect(@attributes.default["foo"]["bar"].__root__).to eql(@attributes)
1225
- end
1226
-
1227
- it "sets __node__ correctly" do
1228
- @attributes.default["foo"]["bar"]["baz"] = "quux"
1229
- expect(@attributes["foo"].__node__).to eql(node)
1230
- expect(@attributes["foo"]["bar"].__node__).to eql(node)
1231
- expect(@attributes.default["foo"].__node__).to eql(node)
1232
- expect(@attributes.default["foo"]["bar"].__node__).to eql(node)
1233
- end
1234
-
1235
- it "sets __path__ correctly" do
1236
- @attributes.default["foo"]["bar"]["baz"] = "quux"
1237
- expect(@attributes["foo"].__path__).to eql(["foo"])
1238
- expect(@attributes["foo"]["bar"].__path__).to eql(%w{foo bar})
1239
- expect(@attributes.default["foo"].__path__).to eql(["foo"])
1240
- expect(@attributes.default["foo"]["bar"].__path__).to eql(%w{foo bar})
1241
- end
1242
-
1243
- it "sets __precedence__ correctly" do
1244
- @attributes.default["foo"]["bar"]["baz"] = "quux"
1245
- expect(@attributes["foo"].__precedence__).to eql(:merged)
1246
- expect(@attributes["foo"]["bar"].__precedence__).to eql(:merged)
1247
- expect(@attributes.default["foo"].__precedence__).to eql(:default)
1248
- expect(@attributes.default["foo"]["bar"].__precedence__).to eql(:default)
1249
- end
1250
-
1251
- it "notifies on attribute changes" do
1252
- expect(events).to receive(:attribute_changed).with(:default, ["foo"], {})
1253
- expect(events).to receive(:attribute_changed).with(:default, %w{foo bar}, {})
1254
- expect(events).to receive(:attribute_changed).with(:default, %w{foo bar baz}, "quux")
1255
- @attributes.default["foo"]["bar"]["baz"] = "quux"
1256
- end
1257
- end
1258
-
1259
- describe "frozen immutable strings" do
1260
- it "strings in hashes should be frozen" do
1261
- @attributes.default["foo"]["bar"]["baz"] = "fizz"
1262
- expect { @attributes["foo"]["bar"]["baz"] << "buzz" }.to raise_error(FrozenError, /can't modify frozen String/)
1263
- end
1264
-
1265
- it "strings in arrays should be frozen" do
1266
- @attributes.default["foo"]["bar"] = [ "fizz" ]
1267
- expect { @attributes["foo"]["bar"][0] << "buzz" }.to raise_error(FrozenError, /can't modify frozen String/)
1268
- end
1269
- end
1270
-
1271
- describe "deep merging with nils" do
1272
- it "nils when deep merging between default levels knocks out values" do
1273
- @attributes.default["foo"] = "bar"
1274
- expect(@attributes["foo"]).to eql("bar")
1275
- @attributes.force_default["foo"] = nil
1276
- expect(@attributes["foo"]).to be nil
1277
- end
1278
-
1279
- it "nils when deep merging between override levels knocks out values" do
1280
- @attributes.override["foo"] = "bar"
1281
- expect(@attributes["foo"]).to eql("bar")
1282
- @attributes.force_override["foo"] = nil
1283
- expect(@attributes["foo"]).to be nil
1284
- end
1285
-
1286
- it "nils when deep merging between default+override levels knocks out values" do
1287
- @attributes.default["foo"] = "bar"
1288
- expect(@attributes["foo"]).to eql("bar")
1289
- @attributes.override["foo"] = nil
1290
- expect(@attributes["foo"]).to be nil
1291
- end
1292
-
1293
- it "nils when deep merging between normal+automatic levels knocks out values" do
1294
- @attributes.normal["foo"] = "bar"
1295
- expect(@attributes["foo"]).to eql("bar")
1296
- @attributes.automatic["foo"] = nil
1297
- expect(@attributes["foo"]).to be nil
1298
- end
1299
- end
1300
-
1301
- describe "to_json" do
1302
- it "should convert to a valid json string" do
1303
- json = @attributes["hot"].to_json
1304
- expect { JSON.parse(json) }.not_to raise_error
1305
- end
1306
-
1307
- it "should convert to a json based on current state" do
1308
- expect(@attributes["hot"].to_json).to eq("{\"day\":\"sunday\"}")
1309
- end
1310
- end
1311
-
1312
- describe "to_yaml" do
1313
- it "should convert to a valid yaml format" do
1314
- json = @attributes["hot"].to_yaml
1315
- expect { YAML.parse(json) }.not_to raise_error
1316
- end
1317
-
1318
- it "should convert to a yaml based on current state" do
1319
- expect(@attributes["hot"].to_yaml).to eq("---\nday: sunday\n")
1320
- end
1321
- end
1322
- end