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,960 +0,0 @@
1
- #
2
- # Author:: Daniel DeLeo (<dan@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require "spec_helper"
20
- require "chef/policy_builder"
21
-
22
- describe Chef::PolicyBuilder::Policyfile do
23
-
24
- let(:node_name) { "joe_node" }
25
- let(:ohai_data) { { "platform" => "ubuntu", "platform_version" => "13.04", "fqdn" => "joenode.example.com" } }
26
- let(:json_attribs) { { "custom_attr" => "custom_attr_value" } }
27
- let(:override_runlist) { nil }
28
- let(:events) { Chef::EventDispatch::Dispatcher.new }
29
- let(:policy_builder) { Chef::PolicyBuilder::Policyfile.new(node_name, ohai_data, json_attribs, override_runlist, events) }
30
-
31
- # Convert a SHA1 (160 bit) hex string into an x.y.z version number where the
32
- # maximum value is smaller than a postgres BIGINT (signed 64bit, so 63 usable
33
- # bits). This requires enterprise Chef or open source server 11.1.0+ (currently not released)
34
- #
35
- # The SHA1 is devided as follows:
36
- # * "major": first 14 chars (56 bits)
37
- # * "minor": next 14 chars (56 bits)
38
- # * "patch": last 12 chars (48 bits)
39
- def id_to_dotted(sha1_id)
40
- major = sha1_id[0...14]
41
- minor = sha1_id[14...28]
42
- patch = sha1_id[28..40]
43
- decimal_integers = [major, minor, patch].map { |hex| hex.to_i(16) }
44
- decimal_integers.join(".")
45
- end
46
-
47
- let(:example1_lock_data) do
48
- # based on https://github.com/danielsdeleo/chef-workflow2-prototype/blob/master/skeletons/basic_policy/Policyfile.lock.json
49
- {
50
- "identifier" => "168d2102fb11c9617cd8a981166c8adc30a6e915",
51
- "version" => "2.3.5",
52
- # NOTE: for compatibility mode we include the dotted id in the policyfile to enhance discoverability.
53
- "dotted_decimal_identifier" => id_to_dotted("168d2102fb11c9617cd8a981166c8adc30a6e915"),
54
- "source" => { "path" => "./cookbooks/demo" },
55
- "scm_identifier" => {
56
- "vcs" => "git",
57
- "rev_id" => "9d5b09026470c322c3cb5ca8a4157c4d2f16cef3",
58
- "remote" => nil,
59
- },
60
- }
61
- end
62
-
63
- let(:example2_lock_data) do
64
- {
65
- "identifier" => "feab40e1fca77c7360ccca1481bb8ba5f919ce3a",
66
- "version" => "4.2.0",
67
- # NOTE: for compatibility mode we include the dotted id in the policyfile to enhance discoverability.
68
- "dotted_decimal_identifier" => id_to_dotted("feab40e1fca77c7360ccca1481bb8ba5f919ce3a"),
69
- "source" => { "api" => "https://community.getchef.com/api/v1/cookbooks/example2" },
70
- }
71
- end
72
-
73
- let(:policyfile_default_attributes) do
74
- {
75
- "policyfile_default_attr" => "policyfile_default_value",
76
- "top_level_attr" => "hat",
77
- "baseline_attr" => {
78
- "one" => 1,
79
- "two" => 2,
80
- "deep" => {
81
- "three" => 3,
82
- "four" => [4],
83
- "five" => [5],
84
- },
85
- },
86
- "policy_group_value" => {
87
- "baseline_attr" => {
88
- "one" => 111,
89
- },
90
- },
91
- }
92
- end
93
-
94
- let(:policyfile_override_attributes) do
95
- {
96
- "policyfile_override_attr" => "policyfile_override_value",
97
- "baseline_attr" => {
98
- "deep" => {
99
- "three" => 333 },
100
- },
101
- "policy_group_value" => {
102
- "top_level_attr" => "cat",
103
- "baseline_attr" => {
104
- "deep" => {
105
- "four" => [444],
106
- },
107
- },
108
- },
109
- }
110
- end
111
-
112
- let(:policyfile_run_list) { ["recipe[example1::default]", "recipe[example2::server]"] }
113
-
114
- let(:basic_valid_policy_data) do
115
- {
116
- "name" => "example-policy",
117
- "revision_id" => "123abc",
118
-
119
- "run_list" => policyfile_run_list,
120
-
121
- "cookbook_locks" => {
122
- "example1" => example1_lock_data,
123
- "example2" => example2_lock_data,
124
- },
125
-
126
- "default_attributes" => policyfile_default_attributes,
127
- "override_attributes" => policyfile_override_attributes,
128
- }
129
- end
130
-
131
- let(:parsed_policyfile_json) { basic_valid_policy_data }
132
-
133
- let(:err_namespace) { Chef::PolicyBuilder::Policyfile }
134
-
135
- it "configures a Chef HTTP API client" do
136
- http = double("Chef::ServerAPI")
137
- server_url = "https://api.opscode.com/organizations/example"
138
- Chef::Config[:chef_server_url] = server_url
139
- expect(Chef::ServerAPI).to receive(:new).with(server_url, version_class: Chef::CookbookManifestVersions).and_return(http)
140
- expect(policy_builder.api_service).to eq(http)
141
- end
142
-
143
- describe "reporting unsupported features" do
144
-
145
- def initialize_pb
146
- Chef::PolicyBuilder::Policyfile.new(node_name, ohai_data, json_attribs, override_runlist, events)
147
- end
148
-
149
- context "chef-solo" do
150
- before { Chef::Config[:solo_legacy_mode] = true }
151
-
152
- it "errors on create" do
153
- expect { initialize_pb }.to raise_error(err_namespace::UnsupportedFeature)
154
- end
155
- end
156
-
157
- context "when given an override run_list" do
158
- let(:override_runlist) { "recipe[foo],recipe[bar]" }
159
-
160
- it "does not error" do
161
- expect { initialize_pb }.not_to raise_error
162
- end
163
- end
164
-
165
- context "when an environment is configured" do
166
- before { Chef::Config[:environment] = "blurch" }
167
-
168
- it "errors when an environment is configured" do
169
- expect { initialize_pb }.to raise_error(err_namespace::UnsupportedFeature)
170
- end
171
- end
172
-
173
- end
174
-
175
- describe "loading policy data" do
176
-
177
- let(:api_service) { double("Chef::ServerAPI") }
178
-
179
- let(:configured_environment) { nil }
180
-
181
- let(:override_runlist) { nil }
182
- let(:primary_runlist) { nil }
183
-
184
- let(:original_default_attrs) { { "default_key" => "default_value" } }
185
- let(:original_override_attrs) { { "override_key" => "override_value" } }
186
-
187
- let(:node) do
188
- node = Chef::Node.new
189
- node.name(node_name)
190
- node.default_attrs = original_default_attrs
191
- node.override_attrs = original_override_attrs
192
- node.run_list(primary_runlist) if primary_runlist
193
- node
194
- end
195
-
196
- before do
197
- Chef::Config[:policy_document_native_api] = true
198
- Chef::Config[:deployment_group] = "example-policy-stage"
199
- allow(policy_builder).to receive(:api_service).and_return(api_service)
200
- end
201
-
202
- describe "when using compatibility mode (policy_document_native_api == false)" do
203
-
204
- before do
205
- Chef::Config[:policy_document_native_api] = false
206
- Chef::Config[:treat_deprecation_warnings_as_errors] = false
207
- Chef::Config[:deployment_group] = "example-policy-stage"
208
- end
209
-
210
- context "when the deployment group cannot be loaded" do
211
- let(:error404) { Net::HTTPClientException.new("404 message", :body) }
212
-
213
- before do
214
- expect(api_service).to receive(:get)
215
- .with("data/policyfiles/example-policy-stage")
216
- .and_raise(error404)
217
- end
218
-
219
- it "raises an error" do
220
- expect { policy_builder.finish_load_node(node) }.to raise_error(err_namespace::ConfigurationError)
221
- end
222
-
223
- end
224
-
225
- context "when the deployment_group is not configured" do
226
- before do
227
- Chef::Config[:deployment_group] = nil
228
- end
229
-
230
- it "errors while loading the node" do
231
- expect { policy_builder.finish_load_node(node) }.to raise_error(err_namespace::ConfigurationError)
232
- end
233
-
234
- end
235
-
236
- context "when deployment_group is correctly configured" do
237
-
238
- let(:policy_relative_url) { "data/policyfiles/example-policy-stage" }
239
-
240
- before do
241
- expect(api_service).to receive(:get).with(policy_relative_url).and_return(parsed_policyfile_json)
242
- end
243
-
244
- it "fetches the policy file from a data bag item" do
245
- expect(policy_builder.policy).to eq(parsed_policyfile_json)
246
- end
247
-
248
- it "extracts the run_list from the policyfile" do
249
- expect(policy_builder.run_list).to eq(policyfile_run_list)
250
- end
251
-
252
- end
253
- end
254
-
255
- context "and policy_document_native_api is configured" do
256
-
257
- before do
258
- Chef::Config[:policy_document_native_api] = true
259
- Chef::Config[:policy_group] = "policy-stage"
260
- Chef::Config[:policy_name] = "example"
261
- end
262
-
263
- context "and policy_name or policy_group are not configured" do
264
-
265
- it "raises a Configuration error for policy_group" do
266
- Chef::Config[:policy_group] = nil
267
- expect { policy_builder.policy }.to raise_error(err_namespace::ConfigurationError)
268
- end
269
-
270
- it "raises a Configuration error for policy_name" do
271
- Chef::Config[:policy_name] = nil
272
- expect { policy_builder.policy }.to raise_error(err_namespace::ConfigurationError)
273
- end
274
-
275
- end
276
-
277
- context "and policy_name and policy_group are configured" do
278
-
279
- let(:policy_relative_url) { "policy_groups/policy-stage/policies/example" }
280
-
281
- before do
282
- expect(api_service).to receive(:get).with(policy_relative_url).and_return(parsed_policyfile_json)
283
- end
284
-
285
- it "fetches the policy file from a data bag item" do
286
- expect(policy_builder.policy).to eq(parsed_policyfile_json)
287
- end
288
-
289
- it "extracts the run_list from the policyfile" do
290
- expect(policy_builder.run_list).to eq(policyfile_run_list)
291
- end
292
- end
293
-
294
- end
295
-
296
- describe "building policy from the policyfile" do
297
-
298
- before do
299
- allow(policy_builder).to receive(:policy).and_return(parsed_policyfile_json)
300
- end
301
-
302
- it "fetches the policy file from a data bag item" do
303
- expect(policy_builder.policy).to eq(parsed_policyfile_json)
304
- end
305
-
306
- it "extracts the run_list from the policyfile" do
307
- expect(policy_builder.run_list).to eq(policyfile_run_list)
308
- end
309
-
310
- it "extracts the cookbooks and versions for display from the policyfile" do
311
- expected = [
312
- "example1::default@2.3.5 (168d210)",
313
- "example2::server@4.2.0 (feab40e)",
314
- ]
315
-
316
- expect(policy_builder.run_list_with_versions_for_display(policy_builder.run_list)).to eq(expected)
317
- end
318
-
319
- it "generates a RunListExpansion-alike object for feeding to the CookbookCompiler" do
320
- expect(policy_builder.run_list_expansion_ish).to respond_to(:recipes)
321
- expect(policy_builder.run_list_expansion_ish.recipes).to eq(["example1::default", "example2::server"])
322
- end
323
-
324
- it "implements #expand_run_list in a manner compatible with ExpandNodeObject" do
325
- policy_builder.finish_load_node(node)
326
- expect(policy_builder.expand_run_list).to respond_to(:recipes)
327
- expect(policy_builder.expand_run_list.recipes).to eq(["example1::default", "example2::server"])
328
- expect(policy_builder.expand_run_list.roles).to eq([])
329
- end
330
-
331
- describe "validating the Policyfile.lock" do
332
- before do
333
- Chef::Config[:policy_group] = "policy-stage"
334
- Chef::Config[:policy_name] = "example"
335
- end
336
-
337
- it "errors if the policyfile json contains any non-recipe items" do
338
- parsed_policyfile_json["run_list"] = ["role[foo]"]
339
- expect { policy_builder.validate_policyfile }.to raise_error(err_namespace::PolicyfileError)
340
- end
341
-
342
- it "does not error if the policyfile json contains non-fully qualified recipe items" do
343
- parsed_policyfile_json["run_list"] = ["recipe[foo]"]
344
- expect { policy_builder.validate_policyfile }.not_to raise_error
345
- end
346
-
347
- it "errors if the policyfile doesn't have a run_list key" do
348
- parsed_policyfile_json.delete("run_list")
349
- expect { policy_builder.validate_policyfile }.to raise_error(err_namespace::PolicyfileError)
350
- end
351
-
352
- it "error if the policyfile doesn't have a cookbook_locks key" do
353
- parsed_policyfile_json.delete("cookbook_locks")
354
- expect { policy_builder.validate_policyfile }.to raise_error(err_namespace::PolicyfileError)
355
- end
356
-
357
- it "accepts a valid policyfile" do
358
- policy_builder.validate_policyfile
359
- end
360
-
361
- end
362
-
363
- describe "#build_node" do
364
-
365
- let(:node) do
366
- node = Chef::Node.new
367
- node.name(node_name)
368
- node
369
- end
370
-
371
- before do
372
- allow(policy_builder).to receive(:node).and_return(node)
373
- end
374
-
375
- context "when the run is successful" do
376
- let(:run_list) do
377
- ["recipe[test::default]",
378
- "recipe[test::other]"]
379
- end
380
-
381
- let(:version_hash) do
382
- {
383
- "version" => "0.1.0",
384
- "identifier" => "012345678",
385
- }
386
- end
387
-
388
- let(:run_list_for_data_collector) do
389
- {
390
- id: "_policy_node",
391
- run_list: [
392
- { type: "recipe", name: "test::default", skipped: false, version: nil },
393
- { type: "recipe", name: "test::other", skipped: false, version: nil },
394
- ],
395
- }
396
- end
397
-
398
- before do
399
- allow(policy_builder).to receive(:run_list)
400
- .and_return(run_list)
401
- allow(policy_builder).to receive(:cookbook_lock_for)
402
- .and_return(version_hash)
403
- end
404
-
405
- it "sends the run_list_expanded event" do
406
- policy_builder.build_node
407
- expect(policy_builder.run_list_expansion_ish.to_hash)
408
- .to eq(run_list_for_data_collector)
409
- end
410
- end
411
- end
412
-
413
- describe "building the node object" do
414
-
415
- let(:extra_chef_config) { {} }
416
-
417
- before do
418
- # must be set before #build_node is called to have the proper effect
419
- extra_chef_config.each do |key, value|
420
- Chef::Config[key] = value
421
- end
422
-
423
- policy_builder.finish_load_node(node)
424
- policy_builder.build_node
425
- end
426
-
427
- # it sets policy_name and policy_group in the following priority order:
428
- # -j JSON > config file > node object
429
-
430
- describe "selecting policy_name and policy_group from the various sources" do
431
-
432
- context "when only set in node JSON" do
433
-
434
- let(:json_attribs) do
435
- {
436
- "policy_name" => "policy_name_from_node_json",
437
- "policy_group" => "policy_group_from_node_json",
438
- }
439
- end
440
-
441
- it "sets policy_name and policy_group on Chef::Config" do
442
- expect(Chef::Config[:policy_name]).to eq("policy_name_from_node_json")
443
- expect(Chef::Config[:policy_group]).to eq("policy_group_from_node_json")
444
- end
445
-
446
- it "sets policy_name and policy_group on the node object" do
447
- expect(node.policy_name).to eq("policy_name_from_node_json")
448
- expect(node.policy_group).to eq("policy_group_from_node_json")
449
- end
450
-
451
- end
452
-
453
- context "when only set in Chef::Config" do
454
-
455
- let(:extra_chef_config) do
456
- {
457
- policy_name: "policy_name_from_config",
458
- policy_group: "policy_group_from_config",
459
- }
460
- end
461
-
462
- it "sets policy_name and policy_group on the node object" do
463
- expect(node.policy_name).to eq("policy_name_from_config")
464
- expect(node.policy_group).to eq("policy_group_from_config")
465
- end
466
-
467
- end
468
-
469
- context "when only set on the node" do
470
-
471
- let(:node) do
472
- node = Chef::Node.new
473
- node.name(node_name)
474
- node.policy_name = "policy_name_from_node"
475
- node.policy_group = "policy_group_from_node"
476
- node
477
- end
478
-
479
- it "sets policy_name and policy_group on Chef::Config" do
480
- expect(Chef::Config[:policy_name]).to eq("policy_name_from_node")
481
- expect(Chef::Config[:policy_group]).to eq("policy_group_from_node")
482
- end
483
-
484
- end
485
-
486
- context "when set in Chef::Config and the fetched node" do
487
-
488
- let(:node) do
489
- node = Chef::Node.new
490
- node.name(node_name)
491
- node.policy_name = "policy_name_from_node"
492
- node.policy_group = "policy_group_from_node"
493
- node
494
- end
495
-
496
- let(:extra_chef_config) do
497
- {
498
- policy_name: "policy_name_from_config",
499
- policy_group: "policy_group_from_config",
500
- }
501
- end
502
-
503
- it "prefers the policy_name and policy_group from Chef::Config" do
504
- expect(node.policy_name).to eq("policy_name_from_config")
505
- expect(node.policy_group).to eq("policy_group_from_config")
506
- end
507
-
508
- end
509
-
510
- context "when set in node json and the fetched node" do
511
-
512
- let(:json_attribs) do
513
- {
514
- "policy_name" => "policy_name_from_node_json",
515
- "policy_group" => "policy_group_from_node_json",
516
- }
517
- end
518
-
519
- let(:node) do
520
- node = Chef::Node.new
521
- node.name(node_name)
522
- node.policy_name = "policy_name_from_node"
523
- node.policy_group = "policy_group_from_node"
524
- node
525
- end
526
-
527
- it "prefers the policy_name and policy_group from the node json" do
528
- expect(policy_builder.policy_name).to eq("policy_name_from_node_json")
529
- expect(policy_builder.policy_group).to eq("policy_group_from_node_json")
530
-
531
- expect(Chef::Config[:policy_name]).to eq("policy_name_from_node_json")
532
- expect(Chef::Config[:policy_group]).to eq("policy_group_from_node_json")
533
- expect(node.policy_name).to eq("policy_name_from_node_json")
534
- expect(node.policy_group).to eq("policy_group_from_node_json")
535
- end
536
-
537
- end
538
-
539
- context "when set in all sources" do
540
-
541
- let(:json_attribs) do
542
- {
543
- "policy_name" => "policy_name_from_node_json",
544
- "policy_group" => "policy_group_from_node_json",
545
- }
546
- end
547
-
548
- let(:node) do
549
- node = Chef::Node.new
550
- node.name(node_name)
551
- node.policy_name = "policy_name_from_node"
552
- node.policy_group = "policy_group_from_node"
553
- node
554
- end
555
-
556
- let(:extra_chef_config) do
557
- {
558
- policy_name: "policy_name_from_config",
559
- policy_group: "policy_group_from_config",
560
- }
561
- end
562
-
563
- it "prefers the policy_name and group from node json" do
564
- expect(policy_builder.policy_name).to eq("policy_name_from_node_json")
565
- expect(policy_builder.policy_group).to eq("policy_group_from_node_json")
566
-
567
- expect(Chef::Config[:policy_name]).to eq("policy_name_from_node_json")
568
- expect(Chef::Config[:policy_group]).to eq("policy_group_from_node_json")
569
- expect(node.policy_name).to eq("policy_name_from_node_json")
570
- expect(node.policy_group).to eq("policy_group_from_node_json")
571
- expect(node.automatic_attrs[:policy_name]).to eq("policy_name_from_node_json")
572
- expect(node.automatic_attrs[:policy_group]).to eq("policy_group_from_node_json")
573
- expect(node.automatic_attrs[:chef_environment]).to eq("policy_group_from_node_json")
574
- end
575
-
576
- end
577
- end
578
-
579
- it "resets default and override data" do
580
- expect(node["default_key"]).to be_nil
581
- expect(node["override_key"]).to be_nil
582
- end
583
-
584
- describe "setting attribute values" do
585
-
586
- before do
587
- policy_builder.build_node
588
- end
589
-
590
- it "resets default and override data" do
591
- expect(node["default_key"]).to be_nil
592
- expect(node["override_key"]).to be_nil
593
- end
594
-
595
- it "applies ohai data" do
596
- expect(ohai_data).to_not be_empty # ensure test is testing something
597
- ohai_data.each do |key, value|
598
- expect(node.automatic_attrs[key]).to eq(value)
599
- end
600
- end
601
-
602
- it "applies attributes from json file" do
603
- expect(node["custom_attr"]).to eq("custom_attr_value")
604
- end
605
-
606
- it "applies attributes from the policyfile" do
607
- expect(node["policyfile_default_attr"]).to eq("policyfile_default_value")
608
- expect(node["policyfile_override_attr"]).to eq("policyfile_override_value")
609
- end
610
-
611
- it "sets the policyfile's run_list on the node object" do
612
- expect(node.run_list).to eq(policyfile_run_list)
613
- end
614
-
615
- it "creates node.automatic_attrs[:roles]" do
616
- expect(node.automatic_attrs[:roles]).to eq([])
617
- end
618
-
619
- it "create node.automatic_attrs[:recipes]" do
620
- expect(node.automatic_attrs[:recipes]).to eq(["example1::default", "example2::server"])
621
- end
622
-
623
- end
624
-
625
- context "when a named run_list is given" do
626
-
627
- before do
628
- Chef::Config[:named_run_list] = "deploy-app"
629
- end
630
-
631
- context "and the named run_list is not present in the policy" do
632
-
633
- it "raises a ConfigurationError" do
634
- err_class = Chef::PolicyBuilder::Policyfile::ConfigurationError
635
- err_text = "Policy 'example-policy' revision '123abc' does not have named_run_list 'deploy-app'(available named_run_lists: [])"
636
- expect { policy_builder.build_node }.to raise_error(err_class, err_text)
637
- end
638
-
639
- end
640
-
641
- context "and the named run_list is present in the policy" do
642
-
643
- let(:parsed_policyfile_json) do
644
- basic_valid_policy_data.dup.tap do |p|
645
- p["named_run_lists"] = {
646
- "deploy-app" => [ "recipe[example1::default]" ],
647
- }
648
- end
649
- end
650
-
651
- before do
652
- policy_builder.build_node
653
- end
654
-
655
- it "sets the run list to the desired named run list" do
656
- expect(policy_builder.run_list).to eq([ "recipe[example1::default]" ])
657
- expected_expansion = Chef::PolicyBuilder::Policyfile::RunListExpansionIsh.new([ "example1::default" ], [])
658
- expect(policy_builder.run_list_expansion).to eq(expected_expansion)
659
- expect(policy_builder.run_list_with_versions_for_display(policy_builder.run_list)).to eq(["example1::default@2.3.5 (168d210)"])
660
- expect(node.run_list).to eq([ Chef::RunList::RunListItem.new("recipe[example1::default]") ])
661
- expect(node[:roles]).to eq( [] )
662
- expect(node[:recipes]).to eq( ["example1::default"] )
663
- end
664
-
665
- end
666
- end
667
-
668
- context "when an override run_list is given" do
669
- let(:override_runlist) { [ "recipe[example2::server]" ] }
670
-
671
- before do
672
- policy_builder.build_node
673
- end
674
-
675
- it "gives `true` for #temporary_policy?" do
676
- expect(policy_builder.temporary_policy?).to be true
677
- end
678
-
679
- it "returns the override_runlist for the run_list" do
680
- expect(policy_builder.run_list).to eql override_runlist
681
- end
682
- end
683
-
684
- describe "hoisting attribute values" do
685
- context "with no policy group set" do
686
- it "does not hoist policy_group specific attributes" do
687
- expect( node["top_level_attr"] ).to eql("hat")
688
- expect( node["baseline_attr"]["one"] ).to eql(1)
689
- expect( node["baseline_attr"]["two"] ).to eql(2)
690
- expect( node["baseline_attr"]["deep"]["three"] ).to eql(333)
691
- expect( node["baseline_attr"]["deep"]["four"] ).to eql([4])
692
- expect( node["baseline_attr"]["deep"]["five"] ).to eql([5])
693
- end
694
- end
695
-
696
- context "with a policy group set" do
697
- before do
698
- Chef::Config[:policy_group] = "policy_group_value"
699
- policy_builder.finish_load_node(node)
700
- policy_builder.build_node
701
- end
702
-
703
- it "hoists default attributes" do
704
- expect( node["top_level_attr"] ).to eql("cat")
705
- expect( node["baseline_attr"]["one"]).to eql(111)
706
- expect( node["baseline_attr"]["two"] ).to eql(2)
707
- expect( node["baseline_attr"]["deep"]["five"] ).to eql([5])
708
- end
709
-
710
- it "hoists override attributes" do
711
- expect( node["top_level_attr"] ).to eql("cat")
712
- expect( node["baseline_attr"]["two"] ).to eql(2)
713
- expect( node["baseline_attr"]["deep"]["three"] ).to eql(333)
714
- expect( node["baseline_attr"]["deep"]["four"] ).to eql([444])
715
- expect( node["baseline_attr"]["deep"]["five"] ).to eql([5])
716
- end
717
- end
718
- end
719
- end
720
-
721
- describe "fetching the desired cookbook set" do
722
-
723
- let(:example1_cookbook_data) { double("CookbookVersion Hash for example1 cookbook") }
724
- let(:example2_cookbook_data) { double("CookbookVersion Hash for example2 cookbook") }
725
-
726
- let(:example1_cookbook_object) { double("Chef::CookbookVersion for example1 cookbook", version: "0.1.2") }
727
- let(:example2_cookbook_object) { double("Chef::CookbookVersion for example2 cookbook", version: "1.2.3") }
728
-
729
- let(:expected_cookbook_hash) do
730
- { "example1" => example1_cookbook_object, "example2" => example2_cookbook_object }
731
- end
732
-
733
- let(:example1_xyz_version) { example1_lock_data["dotted_decimal_identifier"] }
734
- let(:example2_xyz_version) { example2_lock_data["dotted_decimal_identifier"] }
735
-
736
- let(:example1_identifier) { example1_lock_data["identifier"] }
737
- let(:example2_identifier) { example2_lock_data["identifier"] }
738
-
739
- let(:cookbook_synchronizer) { double("Chef::CookbookSynchronizer") }
740
-
741
- shared_examples "fetching cookbooks when they don't exist" do
742
- context "and a cookbook is missing" do
743
-
744
- let(:error404) { Net::HTTPClientException.new("404 message", :body) }
745
-
746
- before do
747
- policy_builder.finish_load_node(node)
748
- policy_builder.build_node
749
-
750
- expect(api_service).to receive(:get).with(cookbook1_url)
751
- .and_raise(error404)
752
- end
753
-
754
- it "raises an error indicating which cookbook is missing" do
755
- expect { policy_builder.cookbooks_to_sync }.to raise_error(Chef::Exceptions::CookbookNotFound)
756
- end
757
-
758
- end
759
- end
760
-
761
- shared_examples_for "fetching cookbooks when they exist" do
762
- context "and the cookbooks can be fetched" do
763
- before do
764
- Chef.reset!
765
-
766
- policy_builder.finish_load_node(node)
767
- policy_builder.build_node
768
-
769
- allow(Chef::CookbookSynchronizer).to receive(:new)
770
- .with(expected_cookbook_hash, events)
771
- .and_return(cookbook_synchronizer)
772
- end
773
-
774
- after do
775
- Chef.reset!
776
- end
777
-
778
- it "builds a Hash of the form 'cookbook_name' => Chef::CookbookVersion" do
779
- expect(policy_builder.cookbooks_to_sync).to eq(expected_cookbook_hash)
780
- end
781
-
782
- it "syncs the desired cookbooks via CookbookSynchronizer" do
783
- expect(cookbook_synchronizer).to receive(:sync_cookbooks)
784
- policy_builder.sync_cookbooks
785
- end
786
-
787
- it "builds a run context" do
788
- expect(cookbook_synchronizer).to receive(:sync_cookbooks)
789
- expect_any_instance_of(Chef::RunContext).to receive(:load).with(policy_builder.run_list_expansion_ish)
790
- expect_any_instance_of(Chef::CookbookCollection).to receive(:validate!)
791
- expect_any_instance_of(Chef::CookbookCollection).to receive(:install_gems)
792
- run_context = policy_builder.setup_run_context
793
- expect(run_context.node).to eq(node)
794
- expect(run_context.cookbook_collection.keys).to match_array(%w{example1 example2})
795
- end
796
-
797
- it "makes the run context available via static method on Chef" do
798
- expect(cookbook_synchronizer).to receive(:sync_cookbooks)
799
- expect_any_instance_of(Chef::RunContext).to receive(:load).with(policy_builder.run_list_expansion_ish)
800
- expect_any_instance_of(Chef::CookbookCollection).to receive(:validate!)
801
- expect_any_instance_of(Chef::CookbookCollection).to receive(:install_gems)
802
- run_context = policy_builder.setup_run_context
803
- expect(Chef.run_context).to eq(run_context)
804
- end
805
-
806
- end
807
- end # shared_examples_for "fetching cookbooks"
808
-
809
- context "when using compatibility mode (policy_document_native_api == false)" do
810
- let(:cookbook1_url) { "cookbooks/example1/#{example1_xyz_version}" }
811
- let(:cookbook2_url) { "cookbooks/example2/#{example2_xyz_version}" }
812
- before do
813
- Chef::Config[:policy_document_native_api] = false
814
- Chef::Config[:treat_deprecation_warnings_as_errors] = false
815
- end
816
-
817
- context "when the cookbooks don't exist on the server" do
818
- include_examples "fetching cookbooks when they don't exist"
819
- end
820
-
821
- context "when the cookbooks exist on the server" do
822
-
823
- before do
824
- expect(api_service).to receive(:get).with(cookbook1_url)
825
- .and_return(example1_cookbook_data)
826
- expect(api_service).to receive(:get).with(cookbook2_url)
827
- .and_return(example2_cookbook_data)
828
-
829
- expect(Chef::CookbookVersion).to receive(:from_cb_artifact_data).with(example1_cookbook_data)
830
- .and_return(example1_cookbook_object)
831
- expect(Chef::CookbookVersion).to receive(:from_cb_artifact_data).with(example2_cookbook_data)
832
- .and_return(example2_cookbook_object)
833
- end
834
-
835
- include_examples "fetching cookbooks when they exist"
836
-
837
- end
838
- end
839
-
840
- context "when using native API mode (policy_document_native_api == true)" do
841
-
842
- before do
843
- Chef::Config[:policy_document_native_api] = true
844
- Chef::Config[:policy_group] = "policy-stage"
845
- Chef::Config[:policy_name] = "example"
846
- end
847
-
848
- let(:cookbook1_url) { "cookbook_artifacts/example1/#{example1_identifier}" }
849
- let(:cookbook2_url) { "cookbook_artifacts/example2/#{example2_identifier}" }
850
-
851
- context "when the cookbooks don't exist on the server" do
852
- include_examples "fetching cookbooks when they don't exist"
853
- end
854
-
855
- context "when the cookbooks exist on the server" do
856
-
857
- before do
858
- expect(api_service).to receive(:get).with(cookbook1_url)
859
- .and_return(example1_cookbook_data)
860
- expect(api_service).to receive(:get).with(cookbook2_url)
861
- .and_return(example2_cookbook_data)
862
-
863
- expect(Chef::CookbookVersion).to receive(:from_cb_artifact_data).with(example1_cookbook_data)
864
- .and_return(example1_cookbook_object)
865
- expect(Chef::CookbookVersion).to receive(:from_cb_artifact_data).with(example2_cookbook_data)
866
- .and_return(example2_cookbook_object)
867
- end
868
-
869
- include_examples "fetching cookbooks when they exist"
870
-
871
- end
872
-
873
- end
874
- end
875
-
876
- describe "selecting the run_list" do
877
- let(:node) do
878
- node = Chef::Node.new
879
- node.name(node_name)
880
- node
881
- end
882
-
883
- before do
884
- allow(policy_builder).to receive(:node).and_return(node)
885
- end
886
-
887
- context "when json_attribs contains a run_list" do
888
- let(:json_attribs) { { "run_list" => [ "recipe[something::default]" ] } }
889
-
890
- it "reads the run_list from the json_attribs" do
891
- expect(policy_builder.run_list).to eql(json_attribs["run_list"])
892
- end
893
-
894
- it "ignores the node.run_list" do
895
- node.run_list.reset!("recipe[incorrect::incorrect]")
896
- expect(policy_builder.run_list).to eql(json_attribs["run_list"])
897
- end
898
-
899
- it "ignores the node.run_list if the Chef::Config value is set" do
900
- Chef::Config[:policy_persist_run_list] = true
901
- node.run_list.reset!("recipe[incorrect::incorrect]")
902
- expect(policy_builder.run_list).to eql(json_attribs["run_list"])
903
- end
904
- end
905
-
906
- it "reads the run_list from the policyfile" do
907
- expect(policy_builder.run_list).to eql(policyfile_run_list)
908
- end
909
-
910
- it "ignores the node.run_list by default" do
911
- node.run_list.reset!("recipe[incorrect::incorrect]")
912
- expect(policy_builder.run_list).to eql(policyfile_run_list)
913
- end
914
-
915
- it "uses the node.run_list if the Chef::Config value is set" do
916
- Chef::Config[:policy_persist_run_list] = true
917
- node.run_list.reset!("recipe[correct::default]")
918
- expect(policy_builder.run_list).to eql(node.run_list)
919
- end
920
-
921
- it "does not use an empty node.run_list" do
922
- Chef::Config[:policy_persist_run_list] = true
923
- node.run_list.reset!
924
- expect(policy_builder.run_list).to eql(policyfile_run_list)
925
- end
926
-
927
- context "with a valid named_run_list" do
928
- let(:parsed_policyfile_json) do
929
- basic_valid_policy_data.dup.tap do |p|
930
- p["named_run_lists"] = {
931
- "deploy-app" => [ "recipe[example1::default]" ],
932
- }
933
- end
934
- end
935
-
936
- it "uses the named_run_list over the policyfile" do
937
- Chef::Config[:named_run_list] = "deploy-app"
938
- expect(policy_builder.run_list).to eq([ "recipe[example1::default]" ])
939
- end
940
-
941
- it "is overridden if the run_list is persistent" do
942
- Chef::Config[:named_run_list] = "deploy-app"
943
- Chef::Config[:policy_persist_run_list] = true
944
- node.run_list.reset!("recipe[correct::default]")
945
- expect(policy_builder.run_list).to eql(node.run_list)
946
- end
947
-
948
- context "when json_attribs contains a run_list" do
949
- let(:json_attribs) { { "run_list" => [ "recipe[something::default]" ] } }
950
-
951
- it "overrides the named_run_list" do
952
- expect(policy_builder.run_list).to eql(json_attribs["run_list"])
953
- end
954
- end
955
-
956
- end
957
- end
958
- end
959
- end
960
- end