chef 18.8.11 → 18.8.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1122) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -19
  3. data/chef.gemspec +4 -5
  4. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +4 -0
  5. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +1 -5
  6. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +12 -0
  7. data/lib/chef/chef_fs/file_system.rb +18 -0
  8. data/lib/chef/pwsh.rb +2 -5
  9. data/lib/chef/resource/apt_repository.rb +14 -5
  10. data/lib/chef/resource/chocolatey_installer.rb +19 -4
  11. data/lib/chef/resource/ohai.rb +1 -0
  12. data/lib/chef/resource_reporter.rb +1 -1
  13. data/lib/chef/shell.rb +8 -3
  14. data/lib/chef/version.rb +1 -1
  15. metadata +14 -1121
  16. data/spec/data/apt/chef-integration-test-1.0/debian/changelog +0 -5
  17. data/spec/data/apt/chef-integration-test-1.0/debian/compat +0 -1
  18. data/spec/data/apt/chef-integration-test-1.0/debian/control +0 -13
  19. data/spec/data/apt/chef-integration-test-1.0/debian/copyright +0 -34
  20. data/spec/data/apt/chef-integration-test-1.0/debian/files +0 -1
  21. data/spec/data/apt/chef-integration-test-1.0/debian/rules +0 -13
  22. data/spec/data/apt/chef-integration-test-1.0/debian/source/format +0 -1
  23. data/spec/data/apt/chef-integration-test-1.1/debian/changelog +0 -11
  24. data/spec/data/apt/chef-integration-test-1.1/debian/compat +0 -1
  25. data/spec/data/apt/chef-integration-test-1.1/debian/control +0 -13
  26. data/spec/data/apt/chef-integration-test-1.1/debian/copyright +0 -34
  27. data/spec/data/apt/chef-integration-test-1.1/debian/files +0 -1
  28. data/spec/data/apt/chef-integration-test-1.1/debian/rules +0 -13
  29. data/spec/data/apt/chef-integration-test-1.1/debian/source/format +0 -1
  30. data/spec/data/apt/chef-integration-test2-1.0/debian/changelog +0 -5
  31. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/conffiles +0 -1
  32. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/control +0 -10
  33. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/md5sums +0 -1
  34. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.debhelper.log +0 -45
  35. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.substvars +0 -1
  36. data/spec/data/apt/chef-integration-test2-1.0/debian/compat +0 -1
  37. data/spec/data/apt/chef-integration-test2-1.0/debian/conffiles +0 -1
  38. data/spec/data/apt/chef-integration-test2-1.0/debian/control +0 -13
  39. data/spec/data/apt/chef-integration-test2-1.0/debian/copyright +0 -34
  40. data/spec/data/apt/chef-integration-test2-1.0/debian/files +0 -1
  41. data/spec/data/apt/chef-integration-test2-1.0/debian/rules +0 -13
  42. data/spec/data/apt/chef-integration-test2-1.0/debian/source/format +0 -1
  43. data/spec/data/apt/chef-integration-test2_1.0-1.debian.tar.gz +0 -0
  44. data/spec/data/apt/chef-integration-test2_1.0-1.dsc +0 -18
  45. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.build +0 -91
  46. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.changes +0 -31
  47. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.deb +0 -0
  48. data/spec/data/apt/chef-integration-test2_1.0.orig.tar.gz +0 -0
  49. data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +0 -22
  50. data/spec/data/apt/chef-integration-test_1.0-1_amd64.deb +0 -0
  51. data/spec/data/apt/chef-integration-test_1.0.orig.tar.gz +0 -0
  52. data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +0 -22
  53. data/spec/data/apt/chef-integration-test_1.1-1_amd64.deb +0 -0
  54. data/spec/data/apt/chef-integration-test_1.1.orig.tar.gz +0 -0
  55. data/spec/data/apt/var/www/apt/conf/distributions +0 -7
  56. data/spec/data/apt/var/www/apt/conf/incoming +0 -4
  57. data/spec/data/apt/var/www/apt/conf/pulls +0 -3
  58. data/spec/data/apt/var/www/apt/db/checksums.db +0 -0
  59. data/spec/data/apt/var/www/apt/db/contents.cache.db +0 -0
  60. data/spec/data/apt/var/www/apt/db/packages.db +0 -0
  61. data/spec/data/apt/var/www/apt/db/references.db +0 -0
  62. data/spec/data/apt/var/www/apt/db/release.caches.db +0 -0
  63. data/spec/data/apt/var/www/apt/db/version +0 -4
  64. data/spec/data/apt/var/www/apt/dists/sid/Release +0 -19
  65. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +0 -16
  66. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages.gz +0 -0
  67. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +0 -5
  68. data/spec/data/apt/var/www/apt/dists/sid/main/binary-i386/Packages +0 -0
  69. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.0-1_amd64.deb +0 -0
  70. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.1-1_amd64.deb +0 -0
  71. data/spec/data/archive_file/test_archive.tar.gz +0 -0
  72. data/spec/data/bad-config.rb +0 -1
  73. data/spec/data/bootstrap/encrypted_data_bag_secret +0 -1
  74. data/spec/data/bootstrap/no_proxy.erb +0 -2
  75. data/spec/data/bootstrap/secret.erb +0 -9
  76. data/spec/data/bootstrap/test-hints.erb +0 -12
  77. data/spec/data/bootstrap/test.erb +0 -1
  78. data/spec/data/cb_version_cookbooks/cookbook2/files/test.txt +0 -0
  79. data/spec/data/cb_version_cookbooks/cookbook2/templates/test.erb +0 -0
  80. data/spec/data/cb_version_cookbooks/tatft/README.rdoc +0 -3
  81. data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +0 -1
  82. data/spec/data/cb_version_cookbooks/tatft/definitions/runit_service.rb +0 -1
  83. data/spec/data/cb_version_cookbooks/tatft/files/default/giant_blob.tgz +0 -1
  84. data/spec/data/cb_version_cookbooks/tatft/libraries/ownage.rb +0 -1
  85. data/spec/data/cb_version_cookbooks/tatft/providers/lwp.rb +0 -1
  86. data/spec/data/cb_version_cookbooks/tatft/recipes/default.rb +0 -1
  87. data/spec/data/cb_version_cookbooks/tatft/resources/lwr.rb +0 -1
  88. data/spec/data/cb_version_cookbooks/tatft/templates/default/configuration.erb +0 -0
  89. data/spec/data/checksum/random.txt +0 -1
  90. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +0 -1
  91. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-6m8zdk-0 +0 -0
  92. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +0 -1
  93. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +0 -1
  94. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +0 -1
  95. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +0 -1
  96. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +0 -1
  97. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +0 -1
  98. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +0 -1
  99. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +0 -1
  100. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +0 -1
  101. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +0 -1
  102. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +0 -1
  103. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +0 -1
  104. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +0 -1
  105. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +0 -1
  106. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +0 -1
  107. data/spec/data/client.d_00/00-foo.rb +0 -2
  108. data/spec/data/client.d_00/01-bar.rb +0 -1
  109. data/spec/data/client.d_00/02-strings.rb +0 -2
  110. data/spec/data/client.d_00/bar +0 -1
  111. data/spec/data/client.d_01/foo/bar.rb +0 -1
  112. data/spec/data/client.d_02/foo.rb/foo.txt +0 -1
  113. data/spec/data/config.rb +0 -6
  114. data/spec/data/cookbooks/angrybash/metadata.rb +0 -2
  115. data/spec/data/cookbooks/angrybash/recipes/default.rb +0 -8
  116. data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +0 -2
  117. data/spec/data/cookbooks/apache2/metadata.json +0 -33
  118. data/spec/data/cookbooks/apache2/metadata.rb +0 -2
  119. data/spec/data/cookbooks/apache2/recipes/default.rb +0 -3
  120. data/spec/data/cookbooks/borken/metadata.rb +0 -2
  121. data/spec/data/cookbooks/borken/recipes/default.rb +0 -2
  122. data/spec/data/cookbooks/borken/templates/default/borken.erb +0 -2
  123. data/spec/data/cookbooks/chefignore +0 -8
  124. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +0 -2
  125. data/spec/data/cookbooks/ignorken/metadata.rb +0 -2
  126. data/spec/data/cookbooks/ignorken/recipes/default.rb +0 -1
  127. data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +0 -2
  128. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +0 -2
  129. data/spec/data/cookbooks/irssi/files/default/irssi.response +0 -2
  130. data/spec/data/cookbooks/java/files/default/java.response +0 -2
  131. data/spec/data/cookbooks/java/metadata.json +0 -33
  132. data/spec/data/cookbooks/java/metadata.rb +0 -2
  133. data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +0 -4
  134. data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +0 -8
  135. data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +0 -8
  136. data/spec/data/cookbooks/openldap/.root_dotfile +0 -0
  137. data/spec/data/cookbooks/openldap/attributes/default.rb +0 -16
  138. data/spec/data/cookbooks/openldap/attributes/smokey.rb +0 -1
  139. data/spec/data/cookbooks/openldap/definitions/client.rb +0 -5
  140. data/spec/data/cookbooks/openldap/definitions/server.rb +0 -5
  141. data/spec/data/cookbooks/openldap/files/default/.dotfile +0 -1
  142. data/spec/data/cookbooks/openldap/files/default/.ssh/id_rsa +0 -1
  143. data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +0 -1
  144. data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +0 -2
  145. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +0 -3
  146. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +0 -3
  147. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +0 -1
  148. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +0 -3
  149. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +0 -3
  150. data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +0 -3
  151. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +0 -3
  152. data/spec/data/cookbooks/openldap/libraries/openldap.rb +0 -4
  153. data/spec/data/cookbooks/openldap/metadata.rb +0 -8
  154. data/spec/data/cookbooks/openldap/recipes/default.rb +0 -4
  155. data/spec/data/cookbooks/openldap/recipes/gigantor.rb +0 -3
  156. data/spec/data/cookbooks/openldap/recipes/one.rb +0 -15
  157. data/spec/data/cookbooks/openldap/recipes/return.rb +0 -2
  158. data/spec/data/cookbooks/openldap/spec/spec_helper.rb +0 -0
  159. data/spec/data/cookbooks/openldap/templates/default/all_windows_line_endings.erb +0 -4
  160. data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +0 -1
  161. data/spec/data/cookbooks/openldap/templates/default/helpers.erb +0 -14
  162. data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +0 -1
  163. data/spec/data/cookbooks/openldap/templates/default/nested_openldap_partials.erb +0 -1
  164. data/spec/data/cookbooks/openldap/templates/default/nested_partial.erb +0 -1
  165. data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +0 -4
  166. data/spec/data/cookbooks/openldap/templates/default/openldap_nested_variable_stuff.erb +0 -1
  167. data/spec/data/cookbooks/openldap/templates/default/openldap_stuff.conf.erb +0 -1
  168. data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +0 -1
  169. data/spec/data/cookbooks/openldap/templates/default/some_windows_line_endings.erb +0 -4
  170. data/spec/data/cookbooks/openldap/templates/default/test.erb +0 -1
  171. data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +0 -1
  172. data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +0 -4
  173. data/spec/data/cookbooks/preseed/metadata.rb +0 -2
  174. data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +0 -1
  175. data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +0 -1
  176. data/spec/data/cookbooks/starter/chefignore +0 -8
  177. data/spec/data/cookbooks/starter/files/sample.txt +0 -1
  178. data/spec/data/cookbooks/starter/metadata.rb +0 -2
  179. data/spec/data/cookbooks/starter/recipes/default.rb +0 -4
  180. data/spec/data/cookbooks/supports-platform-constraints/metadata.rb +0 -5
  181. data/spec/data/cookbooks/wget/files/default/wget.response +0 -2
  182. data/spec/data/definitions/test.rb +0 -5
  183. data/spec/data/dsc_lcm.pfx +0 -0
  184. data/spec/data/environment-config.rb +0 -5
  185. data/spec/data/file-providers-method-snapshot-chef-11-4.json +0 -127
  186. data/spec/data/fileedit/blank +0 -0
  187. data/spec/data/fileedit/hosts +0 -4
  188. data/spec/data/gems/chef-integration-test-0.1.0.gem +0 -0
  189. data/spec/data/git_bundles/example-repo.gitbundle +0 -0
  190. data/spec/data/git_bundles/sinatra-test-app-with-callback-files.gitbundle +0 -0
  191. data/spec/data/git_bundles/sinatra-test-app-with-symlinks.gitbundle +0 -0
  192. data/spec/data/git_bundles/sinatra-test-app.gitbundle +0 -0
  193. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +0 -4
  194. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +0 -13
  195. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +0 -8
  196. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +0 -4
  197. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +0 -9
  198. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +0 -8
  199. data/spec/data/kitchen/chefignore +0 -6
  200. data/spec/data/kitchen/openldap/attributes/default.rb +0 -3
  201. data/spec/data/kitchen/openldap/attributes/robinson.rb +0 -3
  202. data/spec/data/kitchen/openldap/definitions/client.rb +0 -3
  203. data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +0 -3
  204. data/spec/data/kitchen/openldap/recipes/gigantor.rb +0 -3
  205. data/spec/data/kitchen/openldap/recipes/ignoreme.rb +0 -3
  206. data/spec/data/kitchen/openldap/recipes/woot.rb +0 -3
  207. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  208. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  209. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  210. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  211. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  212. data/spec/data/lwrp/providers/buck_passer.rb +0 -28
  213. data/spec/data/lwrp/providers/buck_passer_2.rb +0 -26
  214. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +0 -28
  215. data/spec/data/lwrp/providers/inline_compiler.rb +0 -24
  216. data/spec/data/lwrp/providers/monkey_name_printer.rb +0 -5
  217. data/spec/data/lwrp/providers/paint_drying_watcher.rb +0 -7
  218. data/spec/data/lwrp/providers/thumb_twiddler.rb +0 -7
  219. data/spec/data/lwrp/resources/bar.rb +0 -4
  220. data/spec/data/lwrp/resources/buck_passer.rb +0 -6
  221. data/spec/data/lwrp/resources/buck_passer_2.rb +0 -4
  222. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +0 -4
  223. data/spec/data/lwrp/resources/foo.rb +0 -6
  224. data/spec/data/lwrp/resources/inline_compiler.rb +0 -4
  225. data/spec/data/lwrp/resources/monkey_name_printer.rb +0 -6
  226. data/spec/data/lwrp/resources/paint_drying_watcher.rb +0 -4
  227. data/spec/data/lwrp/resources/thumb_twiddler.rb +0 -4
  228. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +0 -3
  229. data/spec/data/lwrp_const_scoping/resources/conflict.rb +0 -1
  230. data/spec/data/lwrp_override/providers/buck_passer.rb +0 -5
  231. data/spec/data/lwrp_override/resources/foo.rb +0 -11
  232. data/spec/data/mac_users/10.9.plist.xml +0 -560
  233. data/spec/data/mac_users/10.9.shadow.xml +0 -21
  234. data/spec/data/metadata/quick_start/metadata.rb +0 -14
  235. data/spec/data/mixin/invalid_data.rb +0 -3
  236. data/spec/data/mixin/real_data.rb +0 -2
  237. data/spec/data/nested.json +0 -2
  238. data/spec/data/nodes/default.rb +0 -15
  239. data/spec/data/nodes/test.example.com.rb +0 -17
  240. data/spec/data/nodes/test.rb +0 -15
  241. data/spec/data/null_config.rb +0 -1
  242. data/spec/data/object_loader/environments/test.json +0 -7
  243. data/spec/data/object_loader/environments/test.rb +0 -2
  244. data/spec/data/object_loader/environments/test_json_class.json +0 -8
  245. data/spec/data/object_loader/nodes/test.json +0 -7
  246. data/spec/data/object_loader/nodes/test.rb +0 -2
  247. data/spec/data/object_loader/nodes/test_json_class.json +0 -8
  248. data/spec/data/object_loader/roles/test.json +0 -7
  249. data/spec/data/object_loader/roles/test.rb +0 -2
  250. data/spec/data/object_loader/roles/test_json_class.json +0 -8
  251. data/spec/data/old_home_dir/my-dot-emacs +0 -0
  252. data/spec/data/old_home_dir/my-dot-vim +0 -0
  253. data/spec/data/partial_one.erb +0 -1
  254. data/spec/data/prefer_metadata_json/metadata.json +0 -51
  255. data/spec/data/prefer_metadata_json/metadata.rb +0 -6
  256. data/spec/data/prefer_metadata_json/recipes/default.rb +0 -0
  257. data/spec/data/recipes/test.rb +0 -7
  258. data/spec/data/recipes.tgz +0 -0
  259. data/spec/data/remote_directory_data/remote_dir_file.txt +0 -1
  260. data/spec/data/remote_directory_data/remote_subdirectory/remote_subdir_file.txt +0 -1
  261. data/spec/data/remote_file/nyan_cat.png +0 -0
  262. data/spec/data/remote_file/nyan_cat.png.gz +0 -0
  263. data/spec/data/root_alias_cookbooks/dup_attr/attributes/default.rb +0 -1
  264. data/spec/data/root_alias_cookbooks/dup_attr/attributes.rb +0 -1
  265. data/spec/data/root_alias_cookbooks/dup_attr/metadata.rb +0 -2
  266. data/spec/data/root_alias_cookbooks/dup_attr/recipe.rb +0 -3
  267. data/spec/data/root_alias_cookbooks/dup_recipe/attributes.rb +0 -1
  268. data/spec/data/root_alias_cookbooks/dup_recipe/metadata.rb +0 -2
  269. data/spec/data/root_alias_cookbooks/dup_recipe/recipe.rb +0 -3
  270. data/spec/data/root_alias_cookbooks/dup_recipe/recipes/default.rb +0 -3
  271. data/spec/data/root_alias_cookbooks/simple/attributes.rb +0 -1
  272. data/spec/data/root_alias_cookbooks/simple/metadata.rb +0 -2
  273. data/spec/data/root_alias_cookbooks/simple/recipe.rb +0 -3
  274. data/spec/data/rubygems.org/latest_specs.4.8.gz +0 -0
  275. data/spec/data/rubygems.org/nonexistent_gem +0 -0
  276. data/spec/data/rubygems.org/nonexistent_gem-info +0 -1
  277. data/spec/data/rubygems.org/sexp_processor +0 -0
  278. data/spec/data/rubygems.org/sexp_processor-4.15.1.gemspec.rz +0 -0
  279. data/spec/data/rubygems.org/sexp_processor-info +0 -50
  280. data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +0 -2
  281. data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +0 -1
  282. data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +0 -2
  283. data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +0 -2
  284. data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +0 -1
  285. data/spec/data/run_context/cookbooks/circular-dep1/recipes/default.rb +0 -0
  286. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +0 -2
  287. data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +0 -2
  288. data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +0 -1
  289. data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +0 -2
  290. data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +0 -2
  291. data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +0 -1
  292. data/spec/data/run_context/cookbooks/circular-dep2/recipes/default.rb +0 -0
  293. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +0 -2
  294. data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +0 -2
  295. data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +0 -2
  296. data/spec/data/run_context/cookbooks/dependency1/attributes/unparsed_file +0 -1
  297. data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +0 -2
  298. data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +0 -1
  299. data/spec/data/run_context/cookbooks/dependency1/definitions/unparsed_file +0 -1
  300. data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +0 -2
  301. data/spec/data/run_context/cookbooks/dependency1/libraries/unparsed_file +0 -1
  302. data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +0 -1
  303. data/spec/data/run_context/cookbooks/dependency1/providers/unparsed_file +0 -1
  304. data/spec/data/run_context/cookbooks/dependency1/recipes/default.rb +0 -0
  305. data/spec/data/run_context/cookbooks/dependency1/recipes/unparsed_file +0 -1
  306. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +0 -2
  307. data/spec/data/run_context/cookbooks/dependency1/resources/unparsed_file +0 -1
  308. data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +0 -2
  309. data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +0 -1
  310. data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +0 -2
  311. data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +0 -1
  312. data/spec/data/run_context/cookbooks/dependency2/recipes/default.rb +0 -0
  313. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +0 -2
  314. data/spec/data/run_context/cookbooks/include/recipes/default.rb +0 -24
  315. data/spec/data/run_context/cookbooks/include/recipes/includee.rb +0 -3
  316. data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +0 -2
  317. data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +0 -1
  318. data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +0 -1
  319. data/spec/data/run_context/cookbooks/no-default-attr/recipes/default.rb +0 -0
  320. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +0 -2
  321. data/spec/data/run_context/cookbooks/test/attributes/default.rb +0 -0
  322. data/spec/data/run_context/cookbooks/test/attributes/george.rb +0 -1
  323. data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +0 -9
  324. data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +0 -5
  325. data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +0 -1
  326. data/spec/data/run_context/cookbooks/test/providers/provider.rb +0 -1
  327. data/spec/data/run_context/cookbooks/test/recipes/default.rb +0 -5
  328. data/spec/data/run_context/cookbooks/test/recipes/one.rb +0 -7
  329. data/spec/data/run_context/cookbooks/test/recipes/two.rb +0 -7
  330. data/spec/data/run_context/cookbooks/test/resources/resource.rb +0 -3
  331. data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +0 -2
  332. data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +0 -1
  333. data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +0 -2
  334. data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +0 -2
  335. data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +0 -1
  336. data/spec/data/run_context/cookbooks/test-with-circular-deps/recipes/default.rb +0 -0
  337. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +0 -3
  338. data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +0 -2
  339. data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +0 -1
  340. data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +0 -1
  341. data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +0 -3
  342. data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +0 -1
  343. data/spec/data/run_context/cookbooks/test-with-deps/recipes/default.rb +0 -0
  344. data/spec/data/run_context/cookbooks/test-with-deps/recipes/server.rb +0 -0
  345. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +0 -2
  346. data/spec/data/run_context/nodes/run_context.rb +0 -5
  347. data/spec/data/sample_msu1.xml +0 -10
  348. data/spec/data/sample_msu2.xml +0 -14
  349. data/spec/data/sample_msu3.xml +0 -16
  350. data/spec/data/search_queries_to_transform.txt +0 -98
  351. data/spec/data/shef-config.rb +0 -11
  352. data/spec/data/snap_package/async_result_success.json +0 -6
  353. data/spec/data/snap_package/change_id_result.json +0 -175
  354. data/spec/data/snap_package/find_result_failure.json +0 -10
  355. data/spec/data/snap_package/find_result_success.json +0 -70
  356. data/spec/data/snap_package/get_by_name_result_failure.json +0 -10
  357. data/spec/data/snap_package/get_by_name_result_success.json +0 -38
  358. data/spec/data/snap_package/get_conf_success.json +0 -10
  359. data/spec/data/snap_package/result_failure.json +0 -9
  360. data/spec/data/ssl/5e707473.0 +0 -18
  361. data/spec/data/ssl/binary/chef-rspec-der.cert +0 -0
  362. data/spec/data/ssl/binary/chef-rspec-der.key +0 -0
  363. data/spec/data/ssl/chef-rspec.cert +0 -27
  364. data/spec/data/ssl/chef-rspec.key +0 -27
  365. data/spec/data/ssl/key.pem +0 -15
  366. data/spec/data/ssl/private_key.pem +0 -27
  367. data/spec/data/ssl/private_key_with_whitespace.pem +0 -32
  368. data/spec/data/standalone_cookbook/Gemfile +0 -1
  369. data/spec/data/standalone_cookbook/chefignore +0 -9
  370. data/spec/data/standalone_cookbook/recipes/default.rb +0 -3
  371. data/spec/data/standalone_cookbook/vendor/bundle/ruby/2.0.0/gems/multi_json-1.9.0/lib/multi_json.rb +0 -1
  372. data/spec/data/templates/chef-seattle20160930-4388-1crv7ef.txt +0 -1
  373. data/spec/data/templates/chef-seattle20160930-4388-jjfoae.txt +0 -1
  374. data/spec/data/templates/chef-seattle20160930-4388-umeq2c.txt +0 -1
  375. data/spec/data/templates/failed.erb +0 -5
  376. data/spec/data/templates/seattle.txt +0 -1
  377. data/spec/data/trusted_certs/example.crt +0 -31
  378. data/spec/data/trusted_certs/example_no_cn.crt +0 -32
  379. data/spec/data/trusted_certs/intermediate.pem +0 -38
  380. data/spec/data/trusted_certs/opscode.pem +0 -36
  381. data/spec/data/trusted_certs/root.pem +0 -22
  382. data/spec/data/windows_certificates/base64_test.cer +0 -20
  383. data/spec/data/windows_certificates/othertest.cer +0 -20
  384. data/spec/data/windows_certificates/test.cer +0 -20
  385. data/spec/data/windows_certificates/test.p7b +0 -0
  386. data/spec/data/windows_certificates/test.pem +0 -20
  387. data/spec/data/windows_certificates/test.pfx +0 -0
  388. data/spec/functional/application_spec.rb +0 -58
  389. data/spec/functional/assets/PkgA.1.0.0.0.bff +0 -0
  390. data/spec/functional/assets/PkgA.2.0.0.0.bff +0 -0
  391. data/spec/functional/assets/chefinittest +0 -36
  392. data/spec/functional/assets/chocolatey_feed/test-A.1.0.0.nupkg +0 -0
  393. data/spec/functional/assets/chocolatey_feed/test-A.1.5.0.nupkg +0 -0
  394. data/spec/functional/assets/chocolatey_feed/test-A.2.0.0.nupkg +0 -0
  395. data/spec/functional/assets/chocolatey_feed/test-B.1.0.0.nupkg +0 -0
  396. data/spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm +0 -0
  397. data/spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm +0 -0
  398. data/spec/functional/assets/inittest +0 -37
  399. data/spec/functional/assets/mytest-1.0-1.noarch.rpm +0 -0
  400. data/spec/functional/assets/mytest-2.0-1.noarch.rpm +0 -0
  401. data/spec/functional/assets/testchefsubsys +0 -10
  402. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  403. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.i686.rpm +0 -0
  404. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  405. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  406. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  407. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.src.rpm +0 -0
  408. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  409. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  410. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.i686.rpm +0 -0
  411. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  412. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  413. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  414. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.src.rpm +0 -0
  415. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  416. data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
  417. data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
  418. data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
  419. data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
  420. data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
  421. data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
  422. data/spec/functional/assets/yumrepo/repodata/filelists.xml.gz +0 -0
  423. data/spec/functional/assets/yumrepo/repodata/other.xml.gz +0 -0
  424. data/spec/functional/assets/yumrepo/repodata/primary.xml.gz +0 -0
  425. data/spec/functional/assets/yumrepo/repodata/repomd.xml +0 -21
  426. data/spec/functional/assets/yumrepo-empty/repodata/01a3b-filelists.sqlite.bz2 +0 -0
  427. data/spec/functional/assets/yumrepo-empty/repodata/401dc-filelists.xml.gz +0 -0
  428. data/spec/functional/assets/yumrepo-empty/repodata/5dc1e-primary.sqlite.bz2 +0 -0
  429. data/spec/functional/assets/yumrepo-empty/repodata/6bf96-other.xml.gz +0 -0
  430. data/spec/functional/assets/yumrepo-empty/repodata/7c365-other.sqlite.bz2 +0 -0
  431. data/spec/functional/assets/yumrepo-empty/repodata/dabe2-primary.xml.gz +0 -0
  432. data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +0 -55
  433. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  434. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.i686.rpm +0 -0
  435. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  436. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  437. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  438. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.src.rpm +0 -0
  439. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  440. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  441. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.i686.rpm +0 -0
  442. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  443. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  444. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  445. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.src.rpm +0 -0
  446. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  447. data/spec/functional/dsl/reboot_pending_spec.rb +0 -88
  448. data/spec/functional/dsl/registry_helper_spec.rb +0 -61
  449. data/spec/functional/event_loggers/windows_eventlog_spec.rb +0 -107
  450. data/spec/functional/file_content_management/deploy_strategies_spec.rb +0 -229
  451. data/spec/functional/http/simple_spec.rb +0 -146
  452. data/spec/functional/mixin/from_file_spec.rb +0 -93
  453. data/spec/functional/mixin/powershell_out_spec.rb +0 -51
  454. data/spec/functional/mixin/shell_out_spec.rb +0 -48
  455. data/spec/functional/mixin/user_context_spec.rb +0 -119
  456. data/spec/functional/notifications_spec.rb +0 -238
  457. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +0 -100
  458. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +0 -51
  459. data/spec/functional/rebooter_spec.rb +0 -117
  460. data/spec/functional/resource/aix_service_spec.rb +0 -145
  461. data/spec/functional/resource/aixinit_service_spec.rb +0 -210
  462. data/spec/functional/resource/apt_package_spec.rb +0 -383
  463. data/spec/functional/resource/archive_file_spec.rb +0 -88
  464. data/spec/functional/resource/bash_spec.rb +0 -55
  465. data/spec/functional/resource/batch_spec.rb +0 -34
  466. data/spec/functional/resource/bff_spec.rb +0 -120
  467. data/spec/functional/resource/chocolatey_package_spec.rb +0 -194
  468. data/spec/functional/resource/cookbook_file_spec.rb +0 -79
  469. data/spec/functional/resource/cron_spec.rb +0 -179
  470. data/spec/functional/resource/directory_spec.rb +0 -43
  471. data/spec/functional/resource/dnf_package_spec.rb +0 -1629
  472. data/spec/functional/resource/dpkg_package_spec.rb +0 -355
  473. data/spec/functional/resource/dsc_resource_spec.rb +0 -91
  474. data/spec/functional/resource/dsc_script_spec.rb +0 -476
  475. data/spec/functional/resource/execute_spec.rb +0 -171
  476. data/spec/functional/resource/file_spec.rb +0 -167
  477. data/spec/functional/resource/git_spec.rb +0 -330
  478. data/spec/functional/resource/group_spec.rb +0 -486
  479. data/spec/functional/resource/ifconfig_spec.rb +0 -178
  480. data/spec/functional/resource/insserv_spec.rb +0 -206
  481. data/spec/functional/resource/launchd_spec.rb +0 -232
  482. data/spec/functional/resource/link_spec.rb +0 -704
  483. data/spec/functional/resource/locale_spec.rb +0 -108
  484. data/spec/functional/resource/macos_userdefaults_spec.rb +0 -139
  485. data/spec/functional/resource/mount_spec.rb +0 -219
  486. data/spec/functional/resource/msu_package_spec.rb +0 -107
  487. data/spec/functional/resource/ohai_spec.rb +0 -54
  488. data/spec/functional/resource/plist_spec.rb +0 -25
  489. data/spec/functional/resource/powershell_package_source_spec.rb +0 -106
  490. data/spec/functional/resource/powershell_script_spec.rb +0 -588
  491. data/spec/functional/resource/reboot_spec.rb +0 -103
  492. data/spec/functional/resource/registry_spec.rb +0 -300
  493. data/spec/functional/resource/remote_directory_spec.rb +0 -220
  494. data/spec/functional/resource/remote_file_spec.rb +0 -418
  495. data/spec/functional/resource/rpm_spec.rb +0 -120
  496. data/spec/functional/resource/template_spec.rb +0 -245
  497. data/spec/functional/resource/timezone_spec.rb +0 -41
  498. data/spec/functional/resource/user/linux_user_spec.rb +0 -127
  499. data/spec/functional/resource/user/mac_user_spec.rb +0 -207
  500. data/spec/functional/resource/user/windows_spec.rb +0 -245
  501. data/spec/functional/resource/windows_certificate_spec.rb +0 -401
  502. data/spec/functional/resource/windows_env_spec.rb +0 -285
  503. data/spec/functional/resource/windows_firewall_rule_spec.rb +0 -93
  504. data/spec/functional/resource/windows_font_spec.rb +0 -52
  505. data/spec/functional/resource/windows_hostname_spec.rb +0 -91
  506. data/spec/functional/resource/windows_package_spec.rb +0 -193
  507. data/spec/functional/resource/windows_pagefile_spec.rb +0 -125
  508. data/spec/functional/resource/windows_path_spec.rb +0 -68
  509. data/spec/functional/resource/windows_security_policy_spec.rb +0 -86
  510. data/spec/functional/resource/windows_share_spec.rb +0 -103
  511. data/spec/functional/resource/windows_task_spec.rb +0 -1969
  512. data/spec/functional/resource/windows_user_privilege_spec.rb +0 -192
  513. data/spec/functional/resource/yum_package_spec.rb +0 -1739
  514. data/spec/functional/resource/zypper_package_spec.rb +0 -276
  515. data/spec/functional/root_alias_spec.rb +0 -78
  516. data/spec/functional/run_lock_spec.rb +0 -481
  517. data/spec/functional/shell_spec.rb +0 -149
  518. data/spec/functional/tiny_server_spec.rb +0 -79
  519. data/spec/functional/util/path_helper_spec.rb +0 -37
  520. data/spec/functional/version_spec.rb +0 -36
  521. data/spec/functional/win32/crypto_spec.rb +0 -54
  522. data/spec/functional/win32/registry_spec.rb +0 -618
  523. data/spec/functional/win32/security_spec.rb +0 -233
  524. data/spec/functional/win32/sid_spec.rb +0 -55
  525. data/spec/functional/win32/version_info_spec.rb +0 -50
  526. data/spec/functional/win32/versions_spec.rb +0 -115
  527. data/spec/integration/client/client_spec.rb +0 -963
  528. data/spec/integration/client/exit_code_spec.rb +0 -116
  529. data/spec/integration/client/fips_spec.rb +0 -29
  530. data/spec/integration/client/ipv6_spec.rb +0 -135
  531. data/spec/integration/client/open_ssl_spec.rb +0 -25
  532. data/spec/integration/compliance/compliance_spec.rb +0 -143
  533. data/spec/integration/ohai/ohai_spec.rb +0 -62
  534. data/spec/integration/recipes/accumulator_spec.rb +0 -245
  535. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +0 -176
  536. data/spec/integration/recipes/lwrp_spec.rb +0 -56
  537. data/spec/integration/recipes/noop_resource_spec.rb +0 -24
  538. data/spec/integration/recipes/notifies_spec.rb +0 -438
  539. data/spec/integration/recipes/notifying_block_spec.rb +0 -116
  540. data/spec/integration/recipes/provider_choice.rb +0 -38
  541. data/spec/integration/recipes/recipe_dsl_spec.rb +0 -1281
  542. data/spec/integration/recipes/remote_directory.rb +0 -74
  543. data/spec/integration/recipes/resource_action_spec.rb +0 -524
  544. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +0 -554
  545. data/spec/integration/recipes/resource_load_spec.rb +0 -315
  546. data/spec/integration/recipes/unified_mode_spec.rb +0 -947
  547. data/spec/integration/recipes/use_partial_spec.rb +0 -116
  548. data/spec/integration/solo/solo_spec.rb +0 -219
  549. data/spec/rcov.opts +0 -2
  550. data/spec/spec_helper.rb +0 -350
  551. data/spec/stress/win32/file_spec.rb +0 -37
  552. data/spec/stress/win32/memory_spec.rb +0 -22
  553. data/spec/stress/win32/security_spec.rb +0 -69
  554. data/spec/support/chef_helpers.rb +0 -79
  555. data/spec/support/key_helpers.rb +0 -102
  556. data/spec/support/lib/chef/provider/easy.rb +0 -35
  557. data/spec/support/lib/chef/provider/openldap_includer.rb +0 -29
  558. data/spec/support/lib/chef/provider/snakeoil.rb +0 -42
  559. data/spec/support/lib/chef/resource/cat.rb +0 -39
  560. data/spec/support/lib/chef/resource/one_two_three_four.rb +0 -36
  561. data/spec/support/lib/chef/resource/openldap_includer.rb +0 -28
  562. data/spec/support/lib/chef/resource/with_state.rb +0 -29
  563. data/spec/support/lib/chef/resource/zen_follower.rb +0 -36
  564. data/spec/support/lib/chef/resource/zen_master.rb +0 -39
  565. data/spec/support/lib/library_load_order.rb +0 -20
  566. data/spec/support/matchers/leak.rb +0 -96
  567. data/spec/support/mock/platform.rb +0 -33
  568. data/spec/support/platform_helpers.rb +0 -284
  569. data/spec/support/platforms/prof/gc.rb +0 -51
  570. data/spec/support/platforms/prof/win32.rb +0 -45
  571. data/spec/support/platforms/win32/spec_service.rb +0 -57
  572. data/spec/support/recipe_dsl_helper.rb +0 -83
  573. data/spec/support/ruby_installer.rb +0 -51
  574. data/spec/support/shared/context/config.rb +0 -18
  575. data/spec/support/shared/context/win32.rb +0 -34
  576. data/spec/support/shared/functional/diff_disabled.rb +0 -10
  577. data/spec/support/shared/functional/directory_resource.rb +0 -178
  578. data/spec/support/shared/functional/execute_resource.rb +0 -150
  579. data/spec/support/shared/functional/file_resource.rb +0 -1047
  580. data/spec/support/shared/functional/http.rb +0 -224
  581. data/spec/support/shared/functional/knife.rb +0 -37
  582. data/spec/support/shared/functional/securable_resource.rb +0 -654
  583. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -393
  584. data/spec/support/shared/functional/windows_script.rb +0 -260
  585. data/spec/support/shared/integration/integration_helper.rb +0 -122
  586. data/spec/support/shared/integration/knife_support.rb +0 -192
  587. data/spec/support/shared/matchers/exit_with_code.rb +0 -32
  588. data/spec/support/shared/matchers/match_environment_variable.rb +0 -17
  589. data/spec/support/shared/shared_examples.rb +0 -14
  590. data/spec/support/shared/unit/api_error_inspector.rb +0 -190
  591. data/spec/support/shared/unit/api_versioning.rb +0 -77
  592. data/spec/support/shared/unit/application_dot_d.rb +0 -82
  593. data/spec/support/shared/unit/execute_resource.rb +0 -166
  594. data/spec/support/shared/unit/file_system_support.rb +0 -70
  595. data/spec/support/shared/unit/knife_shared.rb +0 -39
  596. data/spec/support/shared/unit/mock_shellout.rb +0 -49
  597. data/spec/support/shared/unit/platform_introspector.rb +0 -189
  598. data/spec/support/shared/unit/provider/file.rb +0 -877
  599. data/spec/support/shared/unit/provider/package/package_shared.rb +0 -95
  600. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +0 -410
  601. data/spec/support/shared/unit/resource/static_provider_resolution.rb +0 -63
  602. data/spec/support/shared/unit/script_resource.rb +0 -74
  603. data/spec/support/shared/unit/user_and_client_shared.rb +0 -114
  604. data/spec/support/shared/unit/windows_script_resource.rb +0 -65
  605. data/spec/tiny_server.rb +0 -193
  606. data/spec/unit/action_collection_spec.rb +0 -19
  607. data/spec/unit/api_client/registration_spec.rb +0 -278
  608. data/spec/unit/api_client_spec.rb +0 -341
  609. data/spec/unit/api_client_v1_spec.rb +0 -455
  610. data/spec/unit/application/agent_spec.rb +0 -0
  611. data/spec/unit/application/apply_spec.rb +0 -116
  612. data/spec/unit/application/base_spec.rb +0 -40
  613. data/spec/unit/application/client_spec.rb +0 -588
  614. data/spec/unit/application/exit_code_spec.rb +0 -145
  615. data/spec/unit/application/server_spec.rb +0 -0
  616. data/spec/unit/application/solo_spec.rb +0 -218
  617. data/spec/unit/application_spec.rb +0 -587
  618. data/spec/unit/chef_class_spec.rb +0 -240
  619. data/spec/unit/chef_fs/config_spec.rb +0 -235
  620. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +0 -82
  621. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +0 -65
  622. data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +0 -63
  623. data/spec/unit/chef_fs/diff_spec.rb +0 -328
  624. data/spec/unit/chef_fs/file_pattern_spec.rb +0 -512
  625. data/spec/unit/chef_fs/file_system/cookbook_subdir_spec.rb +0 -34
  626. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +0 -45
  627. data/spec/unit/chef_fs/file_system/repository/base_file_spec.rb +0 -126
  628. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +0 -175
  629. data/spec/unit/chef_fs/file_system_spec.rb +0 -150
  630. data/spec/unit/chef_fs/path_util_spec.rb +0 -108
  631. data/spec/unit/chef_spec.rb +0 -25
  632. data/spec/unit/client_spec.rb +0 -881
  633. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -126
  634. data/spec/unit/compliance/fetcher/chef_server_spec.rb +0 -93
  635. data/spec/unit/compliance/input_spec.rb +0 -104
  636. data/spec/unit/compliance/profile_spec.rb +0 -120
  637. data/spec/unit/compliance/reporter/automate_spec.rb +0 -451
  638. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +0 -197
  639. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +0 -49
  640. data/spec/unit/compliance/runner_spec.rb +0 -354
  641. data/spec/unit/compliance/waiver_spec.rb +0 -104
  642. data/spec/unit/config_fetcher_spec.rb +0 -125
  643. data/spec/unit/config_spec.rb +0 -31
  644. data/spec/unit/cookbook/chefignore_spec.rb +0 -69
  645. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +0 -213
  646. data/spec/unit/cookbook/file_vendor_spec.rb +0 -123
  647. data/spec/unit/cookbook/gem_installer_spec.rb +0 -114
  648. data/spec/unit/cookbook/manifest_v0_spec.rb +0 -133
  649. data/spec/unit/cookbook/manifest_v2_spec.rb +0 -70
  650. data/spec/unit/cookbook/metadata_spec.rb +0 -610
  651. data/spec/unit/cookbook/synchronizer_spec.rb +0 -560
  652. data/spec/unit/cookbook/syntax_check_spec.rb +0 -229
  653. data/spec/unit/cookbook_loader_spec.rb +0 -265
  654. data/spec/unit/cookbook_manifest_spec.rb +0 -228
  655. data/spec/unit/cookbook_spec.rb +0 -62
  656. data/spec/unit/cookbook_uploader_spec.rb +0 -205
  657. data/spec/unit/cookbook_version_file_specificity_spec.rb +0 -623
  658. data/spec/unit/cookbook_version_spec.rb +0 -341
  659. data/spec/unit/daemon_spec.rb +0 -179
  660. data/spec/unit/data_bag_item_spec.rb +0 -387
  661. data/spec/unit/data_bag_spec.rb +0 -263
  662. data/spec/unit/data_collector/config_validation_spec.rb +0 -208
  663. data/spec/unit/data_collector_spec.rb +0 -1076
  664. data/spec/unit/decorator/lazy_array_spec.rb +0 -58
  665. data/spec/unit/decorator/lazy_spec.rb +0 -39
  666. data/spec/unit/decorator_spec.rb +0 -142
  667. data/spec/unit/delayed_evaluator_spec.rb +0 -35
  668. data/spec/unit/deprecated_spec.rb +0 -65
  669. data/spec/unit/deprecation_spec.rb +0 -129
  670. data/spec/unit/digester_spec.rb +0 -49
  671. data/spec/unit/dsl/data_query_spec.rb +0 -108
  672. data/spec/unit/dsl/declare_resource_spec.rb +0 -374
  673. data/spec/unit/dsl/platform_introspection_spec.rb +0 -160
  674. data/spec/unit/dsl/reboot_pending_spec.rb +0 -87
  675. data/spec/unit/dsl/recipe_spec.rb +0 -76
  676. data/spec/unit/dsl/registry_helper_spec.rb +0 -52
  677. data/spec/unit/dsl/render_helpers_spec.rb +0 -102
  678. data/spec/unit/dsl/resources_spec.rb +0 -85
  679. data/spec/unit/dsl/secret_spec.rb +0 -175
  680. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +0 -97
  681. data/spec/unit/encrypted_data_bag_item_spec.rb +0 -439
  682. data/spec/unit/environment_spec.rb +0 -476
  683. data/spec/unit/event_dispatch/dispatcher_spec.rb +0 -172
  684. data/spec/unit/event_dispatch/dsl_spec.rb +0 -83
  685. data/spec/unit/exceptions_spec.rb +0 -132
  686. data/spec/unit/file_access_control_spec.rb +0 -308
  687. data/spec/unit/file_cache_spec.rb +0 -178
  688. data/spec/unit/file_content_management/deploy/cp_spec.rb +0 -44
  689. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +0 -113
  690. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +0 -232
  691. data/spec/unit/file_content_management/tempfile_spec.rb +0 -115
  692. data/spec/unit/formatters/base_spec.rb +0 -100
  693. data/spec/unit/formatters/doc_spec.rb +0 -110
  694. data/spec/unit/formatters/error_description_spec.rb +0 -141
  695. data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +0 -76
  696. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +0 -265
  697. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +0 -126
  698. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +0 -43
  699. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +0 -26
  700. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +0 -26
  701. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +0 -191
  702. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +0 -91
  703. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +0 -155
  704. data/spec/unit/guard_interpreter_spec.rb +0 -41
  705. data/spec/unit/handler/json_file_spec.rb +0 -63
  706. data/spec/unit/handler_spec.rb +0 -308
  707. data/spec/unit/http/api_versions_spec.rb +0 -100
  708. data/spec/unit/http/authenticator_spec.rb +0 -247
  709. data/spec/unit/http/basic_client_spec.rb +0 -102
  710. data/spec/unit/http/http_request_spec.rb +0 -97
  711. data/spec/unit/http/json_input_spec.rb +0 -128
  712. data/spec/unit/http/simple_spec.rb +0 -32
  713. data/spec/unit/http/socketless_chef_zero_client_spec.rb +0 -174
  714. data/spec/unit/http/ssl_policies_spec.rb +0 -228
  715. data/spec/unit/http/validate_content_length_spec.rb +0 -207
  716. data/spec/unit/http_spec.rb +0 -235
  717. data/spec/unit/json_compat_spec.rb +0 -73
  718. data/spec/unit/key_spec.rb +0 -631
  719. data/spec/unit/log/syslog_spec.rb +0 -47
  720. data/spec/unit/log/winevt_spec.rb +0 -62
  721. data/spec/unit/lwrp_spec.rb +0 -693
  722. data/spec/unit/mixin/api_version_request_handling_spec.rb +0 -126
  723. data/spec/unit/mixin/checksum_spec.rb +0 -82
  724. data/spec/unit/mixin/convert_to_class_name_spec.rb +0 -54
  725. data/spec/unit/mixin/deep_merge_spec.rb +0 -357
  726. data/spec/unit/mixin/default_paths_spec.rb +0 -92
  727. data/spec/unit/mixin/deprecation_spec.rb +0 -57
  728. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +0 -96
  729. data/spec/unit/mixin/homebrew_spec.rb +0 -118
  730. data/spec/unit/mixin/lazy_module_include.rb +0 -71
  731. data/spec/unit/mixin/openssl_helper_spec.rb +0 -897
  732. data/spec/unit/mixin/params_validate_spec.rb +0 -422
  733. data/spec/unit/mixin/powershell_exec_spec.rb +0 -90
  734. data/spec/unit/mixin/powershell_out_spec.rb +0 -106
  735. data/spec/unit/mixin/powershell_type_coercions_spec.rb +0 -84
  736. data/spec/unit/mixin/properties_spec.rb +0 -107
  737. data/spec/unit/mixin/proxified_socket_spec.rb +0 -97
  738. data/spec/unit/mixin/securable_spec.rb +0 -313
  739. data/spec/unit/mixin/shell_out_spec.rb +0 -308
  740. data/spec/unit/mixin/subclass_directive_spec.rb +0 -45
  741. data/spec/unit/mixin/template_spec.rb +0 -317
  742. data/spec/unit/mixin/unformatter_spec.rb +0 -60
  743. data/spec/unit/mixin/uris_spec.rb +0 -57
  744. data/spec/unit/mixin/user_context_spec.rb +0 -99
  745. data/spec/unit/mixin/versioned_api_spec.rb +0 -128
  746. data/spec/unit/mixin/which.rb +0 -170
  747. data/spec/unit/mixin/why_run_spec.rb +0 -53
  748. data/spec/unit/mixin/windows_architecture_helper_spec.rb +0 -85
  749. data/spec/unit/mixin/xml_escape_spec.rb +0 -54
  750. data/spec/unit/monologger_spec.rb +0 -45
  751. data/spec/unit/node/attribute_spec.rb +0 -1322
  752. data/spec/unit/node/immutable_collections_spec.rb +0 -258
  753. data/spec/unit/node/vivid_mash_spec.rb +0 -500
  754. data/spec/unit/node_map_spec.rb +0 -276
  755. data/spec/unit/node_spec.rb +0 -2038
  756. data/spec/unit/org_group_spec.rb +0 -45
  757. data/spec/unit/org_spec.rb +0 -196
  758. data/spec/unit/platform/query_helpers_spec.rb +0 -48
  759. data/spec/unit/policy_builder/dynamic_spec.rb +0 -256
  760. data/spec/unit/policy_builder/expand_node_object_spec.rb +0 -311
  761. data/spec/unit/policy_builder/policyfile_spec.rb +0 -960
  762. data/spec/unit/policy_builder_spec.rb +0 -26
  763. data/spec/unit/property/state_spec.rb +0 -514
  764. data/spec/unit/property/validation_spec.rb +0 -813
  765. data/spec/unit/property_spec.rb +0 -1329
  766. data/spec/unit/provider/apt_preference_spec.rb +0 -91
  767. data/spec/unit/provider/apt_repository_spec.rb +0 -370
  768. data/spec/unit/provider/apt_update_spec.rb +0 -119
  769. data/spec/unit/provider/batch_spec.rb +0 -130
  770. data/spec/unit/provider/cookbook_file/content_spec.rb +0 -39
  771. data/spec/unit/provider/cookbook_file_spec.rb +0 -59
  772. data/spec/unit/provider/cron/unix_spec.rb +0 -144
  773. data/spec/unit/provider/cron_spec.rb +0 -1252
  774. data/spec/unit/provider/directory_spec.rb +0 -289
  775. data/spec/unit/provider/dsc_resource_spec.rb +0 -313
  776. data/spec/unit/provider/dsc_script_spec.rb +0 -173
  777. data/spec/unit/provider/execute_spec.rb +0 -244
  778. data/spec/unit/provider/file/content_spec.rb +0 -114
  779. data/spec/unit/provider/file_spec.rb +0 -58
  780. data/spec/unit/provider/git_spec.rb +0 -822
  781. data/spec/unit/provider/group/dscl_spec.rb +0 -339
  782. data/spec/unit/provider/group/gpasswd_spec.rb +0 -119
  783. data/spec/unit/provider/group/groupadd_spec.rb +0 -195
  784. data/spec/unit/provider/group/groupmod_spec.rb +0 -136
  785. data/spec/unit/provider/group/pw_spec.rb +0 -141
  786. data/spec/unit/provider/group/solaris_spec.rb +0 -106
  787. data/spec/unit/provider/group/usermod_spec.rb +0 -112
  788. data/spec/unit/provider/group/windows_spec.rb +0 -130
  789. data/spec/unit/provider/group_spec.rb +0 -285
  790. data/spec/unit/provider/http_request_spec.rb +0 -147
  791. data/spec/unit/provider/ifconfig/aix_spec.rb +0 -180
  792. data/spec/unit/provider/ifconfig/debian_spec.rb +0 -332
  793. data/spec/unit/provider/ifconfig/redhat_spec.rb +0 -83
  794. data/spec/unit/provider/ifconfig_spec.rb +0 -247
  795. data/spec/unit/provider/launchd_spec.rb +0 -234
  796. data/spec/unit/provider/link_spec.rb +0 -425
  797. data/spec/unit/provider/log_spec.rb +0 -94
  798. data/spec/unit/provider/mdadm_spec.rb +0 -138
  799. data/spec/unit/provider/mount/aix_spec.rb +0 -277
  800. data/spec/unit/provider/mount/linux_spec.rb +0 -131
  801. data/spec/unit/provider/mount/mount_spec.rb +0 -590
  802. data/spec/unit/provider/mount/solaris_spec.rb +0 -822
  803. data/spec/unit/provider/mount/windows_spec.rb +0 -150
  804. data/spec/unit/provider/mount_spec.rb +0 -222
  805. data/spec/unit/provider/package/apt_spec.rb +0 -703
  806. data/spec/unit/provider/package/bff_spec.rb +0 -188
  807. data/spec/unit/provider/package/cab_spec.rb +0 -272
  808. data/spec/unit/provider/package/chocolatey_spec.rb +0 -574
  809. data/spec/unit/provider/package/deb_spec.rb +0 -135
  810. data/spec/unit/provider/package/dnf/python_helper_spec.rb +0 -36
  811. data/spec/unit/provider/package/dpkg_spec.rb +0 -314
  812. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +0 -147
  813. data/spec/unit/provider/package/freebsd/port_spec.rb +0 -151
  814. data/spec/unit/provider/package/homebrew_spec.rb +0 -402
  815. data/spec/unit/provider/package/ips_spec.rb +0 -233
  816. data/spec/unit/provider/package/macports_spec.rb +0 -203
  817. data/spec/unit/provider/package/msu_spec.rb +0 -283
  818. data/spec/unit/provider/package/openbsd_spec.rb +0 -136
  819. data/spec/unit/provider/package/pacman_spec.rb +0 -109
  820. data/spec/unit/provider/package/paludis_spec.rb +0 -134
  821. data/spec/unit/provider/package/portage_spec.rb +0 -179
  822. data/spec/unit/provider/package/powershell_spec.rb +0 -565
  823. data/spec/unit/provider/package/rpm_spec.rb +0 -440
  824. data/spec/unit/provider/package/rubygems_spec.rb +0 -1187
  825. data/spec/unit/provider/package/smartos_spec.rb +0 -110
  826. data/spec/unit/provider/package/snap_spec.rb +0 -208
  827. data/spec/unit/provider/package/solaris_spec.rb +0 -168
  828. data/spec/unit/provider/package/windows/exe_spec.rb +0 -201
  829. data/spec/unit/provider/package/windows/msi_spec.rb +0 -168
  830. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +0 -78
  831. data/spec/unit/provider/package/windows_spec.rb +0 -441
  832. data/spec/unit/provider/package/yum/python_helper_spec.rb +0 -30
  833. data/spec/unit/provider/package/yum/yum_cache_spec.rb +0 -109
  834. data/spec/unit/provider/package/zypper_spec.rb +0 -494
  835. data/spec/unit/provider/package_spec.rb +0 -791
  836. data/spec/unit/provider/powershell_script_spec.rb +0 -157
  837. data/spec/unit/provider/registry_key_spec.rb +0 -487
  838. data/spec/unit/provider/remote_directory_spec.rb +0 -236
  839. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +0 -245
  840. data/spec/unit/provider/remote_file/content_spec.rb +0 -253
  841. data/spec/unit/provider/remote_file/fetcher_spec.rb +0 -95
  842. data/spec/unit/provider/remote_file/ftp_spec.rb +0 -217
  843. data/spec/unit/provider/remote_file/http_spec.rb +0 -334
  844. data/spec/unit/provider/remote_file/local_file_spec.rb +0 -105
  845. data/spec/unit/provider/remote_file/network_file_spec.rb +0 -50
  846. data/spec/unit/provider/remote_file/sftp_spec.rb +0 -150
  847. data/spec/unit/provider/remote_file_spec.rb +0 -61
  848. data/spec/unit/provider/route_spec.rb +0 -268
  849. data/spec/unit/provider/ruby_block_spec.rb +0 -45
  850. data/spec/unit/provider/script_spec.rb +0 -67
  851. data/spec/unit/provider/service/aix_service_spec.rb +0 -195
  852. data/spec/unit/provider/service/aixinit_service_spec.rb +0 -272
  853. data/spec/unit/provider/service/arch_service_spec.rb +0 -326
  854. data/spec/unit/provider/service/debian_service_spec.rb +0 -273
  855. data/spec/unit/provider/service/freebsd_service_spec.rb +0 -621
  856. data/spec/unit/provider/service/gentoo_service_spec.rb +0 -145
  857. data/spec/unit/provider/service/init_service_spec.rb +0 -235
  858. data/spec/unit/provider/service/insserv_service_spec.rb +0 -75
  859. data/spec/unit/provider/service/invokercd_service_spec.rb +0 -211
  860. data/spec/unit/provider/service/macosx_spec.rb +0 -337
  861. data/spec/unit/provider/service/openbsd_service_spec.rb +0 -553
  862. data/spec/unit/provider/service/redhat_spec.rb +0 -253
  863. data/spec/unit/provider/service/simple_service_spec.rb +0 -171
  864. data/spec/unit/provider/service/solaris_smf_service_spec.rb +0 -292
  865. data/spec/unit/provider/service/systemd_service_spec.rb +0 -504
  866. data/spec/unit/provider/service/upstart_service_spec.rb +0 -322
  867. data/spec/unit/provider/service/windows_spec.rb +0 -986
  868. data/spec/unit/provider/service_spec.rb +0 -168
  869. data/spec/unit/provider/subversion_spec.rb +0 -364
  870. data/spec/unit/provider/systemd_unit_spec.rb +0 -1039
  871. data/spec/unit/provider/template/content_spec.rb +0 -169
  872. data/spec/unit/provider/template_spec.rb +0 -86
  873. data/spec/unit/provider/user/aix_spec.rb +0 -96
  874. data/spec/unit/provider/user/linux_spec.rb +0 -178
  875. data/spec/unit/provider/user/mac_spec.rb +0 -38
  876. data/spec/unit/provider/user/pw_spec.rb +0 -235
  877. data/spec/unit/provider/user/solaris_spec.rb +0 -177
  878. data/spec/unit/provider/user/windows_spec.rb +0 -198
  879. data/spec/unit/provider/user_spec.rb +0 -520
  880. data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +0 -46
  881. data/spec/unit/provider/windows_env_spec.rb +0 -385
  882. data/spec/unit/provider/windows_path_spec.rb +0 -60
  883. data/spec/unit/provider/windows_task_spec.rb +0 -436
  884. data/spec/unit/provider/yum_repository_spec.rb +0 -35
  885. data/spec/unit/provider/zypper_repository_spec.rb +0 -169
  886. data/spec/unit/provider_spec.rb +0 -215
  887. data/spec/unit/pure_application_spec.rb +0 -32
  888. data/spec/unit/recipe_spec.rb +0 -703
  889. data/spec/unit/resource/alternatives_spec.rb +0 -120
  890. data/spec/unit/resource/apt_package_spec.rb +0 -71
  891. data/spec/unit/resource/apt_preference_spec.rb +0 -39
  892. data/spec/unit/resource/apt_repository_spec.rb +0 -79
  893. data/spec/unit/resource/apt_update_spec.rb +0 -44
  894. data/spec/unit/resource/archive_file_spec.rb +0 -466
  895. data/spec/unit/resource/bash_spec.rb +0 -45
  896. data/spec/unit/resource/batch_spec.rb +0 -46
  897. data/spec/unit/resource/bff_package_spec.rb +0 -51
  898. data/spec/unit/resource/breakpoint_spec.rb +0 -64
  899. data/spec/unit/resource/build_essential_spec.rb +0 -77
  900. data/spec/unit/resource/cab_package_spec.rb +0 -64
  901. data/spec/unit/resource/chef_client_config_spec.rb +0 -145
  902. data/spec/unit/resource/chef_client_cron_spec.rb +0 -161
  903. data/spec/unit/resource/chef_client_launchd_spec.rb +0 -132
  904. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +0 -186
  905. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +0 -108
  906. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -68
  907. data/spec/unit/resource/chef_gem_spec.rb +0 -122
  908. data/spec/unit/resource/chef_handler_spec.rb +0 -40
  909. data/spec/unit/resource/chef_sleep_spec.rb +0 -30
  910. data/spec/unit/resource/chef_vault_secret_spec.rb +0 -40
  911. data/spec/unit/resource/chocolatey_config_spec.rb +0 -93
  912. data/spec/unit/resource/chocolatey_feature_spec.rb +0 -89
  913. data/spec/unit/resource/chocolatey_installer_spec.rb +0 -151
  914. data/spec/unit/resource/chocolatey_package_spec.rb +0 -106
  915. data/spec/unit/resource/chocolatey_source_spec.rb +0 -151
  916. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +0 -45
  917. data/spec/unit/resource/conditional_spec.rb +0 -254
  918. data/spec/unit/resource/cookbook_file_spec.rb +0 -93
  919. data/spec/unit/resource/cron_access_spec.rb +0 -36
  920. data/spec/unit/resource/cron_d_spec.rb +0 -84
  921. data/spec/unit/resource/cron_spec.rb +0 -167
  922. data/spec/unit/resource/csh_spec.rb +0 -45
  923. data/spec/unit/resource/directory_spec.rb +0 -69
  924. data/spec/unit/resource/dmg_package_spec.rb +0 -39
  925. data/spec/unit/resource/dnf_package_spec.rb +0 -114
  926. data/spec/unit/resource/dpkg_package_spec.rb +0 -72
  927. data/spec/unit/resource/dsc_resource_spec.rb +0 -102
  928. data/spec/unit/resource/dsc_script_spec.rb +0 -134
  929. data/spec/unit/resource/execute_spec.rb +0 -282
  930. data/spec/unit/resource/file/verification/json_spec.rb +0 -72
  931. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +0 -103
  932. data/spec/unit/resource/file/verification/yaml_spec.rb +0 -67
  933. data/spec/unit/resource/file/verification_spec.rb +0 -147
  934. data/spec/unit/resource/file_spec.rb +0 -127
  935. data/spec/unit/resource/freebsd_package_spec.rb +0 -77
  936. data/spec/unit/resource/gem_package_spec.rb +0 -67
  937. data/spec/unit/resource/group_spec.rb +0 -165
  938. data/spec/unit/resource/helpers/cron_validations_spec.rb +0 -81
  939. data/spec/unit/resource/homebrew_cask_spec.rb +0 -58
  940. data/spec/unit/resource/homebrew_package_spec.rb +0 -68
  941. data/spec/unit/resource/homebrew_tap_spec.rb +0 -44
  942. data/spec/unit/resource/homebrew_update_spec.rb +0 -30
  943. data/spec/unit/resource/hostname_spec.rb +0 -47
  944. data/spec/unit/resource/http_request_spec.rb +0 -65
  945. data/spec/unit/resource/ifconfig_spec.rb +0 -101
  946. data/spec/unit/resource/inspec_input_spec.rb +0 -300
  947. data/spec/unit/resource/inspec_waiver_file_entry_spec.rb +0 -80
  948. data/spec/unit/resource/inspec_waiver_spec.rb +0 -312
  949. data/spec/unit/resource/ips_package_spec.rb +0 -54
  950. data/spec/unit/resource/kernel_module_spec.rb +0 -45
  951. data/spec/unit/resource/ksh_spec.rb +0 -45
  952. data/spec/unit/resource/launchd_spec.rb +0 -48
  953. data/spec/unit/resource/link_spec.rb +0 -120
  954. data/spec/unit/resource/locale_spec.rb +0 -189
  955. data/spec/unit/resource/log_spec.rb +0 -64
  956. data/spec/unit/resource/macos_pkg_spec.rb +0 -38
  957. data/spec/unit/resource/macos_user_defaults_spec.rb +0 -76
  958. data/spec/unit/resource/macosx_service.rb +0 -37
  959. data/spec/unit/resource/macports_package_spec.rb +0 -51
  960. data/spec/unit/resource/mdadm_spec.rb +0 -104
  961. data/spec/unit/resource/mount_spec.rb +0 -201
  962. data/spec/unit/resource/msu_package_spec.rb +0 -67
  963. data/spec/unit/resource/notify_group_spec.rb +0 -34
  964. data/spec/unit/resource/ohai_hint_spec.rb +0 -44
  965. data/spec/unit/resource/ohai_spec.rb +0 -185
  966. data/spec/unit/resource/openbsd_package_spec.rb +0 -58
  967. data/spec/unit/resource/openssl_dhparam_spec.rb +0 -61
  968. data/spec/unit/resource/openssl_ec_private_key_spec.rb +0 -64
  969. data/spec/unit/resource/openssl_ec_public_key_spec.rb +0 -43
  970. data/spec/unit/resource/openssl_rsa_private_key_spec.rb +0 -64
  971. data/spec/unit/resource/openssl_rsa_public_key_spec.rb +0 -43
  972. data/spec/unit/resource/openssl_x509_certificate_spec.rb +0 -72
  973. data/spec/unit/resource/openssl_x509_crl_spec.rb +0 -61
  974. data/spec/unit/resource/openssl_x509_request.rb +0 -68
  975. data/spec/unit/resource/osx_profile_spec.rb +0 -360
  976. data/spec/unit/resource/package_spec.rb +0 -98
  977. data/spec/unit/resource/pacman_package_spec.rb +0 -46
  978. data/spec/unit/resource/paludis_package_spec.rb +0 -36
  979. data/spec/unit/resource/perl_spec.rb +0 -44
  980. data/spec/unit/resource/plist_spec.rb +0 -130
  981. data/spec/unit/resource/portage_package_spec.rb +0 -46
  982. data/spec/unit/resource/powershell_package_source_spec.rb +0 -220
  983. data/spec/unit/resource/powershell_package_spec.rb +0 -98
  984. data/spec/unit/resource/powershell_script_spec.rb +0 -65
  985. data/spec/unit/resource/python_spec.rb +0 -40
  986. data/spec/unit/resource/reboot_spec.rb +0 -47
  987. data/spec/unit/resource/registry_key_spec.rb +0 -215
  988. data/spec/unit/resource/remote_directory_spec.rb +0 -118
  989. data/spec/unit/resource/remote_file_spec.rb +0 -220
  990. data/spec/unit/resource/resource_notification_spec.rb +0 -169
  991. data/spec/unit/resource/rest_resource_spec.rb +0 -381
  992. data/spec/unit/resource/rhsm_errata_level_spec.rb +0 -50
  993. data/spec/unit/resource/rhsm_errata_spec.rb +0 -39
  994. data/spec/unit/resource/rhsm_register_spec.rb +0 -308
  995. data/spec/unit/resource/rhsm_repo_spec.rb +0 -70
  996. data/spec/unit/resource/rhsm_subscription_spec.rb +0 -145
  997. data/spec/unit/resource/route_spec.rb +0 -100
  998. data/spec/unit/resource/rpm_package_spec.rb +0 -62
  999. data/spec/unit/resource/ruby_block_spec.rb +0 -58
  1000. data/spec/unit/resource/ruby_spec.rb +0 -39
  1001. data/spec/unit/resource/scm/git_spec.rb +0 -110
  1002. data/spec/unit/resource/scm/scm.rb +0 -122
  1003. data/spec/unit/resource/scm/subversion_spec.rb +0 -90
  1004. data/spec/unit/resource/script_spec.rb +0 -57
  1005. data/spec/unit/resource/selinux_boolean_spec.rb +0 -92
  1006. data/spec/unit/resource/selinux_fcontext_spec.rb +0 -65
  1007. data/spec/unit/resource/selinux_install_spec.rb +0 -60
  1008. data/spec/unit/resource/selinux_login_spec.rb +0 -73
  1009. data/spec/unit/resource/selinux_module_spec.rb +0 -55
  1010. data/spec/unit/resource/selinux_permissive_spec.rb +0 -39
  1011. data/spec/unit/resource/selinux_port_spec.rb +0 -42
  1012. data/spec/unit/resource/selinux_state_spec.rb +0 -46
  1013. data/spec/unit/resource/selinux_user_spec.rb +0 -92
  1014. data/spec/unit/resource/service_spec.rb +0 -203
  1015. data/spec/unit/resource/smartos_package_spec.rb +0 -52
  1016. data/spec/unit/resource/snap_package_spec.rb +0 -60
  1017. data/spec/unit/resource/solaris_package_spec.rb +0 -52
  1018. data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +0 -50
  1019. data/spec/unit/resource/sudo_spec.rb +0 -99
  1020. data/spec/unit/resource/swap_file_spec.rb +0 -39
  1021. data/spec/unit/resource/sysctl_spec.rb +0 -76
  1022. data/spec/unit/resource/systemd_unit_spec.rb +0 -130
  1023. data/spec/unit/resource/template_spec.rb +0 -222
  1024. data/spec/unit/resource/timezone_spec.rb +0 -102
  1025. data/spec/unit/resource/user/linux_user_spec.rb +0 -42
  1026. data/spec/unit/resource/user/windows_user_spec.rb +0 -36
  1027. data/spec/unit/resource/user_spec.rb +0 -121
  1028. data/spec/unit/resource/user_ulimit_spec.rb +0 -66
  1029. data/spec/unit/resource/windows_ad_join_spec.rb +0 -55
  1030. data/spec/unit/resource/windows_audit_policy_spec.rb +0 -64
  1031. data/spec/unit/resource/windows_auto_run_spec.rb +0 -50
  1032. data/spec/unit/resource/windows_certificate_spec.rb +0 -95
  1033. data/spec/unit/resource/windows_defender_exclusion_spec.rb +0 -62
  1034. data/spec/unit/resource/windows_defender_spec.rb +0 -71
  1035. data/spec/unit/resource/windows_dfs_folder_spec.rb +0 -39
  1036. data/spec/unit/resource/windows_dfs_namespace_spec.rb +0 -39
  1037. data/spec/unit/resource/windows_dfs_server_spec.rb +0 -34
  1038. data/spec/unit/resource/windows_dns_record_spec.rb +0 -55
  1039. data/spec/unit/resource/windows_dns_zone_spec.rb +0 -51
  1040. data/spec/unit/resource/windows_env_spec.rb +0 -75
  1041. data/spec/unit/resource/windows_feature_dism_spec.rb +0 -57
  1042. data/spec/unit/resource/windows_feature_powershell_spec.rb +0 -83
  1043. data/spec/unit/resource/windows_feature_spec.rb +0 -64
  1044. data/spec/unit/resource/windows_firewall_profile_spec.rb +0 -77
  1045. data/spec/unit/resource/windows_firewall_rule_spec.rb +0 -510
  1046. data/spec/unit/resource/windows_font_spec.rb +0 -43
  1047. data/spec/unit/resource/windows_package_spec.rb +0 -125
  1048. data/spec/unit/resource/windows_pagefile_spec.rb +0 -44
  1049. data/spec/unit/resource/windows_path_spec.rb +0 -40
  1050. data/spec/unit/resource/windows_printer_port_spec.rb +0 -62
  1051. data/spec/unit/resource/windows_printer_spec.rb +0 -52
  1052. data/spec/unit/resource/windows_service_spec.rb +0 -122
  1053. data/spec/unit/resource/windows_share_spec.rb +0 -48
  1054. data/spec/unit/resource/windows_shortcut_spec.rb +0 -38
  1055. data/spec/unit/resource/windows_task_spec.rb +0 -403
  1056. data/spec/unit/resource/windows_uac_spec.rb +0 -50
  1057. data/spec/unit/resource/windows_update_settings_spec.rb +0 -64
  1058. data/spec/unit/resource/windows_user_privilege_spec.rb +0 -55
  1059. data/spec/unit/resource/windows_workgroup_spec.rb +0 -74
  1060. data/spec/unit/resource/yum_package_spec.rb +0 -159
  1061. data/spec/unit/resource/yum_repository_spec.rb +0 -156
  1062. data/spec/unit/resource/zypper_package_spec.rb +0 -51
  1063. data/spec/unit/resource/zypper_repository_spec.rb +0 -115
  1064. data/spec/unit/resource_builder_spec.rb +0 -1
  1065. data/spec/unit/resource_collection/resource_list_spec.rb +0 -137
  1066. data/spec/unit/resource_collection/resource_set_spec.rb +0 -244
  1067. data/spec/unit/resource_collection/stepable_iterator_spec.rb +0 -144
  1068. data/spec/unit/resource_collection_spec.rb +0 -408
  1069. data/spec/unit/resource_definition_spec.rb +0 -117
  1070. data/spec/unit/resource_inspector_spec.rb +0 -101
  1071. data/spec/unit/resource_reporter_spec.rb +0 -802
  1072. data/spec/unit/resource_resolver_spec.rb +0 -52
  1073. data/spec/unit/resource_spec.rb +0 -1484
  1074. data/spec/unit/role_spec.rb +0 -363
  1075. data/spec/unit/run_context/child_run_context_spec.rb +0 -126
  1076. data/spec/unit/run_context/cookbook_compiler_spec.rb +0 -236
  1077. data/spec/unit/run_context_spec.rb +0 -257
  1078. data/spec/unit/run_list/run_list_expansion_spec.rb +0 -147
  1079. data/spec/unit/run_list/run_list_item_spec.rb +0 -117
  1080. data/spec/unit/run_list/versioned_recipe_list_spec.rb +0 -197
  1081. data/spec/unit/run_list_spec.rb +0 -312
  1082. data/spec/unit/run_lock_spec.rb +0 -144
  1083. data/spec/unit/run_status_spec.rb +0 -144
  1084. data/spec/unit/runner_spec.rb +0 -397
  1085. data/spec/unit/scan_access_control_spec.rb +0 -183
  1086. data/spec/unit/search/query_spec.rb +0 -291
  1087. data/spec/unit/secret_fetcher/akeyless_vault_spec.rb +0 -37
  1088. data/spec/unit/secret_fetcher/aws_secrets_manager_spec.rb +0 -70
  1089. data/spec/unit/secret_fetcher/azure_key_vault_spec.rb +0 -149
  1090. data/spec/unit/secret_fetcher/hashi_vault_spec.rb +0 -126
  1091. data/spec/unit/secret_fetcher_spec.rb +0 -82
  1092. data/spec/unit/server_api_spec.rb +0 -151
  1093. data/spec/unit/server_api_versions_spec.rb +0 -66
  1094. data/spec/unit/shell/model_wrapper_spec.rb +0 -96
  1095. data/spec/unit/shell/shell_ext_spec.rb +0 -196
  1096. data/spec/unit/shell/shell_session_spec.rb +0 -218
  1097. data/spec/unit/shell_spec.rb +0 -178
  1098. data/spec/unit/train_transport_spec.rb +0 -85
  1099. data/spec/unit/user_spec.rb +0 -275
  1100. data/spec/unit/user_v1_spec.rb +0 -585
  1101. data/spec/unit/util/backup_spec.rb +0 -141
  1102. data/spec/unit/util/diff_spec.rb +0 -562
  1103. data/spec/unit/util/dsc/configuration_generator_spec.rb +0 -272
  1104. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +0 -248
  1105. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +0 -192
  1106. data/spec/unit/util/dsc/resource_store.rb +0 -78
  1107. data/spec/unit/util/editor_spec.rb +0 -152
  1108. data/spec/unit/util/file_edit_spec.rb +0 -224
  1109. data/spec/unit/util/powershell/ps_credential_spec.rb +0 -51
  1110. data/spec/unit/util/selinux_spec.rb +0 -160
  1111. data/spec/unit/util/threaded_job_queue_spec.rb +0 -60
  1112. data/spec/unit/util/windows/logon_session_spec.rb +0 -285
  1113. data/spec/unit/version/platform_spec.rb +0 -60
  1114. data/spec/unit/version_class_spec.rb +0 -171
  1115. data/spec/unit/version_constraint/platform_spec.rb +0 -45
  1116. data/spec/unit/version_constraint_spec.rb +0 -179
  1117. data/spec/unit/version_string_spec.rb +0 -79
  1118. data/spec/unit/win32/error_spec.rb +0 -77
  1119. data/spec/unit/win32/link_spec.rb +0 -73
  1120. data/spec/unit/win32/registry_spec.rb +0 -394
  1121. data/spec/unit/win32/security_spec.rb +0 -136
  1122. data/tasks/rspec.rb +0 -87
@@ -1,1076 +0,0 @@
1
- #
2
- # Copyright:: Copyright (c) Chef Software Inc.
3
- # License:: Apache License, Version 2.0
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
- #
17
-
18
- require "spec_helper"
19
- require "chef/data_collector"
20
- require "socket"
21
-
22
- #
23
- # FIXME FIXME FIXME: What we need to do here is have the ability to construct a real resource collection
24
- # with some test resources that will correctly be up-to-date/updated/skipped/failed/unprocessed and really
25
- # converge a client with them (sort of chefspec-like construction of a Chef::Client but with the actions
26
- # actually running -- another testing requirement similar to the integration testing framework in cheffish as well)
27
- #
28
- describe Chef::DataCollector do
29
- let(:node) { Chef::Node.new }
30
-
31
- let(:rest_client) { double("Chef::ServerAPI (mock)") }
32
-
33
- let(:data_collector) { Chef::DataCollector::Reporter.new(events) }
34
-
35
- let(:new_resource) do
36
- new_resource = Chef::Resource::File.new("/tmp/a-file.txt")
37
- new_resource.checksum nil
38
- # This next line is a hack to work around the fact that the name property will not have been autovivified yet
39
- # in these unit tests which breaks some assumptions. Really the Formatters::ErrorMapper.resource_failed and
40
- # related APIs need to properly walk and get properties on the resource rather than walking through instance
41
- # variables, but the ErrorMappers probably pre-date the conversion to properties. But this next line is necesary
42
- # to populate the name_property instance variable (which will happen naturally during the course of running the
43
- # provider, so I don't think this is a user-visibile bug).
44
- new_resource.path
45
- new_resource
46
- end
47
-
48
- let(:current_resource) do
49
- current_resource = Chef::Resource::File.new("/tmp/a-file.txt")
50
- current_resource.checksum "1234123412341234123412341234123412341234123412341234123412341234"
51
- current_resource
52
- end
53
-
54
- let(:after_resource) do
55
- after_resource = Chef::Resource::File.new("/tmp/a-file.txt")
56
- after_resource.checksum "6789678967896789678967896789678967896789678967896789678967896789"
57
- after_resource
58
- end
59
-
60
- let(:events) { Chef::EventDispatch::Dispatcher.new }
61
-
62
- let(:run_context) { Chef::RunContext.new(node, {}, events) }
63
-
64
- let(:run_status) { Chef::RunStatus.new(node, events) }
65
-
66
- let(:start_time) { Time.new }
67
-
68
- let(:end_time) { Time.new + 20 }
69
-
70
- let(:run_list) { node.run_list }
71
-
72
- let(:cookbooks) { node.fetch("cookbooks", {}) }
73
-
74
- let(:run_id) { run_status.run_id }
75
-
76
- let(:expansion) { Chef::RunList::RunListExpansion.new("_default", run_list.run_list_items) }
77
-
78
- let(:cookbook_name) { "monkey" }
79
-
80
- let(:recipe_name) { "atlas" }
81
-
82
- let(:node_name) { "spitfire" }
83
-
84
- let(:cookbook_version) { double("Cookbook::Version", version: "1.2.3") }
85
-
86
- let(:resource_record) { [] }
87
-
88
- let(:exception) { nil }
89
-
90
- let(:action_collection) { Chef::ActionCollection.new(events) }
91
-
92
- let(:expected_node) { node }
93
-
94
- let(:expected_expansion) { expansion }
95
-
96
- let(:expected_run_list) { run_list.for_json }
97
-
98
- let(:node_uuid) { "779196c6-f94f-4501-9dae-af8081ab4d3a" }
99
-
100
- let(:request_id) { "5db5d686-d18d-4234-a86a-28848c35dfc2" }
101
-
102
- before do
103
- allow(Time).to receive(:now).and_return(start_time, end_time)
104
- allow(Chef::HTTP::SimpleJSON).to receive(:new).and_return(rest_client)
105
- allow(Chef::ServerAPI).to receive(:new).and_return(rest_client)
106
- node.name(node_name) unless node.is_a?(Hash)
107
- new_resource.cookbook_name = cookbook_name
108
- new_resource.recipe_name = recipe_name
109
- allow(new_resource).to receive(:cookbook_version).and_return(cookbook_version)
110
-
111
- run_list << "recipe[lobster]" << "role[rage]" << "recipe[fist]"
112
- events.register(data_collector)
113
- events.register(action_collection)
114
- run_status.run_id = request_id
115
- events.run_start(Chef::VERSION, run_status)
116
- Chef::Config[:chef_guid] = node_uuid
117
- # we're guaranteed that those events are processed or else the data collector has no hope
118
- # all other events could see the chef-client crash before executing them and the data collector
119
- # still needs to work in those cases, so must come later, and the failure cases must be tested.
120
- end
121
-
122
- def expect_start_message(keys = nil)
123
- keys ||= {
124
- "chef_server_fqdn" => "localhost",
125
- "entity_uuid" => node_uuid,
126
- "id" => request_id,
127
- "message_type" => "run_start",
128
- "message_version" => "1.0.0",
129
- "node_name" => node_name,
130
- "organization_name" => "unknown_organization",
131
- "run_id" => request_id,
132
- "source" => "chef_client",
133
- "start_time" => start_time.utc.iso8601,
134
- }
135
- expect(rest_client).to receive(:post).with(
136
- nil,
137
- hash_including(keys),
138
- { "Content-Type" => "application/json" }
139
- )
140
- end
141
-
142
- def expect_converge_message(keys)
143
- keys["message_type"] = "run_converge"
144
- keys["message_version"] = "1.1.0"
145
- # if (keys.key?("node") && !keys["node"].empty?)
146
- # expect(rest_client).to receive(:post) do |_a, hash, _b|
147
- # require 'pry'; binding.pry
148
- # end
149
- # else
150
- expect(rest_client).to receive(:post).with(
151
- nil,
152
- hash_including(keys),
153
- { "Content-Type" => "application/json" }
154
- )
155
- # end
156
- end
157
-
158
- def resource_has_diff(new_resource, status)
159
- new_resource.respond_to?(:diff) && %w{updated failed}.include?(status)
160
- end
161
-
162
- def resource_record_for(new_resource, before_resource, after_resource, action, status, duration)
163
- {
164
- "after" => after_resource&.state_for_resource_reporter || {},
165
- "before" => before_resource&.state_for_resource_reporter || {},
166
- "cookbook_name" => cookbook_name,
167
- "cookbook_version" => cookbook_version&.version,
168
- "delta" => resource_has_diff(new_resource, status) ? new_resource.diff : "",
169
- "duration" => duration,
170
- "id" => new_resource.identity,
171
- "ignore_failure" => new_resource.ignore_failure,
172
- "name" => new_resource.name,
173
- "recipe_name" => recipe_name,
174
- "result" => action.to_s,
175
- "status" => status,
176
- "type" => new_resource.resource_name.to_sym,
177
- }
178
- end
179
-
180
- def send_run_failed_or_completed_event
181
- status == "success" ? events.run_completed(node, run_status) : events.run_failed(exception, run_status)
182
- end
183
-
184
- shared_examples_for "sends a converge message" do
185
- it "has a chef_server_fqdn" do
186
- expect_converge_message("chef_server_fqdn" => "localhost")
187
- send_run_failed_or_completed_event
188
- end
189
-
190
- it "has a start_time" do
191
- expect_converge_message("start_time" => start_time.utc.iso8601)
192
- send_run_failed_or_completed_event
193
- end
194
-
195
- it "has a end_time" do
196
- expect_converge_message("end_time" => end_time.utc.iso8601)
197
- send_run_failed_or_completed_event
198
- end
199
-
200
- it "has a entity_uuid" do
201
- expect_converge_message("entity_uuid" => node_uuid)
202
- send_run_failed_or_completed_event
203
- end
204
-
205
- it "has a expanded_run_list" do
206
- expect_converge_message("expanded_run_list" => expected_expansion)
207
- send_run_failed_or_completed_event
208
- end
209
-
210
- it "has a node" do
211
- expect_converge_message("node" => expected_node.is_a?(Chef::Node) ? expected_node.data_for_save : expected_node)
212
- send_run_failed_or_completed_event
213
- end
214
-
215
- it "has a node_name" do
216
- expect_converge_message("node_name" => node_name)
217
- send_run_failed_or_completed_event
218
- end
219
-
220
- it "has an organization" do
221
- expect_converge_message("organization_name" => "unknown_organization")
222
- send_run_failed_or_completed_event
223
- end
224
-
225
- it "has a policy_group" do
226
- expect_converge_message("policy_group" => nil)
227
- send_run_failed_or_completed_event
228
- end
229
-
230
- it "has a policy_name" do
231
- expect_converge_message("policy_name" => nil)
232
- send_run_failed_or_completed_event
233
- end
234
-
235
- it "has a run_id" do
236
- expect_converge_message("run_id" => request_id)
237
- send_run_failed_or_completed_event
238
- end
239
-
240
- it "has a run_list" do
241
- expect_converge_message("run_list" => expected_run_list)
242
- send_run_failed_or_completed_event
243
- end
244
-
245
- it "has a cookbooks" do
246
- expect_converge_message("cookbooks" => cookbooks)
247
- send_run_failed_or_completed_event
248
- end
249
-
250
- it "has a source" do
251
- expect_converge_message("source" => "chef_client")
252
- send_run_failed_or_completed_event
253
- end
254
-
255
- it "has a status" do
256
- expect_converge_message("status" => status)
257
- send_run_failed_or_completed_event
258
- end
259
-
260
- it "has no deprecations" do
261
- expect_converge_message("deprecations" => [])
262
- send_run_failed_or_completed_event
263
- end
264
-
265
- it "has an error field" do
266
- if exception
267
- expect_converge_message(
268
- "error" => {
269
- "class" => exception.class,
270
- "message" => exception.message,
271
- "backtrace" => exception.backtrace,
272
- "description" => error_description,
273
- }
274
- )
275
- else
276
- expect(rest_client).to receive(:post).with(
277
- nil,
278
- hash_excluding("error"),
279
- { "Content-Type" => "application/json" }
280
- )
281
- end
282
- send_run_failed_or_completed_event
283
- end
284
-
285
- it "has a total resource count of zero" do
286
- expect_converge_message("total_resource_count" => total_resource_count)
287
- send_run_failed_or_completed_event
288
- end
289
-
290
- it "has a updated resource count of zero" do
291
- expect_converge_message("updated_resource_count" => updated_resource_count)
292
- send_run_failed_or_completed_event
293
- end
294
-
295
- it "includes the resource record" do
296
- expect_converge_message("resources" => resource_record)
297
- send_run_failed_or_completed_event
298
- end
299
- end
300
-
301
- describe "when the run fails during node load" do
302
- let(:exception) { Exception.new("imperial to metric conversion error") }
303
- let(:error_description) { Chef::Formatters::ErrorMapper.registration_failed(node_name, exception, Chef::Config).for_json }
304
- let(:total_resource_count) { 0 }
305
- let(:updated_resource_count) { 0 }
306
- let(:status) { "failure" }
307
- let(:expected_node) { {} } # no node because that failed
308
- let(:expected_run_list) { [] } # no run_list without a node
309
- let(:expected_expansion) { {} } # no run_list expansion without a run_list
310
- let(:resource_record) { [] } # and certainly no resources
311
-
312
- before do
313
- events.registration_failed(node_name, exception, Chef::Config)
314
- run_status.stop_clock
315
- run_status.exception = exception
316
- expect_start_message
317
- end
318
-
319
- it_behaves_like "sends a converge message"
320
- end
321
-
322
- describe "when the run fails during node load" do
323
- let(:exception) { Exception.new("imperial to metric conversion error") }
324
- let(:error_description) { Chef::Formatters::ErrorMapper.node_load_failed(node_name, exception, Chef::Config).for_json }
325
- let(:total_resource_count) { 0 }
326
- let(:updated_resource_count) { 0 }
327
- let(:status) { "failure" }
328
- let(:expected_node) { {} } # no node because that failed
329
- let(:expected_run_list) { [] } # no run_list without a node
330
- let(:expected_expansion) { {} } # no run_list expansion without a run_list
331
- let(:resource_record) { [] } # and certainly no resources
332
-
333
- before do
334
- events.node_load_failed(node_name, exception, Chef::Config)
335
- run_status.stop_clock
336
- run_status.exception = exception
337
- expect_start_message
338
- end
339
-
340
- it_behaves_like "sends a converge message"
341
- end
342
-
343
- describe "when the run fails during run_list_expansion" do
344
- let(:exception) { Exception.new("imperial to metric conversion error") }
345
- let(:error_description) { Chef::Formatters::ErrorMapper.run_list_expand_failed(node, exception).for_json }
346
- let(:total_resource_count) { 0 }
347
- let(:updated_resource_count) { 0 }
348
- let(:status) { "failure" }
349
- let(:expected_expansion) { {} } # no run_list expanasion when it failed
350
- let(:resource_record) { [] } # and no resources
351
-
352
- before do
353
- events.node_load_success(node)
354
- run_status.node = node
355
- events.run_list_expand_failed(node, exception)
356
- run_status.stop_clock
357
- run_status.exception = exception
358
- expect_start_message
359
- end
360
-
361
- it_behaves_like "sends a converge message"
362
- end
363
-
364
- describe "when the run fails during cookbook resolution" do
365
- let(:exception) { Exception.new("imperial to metric conversion error") }
366
- let(:error_description) { Chef::Formatters::ErrorMapper.cookbook_resolution_failed(node, exception).for_json }
367
- let(:total_resource_count) { 0 }
368
- let(:updated_resource_count) { 0 }
369
- let(:status) { "failure" }
370
- let(:resource_record) { [] } # and no resources
371
-
372
- before do
373
- events.node_load_success(node)
374
- run_status.node = node
375
- events.run_list_expanded(expansion)
376
- run_status.start_clock
377
- expect_start_message
378
- events.cookbook_resolution_failed(node, exception)
379
- run_status.stop_clock
380
- run_status.exception = exception
381
- end
382
-
383
- it_behaves_like "sends a converge message"
384
- end
385
-
386
- describe "when the run fails during cookbook synchronization" do
387
- let(:exception) { Exception.new("imperial to metric conversion error") }
388
- let(:error_description) { Chef::Formatters::ErrorMapper.cookbook_sync_failed(node, exception).for_json }
389
- let(:total_resource_count) { 0 }
390
- let(:updated_resource_count) { 0 }
391
- let(:status) { "failure" }
392
- let(:resource_record) { [] } # and no resources
393
-
394
- before do
395
- events.node_load_success(node)
396
- run_status.node = node
397
- events.run_list_expanded(expansion)
398
- run_status.start_clock
399
- expect_start_message
400
- events.cookbook_sync_failed(node, exception)
401
- run_status.stop_clock
402
- run_status.exception = exception
403
- end
404
-
405
- it_behaves_like "sends a converge message"
406
- end
407
-
408
- describe "after successfully starting the run" do
409
- before do
410
- # these events happen in this order in the client
411
- events.node_load_success(node)
412
- run_status.node = node
413
- events.run_list_expanded(expansion)
414
- run_status.start_clock
415
- end
416
-
417
- describe "run_start_message" do
418
- it "sends a run_start_message" do
419
- expect_start_message
420
- events.run_started(run_status)
421
- end
422
-
423
- it "extracts the hostname from the chef_server_url" do
424
- Chef::Config[:chef_server_url] = "https://spacex.rockets.local"
425
- expect_start_message("chef_server_fqdn" => "spacex.rockets.local")
426
- events.run_started(run_status)
427
- end
428
-
429
- it "extracts the organization from the chef_server_url" do
430
- Chef::Config[:chef_server_url] = "https://spacex.rockets.local/organizations/gnc"
431
- expect_start_message("organization_name" => "gnc")
432
- events.run_started(run_status)
433
- end
434
-
435
- it "extracts the organization from the chef_server_url if there are extra slashes" do
436
- Chef::Config[:chef_server_url] = "https://spacex.rockets.local///organizations///gnc"
437
- expect_start_message("organization_name" => "gnc")
438
- events.run_started(run_status)
439
- end
440
-
441
- it "extracts the organization from the chef_server_url if there is a trailing slash" do
442
- Chef::Config[:chef_server_url] = "https://spacex.rockets.local/organizations/gnc/"
443
- expect_start_message("organization_name" => "gnc")
444
- events.run_started(run_status)
445
- end
446
-
447
- it "sets 'unknown_organization' if the cher_server_url does not contain one" do
448
- Chef::Config[:chef_server_url] = "https://spacex.rockets.local"
449
- expect_start_message("organization_name" => "unknown_organization")
450
- events.run_started(run_status)
451
- end
452
-
453
- it "still uses the chef_server_url in non-solo mode even if the data_collector organization is set" do
454
- Chef::Config[:data_collector][:organization] = "blue-origin"
455
- Chef::Config[:chef_server_url] = "https://spacex.rockets.local/organizations/gnc/"
456
- expect_start_message("organization_name" => "gnc")
457
- events.run_started(run_status)
458
- end
459
-
460
- describe "in legacy mode" do
461
- before do
462
- Chef::Config[:solo_legacy_mode] = true
463
- Chef::Config[:data_collector][:server_url] = "https://nasa.rockets.local/organizations/sls"
464
- end
465
-
466
- it "we get the data collector organization" do
467
- Chef::Config[:data_collector][:organization] = "blue-origin"
468
- Chef::Config[:chef_server_url] = "https://spacex.rockets.local/organizations/gnc/" # should be ignored
469
- expect_start_message("organization_name" => "blue-origin")
470
- events.run_started(run_status)
471
- end
472
-
473
- it "if the data collector org is unset we get 'chef_solo'" do
474
- Chef::Config[:chef_server_url] = "https://spacex.rockets.local/organizations/gnc/" # should be ignored
475
- expect_start_message("organization_name" => "chef_solo")
476
- events.run_started(run_status)
477
- end
478
-
479
- it "sets the source" do
480
- expect_start_message("source" => "chef_solo")
481
- events.run_started(run_status)
482
- end
483
- end
484
-
485
- describe "in local mode" do
486
- before do
487
- Chef::Config[:local_mode] = true
488
- Chef::Config[:data_collector][:server_url] = "https://nasa.rockets.local/organizations/sls"
489
- end
490
-
491
- it "we get the data collector organization" do
492
- Chef::Config[:data_collector][:organization] = "blue-origin"
493
- Chef::Config[:chef_server_url] = "https://spacex.rockets.local/organizations/gnc/" # should be ignored
494
- expect_start_message("organization_name" => "blue-origin")
495
- events.run_started(run_status)
496
- end
497
-
498
- it "if the data collector org is unset we get 'chef_solo'" do
499
- Chef::Config[:chef_server_url] = "https://spacex.rockets.local/organizations/gnc/" # should be ignored
500
- expect_start_message("organization_name" => "chef_solo")
501
- events.run_started(run_status)
502
- end
503
-
504
- it "sets the source" do
505
- expect_start_message("source" => "chef_solo")
506
- events.run_started(run_status)
507
- end
508
- end
509
- end
510
-
511
- describe "converge messages" do
512
- before do
513
- expect_start_message
514
- events.run_started(run_status)
515
- events.cookbook_compilation_start(run_context)
516
- end
517
-
518
- context "with no resources" do
519
- let(:total_resource_count) { 0 }
520
- let(:updated_resource_count) { 0 }
521
- let(:resource_record) { [ ] }
522
- let(:status) { "success" }
523
-
524
- before do
525
- run_status.stop_clock
526
- end
527
-
528
- it_behaves_like "sends a converge message"
529
-
530
- it "sets the policy_group" do
531
- node.policy_group = "acceptionsal"
532
- expect_converge_message("policy_group" => "acceptionsal")
533
- send_run_failed_or_completed_event
534
- end
535
-
536
- it "has a policy_name" do
537
- node.policy_name = "webappdb"
538
- expect_converge_message("policy_name" => "webappdb")
539
- send_run_failed_or_completed_event
540
- end
541
-
542
- it "collects deprecation messages" do
543
- location = Chef::Log.caller_location
544
- events.deprecation(Chef::Deprecated.create(:internal_api, "deprecation warning", location))
545
- expect_converge_message("deprecations" => [{ location: location, message: "deprecation warning", url: "https://docs.chef.io/deprecations_internal_api/" }])
546
- send_run_failed_or_completed_event
547
- end
548
- end
549
-
550
- context "when the run contains a file resource that is up-to-date" do
551
- let(:total_resource_count) { 1 }
552
- let(:updated_resource_count) { 0 }
553
- let(:resource_record) { [ resource_record_for(new_resource, current_resource, after_resource, :create, "up-to-date", "1234") ] }
554
- let(:status) { "success" }
555
-
556
- before do
557
- events.resource_action_start(new_resource, :create)
558
- events.resource_current_state_loaded(new_resource, :create, current_resource)
559
- events.resource_up_to_date(new_resource, :create)
560
- events.resource_after_state_loaded(new_resource, :create, after_resource)
561
- new_resource.instance_variable_set(:@elapsed_time, 1.2345)
562
- events.resource_completed(new_resource)
563
- events.converge_complete
564
- run_status.stop_clock
565
- end
566
-
567
- it_behaves_like "sends a converge message"
568
- end
569
-
570
- context "when the run contains a file resource that is up-to-date from a @recipe_files, returns nil for the version" do
571
- let(:total_resource_count) { 1 }
572
- let(:updated_resource_count) { 0 }
573
- let(:cookbook_name) { "@recipe_files" }
574
- let(:resource_record) { [ resource_record_for(new_resource, current_resource, after_resource, :create, "up-to-date", "1234") ] }
575
- let(:status) { "success" }
576
- let(:cookbook_version) { nil }
577
-
578
- before do
579
- allow(new_resource).to receive(:cookbook_version).and_call_original
580
- events.resource_action_start(new_resource, :create)
581
- events.resource_current_state_loaded(new_resource, :create, current_resource)
582
- events.resource_up_to_date(new_resource, :create)
583
- events.resource_after_state_loaded(new_resource, :create, after_resource)
584
- new_resource.instance_variable_set(:@elapsed_time, 1.2345)
585
- events.resource_completed(new_resource)
586
- events.converge_complete
587
- run_status.stop_clock
588
- end
589
-
590
- it_behaves_like "sends a converge message"
591
- end
592
-
593
- context "when the run contains a file resource that is updated" do
594
- let(:total_resource_count) { 1 }
595
- let(:updated_resource_count) { 1 }
596
- let(:resource_record) { [ resource_record_for(new_resource, current_resource, after_resource, :create, "updated", "1234") ] }
597
- let(:status) { "success" }
598
-
599
- before do
600
- events.resource_action_start(new_resource, :create)
601
- events.resource_current_state_loaded(new_resource, :create, current_resource)
602
- events.resource_updated(new_resource, :create)
603
- events.resource_after_state_loaded(new_resource, :create, after_resource)
604
- new_resource.instance_variable_set(:@elapsed_time, 1.2345)
605
- events.resource_completed(new_resource)
606
- events.converge_complete
607
- run_status.stop_clock
608
- end
609
-
610
- it_behaves_like "sends a converge message"
611
- end
612
-
613
- context "When there is an embedded resource, it includes the sub-resource in the report" do
614
- let(:total_resource_count) { 2 }
615
- let(:updated_resource_count) { 2 }
616
- let(:implementation_resource) do
617
- r = Chef::Resource::CookbookFile.new("/preseed-file.txt")
618
- r.cookbook_name = cookbook_name
619
- r.recipe_name = recipe_name
620
- allow(r).to receive(:cookbook_version).and_return(cookbook_version)
621
- r
622
- end
623
- let(:resource_record) { [ resource_record_for(implementation_resource, implementation_resource, implementation_resource, :create, "updated", "2345"), resource_record_for(new_resource, current_resource, after_resource, :create, "updated", "1234") ] }
624
- let(:status) { "success" }
625
-
626
- before do
627
- events.resource_action_start(new_resource, :create)
628
- events.resource_current_state_loaded(new_resource, :create, current_resource)
629
-
630
- events.resource_action_start(implementation_resource, :create)
631
- events.resource_current_state_loaded(implementation_resource, :create, implementation_resource)
632
- events.resource_updated(implementation_resource, :create)
633
- events.resource_after_state_loaded(implementation_resource, :create, implementation_resource)
634
- implementation_resource.instance_variable_set(:@elapsed_time, 2.3456)
635
- events.resource_completed(implementation_resource)
636
-
637
- events.resource_updated(new_resource, :create)
638
- events.resource_after_state_loaded(new_resource, :create, after_resource)
639
- new_resource.instance_variable_set(:@elapsed_time, 1.2345)
640
- events.resource_completed(new_resource)
641
- events.converge_complete
642
- run_status.stop_clock
643
- end
644
-
645
- it_behaves_like "sends a converge message"
646
- end
647
-
648
- context "when the run contains a file resource that is skipped due to a block conditional" do
649
- let(:total_resource_count) { 1 }
650
- let(:updated_resource_count) { 0 }
651
- let(:resource_record) do
652
- rec = resource_record_for(new_resource, nil, nil, :create, "skipped", "1234")
653
- rec["conditional"] = "not_if { #code block }" # FIXME: "#code block" is poor, is there some way to fix this?
654
- [ rec ]
655
- end
656
- let(:status) { "success" }
657
-
658
- before do
659
- conditional = (new_resource.not_if { true }).first
660
- events.resource_action_start(new_resource, :create)
661
- events.resource_skipped(new_resource, :create, conditional)
662
- new_resource.instance_variable_set(:@elapsed_time, 1.2345)
663
- events.resource_completed(new_resource)
664
- events.converge_complete
665
- run_status.stop_clock
666
- end
667
-
668
- it_behaves_like "sends a converge message"
669
- end
670
-
671
- context "when the run contains a file resource that is skipped due to a string conditional" do
672
- let(:total_resource_count) { 1 }
673
- let(:updated_resource_count) { 0 }
674
- let(:resource_record) do
675
- rec = resource_record_for(new_resource, nil, nil, :create, "skipped", "1234")
676
- rec["conditional"] = 'not_if "true"'
677
- [ rec ]
678
- end
679
- let(:status) { "success" }
680
-
681
- before do
682
- conditional = (new_resource.not_if "true").first
683
- events.resource_action_start(new_resource, :create)
684
- events.resource_skipped(new_resource, :create, conditional)
685
- new_resource.instance_variable_set(:@elapsed_time, 1.2345)
686
- events.resource_completed(new_resource)
687
- events.converge_complete
688
- run_status.stop_clock
689
- end
690
-
691
- it_behaves_like "sends a converge message"
692
- end
693
-
694
- context "when the run contains a file resource that threw an exception" do
695
- let(:exception) { Exception.new("imperial to metric conversion error") }
696
- let(:error_description) { Chef::Formatters::ErrorMapper.resource_failed(new_resource, :create, exception).for_json }
697
- let(:total_resource_count) { 1 }
698
- let(:updated_resource_count) { 0 }
699
- let(:resource_record) do
700
- rec = resource_record_for(new_resource, current_resource, nil, :create, "failed", "1234")
701
- rec["error_message"] = "imperial to metric conversion error"
702
- rec["error"] = {
703
- "class" => exception.class,
704
- "message" => exception.message,
705
- "backtrace" => exception.backtrace,
706
- "description" => error_description,
707
- }
708
-
709
- [ rec ]
710
- end
711
- let(:status) { "failure" }
712
-
713
- before do
714
- exception.set_backtrace(caller)
715
- events.resource_action_start(new_resource, :create)
716
- events.resource_current_state_loaded(new_resource, :create, current_resource)
717
- events.resource_failed(new_resource, :create, exception)
718
- new_resource.instance_variable_set(:@elapsed_time, 1.2345)
719
- events.resource_completed(new_resource)
720
- events.converge_complete
721
- run_status.stop_clock
722
- run_status.exception = exception
723
- end
724
-
725
- it_behaves_like "sends a converge message"
726
- end
727
-
728
- context "when the run contains a file resource that threw an exception in load_current_resource" do
729
- let(:exception) { Exception.new("imperial to metric conversion error") }
730
- let(:error_description) { Chef::Formatters::ErrorMapper.resource_failed(new_resource, :create, exception).for_json }
731
- let(:total_resource_count) { 1 }
732
- let(:updated_resource_count) { 0 }
733
- let(:resource_record) do
734
- rec = resource_record_for(new_resource, nil, nil, :create, "failed", "1234")
735
- rec["before"] = {}
736
- rec["error_message"] = "imperial to metric conversion error"
737
- rec["error"] = {
738
- "class" => exception.class,
739
- "message" => exception.message,
740
- "backtrace" => exception.backtrace,
741
- "description" => error_description,
742
- }
743
-
744
- [ rec ]
745
- end
746
- let(:status) { "failure" }
747
-
748
- before do
749
- exception.set_backtrace(caller)
750
- events.resource_action_start(new_resource, :create)
751
- # resource_current_state_loaded is skipped
752
- events.resource_failed(new_resource, :create, exception)
753
- new_resource.instance_variable_set(:@elapsed_time, 1.2345)
754
- events.resource_completed(new_resource)
755
- events.converge_failed(exception)
756
- run_status.stop_clock
757
- run_status.exception = exception
758
- end
759
-
760
- it_behaves_like "sends a converge message"
761
- end
762
-
763
- context "when the resource collection contains a resource that was unprocessed due to prior errors" do
764
- let(:exception) { Exception.new("imperial to metric conversion error") }
765
- let(:error_description) { Chef::Formatters::ErrorMapper.resource_failed(new_resource, :create, exception).for_json }
766
- let(:total_resource_count) { 2 }
767
- let(:updated_resource_count) { 0 }
768
- let(:unprocessed_resource) do
769
- res = Chef::Resource::Service.new("unprocessed service")
770
- res.cookbook_name = cookbook_name
771
- res.recipe_name = recipe_name
772
- allow(res).to receive(:cookbook_version).and_return(cookbook_version)
773
- res
774
- end
775
- let(:resource_record) do
776
- rec1 = resource_record_for(new_resource, current_resource, nil, :create, "failed", "1234")
777
- rec1["error_message"] = "imperial to metric conversion error"
778
- rec1["error"] = {
779
- "class" => exception.class,
780
- "message" => exception.message,
781
- "backtrace" => exception.backtrace,
782
- "description" => error_description,
783
- }
784
-
785
- rec2 = resource_record_for(unprocessed_resource, nil, nil, :nothing, "unprocessed", "")
786
- [ rec1, rec2 ]
787
- end
788
- let(:status) { "failure" }
789
-
790
- before do
791
- run_context.resource_collection << new_resource
792
- run_context.resource_collection << unprocessed_resource
793
- exception.set_backtrace(caller)
794
- events.resource_action_start(new_resource, :create)
795
- events.resource_current_state_loaded(new_resource, :create, current_resource)
796
- events.resource_failed(new_resource, :create, exception)
797
- new_resource.instance_variable_set(:@elapsed_time, 1.2345)
798
- events.resource_completed(new_resource)
799
- new_resource.executed_by_runner = true
800
- events.converge_failed(exception)
801
- run_status.stop_clock
802
- run_status.exception = exception
803
- end
804
-
805
- it_behaves_like "sends a converge message"
806
- end
807
-
808
- context "when cookbook resolution fails" do
809
- let(:exception) { Exception.new("imperial to metric conversion error") }
810
- let(:error_description) { Chef::Formatters::ErrorMapper.cookbook_resolution_failed(expansion, exception).for_json }
811
- let(:total_resource_count) { 0 }
812
- let(:updated_resource_count) { 0 }
813
- let(:status) { "failure" }
814
-
815
- before do
816
- events.cookbook_resolution_failed(expansion, exception)
817
- run_status.stop_clock
818
- run_status.exception = exception
819
- end
820
-
821
- it_behaves_like "sends a converge message"
822
- end
823
-
824
- context "When cookbook synchronization fails" do
825
- let(:exception) { Exception.new("imperial to metric conversion error") }
826
- let(:error_description) { Chef::Formatters::ErrorMapper.cookbook_sync_failed({}, exception).for_json }
827
- let(:total_resource_count) { 0 }
828
- let(:updated_resource_count) { 0 }
829
- let(:status) { "failure" }
830
-
831
- before do
832
- events.cookbook_sync_failed(expansion, exception)
833
- run_status.stop_clock
834
- run_status.exception = exception
835
- end
836
-
837
- it_behaves_like "sends a converge message"
838
- end
839
-
840
- context "when node attributes are block-listed" do
841
- let(:status) { "success" }
842
- before do
843
- Chef::Config[:blocked_default_attributes] = [
844
- %w{secret key_to_the_kingdom},
845
- ]
846
- node.default = {
847
- "secret" => { "key_to_the_kingdom" => "under the flower pot to the left of the drawbridge" },
848
- "publicinfo" => { "num_flower_pots" => 18 },
849
- }
850
- end
851
-
852
- it "payload should exclude blocked attributes" do
853
- expect(rest_client).to receive(:post) do |_addr, hash, _headers|
854
- expect(hash["node"]["default"]).to eq({ "secret" => {}, "publicinfo" => { "num_flower_pots" => 18 } })
855
- end
856
- send_run_failed_or_completed_event
857
- end
858
- end
859
-
860
- context "when node attributes are allow-listed" do
861
- let(:status) { "success" }
862
- before do
863
- Chef::Config[:allowed_default_attributes] = [
864
- %w{public entrance},
865
- ]
866
- node.default = {
867
- "public" => { "entrance" => "is the drawbridge" },
868
- "secret" => { "entrance" => "is the tunnel" },
869
- }
870
- end
871
-
872
- it "payload should include only allowed attributes" do
873
- expect(rest_client).to receive(:post) do |_addr, hash, _headers|
874
- expect(hash["node"]["default"]).to eq({ "public" => { "entrance" => "is the drawbridge" } })
875
- end
876
- send_run_failed_or_completed_event
877
- end
878
- end
879
- end
880
- end
881
-
882
- describe "#send_to_file_location(file_name, message)" do
883
- let(:tempfile) { Tempfile.new("rspec-chef-datacollector-out") }
884
- let(:shift_jis) { "I have no idea what this character is:\n #{0x83.chr}#{0x80.chr}.\n" }
885
- it "handles invalid UTF-8 properly" do
886
- data_collector.send(:send_to_file_location, tempfile, { invalid: shift_jis })
887
- end
888
- end
889
-
890
- describe "#send_to_datacollector" do
891
- def stub_http_client(exception = nil)
892
- if exception.nil?
893
- expect(http_client).to receive(:post).with(nil, message, data_collector.send(:headers))
894
- else
895
- expect(http_client).to receive(:post).with(nil, message, data_collector.send(:headers)).and_raise(exception)
896
- end
897
- end
898
-
899
- let(:message) { "message" }
900
- let(:http_client) { instance_double(Chef::ServerAPI) }
901
-
902
- before do
903
- expect(data_collector).to receive(:setup_http_client).and_return(http_client)
904
- end
905
-
906
- it "does not disable the data_collector when no exception is raised" do
907
- stub_http_client
908
- expect(data_collector.events).not_to receive(:unregister)
909
- data_collector.send(:send_to_data_collector, message)
910
- end
911
-
912
- errors = [ Timeout::Error, Errno::EINVAL, Errno::ECONNRESET,
913
- Errno::ECONNREFUSED, EOFError, Net::HTTPBadResponse,
914
- Net::HTTPHeaderSyntaxError, Net::ProtocolError, OpenSSL::SSL::SSLError,
915
- Errno::EHOSTDOWN ]
916
-
917
- errors.each do |exception_class|
918
- context "when the client raises a #{exception_class} exception" do
919
- before do
920
- stub_http_client(exception_class)
921
- end
922
-
923
- it "disables the reporter" do
924
- expect(data_collector.events).to receive(:unregister).with(data_collector)
925
- data_collector.send(:send_to_data_collector, message)
926
- end
927
-
928
- it "logs an error and raises when raise_on_failure is enabled" do
929
- Chef::Config[:data_collector][:raise_on_failure] = true
930
- expect(Chef::Log).to receive(:error)
931
- expect { data_collector.send(:send_to_data_collector, message) }.to raise_error(exception_class)
932
- end
933
-
934
- it "logs a warn message and does not raise an exception when raise_on_failure is disabled" do
935
- Chef::Config[:data_collector][:raise_on_failure] = false
936
- expect(Chef::Log).to receive(:warn)
937
- data_collector.send(:send_to_data_collector, message)
938
- end
939
- end
940
- end
941
-
942
- context "when the client raises a 404 exception" do
943
- let(:err) do
944
- response = double("Net::HTTP response", code: "404")
945
- Net::HTTPClientException.new("Not Found", response)
946
- end
947
-
948
- before do
949
- stub_http_client(err)
950
- end
951
-
952
- it "disables the reporter" do
953
- expect(data_collector.events).to receive(:unregister).with(data_collector)
954
- data_collector.send(:send_to_data_collector, message)
955
- end
956
-
957
- it "logs an error and raises when raise_on_failure is enabled" do
958
- Chef::Config[:data_collector][:raise_on_failure] = true
959
- expect(Chef::Log).to receive(:error)
960
- expect { data_collector.send(:send_to_data_collector, message) }.to raise_error(err)
961
- end
962
-
963
- # this is different specifically for 404s
964
- it "logs an info message and does not raise an exception when raise_on_failure is disabled" do
965
- Chef::Config[:data_collector][:raise_on_failure] = false
966
- expect(Chef::Log).to receive(:debug).with(/This is normal if you do not have Chef Automate/)
967
- data_collector.send(:send_to_data_collector, message)
968
- end
969
- end
970
-
971
- context "when processing Windows registry keys" do
972
- let(:total_resource_count) { 1 }
973
- let(:updated_resource_count) { 1 }
974
- let(:status) { "success" }
975
-
976
- before do
977
- allow(ChefUtils).to receive(:windows?).and_return(true)
978
- run_status.stop_clock
979
- end
980
-
981
- it "removes registry key values not present in after state" do
982
- resource = {
983
- "type" => :registry_key,
984
- "before" => {
985
- values: [
986
- { name: "key1", value: "val1" },
987
- { name: "key2", value: "val2" },
988
- { name: "key3", value: "val3" },
989
- ],
990
- },
991
- "after" => {
992
- values: [
993
- { name: "key1", value: "new_val1" },
994
- { name: "key3", value: "new_val3" },
995
- ],
996
- },
997
- }
998
-
999
- message = {
1000
- "resources" => [resource],
1001
- }
1002
-
1003
- # Verify that key2 was removed from before values
1004
- expected_before_values = [
1005
- { name: "key1", value: "val1" },
1006
- { name: "key3", value: "val3" },
1007
- ]
1008
-
1009
- expect(http_client).to receive(:post).with(
1010
- nil,
1011
- hash_including("message_type" => "run_start"),
1012
- { "Content-Type" => "application/json" }
1013
- )
1014
-
1015
- expect(http_client).to receive(:post).with(
1016
- nil,
1017
- hash_including(
1018
- "resources" => array_including(
1019
- hash_including(
1020
- "before" => hash_including(
1021
- values: array_including(expected_before_values)
1022
- )
1023
- )
1024
- )
1025
- ),
1026
- { "Content-Type" => "application/json" }
1027
- )
1028
- allow(Chef::DataCollector::RunEndMessage).to receive(:construct_message).and_return(message)
1029
- data_collector.send(:send_run_completion, message)
1030
- end
1031
-
1032
- it "handles missing values gracefully" do
1033
- resource = {
1034
- "type" => :registry_key,
1035
- "before" => {},
1036
- "after" => { values: [] },
1037
- }
1038
-
1039
- message = {
1040
- "resources" => [resource],
1041
- }
1042
-
1043
- expect(http_client).to receive(:post).with(
1044
- nil,
1045
- hash_including("message_type" => "run_start"),
1046
- { "Content-Type" => "application/json" }
1047
- )
1048
-
1049
- expect(http_client).to receive(:post).with(nil, message, { "Content-Type" => "application/json" })
1050
-
1051
- allow(Chef::DataCollector::RunEndMessage).to receive(:construct_message).and_return(message)
1052
- expect { data_collector.send(:send_run_completion, "success") }.not_to raise_error
1053
- end
1054
-
1055
- it "ignores non-registry resources" do
1056
- resource = {
1057
- "type" => :file,
1058
- "before" => { content: "old" },
1059
- "after" => { content: "new" },
1060
- }
1061
-
1062
- message = {
1063
- "resources" => [resource],
1064
- }
1065
- expect(http_client).to receive(:post).with(nil,
1066
- hash_including("message_type" => "run_start"),
1067
- { "Content-Type" => "application/json" })
1068
-
1069
- expect(http_client).to receive(:post).with(nil, message, { "Content-Type" => "application/json" })
1070
-
1071
- allow(Chef::DataCollector::RunEndMessage).to receive(:construct_message).and_return(message)
1072
- expect { data_collector.send(:send_run_completion, "success") }.not_to raise_error
1073
- end
1074
- end
1075
- end
1076
- end