chef 18.8.11 → 18.8.54

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