chef 18.7.10 → 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 (1159) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -22
  3. data/Rakefile +1 -0
  4. data/chef.gemspec +13 -6
  5. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +4 -0
  6. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +1 -5
  7. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +12 -0
  8. data/lib/chef/chef_fs/file_system.rb +18 -0
  9. data/lib/chef/cookbook_version.rb +34 -0
  10. data/lib/chef/http/basic_client.rb +1 -0
  11. data/lib/chef/http.rb +1 -0
  12. data/lib/chef/provider/package/apt.rb +1 -1
  13. data/lib/chef/provider/package/bff.rb +5 -0
  14. data/lib/chef/provider/package/cab.rb +9 -0
  15. data/lib/chef/provider/package/chocolatey.rb +6 -1
  16. data/lib/chef/provider/package/deb.rb +1 -1
  17. data/lib/chef/provider/package/dnf.rb +3 -3
  18. data/lib/chef/provider/package/habitat.rb +9 -0
  19. data/lib/chef/provider/package/homebrew.rb +9 -0
  20. data/lib/chef/provider/package/ips.rb +5 -0
  21. data/lib/chef/provider/package/macports.rb +9 -0
  22. data/lib/chef/provider/package/msu.rb +9 -0
  23. data/lib/chef/provider/package/openbsd.rb +7 -2
  24. data/lib/chef/provider/package/pacman.rb +9 -0
  25. data/lib/chef/provider/package/paludis.rb +9 -0
  26. data/lib/chef/provider/package/portage.rb +9 -0
  27. data/lib/chef/provider/package/powershell.rb +6 -1
  28. data/lib/chef/provider/package/rpm.rb +3 -3
  29. data/lib/chef/provider/package/rubygems.rb +9 -0
  30. data/lib/chef/provider/package/smartos.rb +9 -0
  31. data/lib/chef/provider/package/snap.rb +6 -1
  32. data/lib/chef/provider/package/solaris.rb +5 -0
  33. data/lib/chef/provider/package/windows.rb +5 -0
  34. data/lib/chef/provider/package/yum.rb +3 -3
  35. data/lib/chef/provider/package/zypper.rb +5 -0
  36. data/lib/chef/pwsh.rb +2 -5
  37. data/lib/chef/recipe.rb +20 -0
  38. data/lib/chef/resource/apt_package.rb +5 -0
  39. data/lib/chef/resource/apt_repository.rb +53 -27
  40. data/lib/chef/resource/archive_file.rb +49 -2
  41. data/lib/chef/resource/chocolatey_installer.rb +19 -4
  42. data/lib/chef/resource/dnf_package.rb +5 -0
  43. data/lib/chef/resource/dpkg_package.rb +5 -0
  44. data/lib/chef/resource/ohai.rb +11 -0
  45. data/lib/chef/resource/package.rb +5 -0
  46. data/lib/chef/resource/rpm_package.rb +5 -0
  47. data/lib/chef/resource/yum_package.rb +5 -0
  48. data/lib/chef/resource_reporter.rb +1 -1
  49. data/lib/chef/shell.rb +21 -7
  50. data/lib/chef/version.rb +1 -1
  51. data/lib/chef/win32/version.rb +2 -1
  52. metadata +50 -1123
  53. data/spec/data/apt/chef-integration-test-1.0/debian/changelog +0 -5
  54. data/spec/data/apt/chef-integration-test-1.0/debian/compat +0 -1
  55. data/spec/data/apt/chef-integration-test-1.0/debian/control +0 -13
  56. data/spec/data/apt/chef-integration-test-1.0/debian/copyright +0 -34
  57. data/spec/data/apt/chef-integration-test-1.0/debian/files +0 -1
  58. data/spec/data/apt/chef-integration-test-1.0/debian/rules +0 -13
  59. data/spec/data/apt/chef-integration-test-1.0/debian/source/format +0 -1
  60. data/spec/data/apt/chef-integration-test-1.1/debian/changelog +0 -11
  61. data/spec/data/apt/chef-integration-test-1.1/debian/compat +0 -1
  62. data/spec/data/apt/chef-integration-test-1.1/debian/control +0 -13
  63. data/spec/data/apt/chef-integration-test-1.1/debian/copyright +0 -34
  64. data/spec/data/apt/chef-integration-test-1.1/debian/files +0 -1
  65. data/spec/data/apt/chef-integration-test-1.1/debian/rules +0 -13
  66. data/spec/data/apt/chef-integration-test-1.1/debian/source/format +0 -1
  67. data/spec/data/apt/chef-integration-test2-1.0/debian/changelog +0 -5
  68. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/conffiles +0 -1
  69. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/control +0 -10
  70. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/md5sums +0 -1
  71. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.debhelper.log +0 -45
  72. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.substvars +0 -1
  73. data/spec/data/apt/chef-integration-test2-1.0/debian/compat +0 -1
  74. data/spec/data/apt/chef-integration-test2-1.0/debian/conffiles +0 -1
  75. data/spec/data/apt/chef-integration-test2-1.0/debian/control +0 -13
  76. data/spec/data/apt/chef-integration-test2-1.0/debian/copyright +0 -34
  77. data/spec/data/apt/chef-integration-test2-1.0/debian/files +0 -1
  78. data/spec/data/apt/chef-integration-test2-1.0/debian/rules +0 -13
  79. data/spec/data/apt/chef-integration-test2-1.0/debian/source/format +0 -1
  80. data/spec/data/apt/chef-integration-test2_1.0-1.debian.tar.gz +0 -0
  81. data/spec/data/apt/chef-integration-test2_1.0-1.dsc +0 -18
  82. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.build +0 -91
  83. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.changes +0 -31
  84. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.deb +0 -0
  85. data/spec/data/apt/chef-integration-test2_1.0.orig.tar.gz +0 -0
  86. data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +0 -22
  87. data/spec/data/apt/chef-integration-test_1.0-1_amd64.deb +0 -0
  88. data/spec/data/apt/chef-integration-test_1.0.orig.tar.gz +0 -0
  89. data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +0 -22
  90. data/spec/data/apt/chef-integration-test_1.1-1_amd64.deb +0 -0
  91. data/spec/data/apt/chef-integration-test_1.1.orig.tar.gz +0 -0
  92. data/spec/data/apt/var/www/apt/conf/distributions +0 -7
  93. data/spec/data/apt/var/www/apt/conf/incoming +0 -4
  94. data/spec/data/apt/var/www/apt/conf/pulls +0 -3
  95. data/spec/data/apt/var/www/apt/db/checksums.db +0 -0
  96. data/spec/data/apt/var/www/apt/db/contents.cache.db +0 -0
  97. data/spec/data/apt/var/www/apt/db/packages.db +0 -0
  98. data/spec/data/apt/var/www/apt/db/references.db +0 -0
  99. data/spec/data/apt/var/www/apt/db/release.caches.db +0 -0
  100. data/spec/data/apt/var/www/apt/db/version +0 -4
  101. data/spec/data/apt/var/www/apt/dists/sid/Release +0 -19
  102. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +0 -16
  103. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages.gz +0 -0
  104. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +0 -5
  105. data/spec/data/apt/var/www/apt/dists/sid/main/binary-i386/Packages +0 -0
  106. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.0-1_amd64.deb +0 -0
  107. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.1-1_amd64.deb +0 -0
  108. data/spec/data/archive_file/test_archive.tar.gz +0 -0
  109. data/spec/data/bad-config.rb +0 -1
  110. data/spec/data/bootstrap/encrypted_data_bag_secret +0 -1
  111. data/spec/data/bootstrap/no_proxy.erb +0 -2
  112. data/spec/data/bootstrap/secret.erb +0 -9
  113. data/spec/data/bootstrap/test-hints.erb +0 -12
  114. data/spec/data/bootstrap/test.erb +0 -1
  115. data/spec/data/cb_version_cookbooks/cookbook2/files/test.txt +0 -0
  116. data/spec/data/cb_version_cookbooks/cookbook2/templates/test.erb +0 -0
  117. data/spec/data/cb_version_cookbooks/tatft/README.rdoc +0 -3
  118. data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +0 -1
  119. data/spec/data/cb_version_cookbooks/tatft/definitions/runit_service.rb +0 -1
  120. data/spec/data/cb_version_cookbooks/tatft/files/default/giant_blob.tgz +0 -1
  121. data/spec/data/cb_version_cookbooks/tatft/libraries/ownage.rb +0 -1
  122. data/spec/data/cb_version_cookbooks/tatft/providers/lwp.rb +0 -1
  123. data/spec/data/cb_version_cookbooks/tatft/recipes/default.rb +0 -1
  124. data/spec/data/cb_version_cookbooks/tatft/resources/lwr.rb +0 -1
  125. data/spec/data/cb_version_cookbooks/tatft/templates/default/configuration.erb +0 -0
  126. data/spec/data/checksum/random.txt +0 -1
  127. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +0 -1
  128. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-6m8zdk-0 +0 -0
  129. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +0 -1
  130. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +0 -1
  131. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +0 -1
  132. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +0 -1
  133. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +0 -1
  134. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +0 -1
  135. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +0 -1
  136. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +0 -1
  137. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +0 -1
  138. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +0 -1
  139. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +0 -1
  140. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +0 -1
  141. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +0 -1
  142. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +0 -1
  143. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +0 -1
  144. data/spec/data/client.d_00/00-foo.rb +0 -2
  145. data/spec/data/client.d_00/01-bar.rb +0 -1
  146. data/spec/data/client.d_00/02-strings.rb +0 -2
  147. data/spec/data/client.d_00/bar +0 -1
  148. data/spec/data/client.d_01/foo/bar.rb +0 -1
  149. data/spec/data/client.d_02/foo.rb/foo.txt +0 -1
  150. data/spec/data/config.rb +0 -6
  151. data/spec/data/cookbooks/angrybash/metadata.rb +0 -2
  152. data/spec/data/cookbooks/angrybash/recipes/default.rb +0 -8
  153. data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +0 -2
  154. data/spec/data/cookbooks/apache2/metadata.json +0 -33
  155. data/spec/data/cookbooks/apache2/metadata.rb +0 -2
  156. data/spec/data/cookbooks/apache2/recipes/default.rb +0 -3
  157. data/spec/data/cookbooks/borken/metadata.rb +0 -2
  158. data/spec/data/cookbooks/borken/recipes/default.rb +0 -2
  159. data/spec/data/cookbooks/borken/templates/default/borken.erb +0 -2
  160. data/spec/data/cookbooks/chefignore +0 -8
  161. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +0 -2
  162. data/spec/data/cookbooks/ignorken/metadata.rb +0 -2
  163. data/spec/data/cookbooks/ignorken/recipes/default.rb +0 -1
  164. data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +0 -2
  165. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +0 -2
  166. data/spec/data/cookbooks/irssi/files/default/irssi.response +0 -2
  167. data/spec/data/cookbooks/java/files/default/java.response +0 -2
  168. data/spec/data/cookbooks/java/metadata.json +0 -33
  169. data/spec/data/cookbooks/java/metadata.rb +0 -2
  170. data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +0 -4
  171. data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +0 -8
  172. data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +0 -8
  173. data/spec/data/cookbooks/openldap/.root_dotfile +0 -0
  174. data/spec/data/cookbooks/openldap/attributes/default.rb +0 -16
  175. data/spec/data/cookbooks/openldap/attributes/smokey.rb +0 -1
  176. data/spec/data/cookbooks/openldap/definitions/client.rb +0 -5
  177. data/spec/data/cookbooks/openldap/definitions/server.rb +0 -5
  178. data/spec/data/cookbooks/openldap/files/default/.dotfile +0 -1
  179. data/spec/data/cookbooks/openldap/files/default/.ssh/id_rsa +0 -1
  180. data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +0 -1
  181. data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +0 -2
  182. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +0 -3
  183. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +0 -3
  184. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +0 -1
  185. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +0 -3
  186. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +0 -3
  187. data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +0 -3
  188. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +0 -3
  189. data/spec/data/cookbooks/openldap/libraries/openldap.rb +0 -4
  190. data/spec/data/cookbooks/openldap/metadata.rb +0 -8
  191. data/spec/data/cookbooks/openldap/recipes/default.rb +0 -4
  192. data/spec/data/cookbooks/openldap/recipes/gigantor.rb +0 -3
  193. data/spec/data/cookbooks/openldap/recipes/one.rb +0 -15
  194. data/spec/data/cookbooks/openldap/recipes/return.rb +0 -2
  195. data/spec/data/cookbooks/openldap/spec/spec_helper.rb +0 -0
  196. data/spec/data/cookbooks/openldap/templates/default/all_windows_line_endings.erb +0 -4
  197. data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +0 -1
  198. data/spec/data/cookbooks/openldap/templates/default/helpers.erb +0 -14
  199. data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +0 -1
  200. data/spec/data/cookbooks/openldap/templates/default/nested_openldap_partials.erb +0 -1
  201. data/spec/data/cookbooks/openldap/templates/default/nested_partial.erb +0 -1
  202. data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +0 -4
  203. data/spec/data/cookbooks/openldap/templates/default/openldap_nested_variable_stuff.erb +0 -1
  204. data/spec/data/cookbooks/openldap/templates/default/openldap_stuff.conf.erb +0 -1
  205. data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +0 -1
  206. data/spec/data/cookbooks/openldap/templates/default/some_windows_line_endings.erb +0 -4
  207. data/spec/data/cookbooks/openldap/templates/default/test.erb +0 -1
  208. data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +0 -1
  209. data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +0 -4
  210. data/spec/data/cookbooks/preseed/metadata.rb +0 -2
  211. data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +0 -1
  212. data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +0 -1
  213. data/spec/data/cookbooks/starter/chefignore +0 -8
  214. data/spec/data/cookbooks/starter/files/sample.txt +0 -1
  215. data/spec/data/cookbooks/starter/metadata.rb +0 -2
  216. data/spec/data/cookbooks/starter/recipes/default.rb +0 -4
  217. data/spec/data/cookbooks/supports-platform-constraints/metadata.rb +0 -5
  218. data/spec/data/cookbooks/wget/files/default/wget.response +0 -2
  219. data/spec/data/definitions/test.rb +0 -5
  220. data/spec/data/dsc_lcm.pfx +0 -0
  221. data/spec/data/environment-config.rb +0 -5
  222. data/spec/data/file-providers-method-snapshot-chef-11-4.json +0 -127
  223. data/spec/data/fileedit/blank +0 -0
  224. data/spec/data/fileedit/hosts +0 -4
  225. data/spec/data/gems/chef-integration-test-0.1.0.gem +0 -0
  226. data/spec/data/git_bundles/example-repo.gitbundle +0 -0
  227. data/spec/data/git_bundles/sinatra-test-app-with-callback-files.gitbundle +0 -0
  228. data/spec/data/git_bundles/sinatra-test-app-with-symlinks.gitbundle +0 -0
  229. data/spec/data/git_bundles/sinatra-test-app.gitbundle +0 -0
  230. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +0 -4
  231. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +0 -13
  232. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +0 -8
  233. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +0 -4
  234. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +0 -9
  235. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +0 -8
  236. data/spec/data/kitchen/chefignore +0 -6
  237. data/spec/data/kitchen/openldap/attributes/default.rb +0 -3
  238. data/spec/data/kitchen/openldap/attributes/robinson.rb +0 -3
  239. data/spec/data/kitchen/openldap/definitions/client.rb +0 -3
  240. data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +0 -3
  241. data/spec/data/kitchen/openldap/recipes/gigantor.rb +0 -3
  242. data/spec/data/kitchen/openldap/recipes/ignoreme.rb +0 -3
  243. data/spec/data/kitchen/openldap/recipes/woot.rb +0 -3
  244. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  245. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  246. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  247. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  248. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  249. data/spec/data/lwrp/providers/buck_passer.rb +0 -28
  250. data/spec/data/lwrp/providers/buck_passer_2.rb +0 -26
  251. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +0 -28
  252. data/spec/data/lwrp/providers/inline_compiler.rb +0 -24
  253. data/spec/data/lwrp/providers/monkey_name_printer.rb +0 -5
  254. data/spec/data/lwrp/providers/paint_drying_watcher.rb +0 -7
  255. data/spec/data/lwrp/providers/thumb_twiddler.rb +0 -7
  256. data/spec/data/lwrp/resources/bar.rb +0 -4
  257. data/spec/data/lwrp/resources/buck_passer.rb +0 -6
  258. data/spec/data/lwrp/resources/buck_passer_2.rb +0 -4
  259. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +0 -4
  260. data/spec/data/lwrp/resources/foo.rb +0 -6
  261. data/spec/data/lwrp/resources/inline_compiler.rb +0 -4
  262. data/spec/data/lwrp/resources/monkey_name_printer.rb +0 -6
  263. data/spec/data/lwrp/resources/paint_drying_watcher.rb +0 -4
  264. data/spec/data/lwrp/resources/thumb_twiddler.rb +0 -4
  265. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +0 -3
  266. data/spec/data/lwrp_const_scoping/resources/conflict.rb +0 -1
  267. data/spec/data/lwrp_override/providers/buck_passer.rb +0 -5
  268. data/spec/data/lwrp_override/resources/foo.rb +0 -11
  269. data/spec/data/mac_users/10.9.plist.xml +0 -560
  270. data/spec/data/mac_users/10.9.shadow.xml +0 -21
  271. data/spec/data/metadata/quick_start/metadata.rb +0 -14
  272. data/spec/data/mixin/invalid_data.rb +0 -3
  273. data/spec/data/mixin/real_data.rb +0 -2
  274. data/spec/data/nested.json +0 -2
  275. data/spec/data/nodes/default.rb +0 -15
  276. data/spec/data/nodes/test.example.com.rb +0 -17
  277. data/spec/data/nodes/test.rb +0 -15
  278. data/spec/data/null_config.rb +0 -1
  279. data/spec/data/object_loader/environments/test.json +0 -7
  280. data/spec/data/object_loader/environments/test.rb +0 -2
  281. data/spec/data/object_loader/environments/test_json_class.json +0 -8
  282. data/spec/data/object_loader/nodes/test.json +0 -7
  283. data/spec/data/object_loader/nodes/test.rb +0 -2
  284. data/spec/data/object_loader/nodes/test_json_class.json +0 -8
  285. data/spec/data/object_loader/roles/test.json +0 -7
  286. data/spec/data/object_loader/roles/test.rb +0 -2
  287. data/spec/data/object_loader/roles/test_json_class.json +0 -8
  288. data/spec/data/old_home_dir/my-dot-emacs +0 -0
  289. data/spec/data/old_home_dir/my-dot-vim +0 -0
  290. data/spec/data/partial_one.erb +0 -1
  291. data/spec/data/prefer_metadata_json/metadata.json +0 -51
  292. data/spec/data/prefer_metadata_json/metadata.rb +0 -6
  293. data/spec/data/prefer_metadata_json/recipes/default.rb +0 -0
  294. data/spec/data/recipes/test.rb +0 -7
  295. data/spec/data/recipes.tgz +0 -0
  296. data/spec/data/remote_directory_data/remote_dir_file.txt +0 -1
  297. data/spec/data/remote_directory_data/remote_subdirectory/remote_subdir_file.txt +0 -1
  298. data/spec/data/remote_file/nyan_cat.png +0 -0
  299. data/spec/data/remote_file/nyan_cat.png.gz +0 -0
  300. data/spec/data/root_alias_cookbooks/dup_attr/attributes/default.rb +0 -1
  301. data/spec/data/root_alias_cookbooks/dup_attr/attributes.rb +0 -1
  302. data/spec/data/root_alias_cookbooks/dup_attr/metadata.rb +0 -2
  303. data/spec/data/root_alias_cookbooks/dup_attr/recipe.rb +0 -3
  304. data/spec/data/root_alias_cookbooks/dup_recipe/attributes.rb +0 -1
  305. data/spec/data/root_alias_cookbooks/dup_recipe/metadata.rb +0 -2
  306. data/spec/data/root_alias_cookbooks/dup_recipe/recipe.rb +0 -3
  307. data/spec/data/root_alias_cookbooks/dup_recipe/recipes/default.rb +0 -3
  308. data/spec/data/root_alias_cookbooks/simple/attributes.rb +0 -1
  309. data/spec/data/root_alias_cookbooks/simple/metadata.rb +0 -2
  310. data/spec/data/root_alias_cookbooks/simple/recipe.rb +0 -3
  311. data/spec/data/rubygems.org/latest_specs.4.8.gz +0 -0
  312. data/spec/data/rubygems.org/nonexistent_gem +0 -0
  313. data/spec/data/rubygems.org/nonexistent_gem-info +0 -1
  314. data/spec/data/rubygems.org/sexp_processor +0 -0
  315. data/spec/data/rubygems.org/sexp_processor-4.15.1.gemspec.rz +0 -0
  316. data/spec/data/rubygems.org/sexp_processor-info +0 -50
  317. data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +0 -2
  318. data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +0 -1
  319. data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +0 -2
  320. data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +0 -2
  321. data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +0 -1
  322. data/spec/data/run_context/cookbooks/circular-dep1/recipes/default.rb +0 -0
  323. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +0 -2
  324. data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +0 -2
  325. data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +0 -1
  326. data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +0 -2
  327. data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +0 -2
  328. data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +0 -1
  329. data/spec/data/run_context/cookbooks/circular-dep2/recipes/default.rb +0 -0
  330. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +0 -2
  331. data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +0 -2
  332. data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +0 -2
  333. data/spec/data/run_context/cookbooks/dependency1/attributes/unparsed_file +0 -1
  334. data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +0 -2
  335. data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +0 -1
  336. data/spec/data/run_context/cookbooks/dependency1/definitions/unparsed_file +0 -1
  337. data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +0 -2
  338. data/spec/data/run_context/cookbooks/dependency1/libraries/unparsed_file +0 -1
  339. data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +0 -1
  340. data/spec/data/run_context/cookbooks/dependency1/providers/unparsed_file +0 -1
  341. data/spec/data/run_context/cookbooks/dependency1/recipes/default.rb +0 -0
  342. data/spec/data/run_context/cookbooks/dependency1/recipes/unparsed_file +0 -1
  343. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +0 -2
  344. data/spec/data/run_context/cookbooks/dependency1/resources/unparsed_file +0 -1
  345. data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +0 -2
  346. data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +0 -1
  347. data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +0 -2
  348. data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +0 -1
  349. data/spec/data/run_context/cookbooks/dependency2/recipes/default.rb +0 -0
  350. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +0 -2
  351. data/spec/data/run_context/cookbooks/include/recipes/default.rb +0 -24
  352. data/spec/data/run_context/cookbooks/include/recipes/includee.rb +0 -3
  353. data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +0 -2
  354. data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +0 -1
  355. data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +0 -1
  356. data/spec/data/run_context/cookbooks/no-default-attr/recipes/default.rb +0 -0
  357. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +0 -2
  358. data/spec/data/run_context/cookbooks/test/attributes/default.rb +0 -0
  359. data/spec/data/run_context/cookbooks/test/attributes/george.rb +0 -1
  360. data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +0 -9
  361. data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +0 -5
  362. data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +0 -1
  363. data/spec/data/run_context/cookbooks/test/providers/provider.rb +0 -1
  364. data/spec/data/run_context/cookbooks/test/recipes/default.rb +0 -5
  365. data/spec/data/run_context/cookbooks/test/recipes/one.rb +0 -7
  366. data/spec/data/run_context/cookbooks/test/recipes/two.rb +0 -7
  367. data/spec/data/run_context/cookbooks/test/resources/resource.rb +0 -3
  368. data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +0 -2
  369. data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +0 -1
  370. data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +0 -2
  371. data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +0 -2
  372. data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +0 -1
  373. data/spec/data/run_context/cookbooks/test-with-circular-deps/recipes/default.rb +0 -0
  374. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +0 -3
  375. data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +0 -2
  376. data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +0 -1
  377. data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +0 -1
  378. data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +0 -3
  379. data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +0 -1
  380. data/spec/data/run_context/cookbooks/test-with-deps/recipes/default.rb +0 -0
  381. data/spec/data/run_context/cookbooks/test-with-deps/recipes/server.rb +0 -0
  382. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +0 -2
  383. data/spec/data/run_context/nodes/run_context.rb +0 -5
  384. data/spec/data/sample_msu1.xml +0 -10
  385. data/spec/data/sample_msu2.xml +0 -14
  386. data/spec/data/sample_msu3.xml +0 -16
  387. data/spec/data/search_queries_to_transform.txt +0 -98
  388. data/spec/data/shef-config.rb +0 -11
  389. data/spec/data/snap_package/async_result_success.json +0 -6
  390. data/spec/data/snap_package/change_id_result.json +0 -175
  391. data/spec/data/snap_package/find_result_failure.json +0 -10
  392. data/spec/data/snap_package/find_result_success.json +0 -70
  393. data/spec/data/snap_package/get_by_name_result_failure.json +0 -10
  394. data/spec/data/snap_package/get_by_name_result_success.json +0 -38
  395. data/spec/data/snap_package/get_conf_success.json +0 -10
  396. data/spec/data/snap_package/result_failure.json +0 -9
  397. data/spec/data/ssl/5e707473.0 +0 -18
  398. data/spec/data/ssl/binary/chef-rspec-der.cert +0 -0
  399. data/spec/data/ssl/binary/chef-rspec-der.key +0 -0
  400. data/spec/data/ssl/chef-rspec.cert +0 -27
  401. data/spec/data/ssl/chef-rspec.key +0 -27
  402. data/spec/data/ssl/key.pem +0 -15
  403. data/spec/data/ssl/private_key.pem +0 -27
  404. data/spec/data/ssl/private_key_with_whitespace.pem +0 -32
  405. data/spec/data/standalone_cookbook/Gemfile +0 -1
  406. data/spec/data/standalone_cookbook/chefignore +0 -9
  407. data/spec/data/standalone_cookbook/recipes/default.rb +0 -3
  408. data/spec/data/standalone_cookbook/vendor/bundle/ruby/2.0.0/gems/multi_json-1.9.0/lib/multi_json.rb +0 -1
  409. data/spec/data/templates/chef-seattle20160930-4388-1crv7ef.txt +0 -1
  410. data/spec/data/templates/chef-seattle20160930-4388-jjfoae.txt +0 -1
  411. data/spec/data/templates/chef-seattle20160930-4388-umeq2c.txt +0 -1
  412. data/spec/data/templates/failed.erb +0 -5
  413. data/spec/data/templates/seattle.txt +0 -1
  414. data/spec/data/trusted_certs/example.crt +0 -31
  415. data/spec/data/trusted_certs/example_no_cn.crt +0 -32
  416. data/spec/data/trusted_certs/intermediate.pem +0 -38
  417. data/spec/data/trusted_certs/opscode.pem +0 -36
  418. data/spec/data/trusted_certs/root.pem +0 -22
  419. data/spec/data/windows_certificates/base64_test.cer +0 -20
  420. data/spec/data/windows_certificates/othertest.cer +0 -20
  421. data/spec/data/windows_certificates/test.cer +0 -20
  422. data/spec/data/windows_certificates/test.p7b +0 -0
  423. data/spec/data/windows_certificates/test.pem +0 -20
  424. data/spec/data/windows_certificates/test.pfx +0 -0
  425. data/spec/functional/application_spec.rb +0 -58
  426. data/spec/functional/assets/PkgA.1.0.0.0.bff +0 -0
  427. data/spec/functional/assets/PkgA.2.0.0.0.bff +0 -0
  428. data/spec/functional/assets/chefinittest +0 -36
  429. data/spec/functional/assets/chocolatey_feed/test-A.1.0.0.nupkg +0 -0
  430. data/spec/functional/assets/chocolatey_feed/test-A.1.5.0.nupkg +0 -0
  431. data/spec/functional/assets/chocolatey_feed/test-A.2.0.0.nupkg +0 -0
  432. data/spec/functional/assets/chocolatey_feed/test-B.1.0.0.nupkg +0 -0
  433. data/spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm +0 -0
  434. data/spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm +0 -0
  435. data/spec/functional/assets/inittest +0 -37
  436. data/spec/functional/assets/mytest-1.0-1.noarch.rpm +0 -0
  437. data/spec/functional/assets/mytest-2.0-1.noarch.rpm +0 -0
  438. data/spec/functional/assets/testchefsubsys +0 -10
  439. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  440. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.i686.rpm +0 -0
  441. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  442. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  443. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  444. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.src.rpm +0 -0
  445. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  446. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  447. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.i686.rpm +0 -0
  448. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  449. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  450. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  451. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.src.rpm +0 -0
  452. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  453. data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
  454. data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
  455. data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
  456. data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
  457. data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
  458. data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
  459. data/spec/functional/assets/yumrepo/repodata/filelists.xml.gz +0 -0
  460. data/spec/functional/assets/yumrepo/repodata/other.xml.gz +0 -0
  461. data/spec/functional/assets/yumrepo/repodata/primary.xml.gz +0 -0
  462. data/spec/functional/assets/yumrepo/repodata/repomd.xml +0 -21
  463. data/spec/functional/assets/yumrepo-empty/repodata/01a3b-filelists.sqlite.bz2 +0 -0
  464. data/spec/functional/assets/yumrepo-empty/repodata/401dc-filelists.xml.gz +0 -0
  465. data/spec/functional/assets/yumrepo-empty/repodata/5dc1e-primary.sqlite.bz2 +0 -0
  466. data/spec/functional/assets/yumrepo-empty/repodata/6bf96-other.xml.gz +0 -0
  467. data/spec/functional/assets/yumrepo-empty/repodata/7c365-other.sqlite.bz2 +0 -0
  468. data/spec/functional/assets/yumrepo-empty/repodata/dabe2-primary.xml.gz +0 -0
  469. data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +0 -55
  470. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  471. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.i686.rpm +0 -0
  472. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  473. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  474. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  475. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.src.rpm +0 -0
  476. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  477. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  478. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.i686.rpm +0 -0
  479. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  480. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  481. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  482. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.src.rpm +0 -0
  483. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  484. data/spec/functional/dsl/reboot_pending_spec.rb +0 -88
  485. data/spec/functional/dsl/registry_helper_spec.rb +0 -61
  486. data/spec/functional/event_loggers/windows_eventlog_spec.rb +0 -107
  487. data/spec/functional/file_content_management/deploy_strategies_spec.rb +0 -229
  488. data/spec/functional/http/simple_spec.rb +0 -146
  489. data/spec/functional/mixin/from_file_spec.rb +0 -93
  490. data/spec/functional/mixin/powershell_out_spec.rb +0 -51
  491. data/spec/functional/mixin/shell_out_spec.rb +0 -48
  492. data/spec/functional/mixin/user_context_spec.rb +0 -119
  493. data/spec/functional/notifications_spec.rb +0 -238
  494. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +0 -100
  495. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +0 -51
  496. data/spec/functional/rebooter_spec.rb +0 -117
  497. data/spec/functional/resource/aix_service_spec.rb +0 -145
  498. data/spec/functional/resource/aixinit_service_spec.rb +0 -210
  499. data/spec/functional/resource/apt_package_spec.rb +0 -383
  500. data/spec/functional/resource/archive_file_spec.rb +0 -88
  501. data/spec/functional/resource/bash_spec.rb +0 -55
  502. data/spec/functional/resource/batch_spec.rb +0 -34
  503. data/spec/functional/resource/bff_spec.rb +0 -120
  504. data/spec/functional/resource/chocolatey_package_spec.rb +0 -194
  505. data/spec/functional/resource/cookbook_file_spec.rb +0 -79
  506. data/spec/functional/resource/cron_spec.rb +0 -179
  507. data/spec/functional/resource/directory_spec.rb +0 -43
  508. data/spec/functional/resource/dnf_package_spec.rb +0 -1629
  509. data/spec/functional/resource/dpkg_package_spec.rb +0 -355
  510. data/spec/functional/resource/dsc_resource_spec.rb +0 -91
  511. data/spec/functional/resource/dsc_script_spec.rb +0 -476
  512. data/spec/functional/resource/execute_spec.rb +0 -171
  513. data/spec/functional/resource/file_spec.rb +0 -167
  514. data/spec/functional/resource/git_spec.rb +0 -329
  515. data/spec/functional/resource/group_spec.rb +0 -486
  516. data/spec/functional/resource/ifconfig_spec.rb +0 -178
  517. data/spec/functional/resource/insserv_spec.rb +0 -206
  518. data/spec/functional/resource/launchd_spec.rb +0 -232
  519. data/spec/functional/resource/link_spec.rb +0 -704
  520. data/spec/functional/resource/locale_spec.rb +0 -108
  521. data/spec/functional/resource/macos_userdefaults_spec.rb +0 -139
  522. data/spec/functional/resource/mount_spec.rb +0 -219
  523. data/spec/functional/resource/msu_package_spec.rb +0 -107
  524. data/spec/functional/resource/ohai_spec.rb +0 -54
  525. data/spec/functional/resource/plist_spec.rb +0 -25
  526. data/spec/functional/resource/powershell_package_source_spec.rb +0 -106
  527. data/spec/functional/resource/powershell_script_spec.rb +0 -588
  528. data/spec/functional/resource/reboot_spec.rb +0 -103
  529. data/spec/functional/resource/registry_spec.rb +0 -300
  530. data/spec/functional/resource/remote_directory_spec.rb +0 -220
  531. data/spec/functional/resource/remote_file_spec.rb +0 -418
  532. data/spec/functional/resource/rpm_spec.rb +0 -120
  533. data/spec/functional/resource/template_spec.rb +0 -245
  534. data/spec/functional/resource/timezone_spec.rb +0 -41
  535. data/spec/functional/resource/user/linux_user_spec.rb +0 -127
  536. data/spec/functional/resource/user/mac_user_spec.rb +0 -207
  537. data/spec/functional/resource/user/windows_spec.rb +0 -245
  538. data/spec/functional/resource/windows_certificate_spec.rb +0 -401
  539. data/spec/functional/resource/windows_env_spec.rb +0 -285
  540. data/spec/functional/resource/windows_firewall_rule_spec.rb +0 -93
  541. data/spec/functional/resource/windows_font_spec.rb +0 -52
  542. data/spec/functional/resource/windows_hostname_spec.rb +0 -91
  543. data/spec/functional/resource/windows_package_spec.rb +0 -193
  544. data/spec/functional/resource/windows_pagefile_spec.rb +0 -125
  545. data/spec/functional/resource/windows_path_spec.rb +0 -68
  546. data/spec/functional/resource/windows_security_policy_spec.rb +0 -86
  547. data/spec/functional/resource/windows_share_spec.rb +0 -103
  548. data/spec/functional/resource/windows_task_spec.rb +0 -1969
  549. data/spec/functional/resource/windows_user_privilege_spec.rb +0 -192
  550. data/spec/functional/resource/yum_package_spec.rb +0 -1739
  551. data/spec/functional/resource/zypper_package_spec.rb +0 -276
  552. data/spec/functional/root_alias_spec.rb +0 -78
  553. data/spec/functional/run_lock_spec.rb +0 -481
  554. data/spec/functional/shell_spec.rb +0 -149
  555. data/spec/functional/tiny_server_spec.rb +0 -79
  556. data/spec/functional/util/path_helper_spec.rb +0 -37
  557. data/spec/functional/version_spec.rb +0 -36
  558. data/spec/functional/win32/crypto_spec.rb +0 -54
  559. data/spec/functional/win32/registry_spec.rb +0 -618
  560. data/spec/functional/win32/security_spec.rb +0 -233
  561. data/spec/functional/win32/sid_spec.rb +0 -55
  562. data/spec/functional/win32/version_info_spec.rb +0 -50
  563. data/spec/functional/win32/versions_spec.rb +0 -115
  564. data/spec/integration/client/client_spec.rb +0 -963
  565. data/spec/integration/client/exit_code_spec.rb +0 -116
  566. data/spec/integration/client/fips_spec.rb +0 -29
  567. data/spec/integration/client/ipv6_spec.rb +0 -135
  568. data/spec/integration/client/open_ssl_spec.rb +0 -20
  569. data/spec/integration/compliance/compliance_spec.rb +0 -143
  570. data/spec/integration/ohai/ohai_spec.rb +0 -62
  571. data/spec/integration/recipes/accumulator_spec.rb +0 -245
  572. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +0 -176
  573. data/spec/integration/recipes/lwrp_spec.rb +0 -56
  574. data/spec/integration/recipes/noop_resource_spec.rb +0 -24
  575. data/spec/integration/recipes/notifies_spec.rb +0 -438
  576. data/spec/integration/recipes/notifying_block_spec.rb +0 -116
  577. data/spec/integration/recipes/provider_choice.rb +0 -38
  578. data/spec/integration/recipes/recipe_dsl_spec.rb +0 -1281
  579. data/spec/integration/recipes/remote_directory.rb +0 -74
  580. data/spec/integration/recipes/resource_action_spec.rb +0 -524
  581. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +0 -554
  582. data/spec/integration/recipes/resource_load_spec.rb +0 -315
  583. data/spec/integration/recipes/unified_mode_spec.rb +0 -947
  584. data/spec/integration/recipes/use_partial_spec.rb +0 -116
  585. data/spec/integration/solo/solo_spec.rb +0 -219
  586. data/spec/rcov.opts +0 -2
  587. data/spec/spec_helper.rb +0 -349
  588. data/spec/stress/win32/file_spec.rb +0 -37
  589. data/spec/stress/win32/memory_spec.rb +0 -22
  590. data/spec/stress/win32/security_spec.rb +0 -69
  591. data/spec/support/chef_helpers.rb +0 -79
  592. data/spec/support/key_helpers.rb +0 -102
  593. data/spec/support/lib/chef/provider/easy.rb +0 -35
  594. data/spec/support/lib/chef/provider/openldap_includer.rb +0 -29
  595. data/spec/support/lib/chef/provider/snakeoil.rb +0 -42
  596. data/spec/support/lib/chef/resource/cat.rb +0 -39
  597. data/spec/support/lib/chef/resource/one_two_three_four.rb +0 -36
  598. data/spec/support/lib/chef/resource/openldap_includer.rb +0 -28
  599. data/spec/support/lib/chef/resource/with_state.rb +0 -29
  600. data/spec/support/lib/chef/resource/zen_follower.rb +0 -36
  601. data/spec/support/lib/chef/resource/zen_master.rb +0 -39
  602. data/spec/support/lib/library_load_order.rb +0 -20
  603. data/spec/support/matchers/leak.rb +0 -96
  604. data/spec/support/mock/platform.rb +0 -33
  605. data/spec/support/platform_helpers.rb +0 -284
  606. data/spec/support/platforms/prof/gc.rb +0 -51
  607. data/spec/support/platforms/prof/win32.rb +0 -45
  608. data/spec/support/platforms/win32/spec_service.rb +0 -57
  609. data/spec/support/recipe_dsl_helper.rb +0 -83
  610. data/spec/support/ruby_installer.rb +0 -51
  611. data/spec/support/shared/context/config.rb +0 -18
  612. data/spec/support/shared/context/win32.rb +0 -34
  613. data/spec/support/shared/functional/diff_disabled.rb +0 -10
  614. data/spec/support/shared/functional/directory_resource.rb +0 -178
  615. data/spec/support/shared/functional/execute_resource.rb +0 -150
  616. data/spec/support/shared/functional/file_resource.rb +0 -1047
  617. data/spec/support/shared/functional/http.rb +0 -224
  618. data/spec/support/shared/functional/knife.rb +0 -37
  619. data/spec/support/shared/functional/securable_resource.rb +0 -654
  620. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -393
  621. data/spec/support/shared/functional/windows_script.rb +0 -260
  622. data/spec/support/shared/integration/integration_helper.rb +0 -122
  623. data/spec/support/shared/integration/knife_support.rb +0 -192
  624. data/spec/support/shared/matchers/exit_with_code.rb +0 -32
  625. data/spec/support/shared/matchers/match_environment_variable.rb +0 -17
  626. data/spec/support/shared/shared_examples.rb +0 -14
  627. data/spec/support/shared/unit/api_error_inspector.rb +0 -190
  628. data/spec/support/shared/unit/api_versioning.rb +0 -77
  629. data/spec/support/shared/unit/application_dot_d.rb +0 -82
  630. data/spec/support/shared/unit/execute_resource.rb +0 -166
  631. data/spec/support/shared/unit/file_system_support.rb +0 -70
  632. data/spec/support/shared/unit/knife_shared.rb +0 -39
  633. data/spec/support/shared/unit/mock_shellout.rb +0 -49
  634. data/spec/support/shared/unit/platform_introspector.rb +0 -189
  635. data/spec/support/shared/unit/provider/file.rb +0 -877
  636. data/spec/support/shared/unit/provider/package/package_shared.rb +0 -95
  637. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +0 -410
  638. data/spec/support/shared/unit/resource/static_provider_resolution.rb +0 -63
  639. data/spec/support/shared/unit/script_resource.rb +0 -74
  640. data/spec/support/shared/unit/user_and_client_shared.rb +0 -114
  641. data/spec/support/shared/unit/windows_script_resource.rb +0 -65
  642. data/spec/tiny_server.rb +0 -193
  643. data/spec/unit/action_collection_spec.rb +0 -19
  644. data/spec/unit/api_client/registration_spec.rb +0 -278
  645. data/spec/unit/api_client_spec.rb +0 -341
  646. data/spec/unit/api_client_v1_spec.rb +0 -455
  647. data/spec/unit/application/agent_spec.rb +0 -0
  648. data/spec/unit/application/apply_spec.rb +0 -116
  649. data/spec/unit/application/base_spec.rb +0 -40
  650. data/spec/unit/application/client_spec.rb +0 -588
  651. data/spec/unit/application/exit_code_spec.rb +0 -145
  652. data/spec/unit/application/server_spec.rb +0 -0
  653. data/spec/unit/application/solo_spec.rb +0 -218
  654. data/spec/unit/application_spec.rb +0 -587
  655. data/spec/unit/chef_class_spec.rb +0 -240
  656. data/spec/unit/chef_fs/config_spec.rb +0 -235
  657. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +0 -82
  658. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +0 -65
  659. data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +0 -63
  660. data/spec/unit/chef_fs/diff_spec.rb +0 -328
  661. data/spec/unit/chef_fs/file_pattern_spec.rb +0 -512
  662. data/spec/unit/chef_fs/file_system/cookbook_subdir_spec.rb +0 -34
  663. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +0 -45
  664. data/spec/unit/chef_fs/file_system/repository/base_file_spec.rb +0 -126
  665. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +0 -175
  666. data/spec/unit/chef_fs/file_system_spec.rb +0 -150
  667. data/spec/unit/chef_fs/path_util_spec.rb +0 -108
  668. data/spec/unit/chef_spec.rb +0 -25
  669. data/spec/unit/client_spec.rb +0 -881
  670. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -126
  671. data/spec/unit/compliance/fetcher/chef_server_spec.rb +0 -93
  672. data/spec/unit/compliance/input_spec.rb +0 -104
  673. data/spec/unit/compliance/profile_spec.rb +0 -120
  674. data/spec/unit/compliance/reporter/automate_spec.rb +0 -451
  675. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +0 -197
  676. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +0 -49
  677. data/spec/unit/compliance/runner_spec.rb +0 -354
  678. data/spec/unit/compliance/waiver_spec.rb +0 -104
  679. data/spec/unit/config_fetcher_spec.rb +0 -125
  680. data/spec/unit/config_spec.rb +0 -31
  681. data/spec/unit/cookbook/chefignore_spec.rb +0 -69
  682. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +0 -213
  683. data/spec/unit/cookbook/file_vendor_spec.rb +0 -123
  684. data/spec/unit/cookbook/gem_installer_spec.rb +0 -114
  685. data/spec/unit/cookbook/manifest_v0_spec.rb +0 -133
  686. data/spec/unit/cookbook/manifest_v2_spec.rb +0 -70
  687. data/spec/unit/cookbook/metadata_spec.rb +0 -610
  688. data/spec/unit/cookbook/synchronizer_spec.rb +0 -560
  689. data/spec/unit/cookbook/syntax_check_spec.rb +0 -229
  690. data/spec/unit/cookbook_loader_spec.rb +0 -265
  691. data/spec/unit/cookbook_manifest_spec.rb +0 -228
  692. data/spec/unit/cookbook_spec.rb +0 -62
  693. data/spec/unit/cookbook_uploader_spec.rb +0 -205
  694. data/spec/unit/cookbook_version_file_specificity_spec.rb +0 -623
  695. data/spec/unit/cookbook_version_spec.rb +0 -302
  696. data/spec/unit/daemon_spec.rb +0 -179
  697. data/spec/unit/data_bag_item_spec.rb +0 -387
  698. data/spec/unit/data_bag_spec.rb +0 -263
  699. data/spec/unit/data_collector/config_validation_spec.rb +0 -208
  700. data/spec/unit/data_collector_spec.rb +0 -1076
  701. data/spec/unit/decorator/lazy_array_spec.rb +0 -58
  702. data/spec/unit/decorator/lazy_spec.rb +0 -39
  703. data/spec/unit/decorator_spec.rb +0 -142
  704. data/spec/unit/delayed_evaluator_spec.rb +0 -35
  705. data/spec/unit/deprecated_spec.rb +0 -65
  706. data/spec/unit/deprecation_spec.rb +0 -129
  707. data/spec/unit/digester_spec.rb +0 -49
  708. data/spec/unit/dsl/data_query_spec.rb +0 -108
  709. data/spec/unit/dsl/declare_resource_spec.rb +0 -374
  710. data/spec/unit/dsl/platform_introspection_spec.rb +0 -160
  711. data/spec/unit/dsl/reboot_pending_spec.rb +0 -87
  712. data/spec/unit/dsl/recipe_spec.rb +0 -76
  713. data/spec/unit/dsl/registry_helper_spec.rb +0 -52
  714. data/spec/unit/dsl/render_helpers_spec.rb +0 -102
  715. data/spec/unit/dsl/resources_spec.rb +0 -85
  716. data/spec/unit/dsl/secret_spec.rb +0 -175
  717. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +0 -97
  718. data/spec/unit/encrypted_data_bag_item_spec.rb +0 -439
  719. data/spec/unit/environment_spec.rb +0 -476
  720. data/spec/unit/event_dispatch/dispatcher_spec.rb +0 -172
  721. data/spec/unit/event_dispatch/dsl_spec.rb +0 -83
  722. data/spec/unit/exceptions_spec.rb +0 -132
  723. data/spec/unit/file_access_control_spec.rb +0 -308
  724. data/spec/unit/file_cache_spec.rb +0 -178
  725. data/spec/unit/file_content_management/deploy/cp_spec.rb +0 -44
  726. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +0 -113
  727. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +0 -232
  728. data/spec/unit/file_content_management/tempfile_spec.rb +0 -115
  729. data/spec/unit/formatters/base_spec.rb +0 -100
  730. data/spec/unit/formatters/doc_spec.rb +0 -110
  731. data/spec/unit/formatters/error_description_spec.rb +0 -141
  732. data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +0 -76
  733. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +0 -265
  734. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +0 -126
  735. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +0 -43
  736. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +0 -26
  737. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +0 -26
  738. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +0 -191
  739. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +0 -91
  740. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +0 -155
  741. data/spec/unit/guard_interpreter_spec.rb +0 -41
  742. data/spec/unit/handler/json_file_spec.rb +0 -63
  743. data/spec/unit/handler_spec.rb +0 -308
  744. data/spec/unit/http/api_versions_spec.rb +0 -100
  745. data/spec/unit/http/authenticator_spec.rb +0 -247
  746. data/spec/unit/http/basic_client_spec.rb +0 -102
  747. data/spec/unit/http/http_request_spec.rb +0 -97
  748. data/spec/unit/http/json_input_spec.rb +0 -128
  749. data/spec/unit/http/simple_spec.rb +0 -32
  750. data/spec/unit/http/socketless_chef_zero_client_spec.rb +0 -174
  751. data/spec/unit/http/ssl_policies_spec.rb +0 -228
  752. data/spec/unit/http/validate_content_length_spec.rb +0 -207
  753. data/spec/unit/http_spec.rb +0 -235
  754. data/spec/unit/json_compat_spec.rb +0 -73
  755. data/spec/unit/key_spec.rb +0 -631
  756. data/spec/unit/log/syslog_spec.rb +0 -47
  757. data/spec/unit/log/winevt_spec.rb +0 -62
  758. data/spec/unit/lwrp_spec.rb +0 -693
  759. data/spec/unit/mixin/api_version_request_handling_spec.rb +0 -126
  760. data/spec/unit/mixin/checksum_spec.rb +0 -82
  761. data/spec/unit/mixin/convert_to_class_name_spec.rb +0 -54
  762. data/spec/unit/mixin/deep_merge_spec.rb +0 -357
  763. data/spec/unit/mixin/default_paths_spec.rb +0 -92
  764. data/spec/unit/mixin/deprecation_spec.rb +0 -57
  765. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +0 -96
  766. data/spec/unit/mixin/homebrew_spec.rb +0 -118
  767. data/spec/unit/mixin/lazy_module_include.rb +0 -71
  768. data/spec/unit/mixin/openssl_helper_spec.rb +0 -897
  769. data/spec/unit/mixin/params_validate_spec.rb +0 -422
  770. data/spec/unit/mixin/powershell_exec_spec.rb +0 -90
  771. data/spec/unit/mixin/powershell_out_spec.rb +0 -106
  772. data/spec/unit/mixin/powershell_type_coercions_spec.rb +0 -84
  773. data/spec/unit/mixin/properties_spec.rb +0 -107
  774. data/spec/unit/mixin/proxified_socket_spec.rb +0 -97
  775. data/spec/unit/mixin/securable_spec.rb +0 -313
  776. data/spec/unit/mixin/shell_out_spec.rb +0 -308
  777. data/spec/unit/mixin/subclass_directive_spec.rb +0 -45
  778. data/spec/unit/mixin/template_spec.rb +0 -317
  779. data/spec/unit/mixin/unformatter_spec.rb +0 -60
  780. data/spec/unit/mixin/uris_spec.rb +0 -57
  781. data/spec/unit/mixin/user_context_spec.rb +0 -99
  782. data/spec/unit/mixin/versioned_api_spec.rb +0 -128
  783. data/spec/unit/mixin/which.rb +0 -170
  784. data/spec/unit/mixin/why_run_spec.rb +0 -53
  785. data/spec/unit/mixin/windows_architecture_helper_spec.rb +0 -85
  786. data/spec/unit/mixin/xml_escape_spec.rb +0 -54
  787. data/spec/unit/monologger_spec.rb +0 -45
  788. data/spec/unit/node/attribute_spec.rb +0 -1322
  789. data/spec/unit/node/immutable_collections_spec.rb +0 -258
  790. data/spec/unit/node/vivid_mash_spec.rb +0 -500
  791. data/spec/unit/node_map_spec.rb +0 -276
  792. data/spec/unit/node_spec.rb +0 -2038
  793. data/spec/unit/org_group_spec.rb +0 -45
  794. data/spec/unit/org_spec.rb +0 -196
  795. data/spec/unit/platform/query_helpers_spec.rb +0 -48
  796. data/spec/unit/policy_builder/dynamic_spec.rb +0 -256
  797. data/spec/unit/policy_builder/expand_node_object_spec.rb +0 -311
  798. data/spec/unit/policy_builder/policyfile_spec.rb +0 -960
  799. data/spec/unit/policy_builder_spec.rb +0 -26
  800. data/spec/unit/property/state_spec.rb +0 -514
  801. data/spec/unit/property/validation_spec.rb +0 -813
  802. data/spec/unit/property_spec.rb +0 -1329
  803. data/spec/unit/provider/apt_preference_spec.rb +0 -91
  804. data/spec/unit/provider/apt_repository_spec.rb +0 -293
  805. data/spec/unit/provider/apt_update_spec.rb +0 -119
  806. data/spec/unit/provider/batch_spec.rb +0 -130
  807. data/spec/unit/provider/cookbook_file/content_spec.rb +0 -39
  808. data/spec/unit/provider/cookbook_file_spec.rb +0 -59
  809. data/spec/unit/provider/cron/unix_spec.rb +0 -144
  810. data/spec/unit/provider/cron_spec.rb +0 -1252
  811. data/spec/unit/provider/directory_spec.rb +0 -289
  812. data/spec/unit/provider/dsc_resource_spec.rb +0 -313
  813. data/spec/unit/provider/dsc_script_spec.rb +0 -173
  814. data/spec/unit/provider/execute_spec.rb +0 -244
  815. data/spec/unit/provider/file/content_spec.rb +0 -114
  816. data/spec/unit/provider/file_spec.rb +0 -58
  817. data/spec/unit/provider/git_spec.rb +0 -822
  818. data/spec/unit/provider/group/dscl_spec.rb +0 -339
  819. data/spec/unit/provider/group/gpasswd_spec.rb +0 -119
  820. data/spec/unit/provider/group/groupadd_spec.rb +0 -195
  821. data/spec/unit/provider/group/groupmod_spec.rb +0 -136
  822. data/spec/unit/provider/group/pw_spec.rb +0 -141
  823. data/spec/unit/provider/group/solaris_spec.rb +0 -106
  824. data/spec/unit/provider/group/usermod_spec.rb +0 -112
  825. data/spec/unit/provider/group/windows_spec.rb +0 -130
  826. data/spec/unit/provider/group_spec.rb +0 -285
  827. data/spec/unit/provider/http_request_spec.rb +0 -147
  828. data/spec/unit/provider/ifconfig/aix_spec.rb +0 -180
  829. data/spec/unit/provider/ifconfig/debian_spec.rb +0 -332
  830. data/spec/unit/provider/ifconfig/redhat_spec.rb +0 -83
  831. data/spec/unit/provider/ifconfig_spec.rb +0 -247
  832. data/spec/unit/provider/launchd_spec.rb +0 -234
  833. data/spec/unit/provider/link_spec.rb +0 -425
  834. data/spec/unit/provider/log_spec.rb +0 -94
  835. data/spec/unit/provider/mdadm_spec.rb +0 -138
  836. data/spec/unit/provider/mount/aix_spec.rb +0 -277
  837. data/spec/unit/provider/mount/linux_spec.rb +0 -131
  838. data/spec/unit/provider/mount/mount_spec.rb +0 -590
  839. data/spec/unit/provider/mount/solaris_spec.rb +0 -822
  840. data/spec/unit/provider/mount/windows_spec.rb +0 -150
  841. data/spec/unit/provider/mount_spec.rb +0 -222
  842. data/spec/unit/provider/package/apt_spec.rb +0 -703
  843. data/spec/unit/provider/package/bff_spec.rb +0 -188
  844. data/spec/unit/provider/package/cab_spec.rb +0 -272
  845. data/spec/unit/provider/package/chocolatey_spec.rb +0 -574
  846. data/spec/unit/provider/package/deb_spec.rb +0 -135
  847. data/spec/unit/provider/package/dnf/python_helper_spec.rb +0 -36
  848. data/spec/unit/provider/package/dpkg_spec.rb +0 -314
  849. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +0 -147
  850. data/spec/unit/provider/package/freebsd/port_spec.rb +0 -151
  851. data/spec/unit/provider/package/homebrew_spec.rb +0 -402
  852. data/spec/unit/provider/package/ips_spec.rb +0 -233
  853. data/spec/unit/provider/package/macports_spec.rb +0 -203
  854. data/spec/unit/provider/package/msu_spec.rb +0 -283
  855. data/spec/unit/provider/package/openbsd_spec.rb +0 -136
  856. data/spec/unit/provider/package/pacman_spec.rb +0 -109
  857. data/spec/unit/provider/package/paludis_spec.rb +0 -134
  858. data/spec/unit/provider/package/portage_spec.rb +0 -179
  859. data/spec/unit/provider/package/powershell_spec.rb +0 -565
  860. data/spec/unit/provider/package/rpm_spec.rb +0 -440
  861. data/spec/unit/provider/package/rubygems_spec.rb +0 -1187
  862. data/spec/unit/provider/package/smartos_spec.rb +0 -110
  863. data/spec/unit/provider/package/snap_spec.rb +0 -208
  864. data/spec/unit/provider/package/solaris_spec.rb +0 -168
  865. data/spec/unit/provider/package/windows/exe_spec.rb +0 -201
  866. data/spec/unit/provider/package/windows/msi_spec.rb +0 -168
  867. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +0 -78
  868. data/spec/unit/provider/package/windows_spec.rb +0 -441
  869. data/spec/unit/provider/package/yum/python_helper_spec.rb +0 -30
  870. data/spec/unit/provider/package/yum/yum_cache_spec.rb +0 -109
  871. data/spec/unit/provider/package/zypper_spec.rb +0 -494
  872. data/spec/unit/provider/package_spec.rb +0 -791
  873. data/spec/unit/provider/powershell_script_spec.rb +0 -157
  874. data/spec/unit/provider/registry_key_spec.rb +0 -487
  875. data/spec/unit/provider/remote_directory_spec.rb +0 -236
  876. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +0 -245
  877. data/spec/unit/provider/remote_file/content_spec.rb +0 -253
  878. data/spec/unit/provider/remote_file/fetcher_spec.rb +0 -95
  879. data/spec/unit/provider/remote_file/ftp_spec.rb +0 -217
  880. data/spec/unit/provider/remote_file/http_spec.rb +0 -334
  881. data/spec/unit/provider/remote_file/local_file_spec.rb +0 -105
  882. data/spec/unit/provider/remote_file/network_file_spec.rb +0 -50
  883. data/spec/unit/provider/remote_file/sftp_spec.rb +0 -150
  884. data/spec/unit/provider/remote_file_spec.rb +0 -61
  885. data/spec/unit/provider/route_spec.rb +0 -268
  886. data/spec/unit/provider/ruby_block_spec.rb +0 -45
  887. data/spec/unit/provider/script_spec.rb +0 -67
  888. data/spec/unit/provider/service/aix_service_spec.rb +0 -195
  889. data/spec/unit/provider/service/aixinit_service_spec.rb +0 -272
  890. data/spec/unit/provider/service/arch_service_spec.rb +0 -326
  891. data/spec/unit/provider/service/debian_service_spec.rb +0 -273
  892. data/spec/unit/provider/service/freebsd_service_spec.rb +0 -621
  893. data/spec/unit/provider/service/gentoo_service_spec.rb +0 -145
  894. data/spec/unit/provider/service/init_service_spec.rb +0 -235
  895. data/spec/unit/provider/service/insserv_service_spec.rb +0 -75
  896. data/spec/unit/provider/service/invokercd_service_spec.rb +0 -211
  897. data/spec/unit/provider/service/macosx_spec.rb +0 -337
  898. data/spec/unit/provider/service/openbsd_service_spec.rb +0 -553
  899. data/spec/unit/provider/service/redhat_spec.rb +0 -253
  900. data/spec/unit/provider/service/simple_service_spec.rb +0 -171
  901. data/spec/unit/provider/service/solaris_smf_service_spec.rb +0 -292
  902. data/spec/unit/provider/service/systemd_service_spec.rb +0 -504
  903. data/spec/unit/provider/service/upstart_service_spec.rb +0 -322
  904. data/spec/unit/provider/service/windows_spec.rb +0 -986
  905. data/spec/unit/provider/service_spec.rb +0 -168
  906. data/spec/unit/provider/subversion_spec.rb +0 -364
  907. data/spec/unit/provider/systemd_unit_spec.rb +0 -1039
  908. data/spec/unit/provider/template/content_spec.rb +0 -169
  909. data/spec/unit/provider/template_spec.rb +0 -86
  910. data/spec/unit/provider/user/aix_spec.rb +0 -96
  911. data/spec/unit/provider/user/linux_spec.rb +0 -178
  912. data/spec/unit/provider/user/mac_spec.rb +0 -38
  913. data/spec/unit/provider/user/pw_spec.rb +0 -235
  914. data/spec/unit/provider/user/solaris_spec.rb +0 -177
  915. data/spec/unit/provider/user/windows_spec.rb +0 -198
  916. data/spec/unit/provider/user_spec.rb +0 -520
  917. data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +0 -46
  918. data/spec/unit/provider/windows_env_spec.rb +0 -385
  919. data/spec/unit/provider/windows_path_spec.rb +0 -60
  920. data/spec/unit/provider/windows_task_spec.rb +0 -436
  921. data/spec/unit/provider/yum_repository_spec.rb +0 -35
  922. data/spec/unit/provider/zypper_repository_spec.rb +0 -169
  923. data/spec/unit/provider_spec.rb +0 -215
  924. data/spec/unit/pure_application_spec.rb +0 -32
  925. data/spec/unit/recipe_spec.rb +0 -652
  926. data/spec/unit/resource/alternatives_spec.rb +0 -120
  927. data/spec/unit/resource/apt_package_spec.rb +0 -66
  928. data/spec/unit/resource/apt_preference_spec.rb +0 -39
  929. data/spec/unit/resource/apt_repository_spec.rb +0 -79
  930. data/spec/unit/resource/apt_update_spec.rb +0 -44
  931. data/spec/unit/resource/archive_file_spec.rb +0 -466
  932. data/spec/unit/resource/bash_spec.rb +0 -45
  933. data/spec/unit/resource/batch_spec.rb +0 -46
  934. data/spec/unit/resource/bff_package_spec.rb +0 -51
  935. data/spec/unit/resource/breakpoint_spec.rb +0 -64
  936. data/spec/unit/resource/build_essential_spec.rb +0 -77
  937. data/spec/unit/resource/cab_package_spec.rb +0 -64
  938. data/spec/unit/resource/chef_client_config_spec.rb +0 -145
  939. data/spec/unit/resource/chef_client_cron_spec.rb +0 -161
  940. data/spec/unit/resource/chef_client_launchd_spec.rb +0 -132
  941. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +0 -186
  942. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +0 -108
  943. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -68
  944. data/spec/unit/resource/chef_gem_spec.rb +0 -122
  945. data/spec/unit/resource/chef_handler_spec.rb +0 -40
  946. data/spec/unit/resource/chef_sleep_spec.rb +0 -30
  947. data/spec/unit/resource/chef_vault_secret_spec.rb +0 -40
  948. data/spec/unit/resource/chocolatey_config_spec.rb +0 -93
  949. data/spec/unit/resource/chocolatey_feature_spec.rb +0 -89
  950. data/spec/unit/resource/chocolatey_installer_spec.rb +0 -151
  951. data/spec/unit/resource/chocolatey_package_spec.rb +0 -106
  952. data/spec/unit/resource/chocolatey_source_spec.rb +0 -151
  953. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +0 -45
  954. data/spec/unit/resource/conditional_spec.rb +0 -254
  955. data/spec/unit/resource/cookbook_file_spec.rb +0 -93
  956. data/spec/unit/resource/cron_access_spec.rb +0 -36
  957. data/spec/unit/resource/cron_d_spec.rb +0 -84
  958. data/spec/unit/resource/cron_spec.rb +0 -167
  959. data/spec/unit/resource/csh_spec.rb +0 -45
  960. data/spec/unit/resource/directory_spec.rb +0 -69
  961. data/spec/unit/resource/dmg_package_spec.rb +0 -39
  962. data/spec/unit/resource/dnf_package_spec.rb +0 -108
  963. data/spec/unit/resource/dpkg_package_spec.rb +0 -72
  964. data/spec/unit/resource/dsc_resource_spec.rb +0 -102
  965. data/spec/unit/resource/dsc_script_spec.rb +0 -134
  966. data/spec/unit/resource/execute_spec.rb +0 -282
  967. data/spec/unit/resource/file/verification/json_spec.rb +0 -72
  968. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +0 -103
  969. data/spec/unit/resource/file/verification/yaml_spec.rb +0 -67
  970. data/spec/unit/resource/file/verification_spec.rb +0 -147
  971. data/spec/unit/resource/file_spec.rb +0 -127
  972. data/spec/unit/resource/freebsd_package_spec.rb +0 -77
  973. data/spec/unit/resource/gem_package_spec.rb +0 -67
  974. data/spec/unit/resource/group_spec.rb +0 -165
  975. data/spec/unit/resource/helpers/cron_validations_spec.rb +0 -81
  976. data/spec/unit/resource/homebrew_cask_spec.rb +0 -58
  977. data/spec/unit/resource/homebrew_package_spec.rb +0 -68
  978. data/spec/unit/resource/homebrew_tap_spec.rb +0 -44
  979. data/spec/unit/resource/homebrew_update_spec.rb +0 -30
  980. data/spec/unit/resource/hostname_spec.rb +0 -47
  981. data/spec/unit/resource/http_request_spec.rb +0 -65
  982. data/spec/unit/resource/ifconfig_spec.rb +0 -101
  983. data/spec/unit/resource/inspec_input_spec.rb +0 -300
  984. data/spec/unit/resource/inspec_waiver_file_entry_spec.rb +0 -80
  985. data/spec/unit/resource/inspec_waiver_spec.rb +0 -312
  986. data/spec/unit/resource/ips_package_spec.rb +0 -54
  987. data/spec/unit/resource/kernel_module_spec.rb +0 -45
  988. data/spec/unit/resource/ksh_spec.rb +0 -45
  989. data/spec/unit/resource/launchd_spec.rb +0 -48
  990. data/spec/unit/resource/link_spec.rb +0 -120
  991. data/spec/unit/resource/locale_spec.rb +0 -189
  992. data/spec/unit/resource/log_spec.rb +0 -64
  993. data/spec/unit/resource/macos_pkg_spec.rb +0 -38
  994. data/spec/unit/resource/macos_user_defaults_spec.rb +0 -76
  995. data/spec/unit/resource/macosx_service.rb +0 -37
  996. data/spec/unit/resource/macports_package_spec.rb +0 -51
  997. data/spec/unit/resource/mdadm_spec.rb +0 -104
  998. data/spec/unit/resource/mount_spec.rb +0 -201
  999. data/spec/unit/resource/msu_package_spec.rb +0 -67
  1000. data/spec/unit/resource/notify_group_spec.rb +0 -34
  1001. data/spec/unit/resource/ohai_hint_spec.rb +0 -44
  1002. data/spec/unit/resource/ohai_spec.rb +0 -112
  1003. data/spec/unit/resource/openbsd_package_spec.rb +0 -58
  1004. data/spec/unit/resource/openssl_dhparam_spec.rb +0 -61
  1005. data/spec/unit/resource/openssl_ec_private_key_spec.rb +0 -64
  1006. data/spec/unit/resource/openssl_ec_public_key_spec.rb +0 -43
  1007. data/spec/unit/resource/openssl_rsa_private_key_spec.rb +0 -64
  1008. data/spec/unit/resource/openssl_rsa_public_key_spec.rb +0 -43
  1009. data/spec/unit/resource/openssl_x509_certificate_spec.rb +0 -72
  1010. data/spec/unit/resource/openssl_x509_crl_spec.rb +0 -61
  1011. data/spec/unit/resource/openssl_x509_request.rb +0 -68
  1012. data/spec/unit/resource/osx_profile_spec.rb +0 -360
  1013. data/spec/unit/resource/package_spec.rb +0 -98
  1014. data/spec/unit/resource/pacman_package_spec.rb +0 -46
  1015. data/spec/unit/resource/paludis_package_spec.rb +0 -36
  1016. data/spec/unit/resource/perl_spec.rb +0 -44
  1017. data/spec/unit/resource/plist_spec.rb +0 -130
  1018. data/spec/unit/resource/portage_package_spec.rb +0 -46
  1019. data/spec/unit/resource/powershell_package_source_spec.rb +0 -220
  1020. data/spec/unit/resource/powershell_package_spec.rb +0 -98
  1021. data/spec/unit/resource/powershell_script_spec.rb +0 -65
  1022. data/spec/unit/resource/python_spec.rb +0 -40
  1023. data/spec/unit/resource/reboot_spec.rb +0 -47
  1024. data/spec/unit/resource/registry_key_spec.rb +0 -215
  1025. data/spec/unit/resource/remote_directory_spec.rb +0 -118
  1026. data/spec/unit/resource/remote_file_spec.rb +0 -220
  1027. data/spec/unit/resource/resource_notification_spec.rb +0 -169
  1028. data/spec/unit/resource/rest_resource_spec.rb +0 -381
  1029. data/spec/unit/resource/rhsm_errata_level_spec.rb +0 -50
  1030. data/spec/unit/resource/rhsm_errata_spec.rb +0 -39
  1031. data/spec/unit/resource/rhsm_register_spec.rb +0 -308
  1032. data/spec/unit/resource/rhsm_repo_spec.rb +0 -70
  1033. data/spec/unit/resource/rhsm_subscription_spec.rb +0 -145
  1034. data/spec/unit/resource/route_spec.rb +0 -100
  1035. data/spec/unit/resource/rpm_package_spec.rb +0 -62
  1036. data/spec/unit/resource/ruby_block_spec.rb +0 -58
  1037. data/spec/unit/resource/ruby_spec.rb +0 -39
  1038. data/spec/unit/resource/scm/git_spec.rb +0 -110
  1039. data/spec/unit/resource/scm/scm.rb +0 -122
  1040. data/spec/unit/resource/scm/subversion_spec.rb +0 -90
  1041. data/spec/unit/resource/script_spec.rb +0 -57
  1042. data/spec/unit/resource/selinux_boolean_spec.rb +0 -92
  1043. data/spec/unit/resource/selinux_fcontext_spec.rb +0 -65
  1044. data/spec/unit/resource/selinux_install_spec.rb +0 -60
  1045. data/spec/unit/resource/selinux_login_spec.rb +0 -73
  1046. data/spec/unit/resource/selinux_module_spec.rb +0 -55
  1047. data/spec/unit/resource/selinux_permissive_spec.rb +0 -39
  1048. data/spec/unit/resource/selinux_port_spec.rb +0 -42
  1049. data/spec/unit/resource/selinux_state_spec.rb +0 -46
  1050. data/spec/unit/resource/selinux_user_spec.rb +0 -92
  1051. data/spec/unit/resource/service_spec.rb +0 -203
  1052. data/spec/unit/resource/smartos_package_spec.rb +0 -52
  1053. data/spec/unit/resource/snap_package_spec.rb +0 -60
  1054. data/spec/unit/resource/solaris_package_spec.rb +0 -52
  1055. data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +0 -50
  1056. data/spec/unit/resource/sudo_spec.rb +0 -99
  1057. data/spec/unit/resource/swap_file_spec.rb +0 -39
  1058. data/spec/unit/resource/sysctl_spec.rb +0 -76
  1059. data/spec/unit/resource/systemd_unit_spec.rb +0 -130
  1060. data/spec/unit/resource/template_spec.rb +0 -222
  1061. data/spec/unit/resource/timezone_spec.rb +0 -102
  1062. data/spec/unit/resource/user/linux_user_spec.rb +0 -42
  1063. data/spec/unit/resource/user/windows_user_spec.rb +0 -36
  1064. data/spec/unit/resource/user_spec.rb +0 -121
  1065. data/spec/unit/resource/user_ulimit_spec.rb +0 -66
  1066. data/spec/unit/resource/windows_ad_join_spec.rb +0 -55
  1067. data/spec/unit/resource/windows_audit_policy_spec.rb +0 -64
  1068. data/spec/unit/resource/windows_auto_run_spec.rb +0 -50
  1069. data/spec/unit/resource/windows_certificate_spec.rb +0 -95
  1070. data/spec/unit/resource/windows_defender_exclusion_spec.rb +0 -62
  1071. data/spec/unit/resource/windows_defender_spec.rb +0 -71
  1072. data/spec/unit/resource/windows_dfs_folder_spec.rb +0 -39
  1073. data/spec/unit/resource/windows_dfs_namespace_spec.rb +0 -39
  1074. data/spec/unit/resource/windows_dfs_server_spec.rb +0 -34
  1075. data/spec/unit/resource/windows_dns_record_spec.rb +0 -55
  1076. data/spec/unit/resource/windows_dns_zone_spec.rb +0 -51
  1077. data/spec/unit/resource/windows_env_spec.rb +0 -75
  1078. data/spec/unit/resource/windows_feature_dism_spec.rb +0 -57
  1079. data/spec/unit/resource/windows_feature_powershell_spec.rb +0 -83
  1080. data/spec/unit/resource/windows_feature_spec.rb +0 -64
  1081. data/spec/unit/resource/windows_firewall_profile_spec.rb +0 -77
  1082. data/spec/unit/resource/windows_firewall_rule_spec.rb +0 -510
  1083. data/spec/unit/resource/windows_font_spec.rb +0 -43
  1084. data/spec/unit/resource/windows_package_spec.rb +0 -125
  1085. data/spec/unit/resource/windows_pagefile_spec.rb +0 -44
  1086. data/spec/unit/resource/windows_path_spec.rb +0 -40
  1087. data/spec/unit/resource/windows_printer_port_spec.rb +0 -62
  1088. data/spec/unit/resource/windows_printer_spec.rb +0 -52
  1089. data/spec/unit/resource/windows_service_spec.rb +0 -122
  1090. data/spec/unit/resource/windows_share_spec.rb +0 -48
  1091. data/spec/unit/resource/windows_shortcut_spec.rb +0 -38
  1092. data/spec/unit/resource/windows_task_spec.rb +0 -403
  1093. data/spec/unit/resource/windows_uac_spec.rb +0 -50
  1094. data/spec/unit/resource/windows_update_settings_spec.rb +0 -64
  1095. data/spec/unit/resource/windows_user_privilege_spec.rb +0 -55
  1096. data/spec/unit/resource/windows_workgroup_spec.rb +0 -74
  1097. data/spec/unit/resource/yum_package_spec.rb +0 -150
  1098. data/spec/unit/resource/yum_repository_spec.rb +0 -156
  1099. data/spec/unit/resource/zypper_package_spec.rb +0 -51
  1100. data/spec/unit/resource/zypper_repository_spec.rb +0 -115
  1101. data/spec/unit/resource_builder_spec.rb +0 -1
  1102. data/spec/unit/resource_collection/resource_list_spec.rb +0 -137
  1103. data/spec/unit/resource_collection/resource_set_spec.rb +0 -244
  1104. data/spec/unit/resource_collection/stepable_iterator_spec.rb +0 -144
  1105. data/spec/unit/resource_collection_spec.rb +0 -408
  1106. data/spec/unit/resource_definition_spec.rb +0 -117
  1107. data/spec/unit/resource_inspector_spec.rb +0 -101
  1108. data/spec/unit/resource_reporter_spec.rb +0 -860
  1109. data/spec/unit/resource_resolver_spec.rb +0 -52
  1110. data/spec/unit/resource_spec.rb +0 -1484
  1111. data/spec/unit/role_spec.rb +0 -363
  1112. data/spec/unit/run_context/child_run_context_spec.rb +0 -126
  1113. data/spec/unit/run_context/cookbook_compiler_spec.rb +0 -236
  1114. data/spec/unit/run_context_spec.rb +0 -257
  1115. data/spec/unit/run_list/run_list_expansion_spec.rb +0 -147
  1116. data/spec/unit/run_list/run_list_item_spec.rb +0 -117
  1117. data/spec/unit/run_list/versioned_recipe_list_spec.rb +0 -197
  1118. data/spec/unit/run_list_spec.rb +0 -312
  1119. data/spec/unit/run_lock_spec.rb +0 -144
  1120. data/spec/unit/run_status_spec.rb +0 -144
  1121. data/spec/unit/runner_spec.rb +0 -397
  1122. data/spec/unit/scan_access_control_spec.rb +0 -183
  1123. data/spec/unit/search/query_spec.rb +0 -291
  1124. data/spec/unit/secret_fetcher/akeyless_vault_spec.rb +0 -37
  1125. data/spec/unit/secret_fetcher/aws_secrets_manager_spec.rb +0 -70
  1126. data/spec/unit/secret_fetcher/azure_key_vault_spec.rb +0 -149
  1127. data/spec/unit/secret_fetcher/hashi_vault_spec.rb +0 -126
  1128. data/spec/unit/secret_fetcher_spec.rb +0 -82
  1129. data/spec/unit/server_api_spec.rb +0 -151
  1130. data/spec/unit/server_api_versions_spec.rb +0 -66
  1131. data/spec/unit/shell/model_wrapper_spec.rb +0 -96
  1132. data/spec/unit/shell/shell_ext_spec.rb +0 -196
  1133. data/spec/unit/shell/shell_session_spec.rb +0 -218
  1134. data/spec/unit/shell_spec.rb +0 -158
  1135. data/spec/unit/train_transport_spec.rb +0 -85
  1136. data/spec/unit/user_spec.rb +0 -275
  1137. data/spec/unit/user_v1_spec.rb +0 -585
  1138. data/spec/unit/util/backup_spec.rb +0 -141
  1139. data/spec/unit/util/diff_spec.rb +0 -562
  1140. data/spec/unit/util/dsc/configuration_generator_spec.rb +0 -272
  1141. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +0 -248
  1142. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +0 -192
  1143. data/spec/unit/util/dsc/resource_store.rb +0 -78
  1144. data/spec/unit/util/editor_spec.rb +0 -152
  1145. data/spec/unit/util/file_edit_spec.rb +0 -224
  1146. data/spec/unit/util/powershell/ps_credential_spec.rb +0 -51
  1147. data/spec/unit/util/selinux_spec.rb +0 -160
  1148. data/spec/unit/util/threaded_job_queue_spec.rb +0 -60
  1149. data/spec/unit/util/windows/logon_session_spec.rb +0 -285
  1150. data/spec/unit/version/platform_spec.rb +0 -60
  1151. data/spec/unit/version_class_spec.rb +0 -171
  1152. data/spec/unit/version_constraint/platform_spec.rb +0 -45
  1153. data/spec/unit/version_constraint_spec.rb +0 -179
  1154. data/spec/unit/version_string_spec.rb +0 -79
  1155. data/spec/unit/win32/error_spec.rb +0 -77
  1156. data/spec/unit/win32/link_spec.rb +0 -73
  1157. data/spec/unit/win32/registry_spec.rb +0 -394
  1158. data/spec/unit/win32/security_spec.rb +0 -136
  1159. data/tasks/rspec.rb +0 -87
@@ -1,1329 +0,0 @@
1
- require "support/shared/integration/integration_helper"
2
-
3
- describe "Chef::Resource.property" do
4
- include IntegrationSupport
5
-
6
- module Namer
7
- @i = 0
8
- def self.next_resource_name
9
- "chef_resource_property_spec_#{@i += 1}"
10
- end
11
-
12
- def self.reset_index
13
- @current_index = 0
14
- end
15
-
16
- def self.current_index
17
- @current_index
18
- end
19
-
20
- def self.next_index
21
- @current_index += 1
22
- end
23
- end
24
-
25
- def lazy(&block)
26
- Chef::DelayedEvaluator.new(&block)
27
- end
28
-
29
- before do
30
- Namer.reset_index
31
- end
32
-
33
- def self.new_resource_name
34
- Namer.next_resource_name
35
- end
36
-
37
- let(:resource_class) do
38
- new_resource_name = self.class.new_resource_name
39
- Class.new(Chef::Resource) do
40
- resource_name new_resource_name
41
- def next_index
42
- Namer.next_index
43
- end
44
- end
45
- end
46
-
47
- let(:resource) do
48
- resource_class.new("blah")
49
- end
50
-
51
- def self.english_join(values)
52
- return "<nothing>" if values.size == 0
53
- return values[0].inspect if values.size == 1
54
-
55
- "#{values[0..-2].map(&:inspect).join(", ")} and #{values[-1].inspect}"
56
- end
57
-
58
- def self.with_property(*properties, &block)
59
- tags_index = properties.find_index { |p| !p.is_a?(String) }
60
- if tags_index
61
- properties, tags = properties[0..tags_index - 1], properties[tags_index..-1]
62
- else
63
- tags = []
64
- end
65
- if properties.size == 1
66
- description = "With property #{properties.first}"
67
- else
68
- description = "With properties #{english_join(properties.map { |property| (property.inspect).to_s })}"
69
- end
70
- context description, *tags do
71
- before do
72
- properties.each do |property_str|
73
- resource_class.class_eval("property #{property_str}", __FILE__, __LINE__)
74
- end
75
- end
76
- instance_eval(&block)
77
- end
78
- end
79
-
80
- # Basic properties
81
- with_property ":bare_property" do
82
- it "can be set" do
83
- expect(resource.bare_property 10).to eq 10
84
- expect(resource.bare_property).to eq 10
85
- end
86
- it "nil does a set" do
87
- expect(resource.bare_property 10).to eq 10
88
- expect(resource.bare_property nil).to eq nil
89
- expect(resource.bare_property).to eq nil
90
- end
91
- it "can be updated" do
92
- expect(resource.bare_property 10).to eq 10
93
- expect(resource.bare_property 20).to eq 20
94
- expect(resource.bare_property).to eq 20
95
- end
96
- it "can be set with =" do
97
- expect(resource.bare_property = 10).to eq 10
98
- expect(resource.bare_property).to eq 10
99
- end
100
- it "can be set to nil with =" do
101
- expect(resource.bare_property 10).to eq 10
102
- expect(resource.bare_property = nil).to be_nil
103
- expect(resource.bare_property).to be_nil
104
- end
105
- it "can be updated with =" do
106
- expect(resource.bare_property 10).to eq 10
107
- expect(resource.bare_property = 20).to eq 20
108
- expect(resource.bare_property).to eq 20
109
- end
110
- end
111
-
112
- with_property ":Straße" do
113
- it "properties with UTF-8 in their name work" do
114
- expect(resource.Straße).to eql(nil) # rubocop: disable Naming/AsciiIdentifiers
115
- expect(resource.Straße "foo").to eql("foo") # rubocop: disable Naming/AsciiIdentifiers
116
- expect(resource.Straße).to eql("foo") # rubocop: disable Naming/AsciiIdentifiers
117
- expect(resource.Straße = "bar").to eql("bar") # rubocop: disable Naming/AsciiIdentifiers
118
- expect(resource.Straße).to eql("bar") # rubocop: disable Naming/AsciiIdentifiers
119
- end
120
- end
121
-
122
- context "deprecated properties" do
123
- it "does not create a deprecation warning on definition" do
124
- expect { resource_class.class_eval { property :x, String, deprecated: 10 } }.not_to raise_error
125
- end
126
-
127
- with_property ":x, deprecated: 'a deprecated property'" do
128
- it "deprecated properties emit a deprecation warning" do
129
- expect(Chef).to receive(:deprecated).with(:property, "a deprecated property")
130
- expect(resource.x 10).to eq 10
131
- end
132
- end
133
- end
134
-
135
- with_property ":x, name_property: true" do
136
- context "and subclass" do
137
- let(:subresource_class) do
138
- new_resource_name = self.class.new_resource_name
139
- Class.new(resource_class) do
140
- resource_name new_resource_name
141
- end
142
- end
143
- let(:subresource) do
144
- subresource_class.new("blah")
145
- end
146
-
147
- context "with property :x on the subclass" do
148
- before do
149
- subresource_class.class_eval do
150
- property :x
151
- end
152
- end
153
-
154
- it "x is still name_property" do
155
- expect(subresource.x).to eq "blah"
156
- end
157
- end
158
-
159
- context "with property :x, name_attribute: false on the subclass" do
160
- before do
161
- subresource_class.class_eval do
162
- property :x, name_attribute: false
163
- end
164
- end
165
-
166
- it "x is no longer name_property" do
167
- expect(subresource.x).to be_nil
168
- end
169
- end
170
-
171
- context "with property :x, default: 10 on the subclass" do
172
- before do
173
- subresource_class.class_eval do
174
- property :x, default: 10
175
- end
176
- end
177
-
178
- it "x is no longer name_property" do
179
- expect(subresource.x).to eq(10)
180
- end
181
- end
182
- end
183
- end
184
-
185
- with_property ":x, Integer" do
186
- context "and subclass" do
187
- let(:subresource_class) do
188
- new_resource_name = self.class.new_resource_name
189
- Class.new(resource_class) do
190
- resource_name new_resource_name
191
- end
192
- end
193
- let(:subresource) do
194
- subresource_class.new("blah")
195
- end
196
-
197
- it "x is inherited" do
198
- expect(subresource.x 10).to eq 10
199
- expect(subresource.x).to eq 10
200
- expect(subresource.x = 20).to eq 20
201
- expect(subresource.x).to eq 20
202
- expect(subresource_class.properties[:x]).not_to be_nil
203
- end
204
-
205
- it "x's validation is inherited" do
206
- expect { subresource.x "ohno" }.to raise_error Chef::Exceptions::ValidationFailed
207
- end
208
-
209
- context "with property :y on the subclass" do
210
- before do
211
- subresource_class.class_eval do
212
- property :y
213
- end
214
- end
215
-
216
- it "x is still there" do
217
- expect(subresource.x 10).to eq 10
218
- expect(subresource.x).to eq 10
219
- expect(subresource.x = 20).to eq 20
220
- expect(subresource.x).to eq 20
221
- expect(subresource_class.properties[:x]).not_to be_nil
222
- end
223
- it "y is there" do
224
- expect(subresource.y 10).to eq 10
225
- expect(subresource.y).to eq 10
226
- expect(subresource.y = 20).to eq 20
227
- expect(subresource.y).to eq 20
228
- expect(subresource_class.properties[:y]).not_to be_nil
229
- end
230
- it "y is not on the superclass" do
231
- expect { resource_class.y 10 }.to raise_error NoMethodError
232
- expect(resource_class.properties[:y]).to be_nil
233
- end
234
- end
235
-
236
- context "with property :x on the subclass" do
237
- before do
238
- subresource_class.class_eval do
239
- property :x
240
- end
241
- end
242
-
243
- it "x is still there" do
244
- expect(subresource.x 10).to eq 10
245
- expect(subresource.x).to eq 10
246
- expect(subresource.x = 20).to eq 20
247
- expect(subresource.x).to eq 20
248
- expect(subresource_class.properties[:x]).not_to be_nil
249
- expect(subresource_class.properties[:x]).not_to eq resource_class.properties[:x]
250
- end
251
-
252
- it "x's validation is inherited" do
253
- expect { subresource.x "ohno" }.to raise_error Chef::Exceptions::ValidationFailed
254
- end
255
- end
256
-
257
- context "with property :x, default: 80 on the subclass" do
258
- before do
259
- subresource_class.class_eval do
260
- property :x, default: 80
261
- end
262
- end
263
-
264
- it "x is still there" do
265
- expect(subresource.x 10).to eq 10
266
- expect(subresource.x).to eq 10
267
- expect(subresource.x = 20).to eq 20
268
- expect(subresource.x).to eq 20
269
- expect(subresource_class.properties[:x]).not_to be_nil
270
- expect(subresource_class.properties[:x]).not_to eq resource_class.properties[:x]
271
- end
272
-
273
- it "x defaults to 80" do
274
- expect(subresource.x).to eq 80
275
- end
276
-
277
- it "x's validation is inherited" do
278
- expect { subresource.x "ohno" }.to raise_error Chef::Exceptions::ValidationFailed
279
- end
280
- end
281
-
282
- context "with property :x, String on the subclass" do
283
- before do
284
- subresource_class.class_eval do
285
- property :x, String
286
- end
287
- end
288
-
289
- it "x is still there" do
290
- expect(subresource.x "10").to eq "10"
291
- expect(subresource.x).to eq "10"
292
- expect(subresource.x = "20").to eq "20"
293
- expect(subresource.x).to eq "20"
294
- expect(subresource_class.properties[:x]).not_to be_nil
295
- expect(subresource_class.properties[:x]).not_to eq resource_class.properties[:x]
296
- end
297
-
298
- it "x's validation is overwritten" do
299
- expect { subresource.x 10 }.to raise_error Chef::Exceptions::ValidationFailed
300
- expect(subresource.x "ohno").to eq "ohno"
301
- expect(subresource.x).to eq "ohno"
302
- end
303
-
304
- it "the superclass's validation for x is still there" do
305
- expect { resource.x "ohno" }.to raise_error Chef::Exceptions::ValidationFailed
306
- expect(resource.x 10).to eq 10
307
- expect(resource.x).to eq 10
308
- end
309
- end
310
- end
311
- end
312
-
313
- context "Chef::Resource::Property#reset_property" do
314
- it "when a resource is newly created, reset_property(:name) sets property to nil" do
315
- expect(resource.property_is_set?(:name)).to be_truthy
316
- resource.reset_property(:name)
317
- expect(resource.property_is_set?(:name)).to be_falsey
318
- expect { resource.name }.to raise_error Chef::Exceptions::ValidationFailed
319
- end
320
-
321
- it "when referencing an undefined property, reset_property(:x) raises an error" do
322
- expect { resource.reset_property(:x) }.to raise_error(ArgumentError)
323
- end
324
-
325
- with_property ":x" do
326
- it "when the resource is newly created, reset_property(:x) does nothing" do
327
- expect(resource.property_is_set?(:x)).to be_falsey
328
- resource.reset_property(:x)
329
- expect(resource.property_is_set?(:x)).to be_falsey
330
- expect(resource.x).to be_nil
331
- end
332
- it "when x is set, reset_property resets it" do
333
- resource.x 10
334
- expect(resource.property_is_set?(:x)).to be_truthy
335
- resource.reset_property(:x)
336
- expect(resource.property_is_set?(:x)).to be_falsey
337
- expect(resource.x).to be_nil
338
- end
339
- end
340
-
341
- with_property ":x, Integer" do
342
- it "when the resource is newly created, reset_property(:x) does nothing" do
343
- expect(resource.property_is_set?(:x)).to be_falsey
344
- resource.reset_property(:x)
345
- expect(resource.property_is_set?(:x)).to be_falsey
346
- expect(resource.x).to be_nil
347
- end
348
- it "when x is set, reset_property resets it even though `nil` is technically invalid" do
349
- resource.x 10
350
- expect(resource.property_is_set?(:x)).to be_truthy
351
- resource.reset_property(:x)
352
- expect(resource.property_is_set?(:x)).to be_falsey
353
- expect(resource.x).to be_nil
354
- end
355
- end
356
-
357
- with_property ":x, default: 10" do
358
- it "when the resource is newly created, reset_property(:x) does nothing" do
359
- expect(resource.property_is_set?(:x)).to be_falsey
360
- resource.reset_property(:x)
361
- expect(resource.property_is_set?(:x)).to be_falsey
362
- expect(resource.x).to eq 10
363
- end
364
- it "when x is set, reset_property resets it and it returns the default" do
365
- resource.x 20
366
- resource.reset_property(:x)
367
- expect(resource.property_is_set?(:x)).to be_falsey
368
- expect(resource.x).to eq 10
369
- end
370
- end
371
-
372
- with_property ":x, default: lazy { 10 }" do
373
- it "when the resource is newly created, reset_property(:x) does nothing" do
374
- expect(resource.property_is_set?(:x)).to be_falsey
375
- resource.reset_property(:x)
376
- expect(resource.property_is_set?(:x)).to be_falsey
377
- expect(resource.x).to eq 10
378
- end
379
- it "when x is set, reset_property resets it and it returns the default" do
380
- resource.x 20
381
- resource.reset_property(:x)
382
- expect(resource.property_is_set?(:x)).to be_falsey
383
- expect(resource.x).to eq 10
384
- end
385
- end
386
- end
387
-
388
- context "Chef::Resource::Property#property_is_set?" do
389
- it "when a resource is newly created, property_is_set?(:name) is true" do
390
- expect(resource.property_is_set?(:name)).to be_truthy
391
- end
392
-
393
- it "when referencing an undefined property, property_is_set?(:x) raises an error" do
394
- expect { resource.property_is_set?(:x) }.to raise_error(ArgumentError)
395
- end
396
-
397
- with_property ":x" do
398
- it "when the resource is newly created, property_is_set?(:x) is false" do
399
- expect(resource.property_is_set?(:x)).to be_falsey
400
- end
401
- it "when x is set, property_is_set?(:x) is true" do
402
- resource.x 10
403
- expect(resource.property_is_set?(:x)).to be_truthy
404
- end
405
- it "when x is set with =, property_is_set?(:x) is true" do
406
- resource.x = 10
407
- expect(resource.property_is_set?(:x)).to be_truthy
408
- end
409
- it "when x is set to a lazy value, property_is_set?(:x) is true" do
410
- resource.x lazy { 10 }
411
- expect(resource.property_is_set?(:x)).to be_truthy
412
- end
413
- it "when x is retrieved, property_is_set?(:x) is false" do
414
- resource.x
415
- expect(resource.property_is_set?(:x)).to be_falsey
416
- end
417
- end
418
-
419
- with_property ":x, default: 10" do
420
- it "when the resource is newly created, property_is_set?(:x) is false" do
421
- expect(resource.property_is_set?(:x)).to be_falsey
422
- end
423
- it "when x is set, property_is_set?(:x) is true" do
424
- resource.x 10
425
- expect(resource.property_is_set?(:x)).to be_truthy
426
- end
427
- it "when x is set with =, property_is_set?(:x) is true" do
428
- resource.x = 10
429
- expect(resource.property_is_set?(:x)).to be_truthy
430
- end
431
- it "when x is set to a lazy value, property_is_set?(:x) is true" do
432
- resource.x lazy { 10 }
433
- expect(resource.property_is_set?(:x)).to be_truthy
434
- end
435
- it "when x is retrieved, property_is_set?(:x) is false" do
436
- resource.x
437
- expect(resource.property_is_set?(:x)).to be_falsey
438
- end
439
- end
440
-
441
- with_property ":x, default: nil" do
442
- it "when the resource is newly created, property_is_set?(:x) is false" do
443
- expect(resource.property_is_set?(:x)).to be_falsey
444
- end
445
- it "when x is set, property_is_set?(:x) is true" do
446
- resource.x 10
447
- expect(resource.property_is_set?(:x)).to be_truthy
448
- end
449
- it "when x is set with =, property_is_set?(:x) is true" do
450
- resource.x = 10
451
- expect(resource.property_is_set?(:x)).to be_truthy
452
- end
453
- it "when x is set to a lazy value, property_is_set?(:x) is true" do
454
- resource.x lazy { 10 }
455
- expect(resource.property_is_set?(:x)).to be_truthy
456
- end
457
- it "when x is retrieved, property_is_set?(:x) is false" do
458
- resource.x
459
- expect(resource.property_is_set?(:x)).to be_falsey
460
- end
461
- end
462
-
463
- with_property ":x, default: lazy { 10 }" do
464
- it "when the resource is newly created, property_is_set?(:x) is false" do
465
- expect(resource.property_is_set?(:x)).to be_falsey
466
- end
467
- it "when x is set, property_is_set?(:x) is true" do
468
- resource.x 10
469
- expect(resource.property_is_set?(:x)).to be_truthy
470
- end
471
- it "when x is set with =, property_is_set?(:x) is true" do
472
- resource.x = 10
473
- expect(resource.property_is_set?(:x)).to be_truthy
474
- end
475
- it "when x is retrieved, property_is_set?(:x) is false" do
476
- resource.x
477
- expect(resource.property_is_set?(:x)).to be_falsey
478
- end
479
- end
480
- end
481
-
482
- context "Chef::Resource::Property#default" do
483
- with_property ":x, default: 10" do
484
- it "when x is set, it returns its value" do
485
- expect(resource.x 20).to eq 20
486
- expect(resource.property_is_set?(:x)).to be_truthy
487
- expect(resource.x).to eq 20
488
- end
489
- it "when x is not set, it returns 10" do
490
- expect(resource.x).to eq 10
491
- end
492
- it "when x is not set, it is not included in state" do
493
- expect(resource.state_for_resource_reporter).to eq({})
494
- end
495
- it "when x is set to nil, it returns nil" do
496
- resource.instance_eval { @x = nil }
497
- expect(resource.x).to be_nil
498
- end
499
-
500
- context "With a subclass" do
501
- let(:subresource_class) do
502
- new_resource_name = self.class.new_resource_name
503
- Class.new(resource_class) do
504
- resource_name new_resource_name
505
- end
506
- end
507
- let(:subresource) { subresource_class.new("blah") }
508
- it "The default is inherited" do
509
- expect(subresource.x).to eq 10
510
- end
511
- end
512
- end
513
-
514
- with_property ":x, default: 10, identity: true" do
515
- it "when x is not set, it is included in identity" do
516
- expect(resource.identity).to eq(10)
517
- end
518
- end
519
-
520
- with_property ":x, default: 1, identity: true", ":y, default: 2, identity: true" do
521
- it "when x is not set, it is still included in identity" do
522
- resource.y 20
523
- expect(resource.identity).to eq(x: 1, y: 20)
524
- end
525
- end
526
-
527
- with_property ":x, default: nil" do
528
- it "when x is not set, it returns nil" do
529
- expect(resource.x).to be_nil
530
- end
531
- end
532
-
533
- with_property ":x" do
534
- it "when x is not set, it returns nil" do
535
- expect(resource.x).to be_nil
536
- end
537
- end
538
-
539
- context "string default" do
540
- with_property ":x, default: ''" do
541
- it "when x is not set, it returns ''" do
542
- expect(resource.x).to eq ""
543
- end
544
- it "setting x does not mutate the default" do
545
- expect(resource.x).to eq ""
546
- resource.x << "foo"
547
- expect(resource.x).to eq "foo"
548
- expect(resource_class.new("other").x).to eq ""
549
- end
550
- end
551
-
552
- with_property ":x, default: lazy { '' }" do
553
- it "setting x does not mutate the default" do
554
- expect(resource.x).to eq ""
555
- resource.x << "foo"
556
- expect(resource.x).to eq "foo"
557
- expect(resource_class.new("other").x).to eq ""
558
- end
559
- end
560
- end
561
-
562
- context "hash default" do
563
- with_property ":x, default: {}" do
564
- it "when x is not set, it returns {}" do
565
- expect(resource.x).to eq({})
566
- end
567
- it "setting x does not mutate the default" do
568
- expect(resource.x).to eq({})
569
- resource.x["plants"] = "zombies"
570
- expect(resource.x).to eq({ "plants" => "zombies" })
571
- expect(resource_class.new("other").x).to eq({})
572
- end
573
- it "Multiple instances of x receive different values" do
574
- expect(resource.x.object_id).not_to eq(resource_class.new("blah2").x.object_id)
575
- end
576
- end
577
-
578
- with_property ":x, default: lazy { {} }" do
579
- it "when x is not set, it returns {}" do
580
- expect(resource.x).to eq({})
581
- end
582
- it "The value is the same each time it is called" do
583
- value = resource.x
584
- expect(value).to eq({})
585
- expect(resource.x.object_id).to eq(value.object_id)
586
- end
587
- it "Multiple instances of x receive different values" do
588
- expect(resource.x.object_id).not_to eq(resource_class.new("blah2").x.object_id)
589
- end
590
- end
591
- end
592
-
593
- context "complex, nested default" do
594
- with_property ":x, default: [{foo: 'bar'}]" do
595
- it "when x is not set, it returns [{foo: 'bar'}]" do
596
- expect(resource.x).to eq([{ foo: "bar" }])
597
- end
598
- it "setting x does not mutate the default" do
599
- expect(resource.x).to eq([{ foo: "bar" }])
600
- resource.x[0][:foo] << "baz"
601
- expect(resource.x).to eq([{ foo: "barbaz" }])
602
- expect(resource_class.new("other").x).to eq([{ foo: "bar" }])
603
- end
604
- it "Multiple instances of x receive different values" do
605
- expect(resource.x.object_id).not_to eq(resource_class.new("blah2").x.object_id)
606
- end
607
- end
608
- end
609
-
610
- context "with a class with 'blah' as both class and instance methods" do
611
- before do
612
- resource_class.class_eval do
613
- def self.blah
614
- "class"
615
- end
616
-
617
- def blah
618
- "#{name}#{next_index}"
619
- end
620
- end
621
- end
622
-
623
- with_property ":x, default: lazy { blah }" do
624
- it "x is run in context of the instance" do
625
- expect(resource.x).to eq "blah1"
626
- end
627
- it "x is run in the context of each instance it is run in" do
628
- expect(resource.x).to eq "blah1"
629
- expect(resource_class.new("another").x).to eq "another2"
630
- end
631
- end
632
-
633
- with_property ':x, default: lazy { |x| "#{blah}#{x.blah}" }' do
634
- it "x is run in context of the class (where it was defined) and passed the instance" do
635
- expect(resource.x).to eq "classblah1"
636
- end
637
- it "x is passed the value of each instance it is run in" do
638
- expect(resource.x).to eq "classblah1"
639
- expect(resource_class.new("another").x).to eq "classanother2"
640
- end
641
- end
642
- end
643
-
644
- context "validation of defaults" do
645
- it "When a class is declared with property :x, String, default: 10, it immediately fails validation" do
646
- expect { resource_class.class_eval { property :x, String, default: 10 } }.to raise_error Chef::Exceptions::ValidationFailed
647
- end
648
-
649
- with_property ":x, String, default: lazy { Namer.next_index }" do
650
- it "when the resource is created, no error is raised" do
651
- resource
652
- end
653
- it "when x is set, no error is raised" do
654
- expect(resource.x "hi").to eq "hi"
655
- expect(resource.x).to eq "hi"
656
- end
657
- it "when x is retrieved, it fails validation" do
658
- expect { resource.x }.to raise_error Chef::Exceptions::ValidationFailed
659
- expect(Namer.current_index).to eq 1
660
- end
661
- end
662
-
663
- with_property ":x, default: lazy { Namer.next_index.to_s }, is: proc { |v| Namer.next_index; true }" do
664
- it "coercion and validation is only run the first time" do
665
- expect(resource.x).to eq "1"
666
- expect(Namer.current_index).to eq 2
667
- expect(resource.x).to eq "1"
668
- expect(Namer.current_index).to eq 2
669
- end
670
- end
671
-
672
- with_property ":x, default: lazy { Namer.next_index.to_s.freeze }, is: proc { |v| Namer.next_index; true }" do
673
- it "coercion and validation is run each time" do
674
- expect(resource.x).to eq "1"
675
- expect(Namer.current_index).to eq 2
676
- expect(resource.x).to eq "3"
677
- expect(Namer.current_index).to eq 4
678
- end
679
- end
680
- end
681
-
682
- context "coercion of defaults" do
683
- # Frozen default, non-frozen coerce
684
- with_property ':x, coerce: proc { |v| "#{v}#{next_index}" }, default: 10' do
685
- it "when the resource is created, the proc is not yet run" do
686
- resource
687
- expect(Namer.current_index).to eq 0
688
- end
689
- it "when x is set, coercion is run" do
690
- expect(resource.x "hi").to eq "hi1"
691
- expect(resource.x).to eq "hi1"
692
- expect(Namer.current_index).to eq 1
693
- end
694
- it "when x is retrieved, coercion is run exactly once" do
695
- expect(resource.x).to eq "101"
696
- expect(resource.x).to eq "101"
697
- expect(Namer.current_index).to eq 1
698
- end
699
- end
700
-
701
- # Frozen default, frozen coerce
702
- with_property ':x, coerce: proc { |v| "#{v}#{next_index}".freeze }, default: 10' do
703
- it "when the resource is created, the proc is not yet run" do
704
- resource
705
- expect(Namer.current_index).to eq 0
706
- end
707
- it "when x is set, coercion is run" do
708
- expect(resource.x "hi").to eq "hi1"
709
- expect(resource.x).to eq "hi1"
710
- expect(Namer.current_index).to eq 1
711
- end
712
- it "when x is retrieved, coercion is run exactly once" do
713
- expect(resource.x).to eq "101"
714
- expect(resource.x).to eq "101"
715
- expect(Namer.current_index).to eq 1
716
- end
717
- end
718
-
719
- # Frozen lazy default, non-frozen coerce
720
- with_property ':x, coerce: proc { |v| "#{v}#{next_index}" }, default: lazy { 10 }' do
721
- it "when the resource is created, the proc is not yet run" do
722
- resource
723
- expect(Namer.current_index).to eq 0
724
- end
725
- it "when x is set, coercion is run" do
726
- expect(resource.x "hi").to eq "hi1"
727
- expect(resource.x).to eq "hi1"
728
- expect(Namer.current_index).to eq 1
729
- end
730
- it "when x is retrieved, coercion is run exactly once" do
731
- expect(resource.x).to eq "101"
732
- expect(resource.x).to eq "101"
733
- expect(Namer.current_index).to eq 1
734
- end
735
- end
736
-
737
- # Non-frozen lazy default, frozen coerce
738
- with_property ':x, coerce: proc { |v| "#{v}#{next_index}".freeze }, default: lazy { "10" }' do
739
- it "when the resource is created, the proc is not yet run" do
740
- resource
741
- expect(Namer.current_index).to eq 0
742
- end
743
- it "when x is set, coercion is run" do
744
- expect(resource.x "hi").to eq "hi1"
745
- expect(resource.x).to eq "hi1"
746
- expect(Namer.current_index).to eq 1
747
- end
748
- it "when x is retrieved, coercion is run each time" do
749
- expect(resource.x).to eq "101"
750
- expect(resource.x).to eq "102"
751
- expect(Namer.current_index).to eq 2
752
- end
753
- end
754
-
755
- with_property ':x, proc { |v| Namer.next_index; true }, coerce: proc { |v| "#{v}#{next_index}" }, default: lazy { 10 }' do
756
- it "coercion and validation is only run the first time x is retrieved" do
757
- expect(Namer.current_index).to eq 0
758
- expect(resource.x).to eq "101"
759
- expect(Namer.current_index).to eq 2
760
- expect(resource.x).to eq "101"
761
- expect(Namer.current_index).to eq 2
762
- end
763
- end
764
-
765
- context "validation and coercion of defaults" do
766
- with_property ':x, String, coerce: proc { |v| "#{v}#{next_index}" }, default: 10' do
767
- it "when x is retrieved, it is coerced before validating and passes" do
768
- expect(resource.x).to eq "101"
769
- end
770
- end
771
- with_property ':x, Integer, coerce: proc { |v| "#{v}#{next_index}" }, default: 10' do
772
- it "when x is retrieved, it is coerced and fails validation" do
773
- expect { resource.x }.to raise_error Chef::Exceptions::ValidationFailed
774
- end
775
- end
776
- with_property ':x, String, coerce: proc { |v| "#{v}#{next_index}" }, default: lazy { 10 }' do
777
- it "when x is retrieved, it is coerced before validating and passes" do
778
- expect(resource.x).to eq "101"
779
- end
780
- end
781
- with_property ':x, Integer, coerce: proc { |v| "#{v}#{next_index}" }, default: lazy { 10 }' do
782
- it "when x is retrieved, it is coerced and fails validation" do
783
- expect { resource.x }.to raise_error Chef::Exceptions::ValidationFailed
784
- end
785
- end
786
- with_property ':x, proc { |v| Namer.next_index; true }, coerce: proc { |v| "#{v}#{next_index}" }, default: lazy { 10 }' do
787
- it "coercion is only run the first time x is retrieved, and validation is run" do
788
- expect(Namer.current_index).to eq 0
789
- expect(resource.x).to eq "101"
790
- expect(Namer.current_index).to eq 2
791
- expect(resource.x).to eq "101"
792
- expect(Namer.current_index).to eq 2
793
- end
794
- end
795
- end
796
- end
797
- end
798
-
799
- context "Chef::Resource#lazy" do
800
- with_property ":x" do
801
- it "setting x to a lazy value does not run it immediately" do
802
- resource.x lazy { Namer.next_index }
803
- expect(Namer.current_index).to eq 0
804
- end
805
- it "you can set x to a lazy value in the instance" do
806
- resource.instance_eval do
807
- x lazy { Namer.next_index }
808
- end
809
- expect(resource.x).to eq 1
810
- expect(Namer.current_index).to eq 1
811
- end
812
- it "retrieving a lazy value pops it open" do
813
- resource.x lazy { Namer.next_index }
814
- expect(resource.x).to eq 1
815
- expect(Namer.current_index).to eq 1
816
- end
817
- it "retrieving a lazy value twice evaluates it twice" do
818
- resource.x lazy { Namer.next_index }
819
- expect(resource.x).to eq 1
820
- expect(resource.x).to eq 2
821
- expect(Namer.current_index).to eq 2
822
- end
823
- it "setting the same lazy value on two different instances runs it on each instances" do
824
- resource2 = resource_class.new("blah2")
825
- l = lazy { Namer.next_index }
826
- resource.x l
827
- resource2.x l
828
- expect(resource2.x).to eq 1
829
- expect(resource.x).to eq 2
830
- expect(resource2.x).to eq 3
831
- end
832
-
833
- context "when the class has a class and instance method named blah" do
834
- before do
835
- resource_class.class_eval do
836
- def self.blah
837
- "class"
838
- end
839
-
840
- def blah
841
- "#{name}#{Namer.next_index}"
842
- end
843
- end
844
- end
845
- def blah
846
- "example"
847
- end
848
- # it "retrieving lazy { blah } gets the instance variable" do
849
- # resource.x lazy { blah }
850
- # expect(resource.x).to eq "blah1"
851
- # end
852
- # it "retrieving lazy { blah } from two different instances gets two different instance variables" do
853
- # resource2 = resource_class.new("another")
854
- # l = lazy { blah }
855
- # resource2.x l
856
- # resource.x l
857
- # expect(resource2.x).to eq "another1"
858
- # expect(resource.x).to eq "blah2"
859
- # expect(resource2.x).to eq "another3"
860
- # end
861
- it 'retrieving lazy { |x| "#{blah}#{x.blah}" } gets the example and instance variables' do
862
- resource.x lazy { |x| "#{blah}#{x.blah}" }
863
- expect(resource.x).to eq "exampleblah1"
864
- end
865
- it 'retrieving lazy { |x| "#{blah}#{x.blah}" } from two different instances gets two different instance variables' do
866
- resource2 = resource_class.new("another")
867
- l = lazy { |x| "#{blah}#{x.blah}" }
868
- resource2.x l
869
- resource.x l
870
- expect(resource2.x).to eq "exampleanother1"
871
- expect(resource.x).to eq "exampleblah2"
872
- expect(resource2.x).to eq "exampleanother3"
873
- end
874
- end
875
- end
876
-
877
- with_property ':x, coerce: proc { |v| "#{v}#{Namer.next_index}" }' do
878
- it "lazy values are not coerced on set" do
879
- resource.x lazy { Namer.next_index }
880
- expect(Namer.current_index).to eq 0
881
- end
882
- it "lazy values are coerced on get" do
883
- resource.x lazy { Namer.next_index }
884
- expect(resource.x).to eq "12"
885
- expect(Namer.current_index).to eq 2
886
- end
887
- it "lazy values are coerced on each access" do
888
- resource.x lazy { Namer.next_index }
889
- expect(resource.x).to eq "12"
890
- expect(Namer.current_index).to eq 2
891
- expect(resource.x).to eq "34"
892
- expect(Namer.current_index).to eq 4
893
- end
894
- end
895
-
896
- with_property ":x, String" do
897
- it "lazy values are not validated on set" do
898
- resource.x lazy { Namer.next_index }
899
- expect(Namer.current_index).to eq 0
900
- end
901
- it "lazy values are validated on get" do
902
- resource.x lazy { Namer.next_index }
903
- expect { resource.x }.to raise_error Chef::Exceptions::ValidationFailed
904
- expect(Namer.current_index).to eq 1
905
- end
906
- end
907
-
908
- with_property ":x, is: proc { |v| Namer.next_index; true }" do
909
- it "lazy values are validated on each access" do
910
- resource.x lazy { Namer.next_index }
911
- expect(resource.x).to eq 1
912
- expect(Namer.current_index).to eq 2
913
- expect(resource.x).to eq 3
914
- expect(Namer.current_index).to eq 4
915
- end
916
- end
917
-
918
- with_property ':x, Integer, coerce: proc { |v| "#{v}#{Namer.next_index}" }' do
919
- it "lazy values are not validated or coerced on set" do
920
- resource.x lazy { Namer.next_index }
921
- expect(Namer.current_index).to eq 0
922
- end
923
- it "lazy values are coerced before being validated, which fails" do
924
- resource.x lazy { Namer.next_index }
925
- expect(Namer.current_index).to eq 0
926
- expect { resource.x }.to raise_error Chef::Exceptions::ValidationFailed
927
- expect(Namer.current_index).to eq 2
928
- end
929
- end
930
-
931
- with_property ':x, coerce: proc { |v| "#{v}#{Namer.next_index}" }, is: proc { |v| Namer.next_index; true }' do
932
- it "lazy values are coerced and validated exactly once" do
933
- resource.x lazy { Namer.next_index }
934
- expect(resource.x).to eq "12"
935
- expect(Namer.current_index).to eq 3
936
- expect(resource.x).to eq "45"
937
- expect(Namer.current_index).to eq 6
938
- end
939
- end
940
-
941
- with_property ':x, String, coerce: proc { |v| "#{v}#{Namer.next_index}" }' do
942
- it "lazy values are coerced before being validated, which succeeds" do
943
- resource.x lazy { Namer.next_index }
944
- expect(resource.x).to eq "12"
945
- expect(Namer.current_index).to eq 2
946
- end
947
- end
948
- end
949
-
950
- context "Chef::Resource::Property#coerce" do
951
- with_property ':x, coerce: proc { |v| "#{v}#{Namer.next_index}" }' do
952
- it "coercion runs on set" do
953
- expect(resource.x 10).to eq "101"
954
- expect(Namer.current_index).to eq 1
955
- end
956
- it "does not emit a deprecation warning if set to nil" do
957
- # nil is never coerced
958
- expect(resource.x nil).to be_nil
959
- end
960
- it "coercion sets the value (and coercion does not run on get)" do
961
- expect(resource.x 10).to eq "101"
962
- expect(resource.x).to eq "101"
963
- expect(Namer.current_index).to eq 1
964
- end
965
- it "coercion runs each time set happens" do
966
- expect(resource.x 10).to eq "101"
967
- expect(Namer.current_index).to eq 1
968
- expect(resource.x 10).to eq "102"
969
- expect(Namer.current_index).to eq 2
970
- end
971
- end
972
- with_property ":x, coerce: proc { |x| x }" do
973
- it "does not emit a deprecation warning if set to nil" do
974
- expect(resource.x nil).to be_nil
975
- end
976
- end
977
- with_property ':x, coerce: proc { |x| Namer.next_index; raise "hi" if x == 10; x }, is: proc { |x| Namer.next_index; x != 10 }' do
978
- it "failed coercion fails to set the value" do
979
- resource.x 20
980
- expect(resource.x).to eq 20
981
- expect(Namer.current_index).to eq 2
982
- expect { resource.x 10 }.to raise_error "hi"
983
- expect(resource.x).to eq 20
984
- expect(Namer.current_index).to eq 3
985
- end
986
- it "validation does not run if coercion fails" do
987
- expect { resource.x 10 }.to raise_error "hi"
988
- expect(Namer.current_index).to eq 1
989
- end
990
- end
991
- end
992
-
993
- context "Chef::Resource::Property validation" do
994
- with_property ":x, is: proc { |v| Namer.next_index; v.is_a?(Integer) }" do
995
- it "validation runs on set" do
996
- expect(resource.x 10).to eq 10
997
- expect(Namer.current_index).to eq 1
998
- end
999
- it "validation sets the value (and validation does not run on get)" do
1000
- expect(resource.x 10).to eq 10
1001
- expect(resource.x).to eq 10
1002
- expect(Namer.current_index).to eq 1
1003
- end
1004
- it "validation runs each time set happens" do
1005
- expect(resource.x 10).to eq 10
1006
- expect(Namer.current_index).to eq 1
1007
- expect(resource.x 10).to eq 10
1008
- expect(Namer.current_index).to eq 2
1009
- end
1010
- it "failed validation fails to set the value" do
1011
- expect(resource.x 10).to eq 10
1012
- expect(Namer.current_index).to eq 1
1013
- expect { resource.x "blah" }.to raise_error Chef::Exceptions::ValidationFailed
1014
- expect(resource.x).to eq 10
1015
- expect(Namer.current_index).to eq 2
1016
- end
1017
- end
1018
- end
1019
-
1020
- %w{name_attribute name_property}.each do |name|
1021
- context "Chef::Resource::Property##{name}" do
1022
- with_property ":x, #{name}: true" do
1023
- it "defaults x to resource.name" do
1024
- expect(resource.x).to eq "blah"
1025
- end
1026
- it "defaults to being part of the identity if there is no other identity" do
1027
- expect(resource.identity).to eq "blah"
1028
- end
1029
- it "does not pick up resource.name if set" do
1030
- expect(resource.x 10).to eq 10
1031
- expect(resource.x).to eq 10
1032
- end
1033
- it "binds to the latest resource.name when run" do
1034
- resource.name "foo"
1035
- expect(resource.x).to eq "foo"
1036
- end
1037
- it "caches resource.name" do
1038
- expect(resource.x).to eq "blah"
1039
- resource.name "foo"
1040
- expect(resource.x).to eq "blah"
1041
- end
1042
- end
1043
-
1044
- with_property ":x, #{name}: false" do
1045
- it "defaults to nil" do
1046
- expect(resource.x).to be_nil
1047
- end
1048
- end
1049
-
1050
- with_property ":x, #{name}: nil" do
1051
- it "defaults to nil" do
1052
- expect(resource.x).to be_nil
1053
- end
1054
- end
1055
-
1056
- context "default ordering deprecation warnings" do
1057
- it "emits an error for property :x, default: 10, #{name}: true" do
1058
- expect { resource_class.property :x, :default => 10, name.to_sym => true }.to raise_error ArgumentError,
1059
- %r{A property cannot be both a name_property/name_attribute and have a default value. Use one or the other on property x of resource chef_resource_property_spec_(\d+)}
1060
- end
1061
- it "emits an error for property :x, default: nil, #{name}: true" do
1062
- expect { resource_class.property :x, :default => nil, name.to_sym => true }.to raise_error ArgumentError,
1063
- %r{A property cannot be both a name_property/name_attribute and have a default value. Use one or the other on property x of resource chef_resource_property_spec_(\d+)}
1064
- end
1065
- it "emits an error for property :x, #{name}: true, default: 10" do
1066
- expect { resource_class.property :x, name.to_sym => true, :default => 10 }.to raise_error ArgumentError,
1067
- %r{A property cannot be both a name_property/name_attribute and have a default value. Use one or the other on property x of resource chef_resource_property_spec_(\d+)}
1068
- end
1069
- it "emits an error for property :x, #{name}: true, default: nil" do
1070
- expect { resource_class.property :x, name.to_sym => true, :default => nil }.to raise_error ArgumentError,
1071
- %r{A property cannot be both a name_property/name_attribute and have a default value. Use one or the other on property x of resource chef_resource_property_spec_(\d+)}
1072
- end
1073
- end
1074
- end
1075
- end
1076
-
1077
- it "raises an error if both name_property and name_attribute are specified" do
1078
- expect { resource_class.property :x, name_property: false, name_attribute: 1 }.to raise_error ArgumentError,
1079
- /name_attribute and name_property are functionally identical and both cannot be specified on a property at once. Use just one on property x of resource chef_resource_property_spec_(\d+)/
1080
- expect { resource_class.property :x, name_property: false, name_attribute: nil }.to raise_error ArgumentError,
1081
- /name_attribute and name_property are functionally identical and both cannot be specified on a property at once. Use just one on property x of resource chef_resource_property_spec_(\d+)/
1082
- expect { resource_class.property :x, name_property: false, name_attribute: false }.to raise_error ArgumentError,
1083
- /name_attribute and name_property are functionally identical and both cannot be specified on a property at once. Use just one on property x of resource chef_resource_property_spec_(\d+)/
1084
- expect { resource_class.property :x, name_property: true, name_attribute: true }.to raise_error ArgumentError,
1085
- /name_attribute and name_property are functionally identical and both cannot be specified on a property at once. Use just one on property x of resource chef_resource_property_spec_(\d+)/
1086
- end
1087
-
1088
- context "property_type" do
1089
- it "property_types validate their defaults" do
1090
- expect do
1091
- module ::PropertySpecPropertyTypes
1092
- include Chef::Mixin::Properties
1093
- property_type(is: %i{a b}, default: :c)
1094
- end
1095
- end.to raise_error(Chef::Exceptions::ValidationFailed)
1096
- expect do
1097
- module ::PropertySpecPropertyTypes
1098
- include Chef::Mixin::Properties
1099
- property_type(is: %i{a b}, default: :b)
1100
- end
1101
- end.not_to raise_error
1102
- end
1103
-
1104
- context "With property_type ABType (is: [:a, :b]) and CDType (is: [:c, :d])" do
1105
- before :all do
1106
- module ::PropertySpecPropertyTypes
1107
- include Chef::Mixin::Properties
1108
- ABType = property_type(is: %i{a b})
1109
- CDType = property_type(is: %i{c d})
1110
- end
1111
- end
1112
-
1113
- with_property ":x, [PropertySpecPropertyTypes::ABType, nil, PropertySpecPropertyTypes::CDType]" do
1114
- it "The property can be set to nil without triggering a warning" do
1115
- expect(resource.x nil).to be_nil
1116
- expect(resource.x).to be_nil
1117
- end
1118
- it "The property can be set to :a" do
1119
- expect(resource.x :a).to eq(:a)
1120
- expect(resource.x).to eq(:a)
1121
- end
1122
- it "The property can be set to :c" do
1123
- expect(resource.x :c).to eq(:c)
1124
- expect(resource.x).to eq(:c)
1125
- end
1126
- it "The property cannot be set to :z" do
1127
- expect { resource.x :z }.to raise_error(Chef::Exceptions::ValidationFailed, /Property x must be one of/)
1128
- end
1129
- end
1130
-
1131
- with_property ":x, [nil, PropertySpecPropertyTypes::ABType, PropertySpecPropertyTypes::CDType]" do
1132
- it "The property can be set to nil without triggering a warning" do
1133
- expect(resource.x nil).to be_nil
1134
- expect(resource.x).to be_nil
1135
- end
1136
- it "The property can be set to :a" do
1137
- expect(resource.x :a).to eq(:a)
1138
- expect(resource.x).to eq(:a)
1139
- end
1140
- it "The property can be set to :c" do
1141
- expect(resource.x :c).to eq(:c)
1142
- expect(resource.x).to eq(:c)
1143
- end
1144
- it "The property cannot be set to :z" do
1145
- expect { resource.x :z }.to raise_error(Chef::Exceptions::ValidationFailed, /Property x must be one of/)
1146
- end
1147
- end
1148
-
1149
- with_property ":x, [PropertySpecPropertyTypes::ABType, nil], default: nil" do
1150
- it "The value defaults to nil" do
1151
- expect(resource.x).to be_nil
1152
- end
1153
- end
1154
-
1155
- with_property ":x, [PropertySpecPropertyTypes::ABType, nil], default: lazy { nil }" do
1156
- it "The value defaults to nil" do
1157
- expect(resource.x).to be_nil
1158
- end
1159
- end
1160
- end
1161
-
1162
- end
1163
-
1164
- context "with aliased properties" do
1165
- with_property ":real, Integer" do
1166
- it "should set the real property and emit a deprecation message" do
1167
- expect(Chef).to receive(:deprecated).with(:property, "we don't like the deprecated property no more")
1168
- resource_class.class_eval { deprecated_property_alias :deprecated, :real, "we don't like the deprecated property no more" }
1169
- resource.deprecated 10
1170
- expect(resource.real).to eq 10
1171
- end
1172
- end
1173
- end
1174
-
1175
- context "redefining Object methods" do
1176
- it "disallows redefining Object methods" do
1177
- expect { resource_class.class_eval { property :hash } }.to raise_error(ArgumentError)
1178
- end
1179
-
1180
- it "disallows redefining Chef::Resource methods" do
1181
- expect { resource_class.class_eval { property :action } }.to raise_error(ArgumentError)
1182
- end
1183
-
1184
- it "allows redefining properties on Chef::Resource" do
1185
- expect { resource_class.class_eval { property :sensitive } }.not_to raise_error
1186
- end
1187
- end
1188
-
1189
- context "with a custom property type" do
1190
- class CustomPropertyType < Chef::Property
1191
- end
1192
-
1193
- with_property ":x, CustomPropertyType.new" do
1194
- it "creates x with the given type" do
1195
- expect(resource_class.properties[:x]).to be_kind_of(CustomPropertyType)
1196
- end
1197
-
1198
- context "and a subclass" do
1199
- let(:subresource_class) do
1200
- new_resource_name = self.class.new_resource_name
1201
- Class.new(resource_class) do
1202
- resource_name new_resource_name
1203
- end
1204
- end
1205
- let(:subresource) do
1206
- subresource_class.new("blah")
1207
- end
1208
-
1209
- context "with property :x, default: 10 on the subclass" do
1210
- before do
1211
- subresource_class.class_eval do
1212
- property :x, default: 10
1213
- end
1214
- end
1215
-
1216
- it "x has the given type and default on the subclass" do
1217
- expect(subresource_class.properties[:x]).to be_kind_of(CustomPropertyType)
1218
- expect(subresource_class.properties[:x].default).to eq(10)
1219
- end
1220
-
1221
- it "x does not have the default on the superclass" do
1222
- expect(resource_class.properties[:x]).to be_kind_of(CustomPropertyType)
1223
- expect(resource_class.properties[:x].default).to be_nil
1224
- end
1225
- end
1226
- end
1227
- end
1228
-
1229
- with_property ":x, CustomPropertyType.new, default: 10" do
1230
- it "passes the default to the custom property type" do
1231
- expect(resource_class.properties[:x]).to be_kind_of(CustomPropertyType)
1232
- expect(resource_class.properties[:x].default).to eq(10)
1233
- end
1234
- end
1235
- end
1236
-
1237
- context "#copy_properties_from" do
1238
- let(:events) { Chef::EventDispatch::Dispatcher.new }
1239
- let(:node) { Chef::Node.new }
1240
- let(:run_context) { Chef::RunContext.new(node, {}, events) }
1241
-
1242
- let(:thing_one_class) do
1243
- Class.new(Chef::Resource) do
1244
- resource_name :thing_one
1245
- provides :thing_two
1246
- property :foo, String
1247
- property :bar, String
1248
- end
1249
- end
1250
-
1251
- let(:thing_two_class) do
1252
- Class.new(Chef::Resource) do
1253
- resource_name :thing_two
1254
- provides :thing_two
1255
- property :foo, String
1256
- property :bar, String
1257
- end
1258
- end
1259
-
1260
- let(:thing_three_class) do
1261
- Class.new(Chef::Resource) do
1262
- resource_name :thing_three
1263
- provides :thing_three
1264
- property :foo, String
1265
- property :bar, String
1266
- property :baz, String
1267
- end
1268
- end
1269
-
1270
- let(:thing_one_resource) do
1271
- thing_one_class.new("name_one", run_context)
1272
- end
1273
-
1274
- let(:thing_two_resource) do
1275
- thing_two_class.new("name_two", run_context)
1276
- end
1277
-
1278
- let(:thing_three_resource) do
1279
- thing_three_class.new("name_three", run_context)
1280
- end
1281
-
1282
- it "copies foo and bar" do
1283
- thing_one_resource.foo "foo"
1284
- thing_one_resource.bar "bar"
1285
- thing_two_resource.copy_properties_from thing_one_resource
1286
- expect(thing_two_resource.name).to eql("name_two")
1287
- expect(thing_two_resource.foo).to eql("foo")
1288
- expect(thing_two_resource.bar).to eql("bar")
1289
- end
1290
-
1291
- it "copies only foo when it is only included" do
1292
- thing_one_resource.foo "foo"
1293
- thing_one_resource.bar "bar"
1294
- thing_two_resource.copy_properties_from(thing_one_resource, :foo)
1295
- expect(thing_two_resource.name).to eql("name_two")
1296
- expect(thing_two_resource.foo).to eql("foo")
1297
- expect(thing_two_resource.bar).to eql(nil)
1298
- end
1299
-
1300
- it "copies foo and name when bar is excluded" do
1301
- thing_one_resource.foo "foo"
1302
- thing_one_resource.bar "bar"
1303
- thing_two_resource.copy_properties_from(thing_one_resource, exclude: [ :bar ])
1304
- expect(thing_two_resource.name).to eql("name_one")
1305
- expect(thing_two_resource.foo).to eql("foo")
1306
- expect(thing_two_resource.bar).to eql(nil)
1307
- end
1308
-
1309
- it "copies only foo when bar and name are excluded" do
1310
- thing_one_resource.foo "foo"
1311
- thing_one_resource.bar "bar"
1312
- thing_two_resource.copy_properties_from(thing_one_resource, exclude: %i{name bar})
1313
- expect(thing_two_resource.name).to eql("name_two")
1314
- expect(thing_two_resource.foo).to eql("foo")
1315
- expect(thing_two_resource.bar).to eql(nil)
1316
- end
1317
-
1318
- it "blows up if the target resource does not implement a set property" do
1319
- thing_three_resource.baz "baz"
1320
- expect { thing_two_resource.copy_properties_from(thing_three_resource) }.to raise_error(NoMethodError)
1321
- end
1322
-
1323
- it "does not blow up if blows up if the target resource does not implement a set properly" do
1324
- thing_three_resource.foo "foo"
1325
- thing_three_resource.bar "bar"
1326
- thing_two_resource.copy_properties_from(thing_three_resource)
1327
- end
1328
- end
1329
- end