chef 18.8.11 → 18.8.46

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 (1122) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -19
  3. data/chef.gemspec +4 -5
  4. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +4 -0
  5. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +1 -5
  6. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +12 -0
  7. data/lib/chef/chef_fs/file_system.rb +18 -0
  8. data/lib/chef/pwsh.rb +2 -5
  9. data/lib/chef/resource/apt_repository.rb +14 -5
  10. data/lib/chef/resource/chocolatey_installer.rb +19 -4
  11. data/lib/chef/resource/ohai.rb +1 -0
  12. data/lib/chef/resource_reporter.rb +1 -1
  13. data/lib/chef/shell.rb +8 -3
  14. data/lib/chef/version.rb +1 -1
  15. metadata +14 -1121
  16. data/spec/data/apt/chef-integration-test-1.0/debian/changelog +0 -5
  17. data/spec/data/apt/chef-integration-test-1.0/debian/compat +0 -1
  18. data/spec/data/apt/chef-integration-test-1.0/debian/control +0 -13
  19. data/spec/data/apt/chef-integration-test-1.0/debian/copyright +0 -34
  20. data/spec/data/apt/chef-integration-test-1.0/debian/files +0 -1
  21. data/spec/data/apt/chef-integration-test-1.0/debian/rules +0 -13
  22. data/spec/data/apt/chef-integration-test-1.0/debian/source/format +0 -1
  23. data/spec/data/apt/chef-integration-test-1.1/debian/changelog +0 -11
  24. data/spec/data/apt/chef-integration-test-1.1/debian/compat +0 -1
  25. data/spec/data/apt/chef-integration-test-1.1/debian/control +0 -13
  26. data/spec/data/apt/chef-integration-test-1.1/debian/copyright +0 -34
  27. data/spec/data/apt/chef-integration-test-1.1/debian/files +0 -1
  28. data/spec/data/apt/chef-integration-test-1.1/debian/rules +0 -13
  29. data/spec/data/apt/chef-integration-test-1.1/debian/source/format +0 -1
  30. data/spec/data/apt/chef-integration-test2-1.0/debian/changelog +0 -5
  31. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/conffiles +0 -1
  32. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/control +0 -10
  33. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/md5sums +0 -1
  34. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.debhelper.log +0 -45
  35. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.substvars +0 -1
  36. data/spec/data/apt/chef-integration-test2-1.0/debian/compat +0 -1
  37. data/spec/data/apt/chef-integration-test2-1.0/debian/conffiles +0 -1
  38. data/spec/data/apt/chef-integration-test2-1.0/debian/control +0 -13
  39. data/spec/data/apt/chef-integration-test2-1.0/debian/copyright +0 -34
  40. data/spec/data/apt/chef-integration-test2-1.0/debian/files +0 -1
  41. data/spec/data/apt/chef-integration-test2-1.0/debian/rules +0 -13
  42. data/spec/data/apt/chef-integration-test2-1.0/debian/source/format +0 -1
  43. data/spec/data/apt/chef-integration-test2_1.0-1.debian.tar.gz +0 -0
  44. data/spec/data/apt/chef-integration-test2_1.0-1.dsc +0 -18
  45. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.build +0 -91
  46. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.changes +0 -31
  47. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.deb +0 -0
  48. data/spec/data/apt/chef-integration-test2_1.0.orig.tar.gz +0 -0
  49. data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +0 -22
  50. data/spec/data/apt/chef-integration-test_1.0-1_amd64.deb +0 -0
  51. data/spec/data/apt/chef-integration-test_1.0.orig.tar.gz +0 -0
  52. data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +0 -22
  53. data/spec/data/apt/chef-integration-test_1.1-1_amd64.deb +0 -0
  54. data/spec/data/apt/chef-integration-test_1.1.orig.tar.gz +0 -0
  55. data/spec/data/apt/var/www/apt/conf/distributions +0 -7
  56. data/spec/data/apt/var/www/apt/conf/incoming +0 -4
  57. data/spec/data/apt/var/www/apt/conf/pulls +0 -3
  58. data/spec/data/apt/var/www/apt/db/checksums.db +0 -0
  59. data/spec/data/apt/var/www/apt/db/contents.cache.db +0 -0
  60. data/spec/data/apt/var/www/apt/db/packages.db +0 -0
  61. data/spec/data/apt/var/www/apt/db/references.db +0 -0
  62. data/spec/data/apt/var/www/apt/db/release.caches.db +0 -0
  63. data/spec/data/apt/var/www/apt/db/version +0 -4
  64. data/spec/data/apt/var/www/apt/dists/sid/Release +0 -19
  65. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +0 -16
  66. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages.gz +0 -0
  67. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +0 -5
  68. data/spec/data/apt/var/www/apt/dists/sid/main/binary-i386/Packages +0 -0
  69. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.0-1_amd64.deb +0 -0
  70. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.1-1_amd64.deb +0 -0
  71. data/spec/data/archive_file/test_archive.tar.gz +0 -0
  72. data/spec/data/bad-config.rb +0 -1
  73. data/spec/data/bootstrap/encrypted_data_bag_secret +0 -1
  74. data/spec/data/bootstrap/no_proxy.erb +0 -2
  75. data/spec/data/bootstrap/secret.erb +0 -9
  76. data/spec/data/bootstrap/test-hints.erb +0 -12
  77. data/spec/data/bootstrap/test.erb +0 -1
  78. data/spec/data/cb_version_cookbooks/cookbook2/files/test.txt +0 -0
  79. data/spec/data/cb_version_cookbooks/cookbook2/templates/test.erb +0 -0
  80. data/spec/data/cb_version_cookbooks/tatft/README.rdoc +0 -3
  81. data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +0 -1
  82. data/spec/data/cb_version_cookbooks/tatft/definitions/runit_service.rb +0 -1
  83. data/spec/data/cb_version_cookbooks/tatft/files/default/giant_blob.tgz +0 -1
  84. data/spec/data/cb_version_cookbooks/tatft/libraries/ownage.rb +0 -1
  85. data/spec/data/cb_version_cookbooks/tatft/providers/lwp.rb +0 -1
  86. data/spec/data/cb_version_cookbooks/tatft/recipes/default.rb +0 -1
  87. data/spec/data/cb_version_cookbooks/tatft/resources/lwr.rb +0 -1
  88. data/spec/data/cb_version_cookbooks/tatft/templates/default/configuration.erb +0 -0
  89. data/spec/data/checksum/random.txt +0 -1
  90. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +0 -1
  91. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-6m8zdk-0 +0 -0
  92. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +0 -1
  93. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +0 -1
  94. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +0 -1
  95. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +0 -1
  96. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +0 -1
  97. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +0 -1
  98. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +0 -1
  99. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +0 -1
  100. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +0 -1
  101. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +0 -1
  102. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +0 -1
  103. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +0 -1
  104. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +0 -1
  105. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +0 -1
  106. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +0 -1
  107. data/spec/data/client.d_00/00-foo.rb +0 -2
  108. data/spec/data/client.d_00/01-bar.rb +0 -1
  109. data/spec/data/client.d_00/02-strings.rb +0 -2
  110. data/spec/data/client.d_00/bar +0 -1
  111. data/spec/data/client.d_01/foo/bar.rb +0 -1
  112. data/spec/data/client.d_02/foo.rb/foo.txt +0 -1
  113. data/spec/data/config.rb +0 -6
  114. data/spec/data/cookbooks/angrybash/metadata.rb +0 -2
  115. data/spec/data/cookbooks/angrybash/recipes/default.rb +0 -8
  116. data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +0 -2
  117. data/spec/data/cookbooks/apache2/metadata.json +0 -33
  118. data/spec/data/cookbooks/apache2/metadata.rb +0 -2
  119. data/spec/data/cookbooks/apache2/recipes/default.rb +0 -3
  120. data/spec/data/cookbooks/borken/metadata.rb +0 -2
  121. data/spec/data/cookbooks/borken/recipes/default.rb +0 -2
  122. data/spec/data/cookbooks/borken/templates/default/borken.erb +0 -2
  123. data/spec/data/cookbooks/chefignore +0 -8
  124. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +0 -2
  125. data/spec/data/cookbooks/ignorken/metadata.rb +0 -2
  126. data/spec/data/cookbooks/ignorken/recipes/default.rb +0 -1
  127. data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +0 -2
  128. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +0 -2
  129. data/spec/data/cookbooks/irssi/files/default/irssi.response +0 -2
  130. data/spec/data/cookbooks/java/files/default/java.response +0 -2
  131. data/spec/data/cookbooks/java/metadata.json +0 -33
  132. data/spec/data/cookbooks/java/metadata.rb +0 -2
  133. data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +0 -4
  134. data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +0 -8
  135. data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +0 -8
  136. data/spec/data/cookbooks/openldap/.root_dotfile +0 -0
  137. data/spec/data/cookbooks/openldap/attributes/default.rb +0 -16
  138. data/spec/data/cookbooks/openldap/attributes/smokey.rb +0 -1
  139. data/spec/data/cookbooks/openldap/definitions/client.rb +0 -5
  140. data/spec/data/cookbooks/openldap/definitions/server.rb +0 -5
  141. data/spec/data/cookbooks/openldap/files/default/.dotfile +0 -1
  142. data/spec/data/cookbooks/openldap/files/default/.ssh/id_rsa +0 -1
  143. data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +0 -1
  144. data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +0 -2
  145. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +0 -3
  146. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +0 -3
  147. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +0 -1
  148. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +0 -3
  149. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +0 -3
  150. data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +0 -3
  151. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +0 -3
  152. data/spec/data/cookbooks/openldap/libraries/openldap.rb +0 -4
  153. data/spec/data/cookbooks/openldap/metadata.rb +0 -8
  154. data/spec/data/cookbooks/openldap/recipes/default.rb +0 -4
  155. data/spec/data/cookbooks/openldap/recipes/gigantor.rb +0 -3
  156. data/spec/data/cookbooks/openldap/recipes/one.rb +0 -15
  157. data/spec/data/cookbooks/openldap/recipes/return.rb +0 -2
  158. data/spec/data/cookbooks/openldap/spec/spec_helper.rb +0 -0
  159. data/spec/data/cookbooks/openldap/templates/default/all_windows_line_endings.erb +0 -4
  160. data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +0 -1
  161. data/spec/data/cookbooks/openldap/templates/default/helpers.erb +0 -14
  162. data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +0 -1
  163. data/spec/data/cookbooks/openldap/templates/default/nested_openldap_partials.erb +0 -1
  164. data/spec/data/cookbooks/openldap/templates/default/nested_partial.erb +0 -1
  165. data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +0 -4
  166. data/spec/data/cookbooks/openldap/templates/default/openldap_nested_variable_stuff.erb +0 -1
  167. data/spec/data/cookbooks/openldap/templates/default/openldap_stuff.conf.erb +0 -1
  168. data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +0 -1
  169. data/spec/data/cookbooks/openldap/templates/default/some_windows_line_endings.erb +0 -4
  170. data/spec/data/cookbooks/openldap/templates/default/test.erb +0 -1
  171. data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +0 -1
  172. data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +0 -4
  173. data/spec/data/cookbooks/preseed/metadata.rb +0 -2
  174. data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +0 -1
  175. data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +0 -1
  176. data/spec/data/cookbooks/starter/chefignore +0 -8
  177. data/spec/data/cookbooks/starter/files/sample.txt +0 -1
  178. data/spec/data/cookbooks/starter/metadata.rb +0 -2
  179. data/spec/data/cookbooks/starter/recipes/default.rb +0 -4
  180. data/spec/data/cookbooks/supports-platform-constraints/metadata.rb +0 -5
  181. data/spec/data/cookbooks/wget/files/default/wget.response +0 -2
  182. data/spec/data/definitions/test.rb +0 -5
  183. data/spec/data/dsc_lcm.pfx +0 -0
  184. data/spec/data/environment-config.rb +0 -5
  185. data/spec/data/file-providers-method-snapshot-chef-11-4.json +0 -127
  186. data/spec/data/fileedit/blank +0 -0
  187. data/spec/data/fileedit/hosts +0 -4
  188. data/spec/data/gems/chef-integration-test-0.1.0.gem +0 -0
  189. data/spec/data/git_bundles/example-repo.gitbundle +0 -0
  190. data/spec/data/git_bundles/sinatra-test-app-with-callback-files.gitbundle +0 -0
  191. data/spec/data/git_bundles/sinatra-test-app-with-symlinks.gitbundle +0 -0
  192. data/spec/data/git_bundles/sinatra-test-app.gitbundle +0 -0
  193. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +0 -4
  194. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +0 -13
  195. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +0 -8
  196. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +0 -4
  197. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +0 -9
  198. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +0 -8
  199. data/spec/data/kitchen/chefignore +0 -6
  200. data/spec/data/kitchen/openldap/attributes/default.rb +0 -3
  201. data/spec/data/kitchen/openldap/attributes/robinson.rb +0 -3
  202. data/spec/data/kitchen/openldap/definitions/client.rb +0 -3
  203. data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +0 -3
  204. data/spec/data/kitchen/openldap/recipes/gigantor.rb +0 -3
  205. data/spec/data/kitchen/openldap/recipes/ignoreme.rb +0 -3
  206. data/spec/data/kitchen/openldap/recipes/woot.rb +0 -3
  207. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  208. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  209. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  210. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  211. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  212. data/spec/data/lwrp/providers/buck_passer.rb +0 -28
  213. data/spec/data/lwrp/providers/buck_passer_2.rb +0 -26
  214. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +0 -28
  215. data/spec/data/lwrp/providers/inline_compiler.rb +0 -24
  216. data/spec/data/lwrp/providers/monkey_name_printer.rb +0 -5
  217. data/spec/data/lwrp/providers/paint_drying_watcher.rb +0 -7
  218. data/spec/data/lwrp/providers/thumb_twiddler.rb +0 -7
  219. data/spec/data/lwrp/resources/bar.rb +0 -4
  220. data/spec/data/lwrp/resources/buck_passer.rb +0 -6
  221. data/spec/data/lwrp/resources/buck_passer_2.rb +0 -4
  222. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +0 -4
  223. data/spec/data/lwrp/resources/foo.rb +0 -6
  224. data/spec/data/lwrp/resources/inline_compiler.rb +0 -4
  225. data/spec/data/lwrp/resources/monkey_name_printer.rb +0 -6
  226. data/spec/data/lwrp/resources/paint_drying_watcher.rb +0 -4
  227. data/spec/data/lwrp/resources/thumb_twiddler.rb +0 -4
  228. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +0 -3
  229. data/spec/data/lwrp_const_scoping/resources/conflict.rb +0 -1
  230. data/spec/data/lwrp_override/providers/buck_passer.rb +0 -5
  231. data/spec/data/lwrp_override/resources/foo.rb +0 -11
  232. data/spec/data/mac_users/10.9.plist.xml +0 -560
  233. data/spec/data/mac_users/10.9.shadow.xml +0 -21
  234. data/spec/data/metadata/quick_start/metadata.rb +0 -14
  235. data/spec/data/mixin/invalid_data.rb +0 -3
  236. data/spec/data/mixin/real_data.rb +0 -2
  237. data/spec/data/nested.json +0 -2
  238. data/spec/data/nodes/default.rb +0 -15
  239. data/spec/data/nodes/test.example.com.rb +0 -17
  240. data/spec/data/nodes/test.rb +0 -15
  241. data/spec/data/null_config.rb +0 -1
  242. data/spec/data/object_loader/environments/test.json +0 -7
  243. data/spec/data/object_loader/environments/test.rb +0 -2
  244. data/spec/data/object_loader/environments/test_json_class.json +0 -8
  245. data/spec/data/object_loader/nodes/test.json +0 -7
  246. data/spec/data/object_loader/nodes/test.rb +0 -2
  247. data/spec/data/object_loader/nodes/test_json_class.json +0 -8
  248. data/spec/data/object_loader/roles/test.json +0 -7
  249. data/spec/data/object_loader/roles/test.rb +0 -2
  250. data/spec/data/object_loader/roles/test_json_class.json +0 -8
  251. data/spec/data/old_home_dir/my-dot-emacs +0 -0
  252. data/spec/data/old_home_dir/my-dot-vim +0 -0
  253. data/spec/data/partial_one.erb +0 -1
  254. data/spec/data/prefer_metadata_json/metadata.json +0 -51
  255. data/spec/data/prefer_metadata_json/metadata.rb +0 -6
  256. data/spec/data/prefer_metadata_json/recipes/default.rb +0 -0
  257. data/spec/data/recipes/test.rb +0 -7
  258. data/spec/data/recipes.tgz +0 -0
  259. data/spec/data/remote_directory_data/remote_dir_file.txt +0 -1
  260. data/spec/data/remote_directory_data/remote_subdirectory/remote_subdir_file.txt +0 -1
  261. data/spec/data/remote_file/nyan_cat.png +0 -0
  262. data/spec/data/remote_file/nyan_cat.png.gz +0 -0
  263. data/spec/data/root_alias_cookbooks/dup_attr/attributes/default.rb +0 -1
  264. data/spec/data/root_alias_cookbooks/dup_attr/attributes.rb +0 -1
  265. data/spec/data/root_alias_cookbooks/dup_attr/metadata.rb +0 -2
  266. data/spec/data/root_alias_cookbooks/dup_attr/recipe.rb +0 -3
  267. data/spec/data/root_alias_cookbooks/dup_recipe/attributes.rb +0 -1
  268. data/spec/data/root_alias_cookbooks/dup_recipe/metadata.rb +0 -2
  269. data/spec/data/root_alias_cookbooks/dup_recipe/recipe.rb +0 -3
  270. data/spec/data/root_alias_cookbooks/dup_recipe/recipes/default.rb +0 -3
  271. data/spec/data/root_alias_cookbooks/simple/attributes.rb +0 -1
  272. data/spec/data/root_alias_cookbooks/simple/metadata.rb +0 -2
  273. data/spec/data/root_alias_cookbooks/simple/recipe.rb +0 -3
  274. data/spec/data/rubygems.org/latest_specs.4.8.gz +0 -0
  275. data/spec/data/rubygems.org/nonexistent_gem +0 -0
  276. data/spec/data/rubygems.org/nonexistent_gem-info +0 -1
  277. data/spec/data/rubygems.org/sexp_processor +0 -0
  278. data/spec/data/rubygems.org/sexp_processor-4.15.1.gemspec.rz +0 -0
  279. data/spec/data/rubygems.org/sexp_processor-info +0 -50
  280. data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +0 -2
  281. data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +0 -1
  282. data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +0 -2
  283. data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +0 -2
  284. data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +0 -1
  285. data/spec/data/run_context/cookbooks/circular-dep1/recipes/default.rb +0 -0
  286. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +0 -2
  287. data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +0 -2
  288. data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +0 -1
  289. data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +0 -2
  290. data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +0 -2
  291. data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +0 -1
  292. data/spec/data/run_context/cookbooks/circular-dep2/recipes/default.rb +0 -0
  293. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +0 -2
  294. data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +0 -2
  295. data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +0 -2
  296. data/spec/data/run_context/cookbooks/dependency1/attributes/unparsed_file +0 -1
  297. data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +0 -2
  298. data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +0 -1
  299. data/spec/data/run_context/cookbooks/dependency1/definitions/unparsed_file +0 -1
  300. data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +0 -2
  301. data/spec/data/run_context/cookbooks/dependency1/libraries/unparsed_file +0 -1
  302. data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +0 -1
  303. data/spec/data/run_context/cookbooks/dependency1/providers/unparsed_file +0 -1
  304. data/spec/data/run_context/cookbooks/dependency1/recipes/default.rb +0 -0
  305. data/spec/data/run_context/cookbooks/dependency1/recipes/unparsed_file +0 -1
  306. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +0 -2
  307. data/spec/data/run_context/cookbooks/dependency1/resources/unparsed_file +0 -1
  308. data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +0 -2
  309. data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +0 -1
  310. data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +0 -2
  311. data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +0 -1
  312. data/spec/data/run_context/cookbooks/dependency2/recipes/default.rb +0 -0
  313. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +0 -2
  314. data/spec/data/run_context/cookbooks/include/recipes/default.rb +0 -24
  315. data/spec/data/run_context/cookbooks/include/recipes/includee.rb +0 -3
  316. data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +0 -2
  317. data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +0 -1
  318. data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +0 -1
  319. data/spec/data/run_context/cookbooks/no-default-attr/recipes/default.rb +0 -0
  320. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +0 -2
  321. data/spec/data/run_context/cookbooks/test/attributes/default.rb +0 -0
  322. data/spec/data/run_context/cookbooks/test/attributes/george.rb +0 -1
  323. data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +0 -9
  324. data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +0 -5
  325. data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +0 -1
  326. data/spec/data/run_context/cookbooks/test/providers/provider.rb +0 -1
  327. data/spec/data/run_context/cookbooks/test/recipes/default.rb +0 -5
  328. data/spec/data/run_context/cookbooks/test/recipes/one.rb +0 -7
  329. data/spec/data/run_context/cookbooks/test/recipes/two.rb +0 -7
  330. data/spec/data/run_context/cookbooks/test/resources/resource.rb +0 -3
  331. data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +0 -2
  332. data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +0 -1
  333. data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +0 -2
  334. data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +0 -2
  335. data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +0 -1
  336. data/spec/data/run_context/cookbooks/test-with-circular-deps/recipes/default.rb +0 -0
  337. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +0 -3
  338. data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +0 -2
  339. data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +0 -1
  340. data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +0 -1
  341. data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +0 -3
  342. data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +0 -1
  343. data/spec/data/run_context/cookbooks/test-with-deps/recipes/default.rb +0 -0
  344. data/spec/data/run_context/cookbooks/test-with-deps/recipes/server.rb +0 -0
  345. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +0 -2
  346. data/spec/data/run_context/nodes/run_context.rb +0 -5
  347. data/spec/data/sample_msu1.xml +0 -10
  348. data/spec/data/sample_msu2.xml +0 -14
  349. data/spec/data/sample_msu3.xml +0 -16
  350. data/spec/data/search_queries_to_transform.txt +0 -98
  351. data/spec/data/shef-config.rb +0 -11
  352. data/spec/data/snap_package/async_result_success.json +0 -6
  353. data/spec/data/snap_package/change_id_result.json +0 -175
  354. data/spec/data/snap_package/find_result_failure.json +0 -10
  355. data/spec/data/snap_package/find_result_success.json +0 -70
  356. data/spec/data/snap_package/get_by_name_result_failure.json +0 -10
  357. data/spec/data/snap_package/get_by_name_result_success.json +0 -38
  358. data/spec/data/snap_package/get_conf_success.json +0 -10
  359. data/spec/data/snap_package/result_failure.json +0 -9
  360. data/spec/data/ssl/5e707473.0 +0 -18
  361. data/spec/data/ssl/binary/chef-rspec-der.cert +0 -0
  362. data/spec/data/ssl/binary/chef-rspec-der.key +0 -0
  363. data/spec/data/ssl/chef-rspec.cert +0 -27
  364. data/spec/data/ssl/chef-rspec.key +0 -27
  365. data/spec/data/ssl/key.pem +0 -15
  366. data/spec/data/ssl/private_key.pem +0 -27
  367. data/spec/data/ssl/private_key_with_whitespace.pem +0 -32
  368. data/spec/data/standalone_cookbook/Gemfile +0 -1
  369. data/spec/data/standalone_cookbook/chefignore +0 -9
  370. data/spec/data/standalone_cookbook/recipes/default.rb +0 -3
  371. data/spec/data/standalone_cookbook/vendor/bundle/ruby/2.0.0/gems/multi_json-1.9.0/lib/multi_json.rb +0 -1
  372. data/spec/data/templates/chef-seattle20160930-4388-1crv7ef.txt +0 -1
  373. data/spec/data/templates/chef-seattle20160930-4388-jjfoae.txt +0 -1
  374. data/spec/data/templates/chef-seattle20160930-4388-umeq2c.txt +0 -1
  375. data/spec/data/templates/failed.erb +0 -5
  376. data/spec/data/templates/seattle.txt +0 -1
  377. data/spec/data/trusted_certs/example.crt +0 -31
  378. data/spec/data/trusted_certs/example_no_cn.crt +0 -32
  379. data/spec/data/trusted_certs/intermediate.pem +0 -38
  380. data/spec/data/trusted_certs/opscode.pem +0 -36
  381. data/spec/data/trusted_certs/root.pem +0 -22
  382. data/spec/data/windows_certificates/base64_test.cer +0 -20
  383. data/spec/data/windows_certificates/othertest.cer +0 -20
  384. data/spec/data/windows_certificates/test.cer +0 -20
  385. data/spec/data/windows_certificates/test.p7b +0 -0
  386. data/spec/data/windows_certificates/test.pem +0 -20
  387. data/spec/data/windows_certificates/test.pfx +0 -0
  388. data/spec/functional/application_spec.rb +0 -58
  389. data/spec/functional/assets/PkgA.1.0.0.0.bff +0 -0
  390. data/spec/functional/assets/PkgA.2.0.0.0.bff +0 -0
  391. data/spec/functional/assets/chefinittest +0 -36
  392. data/spec/functional/assets/chocolatey_feed/test-A.1.0.0.nupkg +0 -0
  393. data/spec/functional/assets/chocolatey_feed/test-A.1.5.0.nupkg +0 -0
  394. data/spec/functional/assets/chocolatey_feed/test-A.2.0.0.nupkg +0 -0
  395. data/spec/functional/assets/chocolatey_feed/test-B.1.0.0.nupkg +0 -0
  396. data/spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm +0 -0
  397. data/spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm +0 -0
  398. data/spec/functional/assets/inittest +0 -37
  399. data/spec/functional/assets/mytest-1.0-1.noarch.rpm +0 -0
  400. data/spec/functional/assets/mytest-2.0-1.noarch.rpm +0 -0
  401. data/spec/functional/assets/testchefsubsys +0 -10
  402. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  403. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.i686.rpm +0 -0
  404. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  405. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  406. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  407. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.src.rpm +0 -0
  408. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  409. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  410. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.i686.rpm +0 -0
  411. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  412. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  413. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  414. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.src.rpm +0 -0
  415. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  416. data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
  417. data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
  418. data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
  419. data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
  420. data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
  421. data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
  422. data/spec/functional/assets/yumrepo/repodata/filelists.xml.gz +0 -0
  423. data/spec/functional/assets/yumrepo/repodata/other.xml.gz +0 -0
  424. data/spec/functional/assets/yumrepo/repodata/primary.xml.gz +0 -0
  425. data/spec/functional/assets/yumrepo/repodata/repomd.xml +0 -21
  426. data/spec/functional/assets/yumrepo-empty/repodata/01a3b-filelists.sqlite.bz2 +0 -0
  427. data/spec/functional/assets/yumrepo-empty/repodata/401dc-filelists.xml.gz +0 -0
  428. data/spec/functional/assets/yumrepo-empty/repodata/5dc1e-primary.sqlite.bz2 +0 -0
  429. data/spec/functional/assets/yumrepo-empty/repodata/6bf96-other.xml.gz +0 -0
  430. data/spec/functional/assets/yumrepo-empty/repodata/7c365-other.sqlite.bz2 +0 -0
  431. data/spec/functional/assets/yumrepo-empty/repodata/dabe2-primary.xml.gz +0 -0
  432. data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +0 -55
  433. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  434. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.i686.rpm +0 -0
  435. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  436. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  437. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  438. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.src.rpm +0 -0
  439. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  440. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  441. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.i686.rpm +0 -0
  442. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  443. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  444. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  445. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.src.rpm +0 -0
  446. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  447. data/spec/functional/dsl/reboot_pending_spec.rb +0 -88
  448. data/spec/functional/dsl/registry_helper_spec.rb +0 -61
  449. data/spec/functional/event_loggers/windows_eventlog_spec.rb +0 -107
  450. data/spec/functional/file_content_management/deploy_strategies_spec.rb +0 -229
  451. data/spec/functional/http/simple_spec.rb +0 -146
  452. data/spec/functional/mixin/from_file_spec.rb +0 -93
  453. data/spec/functional/mixin/powershell_out_spec.rb +0 -51
  454. data/spec/functional/mixin/shell_out_spec.rb +0 -48
  455. data/spec/functional/mixin/user_context_spec.rb +0 -119
  456. data/spec/functional/notifications_spec.rb +0 -238
  457. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +0 -100
  458. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +0 -51
  459. data/spec/functional/rebooter_spec.rb +0 -117
  460. data/spec/functional/resource/aix_service_spec.rb +0 -145
  461. data/spec/functional/resource/aixinit_service_spec.rb +0 -210
  462. data/spec/functional/resource/apt_package_spec.rb +0 -383
  463. data/spec/functional/resource/archive_file_spec.rb +0 -88
  464. data/spec/functional/resource/bash_spec.rb +0 -55
  465. data/spec/functional/resource/batch_spec.rb +0 -34
  466. data/spec/functional/resource/bff_spec.rb +0 -120
  467. data/spec/functional/resource/chocolatey_package_spec.rb +0 -194
  468. data/spec/functional/resource/cookbook_file_spec.rb +0 -79
  469. data/spec/functional/resource/cron_spec.rb +0 -179
  470. data/spec/functional/resource/directory_spec.rb +0 -43
  471. data/spec/functional/resource/dnf_package_spec.rb +0 -1629
  472. data/spec/functional/resource/dpkg_package_spec.rb +0 -355
  473. data/spec/functional/resource/dsc_resource_spec.rb +0 -91
  474. data/spec/functional/resource/dsc_script_spec.rb +0 -476
  475. data/spec/functional/resource/execute_spec.rb +0 -171
  476. data/spec/functional/resource/file_spec.rb +0 -167
  477. data/spec/functional/resource/git_spec.rb +0 -330
  478. data/spec/functional/resource/group_spec.rb +0 -486
  479. data/spec/functional/resource/ifconfig_spec.rb +0 -178
  480. data/spec/functional/resource/insserv_spec.rb +0 -206
  481. data/spec/functional/resource/launchd_spec.rb +0 -232
  482. data/spec/functional/resource/link_spec.rb +0 -704
  483. data/spec/functional/resource/locale_spec.rb +0 -108
  484. data/spec/functional/resource/macos_userdefaults_spec.rb +0 -139
  485. data/spec/functional/resource/mount_spec.rb +0 -219
  486. data/spec/functional/resource/msu_package_spec.rb +0 -107
  487. data/spec/functional/resource/ohai_spec.rb +0 -54
  488. data/spec/functional/resource/plist_spec.rb +0 -25
  489. data/spec/functional/resource/powershell_package_source_spec.rb +0 -106
  490. data/spec/functional/resource/powershell_script_spec.rb +0 -588
  491. data/spec/functional/resource/reboot_spec.rb +0 -103
  492. data/spec/functional/resource/registry_spec.rb +0 -300
  493. data/spec/functional/resource/remote_directory_spec.rb +0 -220
  494. data/spec/functional/resource/remote_file_spec.rb +0 -418
  495. data/spec/functional/resource/rpm_spec.rb +0 -120
  496. data/spec/functional/resource/template_spec.rb +0 -245
  497. data/spec/functional/resource/timezone_spec.rb +0 -41
  498. data/spec/functional/resource/user/linux_user_spec.rb +0 -127
  499. data/spec/functional/resource/user/mac_user_spec.rb +0 -207
  500. data/spec/functional/resource/user/windows_spec.rb +0 -245
  501. data/spec/functional/resource/windows_certificate_spec.rb +0 -401
  502. data/spec/functional/resource/windows_env_spec.rb +0 -285
  503. data/spec/functional/resource/windows_firewall_rule_spec.rb +0 -93
  504. data/spec/functional/resource/windows_font_spec.rb +0 -52
  505. data/spec/functional/resource/windows_hostname_spec.rb +0 -91
  506. data/spec/functional/resource/windows_package_spec.rb +0 -193
  507. data/spec/functional/resource/windows_pagefile_spec.rb +0 -125
  508. data/spec/functional/resource/windows_path_spec.rb +0 -68
  509. data/spec/functional/resource/windows_security_policy_spec.rb +0 -86
  510. data/spec/functional/resource/windows_share_spec.rb +0 -103
  511. data/spec/functional/resource/windows_task_spec.rb +0 -1969
  512. data/spec/functional/resource/windows_user_privilege_spec.rb +0 -192
  513. data/spec/functional/resource/yum_package_spec.rb +0 -1739
  514. data/spec/functional/resource/zypper_package_spec.rb +0 -276
  515. data/spec/functional/root_alias_spec.rb +0 -78
  516. data/spec/functional/run_lock_spec.rb +0 -481
  517. data/spec/functional/shell_spec.rb +0 -149
  518. data/spec/functional/tiny_server_spec.rb +0 -79
  519. data/spec/functional/util/path_helper_spec.rb +0 -37
  520. data/spec/functional/version_spec.rb +0 -36
  521. data/spec/functional/win32/crypto_spec.rb +0 -54
  522. data/spec/functional/win32/registry_spec.rb +0 -618
  523. data/spec/functional/win32/security_spec.rb +0 -233
  524. data/spec/functional/win32/sid_spec.rb +0 -55
  525. data/spec/functional/win32/version_info_spec.rb +0 -50
  526. data/spec/functional/win32/versions_spec.rb +0 -115
  527. data/spec/integration/client/client_spec.rb +0 -963
  528. data/spec/integration/client/exit_code_spec.rb +0 -116
  529. data/spec/integration/client/fips_spec.rb +0 -29
  530. data/spec/integration/client/ipv6_spec.rb +0 -135
  531. data/spec/integration/client/open_ssl_spec.rb +0 -25
  532. data/spec/integration/compliance/compliance_spec.rb +0 -143
  533. data/spec/integration/ohai/ohai_spec.rb +0 -62
  534. data/spec/integration/recipes/accumulator_spec.rb +0 -245
  535. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +0 -176
  536. data/spec/integration/recipes/lwrp_spec.rb +0 -56
  537. data/spec/integration/recipes/noop_resource_spec.rb +0 -24
  538. data/spec/integration/recipes/notifies_spec.rb +0 -438
  539. data/spec/integration/recipes/notifying_block_spec.rb +0 -116
  540. data/spec/integration/recipes/provider_choice.rb +0 -38
  541. data/spec/integration/recipes/recipe_dsl_spec.rb +0 -1281
  542. data/spec/integration/recipes/remote_directory.rb +0 -74
  543. data/spec/integration/recipes/resource_action_spec.rb +0 -524
  544. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +0 -554
  545. data/spec/integration/recipes/resource_load_spec.rb +0 -315
  546. data/spec/integration/recipes/unified_mode_spec.rb +0 -947
  547. data/spec/integration/recipes/use_partial_spec.rb +0 -116
  548. data/spec/integration/solo/solo_spec.rb +0 -219
  549. data/spec/rcov.opts +0 -2
  550. data/spec/spec_helper.rb +0 -350
  551. data/spec/stress/win32/file_spec.rb +0 -37
  552. data/spec/stress/win32/memory_spec.rb +0 -22
  553. data/spec/stress/win32/security_spec.rb +0 -69
  554. data/spec/support/chef_helpers.rb +0 -79
  555. data/spec/support/key_helpers.rb +0 -102
  556. data/spec/support/lib/chef/provider/easy.rb +0 -35
  557. data/spec/support/lib/chef/provider/openldap_includer.rb +0 -29
  558. data/spec/support/lib/chef/provider/snakeoil.rb +0 -42
  559. data/spec/support/lib/chef/resource/cat.rb +0 -39
  560. data/spec/support/lib/chef/resource/one_two_three_four.rb +0 -36
  561. data/spec/support/lib/chef/resource/openldap_includer.rb +0 -28
  562. data/spec/support/lib/chef/resource/with_state.rb +0 -29
  563. data/spec/support/lib/chef/resource/zen_follower.rb +0 -36
  564. data/spec/support/lib/chef/resource/zen_master.rb +0 -39
  565. data/spec/support/lib/library_load_order.rb +0 -20
  566. data/spec/support/matchers/leak.rb +0 -96
  567. data/spec/support/mock/platform.rb +0 -33
  568. data/spec/support/platform_helpers.rb +0 -284
  569. data/spec/support/platforms/prof/gc.rb +0 -51
  570. data/spec/support/platforms/prof/win32.rb +0 -45
  571. data/spec/support/platforms/win32/spec_service.rb +0 -57
  572. data/spec/support/recipe_dsl_helper.rb +0 -83
  573. data/spec/support/ruby_installer.rb +0 -51
  574. data/spec/support/shared/context/config.rb +0 -18
  575. data/spec/support/shared/context/win32.rb +0 -34
  576. data/spec/support/shared/functional/diff_disabled.rb +0 -10
  577. data/spec/support/shared/functional/directory_resource.rb +0 -178
  578. data/spec/support/shared/functional/execute_resource.rb +0 -150
  579. data/spec/support/shared/functional/file_resource.rb +0 -1047
  580. data/spec/support/shared/functional/http.rb +0 -224
  581. data/spec/support/shared/functional/knife.rb +0 -37
  582. data/spec/support/shared/functional/securable_resource.rb +0 -654
  583. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -393
  584. data/spec/support/shared/functional/windows_script.rb +0 -260
  585. data/spec/support/shared/integration/integration_helper.rb +0 -122
  586. data/spec/support/shared/integration/knife_support.rb +0 -192
  587. data/spec/support/shared/matchers/exit_with_code.rb +0 -32
  588. data/spec/support/shared/matchers/match_environment_variable.rb +0 -17
  589. data/spec/support/shared/shared_examples.rb +0 -14
  590. data/spec/support/shared/unit/api_error_inspector.rb +0 -190
  591. data/spec/support/shared/unit/api_versioning.rb +0 -77
  592. data/spec/support/shared/unit/application_dot_d.rb +0 -82
  593. data/spec/support/shared/unit/execute_resource.rb +0 -166
  594. data/spec/support/shared/unit/file_system_support.rb +0 -70
  595. data/spec/support/shared/unit/knife_shared.rb +0 -39
  596. data/spec/support/shared/unit/mock_shellout.rb +0 -49
  597. data/spec/support/shared/unit/platform_introspector.rb +0 -189
  598. data/spec/support/shared/unit/provider/file.rb +0 -877
  599. data/spec/support/shared/unit/provider/package/package_shared.rb +0 -95
  600. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +0 -410
  601. data/spec/support/shared/unit/resource/static_provider_resolution.rb +0 -63
  602. data/spec/support/shared/unit/script_resource.rb +0 -74
  603. data/spec/support/shared/unit/user_and_client_shared.rb +0 -114
  604. data/spec/support/shared/unit/windows_script_resource.rb +0 -65
  605. data/spec/tiny_server.rb +0 -193
  606. data/spec/unit/action_collection_spec.rb +0 -19
  607. data/spec/unit/api_client/registration_spec.rb +0 -278
  608. data/spec/unit/api_client_spec.rb +0 -341
  609. data/spec/unit/api_client_v1_spec.rb +0 -455
  610. data/spec/unit/application/agent_spec.rb +0 -0
  611. data/spec/unit/application/apply_spec.rb +0 -116
  612. data/spec/unit/application/base_spec.rb +0 -40
  613. data/spec/unit/application/client_spec.rb +0 -588
  614. data/spec/unit/application/exit_code_spec.rb +0 -145
  615. data/spec/unit/application/server_spec.rb +0 -0
  616. data/spec/unit/application/solo_spec.rb +0 -218
  617. data/spec/unit/application_spec.rb +0 -587
  618. data/spec/unit/chef_class_spec.rb +0 -240
  619. data/spec/unit/chef_fs/config_spec.rb +0 -235
  620. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +0 -82
  621. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +0 -65
  622. data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +0 -63
  623. data/spec/unit/chef_fs/diff_spec.rb +0 -328
  624. data/spec/unit/chef_fs/file_pattern_spec.rb +0 -512
  625. data/spec/unit/chef_fs/file_system/cookbook_subdir_spec.rb +0 -34
  626. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +0 -45
  627. data/spec/unit/chef_fs/file_system/repository/base_file_spec.rb +0 -126
  628. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +0 -175
  629. data/spec/unit/chef_fs/file_system_spec.rb +0 -150
  630. data/spec/unit/chef_fs/path_util_spec.rb +0 -108
  631. data/spec/unit/chef_spec.rb +0 -25
  632. data/spec/unit/client_spec.rb +0 -881
  633. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -126
  634. data/spec/unit/compliance/fetcher/chef_server_spec.rb +0 -93
  635. data/spec/unit/compliance/input_spec.rb +0 -104
  636. data/spec/unit/compliance/profile_spec.rb +0 -120
  637. data/spec/unit/compliance/reporter/automate_spec.rb +0 -451
  638. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +0 -197
  639. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +0 -49
  640. data/spec/unit/compliance/runner_spec.rb +0 -354
  641. data/spec/unit/compliance/waiver_spec.rb +0 -104
  642. data/spec/unit/config_fetcher_spec.rb +0 -125
  643. data/spec/unit/config_spec.rb +0 -31
  644. data/spec/unit/cookbook/chefignore_spec.rb +0 -69
  645. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +0 -213
  646. data/spec/unit/cookbook/file_vendor_spec.rb +0 -123
  647. data/spec/unit/cookbook/gem_installer_spec.rb +0 -114
  648. data/spec/unit/cookbook/manifest_v0_spec.rb +0 -133
  649. data/spec/unit/cookbook/manifest_v2_spec.rb +0 -70
  650. data/spec/unit/cookbook/metadata_spec.rb +0 -610
  651. data/spec/unit/cookbook/synchronizer_spec.rb +0 -560
  652. data/spec/unit/cookbook/syntax_check_spec.rb +0 -229
  653. data/spec/unit/cookbook_loader_spec.rb +0 -265
  654. data/spec/unit/cookbook_manifest_spec.rb +0 -228
  655. data/spec/unit/cookbook_spec.rb +0 -62
  656. data/spec/unit/cookbook_uploader_spec.rb +0 -205
  657. data/spec/unit/cookbook_version_file_specificity_spec.rb +0 -623
  658. data/spec/unit/cookbook_version_spec.rb +0 -341
  659. data/spec/unit/daemon_spec.rb +0 -179
  660. data/spec/unit/data_bag_item_spec.rb +0 -387
  661. data/spec/unit/data_bag_spec.rb +0 -263
  662. data/spec/unit/data_collector/config_validation_spec.rb +0 -208
  663. data/spec/unit/data_collector_spec.rb +0 -1076
  664. data/spec/unit/decorator/lazy_array_spec.rb +0 -58
  665. data/spec/unit/decorator/lazy_spec.rb +0 -39
  666. data/spec/unit/decorator_spec.rb +0 -142
  667. data/spec/unit/delayed_evaluator_spec.rb +0 -35
  668. data/spec/unit/deprecated_spec.rb +0 -65
  669. data/spec/unit/deprecation_spec.rb +0 -129
  670. data/spec/unit/digester_spec.rb +0 -49
  671. data/spec/unit/dsl/data_query_spec.rb +0 -108
  672. data/spec/unit/dsl/declare_resource_spec.rb +0 -374
  673. data/spec/unit/dsl/platform_introspection_spec.rb +0 -160
  674. data/spec/unit/dsl/reboot_pending_spec.rb +0 -87
  675. data/spec/unit/dsl/recipe_spec.rb +0 -76
  676. data/spec/unit/dsl/registry_helper_spec.rb +0 -52
  677. data/spec/unit/dsl/render_helpers_spec.rb +0 -102
  678. data/spec/unit/dsl/resources_spec.rb +0 -85
  679. data/spec/unit/dsl/secret_spec.rb +0 -175
  680. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +0 -97
  681. data/spec/unit/encrypted_data_bag_item_spec.rb +0 -439
  682. data/spec/unit/environment_spec.rb +0 -476
  683. data/spec/unit/event_dispatch/dispatcher_spec.rb +0 -172
  684. data/spec/unit/event_dispatch/dsl_spec.rb +0 -83
  685. data/spec/unit/exceptions_spec.rb +0 -132
  686. data/spec/unit/file_access_control_spec.rb +0 -308
  687. data/spec/unit/file_cache_spec.rb +0 -178
  688. data/spec/unit/file_content_management/deploy/cp_spec.rb +0 -44
  689. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +0 -113
  690. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +0 -232
  691. data/spec/unit/file_content_management/tempfile_spec.rb +0 -115
  692. data/spec/unit/formatters/base_spec.rb +0 -100
  693. data/spec/unit/formatters/doc_spec.rb +0 -110
  694. data/spec/unit/formatters/error_description_spec.rb +0 -141
  695. data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +0 -76
  696. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +0 -265
  697. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +0 -126
  698. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +0 -43
  699. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +0 -26
  700. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +0 -26
  701. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +0 -191
  702. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +0 -91
  703. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +0 -155
  704. data/spec/unit/guard_interpreter_spec.rb +0 -41
  705. data/spec/unit/handler/json_file_spec.rb +0 -63
  706. data/spec/unit/handler_spec.rb +0 -308
  707. data/spec/unit/http/api_versions_spec.rb +0 -100
  708. data/spec/unit/http/authenticator_spec.rb +0 -247
  709. data/spec/unit/http/basic_client_spec.rb +0 -102
  710. data/spec/unit/http/http_request_spec.rb +0 -97
  711. data/spec/unit/http/json_input_spec.rb +0 -128
  712. data/spec/unit/http/simple_spec.rb +0 -32
  713. data/spec/unit/http/socketless_chef_zero_client_spec.rb +0 -174
  714. data/spec/unit/http/ssl_policies_spec.rb +0 -228
  715. data/spec/unit/http/validate_content_length_spec.rb +0 -207
  716. data/spec/unit/http_spec.rb +0 -235
  717. data/spec/unit/json_compat_spec.rb +0 -73
  718. data/spec/unit/key_spec.rb +0 -631
  719. data/spec/unit/log/syslog_spec.rb +0 -47
  720. data/spec/unit/log/winevt_spec.rb +0 -62
  721. data/spec/unit/lwrp_spec.rb +0 -693
  722. data/spec/unit/mixin/api_version_request_handling_spec.rb +0 -126
  723. data/spec/unit/mixin/checksum_spec.rb +0 -82
  724. data/spec/unit/mixin/convert_to_class_name_spec.rb +0 -54
  725. data/spec/unit/mixin/deep_merge_spec.rb +0 -357
  726. data/spec/unit/mixin/default_paths_spec.rb +0 -92
  727. data/spec/unit/mixin/deprecation_spec.rb +0 -57
  728. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +0 -96
  729. data/spec/unit/mixin/homebrew_spec.rb +0 -118
  730. data/spec/unit/mixin/lazy_module_include.rb +0 -71
  731. data/spec/unit/mixin/openssl_helper_spec.rb +0 -897
  732. data/spec/unit/mixin/params_validate_spec.rb +0 -422
  733. data/spec/unit/mixin/powershell_exec_spec.rb +0 -90
  734. data/spec/unit/mixin/powershell_out_spec.rb +0 -106
  735. data/spec/unit/mixin/powershell_type_coercions_spec.rb +0 -84
  736. data/spec/unit/mixin/properties_spec.rb +0 -107
  737. data/spec/unit/mixin/proxified_socket_spec.rb +0 -97
  738. data/spec/unit/mixin/securable_spec.rb +0 -313
  739. data/spec/unit/mixin/shell_out_spec.rb +0 -308
  740. data/spec/unit/mixin/subclass_directive_spec.rb +0 -45
  741. data/spec/unit/mixin/template_spec.rb +0 -317
  742. data/spec/unit/mixin/unformatter_spec.rb +0 -60
  743. data/spec/unit/mixin/uris_spec.rb +0 -57
  744. data/spec/unit/mixin/user_context_spec.rb +0 -99
  745. data/spec/unit/mixin/versioned_api_spec.rb +0 -128
  746. data/spec/unit/mixin/which.rb +0 -170
  747. data/spec/unit/mixin/why_run_spec.rb +0 -53
  748. data/spec/unit/mixin/windows_architecture_helper_spec.rb +0 -85
  749. data/spec/unit/mixin/xml_escape_spec.rb +0 -54
  750. data/spec/unit/monologger_spec.rb +0 -45
  751. data/spec/unit/node/attribute_spec.rb +0 -1322
  752. data/spec/unit/node/immutable_collections_spec.rb +0 -258
  753. data/spec/unit/node/vivid_mash_spec.rb +0 -500
  754. data/spec/unit/node_map_spec.rb +0 -276
  755. data/spec/unit/node_spec.rb +0 -2038
  756. data/spec/unit/org_group_spec.rb +0 -45
  757. data/spec/unit/org_spec.rb +0 -196
  758. data/spec/unit/platform/query_helpers_spec.rb +0 -48
  759. data/spec/unit/policy_builder/dynamic_spec.rb +0 -256
  760. data/spec/unit/policy_builder/expand_node_object_spec.rb +0 -311
  761. data/spec/unit/policy_builder/policyfile_spec.rb +0 -960
  762. data/spec/unit/policy_builder_spec.rb +0 -26
  763. data/spec/unit/property/state_spec.rb +0 -514
  764. data/spec/unit/property/validation_spec.rb +0 -813
  765. data/spec/unit/property_spec.rb +0 -1329
  766. data/spec/unit/provider/apt_preference_spec.rb +0 -91
  767. data/spec/unit/provider/apt_repository_spec.rb +0 -370
  768. data/spec/unit/provider/apt_update_spec.rb +0 -119
  769. data/spec/unit/provider/batch_spec.rb +0 -130
  770. data/spec/unit/provider/cookbook_file/content_spec.rb +0 -39
  771. data/spec/unit/provider/cookbook_file_spec.rb +0 -59
  772. data/spec/unit/provider/cron/unix_spec.rb +0 -144
  773. data/spec/unit/provider/cron_spec.rb +0 -1252
  774. data/spec/unit/provider/directory_spec.rb +0 -289
  775. data/spec/unit/provider/dsc_resource_spec.rb +0 -313
  776. data/spec/unit/provider/dsc_script_spec.rb +0 -173
  777. data/spec/unit/provider/execute_spec.rb +0 -244
  778. data/spec/unit/provider/file/content_spec.rb +0 -114
  779. data/spec/unit/provider/file_spec.rb +0 -58
  780. data/spec/unit/provider/git_spec.rb +0 -822
  781. data/spec/unit/provider/group/dscl_spec.rb +0 -339
  782. data/spec/unit/provider/group/gpasswd_spec.rb +0 -119
  783. data/spec/unit/provider/group/groupadd_spec.rb +0 -195
  784. data/spec/unit/provider/group/groupmod_spec.rb +0 -136
  785. data/spec/unit/provider/group/pw_spec.rb +0 -141
  786. data/spec/unit/provider/group/solaris_spec.rb +0 -106
  787. data/spec/unit/provider/group/usermod_spec.rb +0 -112
  788. data/spec/unit/provider/group/windows_spec.rb +0 -130
  789. data/spec/unit/provider/group_spec.rb +0 -285
  790. data/spec/unit/provider/http_request_spec.rb +0 -147
  791. data/spec/unit/provider/ifconfig/aix_spec.rb +0 -180
  792. data/spec/unit/provider/ifconfig/debian_spec.rb +0 -332
  793. data/spec/unit/provider/ifconfig/redhat_spec.rb +0 -83
  794. data/spec/unit/provider/ifconfig_spec.rb +0 -247
  795. data/spec/unit/provider/launchd_spec.rb +0 -234
  796. data/spec/unit/provider/link_spec.rb +0 -425
  797. data/spec/unit/provider/log_spec.rb +0 -94
  798. data/spec/unit/provider/mdadm_spec.rb +0 -138
  799. data/spec/unit/provider/mount/aix_spec.rb +0 -277
  800. data/spec/unit/provider/mount/linux_spec.rb +0 -131
  801. data/spec/unit/provider/mount/mount_spec.rb +0 -590
  802. data/spec/unit/provider/mount/solaris_spec.rb +0 -822
  803. data/spec/unit/provider/mount/windows_spec.rb +0 -150
  804. data/spec/unit/provider/mount_spec.rb +0 -222
  805. data/spec/unit/provider/package/apt_spec.rb +0 -703
  806. data/spec/unit/provider/package/bff_spec.rb +0 -188
  807. data/spec/unit/provider/package/cab_spec.rb +0 -272
  808. data/spec/unit/provider/package/chocolatey_spec.rb +0 -574
  809. data/spec/unit/provider/package/deb_spec.rb +0 -135
  810. data/spec/unit/provider/package/dnf/python_helper_spec.rb +0 -36
  811. data/spec/unit/provider/package/dpkg_spec.rb +0 -314
  812. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +0 -147
  813. data/spec/unit/provider/package/freebsd/port_spec.rb +0 -151
  814. data/spec/unit/provider/package/homebrew_spec.rb +0 -402
  815. data/spec/unit/provider/package/ips_spec.rb +0 -233
  816. data/spec/unit/provider/package/macports_spec.rb +0 -203
  817. data/spec/unit/provider/package/msu_spec.rb +0 -283
  818. data/spec/unit/provider/package/openbsd_spec.rb +0 -136
  819. data/spec/unit/provider/package/pacman_spec.rb +0 -109
  820. data/spec/unit/provider/package/paludis_spec.rb +0 -134
  821. data/spec/unit/provider/package/portage_spec.rb +0 -179
  822. data/spec/unit/provider/package/powershell_spec.rb +0 -565
  823. data/spec/unit/provider/package/rpm_spec.rb +0 -440
  824. data/spec/unit/provider/package/rubygems_spec.rb +0 -1187
  825. data/spec/unit/provider/package/smartos_spec.rb +0 -110
  826. data/spec/unit/provider/package/snap_spec.rb +0 -208
  827. data/spec/unit/provider/package/solaris_spec.rb +0 -168
  828. data/spec/unit/provider/package/windows/exe_spec.rb +0 -201
  829. data/spec/unit/provider/package/windows/msi_spec.rb +0 -168
  830. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +0 -78
  831. data/spec/unit/provider/package/windows_spec.rb +0 -441
  832. data/spec/unit/provider/package/yum/python_helper_spec.rb +0 -30
  833. data/spec/unit/provider/package/yum/yum_cache_spec.rb +0 -109
  834. data/spec/unit/provider/package/zypper_spec.rb +0 -494
  835. data/spec/unit/provider/package_spec.rb +0 -791
  836. data/spec/unit/provider/powershell_script_spec.rb +0 -157
  837. data/spec/unit/provider/registry_key_spec.rb +0 -487
  838. data/spec/unit/provider/remote_directory_spec.rb +0 -236
  839. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +0 -245
  840. data/spec/unit/provider/remote_file/content_spec.rb +0 -253
  841. data/spec/unit/provider/remote_file/fetcher_spec.rb +0 -95
  842. data/spec/unit/provider/remote_file/ftp_spec.rb +0 -217
  843. data/spec/unit/provider/remote_file/http_spec.rb +0 -334
  844. data/spec/unit/provider/remote_file/local_file_spec.rb +0 -105
  845. data/spec/unit/provider/remote_file/network_file_spec.rb +0 -50
  846. data/spec/unit/provider/remote_file/sftp_spec.rb +0 -150
  847. data/spec/unit/provider/remote_file_spec.rb +0 -61
  848. data/spec/unit/provider/route_spec.rb +0 -268
  849. data/spec/unit/provider/ruby_block_spec.rb +0 -45
  850. data/spec/unit/provider/script_spec.rb +0 -67
  851. data/spec/unit/provider/service/aix_service_spec.rb +0 -195
  852. data/spec/unit/provider/service/aixinit_service_spec.rb +0 -272
  853. data/spec/unit/provider/service/arch_service_spec.rb +0 -326
  854. data/spec/unit/provider/service/debian_service_spec.rb +0 -273
  855. data/spec/unit/provider/service/freebsd_service_spec.rb +0 -621
  856. data/spec/unit/provider/service/gentoo_service_spec.rb +0 -145
  857. data/spec/unit/provider/service/init_service_spec.rb +0 -235
  858. data/spec/unit/provider/service/insserv_service_spec.rb +0 -75
  859. data/spec/unit/provider/service/invokercd_service_spec.rb +0 -211
  860. data/spec/unit/provider/service/macosx_spec.rb +0 -337
  861. data/spec/unit/provider/service/openbsd_service_spec.rb +0 -553
  862. data/spec/unit/provider/service/redhat_spec.rb +0 -253
  863. data/spec/unit/provider/service/simple_service_spec.rb +0 -171
  864. data/spec/unit/provider/service/solaris_smf_service_spec.rb +0 -292
  865. data/spec/unit/provider/service/systemd_service_spec.rb +0 -504
  866. data/spec/unit/provider/service/upstart_service_spec.rb +0 -322
  867. data/spec/unit/provider/service/windows_spec.rb +0 -986
  868. data/spec/unit/provider/service_spec.rb +0 -168
  869. data/spec/unit/provider/subversion_spec.rb +0 -364
  870. data/spec/unit/provider/systemd_unit_spec.rb +0 -1039
  871. data/spec/unit/provider/template/content_spec.rb +0 -169
  872. data/spec/unit/provider/template_spec.rb +0 -86
  873. data/spec/unit/provider/user/aix_spec.rb +0 -96
  874. data/spec/unit/provider/user/linux_spec.rb +0 -178
  875. data/spec/unit/provider/user/mac_spec.rb +0 -38
  876. data/spec/unit/provider/user/pw_spec.rb +0 -235
  877. data/spec/unit/provider/user/solaris_spec.rb +0 -177
  878. data/spec/unit/provider/user/windows_spec.rb +0 -198
  879. data/spec/unit/provider/user_spec.rb +0 -520
  880. data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +0 -46
  881. data/spec/unit/provider/windows_env_spec.rb +0 -385
  882. data/spec/unit/provider/windows_path_spec.rb +0 -60
  883. data/spec/unit/provider/windows_task_spec.rb +0 -436
  884. data/spec/unit/provider/yum_repository_spec.rb +0 -35
  885. data/spec/unit/provider/zypper_repository_spec.rb +0 -169
  886. data/spec/unit/provider_spec.rb +0 -215
  887. data/spec/unit/pure_application_spec.rb +0 -32
  888. data/spec/unit/recipe_spec.rb +0 -703
  889. data/spec/unit/resource/alternatives_spec.rb +0 -120
  890. data/spec/unit/resource/apt_package_spec.rb +0 -71
  891. data/spec/unit/resource/apt_preference_spec.rb +0 -39
  892. data/spec/unit/resource/apt_repository_spec.rb +0 -79
  893. data/spec/unit/resource/apt_update_spec.rb +0 -44
  894. data/spec/unit/resource/archive_file_spec.rb +0 -466
  895. data/spec/unit/resource/bash_spec.rb +0 -45
  896. data/spec/unit/resource/batch_spec.rb +0 -46
  897. data/spec/unit/resource/bff_package_spec.rb +0 -51
  898. data/spec/unit/resource/breakpoint_spec.rb +0 -64
  899. data/spec/unit/resource/build_essential_spec.rb +0 -77
  900. data/spec/unit/resource/cab_package_spec.rb +0 -64
  901. data/spec/unit/resource/chef_client_config_spec.rb +0 -145
  902. data/spec/unit/resource/chef_client_cron_spec.rb +0 -161
  903. data/spec/unit/resource/chef_client_launchd_spec.rb +0 -132
  904. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +0 -186
  905. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +0 -108
  906. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -68
  907. data/spec/unit/resource/chef_gem_spec.rb +0 -122
  908. data/spec/unit/resource/chef_handler_spec.rb +0 -40
  909. data/spec/unit/resource/chef_sleep_spec.rb +0 -30
  910. data/spec/unit/resource/chef_vault_secret_spec.rb +0 -40
  911. data/spec/unit/resource/chocolatey_config_spec.rb +0 -93
  912. data/spec/unit/resource/chocolatey_feature_spec.rb +0 -89
  913. data/spec/unit/resource/chocolatey_installer_spec.rb +0 -151
  914. data/spec/unit/resource/chocolatey_package_spec.rb +0 -106
  915. data/spec/unit/resource/chocolatey_source_spec.rb +0 -151
  916. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +0 -45
  917. data/spec/unit/resource/conditional_spec.rb +0 -254
  918. data/spec/unit/resource/cookbook_file_spec.rb +0 -93
  919. data/spec/unit/resource/cron_access_spec.rb +0 -36
  920. data/spec/unit/resource/cron_d_spec.rb +0 -84
  921. data/spec/unit/resource/cron_spec.rb +0 -167
  922. data/spec/unit/resource/csh_spec.rb +0 -45
  923. data/spec/unit/resource/directory_spec.rb +0 -69
  924. data/spec/unit/resource/dmg_package_spec.rb +0 -39
  925. data/spec/unit/resource/dnf_package_spec.rb +0 -114
  926. data/spec/unit/resource/dpkg_package_spec.rb +0 -72
  927. data/spec/unit/resource/dsc_resource_spec.rb +0 -102
  928. data/spec/unit/resource/dsc_script_spec.rb +0 -134
  929. data/spec/unit/resource/execute_spec.rb +0 -282
  930. data/spec/unit/resource/file/verification/json_spec.rb +0 -72
  931. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +0 -103
  932. data/spec/unit/resource/file/verification/yaml_spec.rb +0 -67
  933. data/spec/unit/resource/file/verification_spec.rb +0 -147
  934. data/spec/unit/resource/file_spec.rb +0 -127
  935. data/spec/unit/resource/freebsd_package_spec.rb +0 -77
  936. data/spec/unit/resource/gem_package_spec.rb +0 -67
  937. data/spec/unit/resource/group_spec.rb +0 -165
  938. data/spec/unit/resource/helpers/cron_validations_spec.rb +0 -81
  939. data/spec/unit/resource/homebrew_cask_spec.rb +0 -58
  940. data/spec/unit/resource/homebrew_package_spec.rb +0 -68
  941. data/spec/unit/resource/homebrew_tap_spec.rb +0 -44
  942. data/spec/unit/resource/homebrew_update_spec.rb +0 -30
  943. data/spec/unit/resource/hostname_spec.rb +0 -47
  944. data/spec/unit/resource/http_request_spec.rb +0 -65
  945. data/spec/unit/resource/ifconfig_spec.rb +0 -101
  946. data/spec/unit/resource/inspec_input_spec.rb +0 -300
  947. data/spec/unit/resource/inspec_waiver_file_entry_spec.rb +0 -80
  948. data/spec/unit/resource/inspec_waiver_spec.rb +0 -312
  949. data/spec/unit/resource/ips_package_spec.rb +0 -54
  950. data/spec/unit/resource/kernel_module_spec.rb +0 -45
  951. data/spec/unit/resource/ksh_spec.rb +0 -45
  952. data/spec/unit/resource/launchd_spec.rb +0 -48
  953. data/spec/unit/resource/link_spec.rb +0 -120
  954. data/spec/unit/resource/locale_spec.rb +0 -189
  955. data/spec/unit/resource/log_spec.rb +0 -64
  956. data/spec/unit/resource/macos_pkg_spec.rb +0 -38
  957. data/spec/unit/resource/macos_user_defaults_spec.rb +0 -76
  958. data/spec/unit/resource/macosx_service.rb +0 -37
  959. data/spec/unit/resource/macports_package_spec.rb +0 -51
  960. data/spec/unit/resource/mdadm_spec.rb +0 -104
  961. data/spec/unit/resource/mount_spec.rb +0 -201
  962. data/spec/unit/resource/msu_package_spec.rb +0 -67
  963. data/spec/unit/resource/notify_group_spec.rb +0 -34
  964. data/spec/unit/resource/ohai_hint_spec.rb +0 -44
  965. data/spec/unit/resource/ohai_spec.rb +0 -185
  966. data/spec/unit/resource/openbsd_package_spec.rb +0 -58
  967. data/spec/unit/resource/openssl_dhparam_spec.rb +0 -61
  968. data/spec/unit/resource/openssl_ec_private_key_spec.rb +0 -64
  969. data/spec/unit/resource/openssl_ec_public_key_spec.rb +0 -43
  970. data/spec/unit/resource/openssl_rsa_private_key_spec.rb +0 -64
  971. data/spec/unit/resource/openssl_rsa_public_key_spec.rb +0 -43
  972. data/spec/unit/resource/openssl_x509_certificate_spec.rb +0 -72
  973. data/spec/unit/resource/openssl_x509_crl_spec.rb +0 -61
  974. data/spec/unit/resource/openssl_x509_request.rb +0 -68
  975. data/spec/unit/resource/osx_profile_spec.rb +0 -360
  976. data/spec/unit/resource/package_spec.rb +0 -98
  977. data/spec/unit/resource/pacman_package_spec.rb +0 -46
  978. data/spec/unit/resource/paludis_package_spec.rb +0 -36
  979. data/spec/unit/resource/perl_spec.rb +0 -44
  980. data/spec/unit/resource/plist_spec.rb +0 -130
  981. data/spec/unit/resource/portage_package_spec.rb +0 -46
  982. data/spec/unit/resource/powershell_package_source_spec.rb +0 -220
  983. data/spec/unit/resource/powershell_package_spec.rb +0 -98
  984. data/spec/unit/resource/powershell_script_spec.rb +0 -65
  985. data/spec/unit/resource/python_spec.rb +0 -40
  986. data/spec/unit/resource/reboot_spec.rb +0 -47
  987. data/spec/unit/resource/registry_key_spec.rb +0 -215
  988. data/spec/unit/resource/remote_directory_spec.rb +0 -118
  989. data/spec/unit/resource/remote_file_spec.rb +0 -220
  990. data/spec/unit/resource/resource_notification_spec.rb +0 -169
  991. data/spec/unit/resource/rest_resource_spec.rb +0 -381
  992. data/spec/unit/resource/rhsm_errata_level_spec.rb +0 -50
  993. data/spec/unit/resource/rhsm_errata_spec.rb +0 -39
  994. data/spec/unit/resource/rhsm_register_spec.rb +0 -308
  995. data/spec/unit/resource/rhsm_repo_spec.rb +0 -70
  996. data/spec/unit/resource/rhsm_subscription_spec.rb +0 -145
  997. data/spec/unit/resource/route_spec.rb +0 -100
  998. data/spec/unit/resource/rpm_package_spec.rb +0 -62
  999. data/spec/unit/resource/ruby_block_spec.rb +0 -58
  1000. data/spec/unit/resource/ruby_spec.rb +0 -39
  1001. data/spec/unit/resource/scm/git_spec.rb +0 -110
  1002. data/spec/unit/resource/scm/scm.rb +0 -122
  1003. data/spec/unit/resource/scm/subversion_spec.rb +0 -90
  1004. data/spec/unit/resource/script_spec.rb +0 -57
  1005. data/spec/unit/resource/selinux_boolean_spec.rb +0 -92
  1006. data/spec/unit/resource/selinux_fcontext_spec.rb +0 -65
  1007. data/spec/unit/resource/selinux_install_spec.rb +0 -60
  1008. data/spec/unit/resource/selinux_login_spec.rb +0 -73
  1009. data/spec/unit/resource/selinux_module_spec.rb +0 -55
  1010. data/spec/unit/resource/selinux_permissive_spec.rb +0 -39
  1011. data/spec/unit/resource/selinux_port_spec.rb +0 -42
  1012. data/spec/unit/resource/selinux_state_spec.rb +0 -46
  1013. data/spec/unit/resource/selinux_user_spec.rb +0 -92
  1014. data/spec/unit/resource/service_spec.rb +0 -203
  1015. data/spec/unit/resource/smartos_package_spec.rb +0 -52
  1016. data/spec/unit/resource/snap_package_spec.rb +0 -60
  1017. data/spec/unit/resource/solaris_package_spec.rb +0 -52
  1018. data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +0 -50
  1019. data/spec/unit/resource/sudo_spec.rb +0 -99
  1020. data/spec/unit/resource/swap_file_spec.rb +0 -39
  1021. data/spec/unit/resource/sysctl_spec.rb +0 -76
  1022. data/spec/unit/resource/systemd_unit_spec.rb +0 -130
  1023. data/spec/unit/resource/template_spec.rb +0 -222
  1024. data/spec/unit/resource/timezone_spec.rb +0 -102
  1025. data/spec/unit/resource/user/linux_user_spec.rb +0 -42
  1026. data/spec/unit/resource/user/windows_user_spec.rb +0 -36
  1027. data/spec/unit/resource/user_spec.rb +0 -121
  1028. data/spec/unit/resource/user_ulimit_spec.rb +0 -66
  1029. data/spec/unit/resource/windows_ad_join_spec.rb +0 -55
  1030. data/spec/unit/resource/windows_audit_policy_spec.rb +0 -64
  1031. data/spec/unit/resource/windows_auto_run_spec.rb +0 -50
  1032. data/spec/unit/resource/windows_certificate_spec.rb +0 -95
  1033. data/spec/unit/resource/windows_defender_exclusion_spec.rb +0 -62
  1034. data/spec/unit/resource/windows_defender_spec.rb +0 -71
  1035. data/spec/unit/resource/windows_dfs_folder_spec.rb +0 -39
  1036. data/spec/unit/resource/windows_dfs_namespace_spec.rb +0 -39
  1037. data/spec/unit/resource/windows_dfs_server_spec.rb +0 -34
  1038. data/spec/unit/resource/windows_dns_record_spec.rb +0 -55
  1039. data/spec/unit/resource/windows_dns_zone_spec.rb +0 -51
  1040. data/spec/unit/resource/windows_env_spec.rb +0 -75
  1041. data/spec/unit/resource/windows_feature_dism_spec.rb +0 -57
  1042. data/spec/unit/resource/windows_feature_powershell_spec.rb +0 -83
  1043. data/spec/unit/resource/windows_feature_spec.rb +0 -64
  1044. data/spec/unit/resource/windows_firewall_profile_spec.rb +0 -77
  1045. data/spec/unit/resource/windows_firewall_rule_spec.rb +0 -510
  1046. data/spec/unit/resource/windows_font_spec.rb +0 -43
  1047. data/spec/unit/resource/windows_package_spec.rb +0 -125
  1048. data/spec/unit/resource/windows_pagefile_spec.rb +0 -44
  1049. data/spec/unit/resource/windows_path_spec.rb +0 -40
  1050. data/spec/unit/resource/windows_printer_port_spec.rb +0 -62
  1051. data/spec/unit/resource/windows_printer_spec.rb +0 -52
  1052. data/spec/unit/resource/windows_service_spec.rb +0 -122
  1053. data/spec/unit/resource/windows_share_spec.rb +0 -48
  1054. data/spec/unit/resource/windows_shortcut_spec.rb +0 -38
  1055. data/spec/unit/resource/windows_task_spec.rb +0 -403
  1056. data/spec/unit/resource/windows_uac_spec.rb +0 -50
  1057. data/spec/unit/resource/windows_update_settings_spec.rb +0 -64
  1058. data/spec/unit/resource/windows_user_privilege_spec.rb +0 -55
  1059. data/spec/unit/resource/windows_workgroup_spec.rb +0 -74
  1060. data/spec/unit/resource/yum_package_spec.rb +0 -159
  1061. data/spec/unit/resource/yum_repository_spec.rb +0 -156
  1062. data/spec/unit/resource/zypper_package_spec.rb +0 -51
  1063. data/spec/unit/resource/zypper_repository_spec.rb +0 -115
  1064. data/spec/unit/resource_builder_spec.rb +0 -1
  1065. data/spec/unit/resource_collection/resource_list_spec.rb +0 -137
  1066. data/spec/unit/resource_collection/resource_set_spec.rb +0 -244
  1067. data/spec/unit/resource_collection/stepable_iterator_spec.rb +0 -144
  1068. data/spec/unit/resource_collection_spec.rb +0 -408
  1069. data/spec/unit/resource_definition_spec.rb +0 -117
  1070. data/spec/unit/resource_inspector_spec.rb +0 -101
  1071. data/spec/unit/resource_reporter_spec.rb +0 -802
  1072. data/spec/unit/resource_resolver_spec.rb +0 -52
  1073. data/spec/unit/resource_spec.rb +0 -1484
  1074. data/spec/unit/role_spec.rb +0 -363
  1075. data/spec/unit/run_context/child_run_context_spec.rb +0 -126
  1076. data/spec/unit/run_context/cookbook_compiler_spec.rb +0 -236
  1077. data/spec/unit/run_context_spec.rb +0 -257
  1078. data/spec/unit/run_list/run_list_expansion_spec.rb +0 -147
  1079. data/spec/unit/run_list/run_list_item_spec.rb +0 -117
  1080. data/spec/unit/run_list/versioned_recipe_list_spec.rb +0 -197
  1081. data/spec/unit/run_list_spec.rb +0 -312
  1082. data/spec/unit/run_lock_spec.rb +0 -144
  1083. data/spec/unit/run_status_spec.rb +0 -144
  1084. data/spec/unit/runner_spec.rb +0 -397
  1085. data/spec/unit/scan_access_control_spec.rb +0 -183
  1086. data/spec/unit/search/query_spec.rb +0 -291
  1087. data/spec/unit/secret_fetcher/akeyless_vault_spec.rb +0 -37
  1088. data/spec/unit/secret_fetcher/aws_secrets_manager_spec.rb +0 -70
  1089. data/spec/unit/secret_fetcher/azure_key_vault_spec.rb +0 -149
  1090. data/spec/unit/secret_fetcher/hashi_vault_spec.rb +0 -126
  1091. data/spec/unit/secret_fetcher_spec.rb +0 -82
  1092. data/spec/unit/server_api_spec.rb +0 -151
  1093. data/spec/unit/server_api_versions_spec.rb +0 -66
  1094. data/spec/unit/shell/model_wrapper_spec.rb +0 -96
  1095. data/spec/unit/shell/shell_ext_spec.rb +0 -196
  1096. data/spec/unit/shell/shell_session_spec.rb +0 -218
  1097. data/spec/unit/shell_spec.rb +0 -178
  1098. data/spec/unit/train_transport_spec.rb +0 -85
  1099. data/spec/unit/user_spec.rb +0 -275
  1100. data/spec/unit/user_v1_spec.rb +0 -585
  1101. data/spec/unit/util/backup_spec.rb +0 -141
  1102. data/spec/unit/util/diff_spec.rb +0 -562
  1103. data/spec/unit/util/dsc/configuration_generator_spec.rb +0 -272
  1104. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +0 -248
  1105. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +0 -192
  1106. data/spec/unit/util/dsc/resource_store.rb +0 -78
  1107. data/spec/unit/util/editor_spec.rb +0 -152
  1108. data/spec/unit/util/file_edit_spec.rb +0 -224
  1109. data/spec/unit/util/powershell/ps_credential_spec.rb +0 -51
  1110. data/spec/unit/util/selinux_spec.rb +0 -160
  1111. data/spec/unit/util/threaded_job_queue_spec.rb +0 -60
  1112. data/spec/unit/util/windows/logon_session_spec.rb +0 -285
  1113. data/spec/unit/version/platform_spec.rb +0 -60
  1114. data/spec/unit/version_class_spec.rb +0 -171
  1115. data/spec/unit/version_constraint/platform_spec.rb +0 -45
  1116. data/spec/unit/version_constraint_spec.rb +0 -179
  1117. data/spec/unit/version_string_spec.rb +0 -79
  1118. data/spec/unit/win32/error_spec.rb +0 -77
  1119. data/spec/unit/win32/link_spec.rb +0 -73
  1120. data/spec/unit/win32/registry_spec.rb +0 -394
  1121. data/spec/unit/win32/security_spec.rb +0 -136
  1122. 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