chef 18.8.11 → 18.8.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1125) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -19
  3. data/chef-universal-mingw-ucrt.gemspec +1 -1
  4. data/chef.gemspec +4 -5
  5. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +4 -0
  6. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +1 -5
  7. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +12 -0
  8. data/lib/chef/chef_fs/file_system.rb +18 -0
  9. data/lib/chef/property.rb +6 -6
  10. data/lib/chef/provider/package/rubygems.rb +21 -0
  11. data/lib/chef/pwsh.rb +2 -5
  12. data/lib/chef/resource/apt_repository.rb +14 -5
  13. data/lib/chef/resource/chocolatey_installer.rb +19 -4
  14. data/lib/chef/resource/ohai.rb +1 -0
  15. data/lib/chef/resource_reporter.rb +1 -1
  16. data/lib/chef/shell.rb +8 -3
  17. data/lib/chef/version.rb +1 -1
  18. metadata +14 -1121
  19. data/spec/data/apt/chef-integration-test-1.0/debian/changelog +0 -5
  20. data/spec/data/apt/chef-integration-test-1.0/debian/compat +0 -1
  21. data/spec/data/apt/chef-integration-test-1.0/debian/control +0 -13
  22. data/spec/data/apt/chef-integration-test-1.0/debian/copyright +0 -34
  23. data/spec/data/apt/chef-integration-test-1.0/debian/files +0 -1
  24. data/spec/data/apt/chef-integration-test-1.0/debian/rules +0 -13
  25. data/spec/data/apt/chef-integration-test-1.0/debian/source/format +0 -1
  26. data/spec/data/apt/chef-integration-test-1.1/debian/changelog +0 -11
  27. data/spec/data/apt/chef-integration-test-1.1/debian/compat +0 -1
  28. data/spec/data/apt/chef-integration-test-1.1/debian/control +0 -13
  29. data/spec/data/apt/chef-integration-test-1.1/debian/copyright +0 -34
  30. data/spec/data/apt/chef-integration-test-1.1/debian/files +0 -1
  31. data/spec/data/apt/chef-integration-test-1.1/debian/rules +0 -13
  32. data/spec/data/apt/chef-integration-test-1.1/debian/source/format +0 -1
  33. data/spec/data/apt/chef-integration-test2-1.0/debian/changelog +0 -5
  34. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/conffiles +0 -1
  35. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/control +0 -10
  36. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/md5sums +0 -1
  37. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.debhelper.log +0 -45
  38. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.substvars +0 -1
  39. data/spec/data/apt/chef-integration-test2-1.0/debian/compat +0 -1
  40. data/spec/data/apt/chef-integration-test2-1.0/debian/conffiles +0 -1
  41. data/spec/data/apt/chef-integration-test2-1.0/debian/control +0 -13
  42. data/spec/data/apt/chef-integration-test2-1.0/debian/copyright +0 -34
  43. data/spec/data/apt/chef-integration-test2-1.0/debian/files +0 -1
  44. data/spec/data/apt/chef-integration-test2-1.0/debian/rules +0 -13
  45. data/spec/data/apt/chef-integration-test2-1.0/debian/source/format +0 -1
  46. data/spec/data/apt/chef-integration-test2_1.0-1.debian.tar.gz +0 -0
  47. data/spec/data/apt/chef-integration-test2_1.0-1.dsc +0 -18
  48. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.build +0 -91
  49. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.changes +0 -31
  50. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.deb +0 -0
  51. data/spec/data/apt/chef-integration-test2_1.0.orig.tar.gz +0 -0
  52. data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +0 -22
  53. data/spec/data/apt/chef-integration-test_1.0-1_amd64.deb +0 -0
  54. data/spec/data/apt/chef-integration-test_1.0.orig.tar.gz +0 -0
  55. data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +0 -22
  56. data/spec/data/apt/chef-integration-test_1.1-1_amd64.deb +0 -0
  57. data/spec/data/apt/chef-integration-test_1.1.orig.tar.gz +0 -0
  58. data/spec/data/apt/var/www/apt/conf/distributions +0 -7
  59. data/spec/data/apt/var/www/apt/conf/incoming +0 -4
  60. data/spec/data/apt/var/www/apt/conf/pulls +0 -3
  61. data/spec/data/apt/var/www/apt/db/checksums.db +0 -0
  62. data/spec/data/apt/var/www/apt/db/contents.cache.db +0 -0
  63. data/spec/data/apt/var/www/apt/db/packages.db +0 -0
  64. data/spec/data/apt/var/www/apt/db/references.db +0 -0
  65. data/spec/data/apt/var/www/apt/db/release.caches.db +0 -0
  66. data/spec/data/apt/var/www/apt/db/version +0 -4
  67. data/spec/data/apt/var/www/apt/dists/sid/Release +0 -19
  68. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +0 -16
  69. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages.gz +0 -0
  70. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +0 -5
  71. data/spec/data/apt/var/www/apt/dists/sid/main/binary-i386/Packages +0 -0
  72. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.0-1_amd64.deb +0 -0
  73. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.1-1_amd64.deb +0 -0
  74. data/spec/data/archive_file/test_archive.tar.gz +0 -0
  75. data/spec/data/bad-config.rb +0 -1
  76. data/spec/data/bootstrap/encrypted_data_bag_secret +0 -1
  77. data/spec/data/bootstrap/no_proxy.erb +0 -2
  78. data/spec/data/bootstrap/secret.erb +0 -9
  79. data/spec/data/bootstrap/test-hints.erb +0 -12
  80. data/spec/data/bootstrap/test.erb +0 -1
  81. data/spec/data/cb_version_cookbooks/cookbook2/files/test.txt +0 -0
  82. data/spec/data/cb_version_cookbooks/cookbook2/templates/test.erb +0 -0
  83. data/spec/data/cb_version_cookbooks/tatft/README.rdoc +0 -3
  84. data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +0 -1
  85. data/spec/data/cb_version_cookbooks/tatft/definitions/runit_service.rb +0 -1
  86. data/spec/data/cb_version_cookbooks/tatft/files/default/giant_blob.tgz +0 -1
  87. data/spec/data/cb_version_cookbooks/tatft/libraries/ownage.rb +0 -1
  88. data/spec/data/cb_version_cookbooks/tatft/providers/lwp.rb +0 -1
  89. data/spec/data/cb_version_cookbooks/tatft/recipes/default.rb +0 -1
  90. data/spec/data/cb_version_cookbooks/tatft/resources/lwr.rb +0 -1
  91. data/spec/data/cb_version_cookbooks/tatft/templates/default/configuration.erb +0 -0
  92. data/spec/data/checksum/random.txt +0 -1
  93. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +0 -1
  94. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-6m8zdk-0 +0 -0
  95. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +0 -1
  96. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +0 -1
  97. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +0 -1
  98. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +0 -1
  99. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +0 -1
  100. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +0 -1
  101. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +0 -1
  102. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +0 -1
  103. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +0 -1
  104. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +0 -1
  105. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +0 -1
  106. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +0 -1
  107. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +0 -1
  108. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +0 -1
  109. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +0 -1
  110. data/spec/data/client.d_00/00-foo.rb +0 -2
  111. data/spec/data/client.d_00/01-bar.rb +0 -1
  112. data/spec/data/client.d_00/02-strings.rb +0 -2
  113. data/spec/data/client.d_00/bar +0 -1
  114. data/spec/data/client.d_01/foo/bar.rb +0 -1
  115. data/spec/data/client.d_02/foo.rb/foo.txt +0 -1
  116. data/spec/data/config.rb +0 -6
  117. data/spec/data/cookbooks/angrybash/metadata.rb +0 -2
  118. data/spec/data/cookbooks/angrybash/recipes/default.rb +0 -8
  119. data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +0 -2
  120. data/spec/data/cookbooks/apache2/metadata.json +0 -33
  121. data/spec/data/cookbooks/apache2/metadata.rb +0 -2
  122. data/spec/data/cookbooks/apache2/recipes/default.rb +0 -3
  123. data/spec/data/cookbooks/borken/metadata.rb +0 -2
  124. data/spec/data/cookbooks/borken/recipes/default.rb +0 -2
  125. data/spec/data/cookbooks/borken/templates/default/borken.erb +0 -2
  126. data/spec/data/cookbooks/chefignore +0 -8
  127. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +0 -2
  128. data/spec/data/cookbooks/ignorken/metadata.rb +0 -2
  129. data/spec/data/cookbooks/ignorken/recipes/default.rb +0 -1
  130. data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +0 -2
  131. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +0 -2
  132. data/spec/data/cookbooks/irssi/files/default/irssi.response +0 -2
  133. data/spec/data/cookbooks/java/files/default/java.response +0 -2
  134. data/spec/data/cookbooks/java/metadata.json +0 -33
  135. data/spec/data/cookbooks/java/metadata.rb +0 -2
  136. data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +0 -4
  137. data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +0 -8
  138. data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +0 -8
  139. data/spec/data/cookbooks/openldap/.root_dotfile +0 -0
  140. data/spec/data/cookbooks/openldap/attributes/default.rb +0 -16
  141. data/spec/data/cookbooks/openldap/attributes/smokey.rb +0 -1
  142. data/spec/data/cookbooks/openldap/definitions/client.rb +0 -5
  143. data/spec/data/cookbooks/openldap/definitions/server.rb +0 -5
  144. data/spec/data/cookbooks/openldap/files/default/.dotfile +0 -1
  145. data/spec/data/cookbooks/openldap/files/default/.ssh/id_rsa +0 -1
  146. data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +0 -1
  147. data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +0 -2
  148. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +0 -3
  149. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +0 -3
  150. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +0 -1
  151. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +0 -3
  152. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +0 -3
  153. data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +0 -3
  154. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +0 -3
  155. data/spec/data/cookbooks/openldap/libraries/openldap.rb +0 -4
  156. data/spec/data/cookbooks/openldap/metadata.rb +0 -8
  157. data/spec/data/cookbooks/openldap/recipes/default.rb +0 -4
  158. data/spec/data/cookbooks/openldap/recipes/gigantor.rb +0 -3
  159. data/spec/data/cookbooks/openldap/recipes/one.rb +0 -15
  160. data/spec/data/cookbooks/openldap/recipes/return.rb +0 -2
  161. data/spec/data/cookbooks/openldap/spec/spec_helper.rb +0 -0
  162. data/spec/data/cookbooks/openldap/templates/default/all_windows_line_endings.erb +0 -4
  163. data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +0 -1
  164. data/spec/data/cookbooks/openldap/templates/default/helpers.erb +0 -14
  165. data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +0 -1
  166. data/spec/data/cookbooks/openldap/templates/default/nested_openldap_partials.erb +0 -1
  167. data/spec/data/cookbooks/openldap/templates/default/nested_partial.erb +0 -1
  168. data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +0 -4
  169. data/spec/data/cookbooks/openldap/templates/default/openldap_nested_variable_stuff.erb +0 -1
  170. data/spec/data/cookbooks/openldap/templates/default/openldap_stuff.conf.erb +0 -1
  171. data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +0 -1
  172. data/spec/data/cookbooks/openldap/templates/default/some_windows_line_endings.erb +0 -4
  173. data/spec/data/cookbooks/openldap/templates/default/test.erb +0 -1
  174. data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +0 -1
  175. data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +0 -4
  176. data/spec/data/cookbooks/preseed/metadata.rb +0 -2
  177. data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +0 -1
  178. data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +0 -1
  179. data/spec/data/cookbooks/starter/chefignore +0 -8
  180. data/spec/data/cookbooks/starter/files/sample.txt +0 -1
  181. data/spec/data/cookbooks/starter/metadata.rb +0 -2
  182. data/spec/data/cookbooks/starter/recipes/default.rb +0 -4
  183. data/spec/data/cookbooks/supports-platform-constraints/metadata.rb +0 -5
  184. data/spec/data/cookbooks/wget/files/default/wget.response +0 -2
  185. data/spec/data/definitions/test.rb +0 -5
  186. data/spec/data/dsc_lcm.pfx +0 -0
  187. data/spec/data/environment-config.rb +0 -5
  188. data/spec/data/file-providers-method-snapshot-chef-11-4.json +0 -127
  189. data/spec/data/fileedit/blank +0 -0
  190. data/spec/data/fileedit/hosts +0 -4
  191. data/spec/data/gems/chef-integration-test-0.1.0.gem +0 -0
  192. data/spec/data/git_bundles/example-repo.gitbundle +0 -0
  193. data/spec/data/git_bundles/sinatra-test-app-with-callback-files.gitbundle +0 -0
  194. data/spec/data/git_bundles/sinatra-test-app-with-symlinks.gitbundle +0 -0
  195. data/spec/data/git_bundles/sinatra-test-app.gitbundle +0 -0
  196. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +0 -4
  197. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +0 -13
  198. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +0 -8
  199. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +0 -4
  200. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +0 -9
  201. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +0 -8
  202. data/spec/data/kitchen/chefignore +0 -6
  203. data/spec/data/kitchen/openldap/attributes/default.rb +0 -3
  204. data/spec/data/kitchen/openldap/attributes/robinson.rb +0 -3
  205. data/spec/data/kitchen/openldap/definitions/client.rb +0 -3
  206. data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +0 -3
  207. data/spec/data/kitchen/openldap/recipes/gigantor.rb +0 -3
  208. data/spec/data/kitchen/openldap/recipes/ignoreme.rb +0 -3
  209. data/spec/data/kitchen/openldap/recipes/woot.rb +0 -3
  210. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  211. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  212. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  213. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  214. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  215. data/spec/data/lwrp/providers/buck_passer.rb +0 -28
  216. data/spec/data/lwrp/providers/buck_passer_2.rb +0 -26
  217. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +0 -28
  218. data/spec/data/lwrp/providers/inline_compiler.rb +0 -24
  219. data/spec/data/lwrp/providers/monkey_name_printer.rb +0 -5
  220. data/spec/data/lwrp/providers/paint_drying_watcher.rb +0 -7
  221. data/spec/data/lwrp/providers/thumb_twiddler.rb +0 -7
  222. data/spec/data/lwrp/resources/bar.rb +0 -4
  223. data/spec/data/lwrp/resources/buck_passer.rb +0 -6
  224. data/spec/data/lwrp/resources/buck_passer_2.rb +0 -4
  225. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +0 -4
  226. data/spec/data/lwrp/resources/foo.rb +0 -6
  227. data/spec/data/lwrp/resources/inline_compiler.rb +0 -4
  228. data/spec/data/lwrp/resources/monkey_name_printer.rb +0 -6
  229. data/spec/data/lwrp/resources/paint_drying_watcher.rb +0 -4
  230. data/spec/data/lwrp/resources/thumb_twiddler.rb +0 -4
  231. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +0 -3
  232. data/spec/data/lwrp_const_scoping/resources/conflict.rb +0 -1
  233. data/spec/data/lwrp_override/providers/buck_passer.rb +0 -5
  234. data/spec/data/lwrp_override/resources/foo.rb +0 -11
  235. data/spec/data/mac_users/10.9.plist.xml +0 -560
  236. data/spec/data/mac_users/10.9.shadow.xml +0 -21
  237. data/spec/data/metadata/quick_start/metadata.rb +0 -14
  238. data/spec/data/mixin/invalid_data.rb +0 -3
  239. data/spec/data/mixin/real_data.rb +0 -2
  240. data/spec/data/nested.json +0 -2
  241. data/spec/data/nodes/default.rb +0 -15
  242. data/spec/data/nodes/test.example.com.rb +0 -17
  243. data/spec/data/nodes/test.rb +0 -15
  244. data/spec/data/null_config.rb +0 -1
  245. data/spec/data/object_loader/environments/test.json +0 -7
  246. data/spec/data/object_loader/environments/test.rb +0 -2
  247. data/spec/data/object_loader/environments/test_json_class.json +0 -8
  248. data/spec/data/object_loader/nodes/test.json +0 -7
  249. data/spec/data/object_loader/nodes/test.rb +0 -2
  250. data/spec/data/object_loader/nodes/test_json_class.json +0 -8
  251. data/spec/data/object_loader/roles/test.json +0 -7
  252. data/spec/data/object_loader/roles/test.rb +0 -2
  253. data/spec/data/object_loader/roles/test_json_class.json +0 -8
  254. data/spec/data/old_home_dir/my-dot-emacs +0 -0
  255. data/spec/data/old_home_dir/my-dot-vim +0 -0
  256. data/spec/data/partial_one.erb +0 -1
  257. data/spec/data/prefer_metadata_json/metadata.json +0 -51
  258. data/spec/data/prefer_metadata_json/metadata.rb +0 -6
  259. data/spec/data/prefer_metadata_json/recipes/default.rb +0 -0
  260. data/spec/data/recipes/test.rb +0 -7
  261. data/spec/data/recipes.tgz +0 -0
  262. data/spec/data/remote_directory_data/remote_dir_file.txt +0 -1
  263. data/spec/data/remote_directory_data/remote_subdirectory/remote_subdir_file.txt +0 -1
  264. data/spec/data/remote_file/nyan_cat.png +0 -0
  265. data/spec/data/remote_file/nyan_cat.png.gz +0 -0
  266. data/spec/data/root_alias_cookbooks/dup_attr/attributes/default.rb +0 -1
  267. data/spec/data/root_alias_cookbooks/dup_attr/attributes.rb +0 -1
  268. data/spec/data/root_alias_cookbooks/dup_attr/metadata.rb +0 -2
  269. data/spec/data/root_alias_cookbooks/dup_attr/recipe.rb +0 -3
  270. data/spec/data/root_alias_cookbooks/dup_recipe/attributes.rb +0 -1
  271. data/spec/data/root_alias_cookbooks/dup_recipe/metadata.rb +0 -2
  272. data/spec/data/root_alias_cookbooks/dup_recipe/recipe.rb +0 -3
  273. data/spec/data/root_alias_cookbooks/dup_recipe/recipes/default.rb +0 -3
  274. data/spec/data/root_alias_cookbooks/simple/attributes.rb +0 -1
  275. data/spec/data/root_alias_cookbooks/simple/metadata.rb +0 -2
  276. data/spec/data/root_alias_cookbooks/simple/recipe.rb +0 -3
  277. data/spec/data/rubygems.org/latest_specs.4.8.gz +0 -0
  278. data/spec/data/rubygems.org/nonexistent_gem +0 -0
  279. data/spec/data/rubygems.org/nonexistent_gem-info +0 -1
  280. data/spec/data/rubygems.org/sexp_processor +0 -0
  281. data/spec/data/rubygems.org/sexp_processor-4.15.1.gemspec.rz +0 -0
  282. data/spec/data/rubygems.org/sexp_processor-info +0 -50
  283. data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +0 -2
  284. data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +0 -1
  285. data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +0 -2
  286. data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +0 -2
  287. data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +0 -1
  288. data/spec/data/run_context/cookbooks/circular-dep1/recipes/default.rb +0 -0
  289. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +0 -2
  290. data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +0 -2
  291. data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +0 -1
  292. data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +0 -2
  293. data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +0 -2
  294. data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +0 -1
  295. data/spec/data/run_context/cookbooks/circular-dep2/recipes/default.rb +0 -0
  296. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +0 -2
  297. data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +0 -2
  298. data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +0 -2
  299. data/spec/data/run_context/cookbooks/dependency1/attributes/unparsed_file +0 -1
  300. data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +0 -2
  301. data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +0 -1
  302. data/spec/data/run_context/cookbooks/dependency1/definitions/unparsed_file +0 -1
  303. data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +0 -2
  304. data/spec/data/run_context/cookbooks/dependency1/libraries/unparsed_file +0 -1
  305. data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +0 -1
  306. data/spec/data/run_context/cookbooks/dependency1/providers/unparsed_file +0 -1
  307. data/spec/data/run_context/cookbooks/dependency1/recipes/default.rb +0 -0
  308. data/spec/data/run_context/cookbooks/dependency1/recipes/unparsed_file +0 -1
  309. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +0 -2
  310. data/spec/data/run_context/cookbooks/dependency1/resources/unparsed_file +0 -1
  311. data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +0 -2
  312. data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +0 -1
  313. data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +0 -2
  314. data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +0 -1
  315. data/spec/data/run_context/cookbooks/dependency2/recipes/default.rb +0 -0
  316. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +0 -2
  317. data/spec/data/run_context/cookbooks/include/recipes/default.rb +0 -24
  318. data/spec/data/run_context/cookbooks/include/recipes/includee.rb +0 -3
  319. data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +0 -2
  320. data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +0 -1
  321. data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +0 -1
  322. data/spec/data/run_context/cookbooks/no-default-attr/recipes/default.rb +0 -0
  323. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +0 -2
  324. data/spec/data/run_context/cookbooks/test/attributes/default.rb +0 -0
  325. data/spec/data/run_context/cookbooks/test/attributes/george.rb +0 -1
  326. data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +0 -9
  327. data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +0 -5
  328. data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +0 -1
  329. data/spec/data/run_context/cookbooks/test/providers/provider.rb +0 -1
  330. data/spec/data/run_context/cookbooks/test/recipes/default.rb +0 -5
  331. data/spec/data/run_context/cookbooks/test/recipes/one.rb +0 -7
  332. data/spec/data/run_context/cookbooks/test/recipes/two.rb +0 -7
  333. data/spec/data/run_context/cookbooks/test/resources/resource.rb +0 -3
  334. data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +0 -2
  335. data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +0 -1
  336. data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +0 -2
  337. data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +0 -2
  338. data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +0 -1
  339. data/spec/data/run_context/cookbooks/test-with-circular-deps/recipes/default.rb +0 -0
  340. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +0 -3
  341. data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +0 -2
  342. data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +0 -1
  343. data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +0 -1
  344. data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +0 -3
  345. data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +0 -1
  346. data/spec/data/run_context/cookbooks/test-with-deps/recipes/default.rb +0 -0
  347. data/spec/data/run_context/cookbooks/test-with-deps/recipes/server.rb +0 -0
  348. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +0 -2
  349. data/spec/data/run_context/nodes/run_context.rb +0 -5
  350. data/spec/data/sample_msu1.xml +0 -10
  351. data/spec/data/sample_msu2.xml +0 -14
  352. data/spec/data/sample_msu3.xml +0 -16
  353. data/spec/data/search_queries_to_transform.txt +0 -98
  354. data/spec/data/shef-config.rb +0 -11
  355. data/spec/data/snap_package/async_result_success.json +0 -6
  356. data/spec/data/snap_package/change_id_result.json +0 -175
  357. data/spec/data/snap_package/find_result_failure.json +0 -10
  358. data/spec/data/snap_package/find_result_success.json +0 -70
  359. data/spec/data/snap_package/get_by_name_result_failure.json +0 -10
  360. data/spec/data/snap_package/get_by_name_result_success.json +0 -38
  361. data/spec/data/snap_package/get_conf_success.json +0 -10
  362. data/spec/data/snap_package/result_failure.json +0 -9
  363. data/spec/data/ssl/5e707473.0 +0 -18
  364. data/spec/data/ssl/binary/chef-rspec-der.cert +0 -0
  365. data/spec/data/ssl/binary/chef-rspec-der.key +0 -0
  366. data/spec/data/ssl/chef-rspec.cert +0 -27
  367. data/spec/data/ssl/chef-rspec.key +0 -27
  368. data/spec/data/ssl/key.pem +0 -15
  369. data/spec/data/ssl/private_key.pem +0 -27
  370. data/spec/data/ssl/private_key_with_whitespace.pem +0 -32
  371. data/spec/data/standalone_cookbook/Gemfile +0 -1
  372. data/spec/data/standalone_cookbook/chefignore +0 -9
  373. data/spec/data/standalone_cookbook/recipes/default.rb +0 -3
  374. data/spec/data/standalone_cookbook/vendor/bundle/ruby/2.0.0/gems/multi_json-1.9.0/lib/multi_json.rb +0 -1
  375. data/spec/data/templates/chef-seattle20160930-4388-1crv7ef.txt +0 -1
  376. data/spec/data/templates/chef-seattle20160930-4388-jjfoae.txt +0 -1
  377. data/spec/data/templates/chef-seattle20160930-4388-umeq2c.txt +0 -1
  378. data/spec/data/templates/failed.erb +0 -5
  379. data/spec/data/templates/seattle.txt +0 -1
  380. data/spec/data/trusted_certs/example.crt +0 -31
  381. data/spec/data/trusted_certs/example_no_cn.crt +0 -32
  382. data/spec/data/trusted_certs/intermediate.pem +0 -38
  383. data/spec/data/trusted_certs/opscode.pem +0 -36
  384. data/spec/data/trusted_certs/root.pem +0 -22
  385. data/spec/data/windows_certificates/base64_test.cer +0 -20
  386. data/spec/data/windows_certificates/othertest.cer +0 -20
  387. data/spec/data/windows_certificates/test.cer +0 -20
  388. data/spec/data/windows_certificates/test.p7b +0 -0
  389. data/spec/data/windows_certificates/test.pem +0 -20
  390. data/spec/data/windows_certificates/test.pfx +0 -0
  391. data/spec/functional/application_spec.rb +0 -58
  392. data/spec/functional/assets/PkgA.1.0.0.0.bff +0 -0
  393. data/spec/functional/assets/PkgA.2.0.0.0.bff +0 -0
  394. data/spec/functional/assets/chefinittest +0 -36
  395. data/spec/functional/assets/chocolatey_feed/test-A.1.0.0.nupkg +0 -0
  396. data/spec/functional/assets/chocolatey_feed/test-A.1.5.0.nupkg +0 -0
  397. data/spec/functional/assets/chocolatey_feed/test-A.2.0.0.nupkg +0 -0
  398. data/spec/functional/assets/chocolatey_feed/test-B.1.0.0.nupkg +0 -0
  399. data/spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm +0 -0
  400. data/spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm +0 -0
  401. data/spec/functional/assets/inittest +0 -37
  402. data/spec/functional/assets/mytest-1.0-1.noarch.rpm +0 -0
  403. data/spec/functional/assets/mytest-2.0-1.noarch.rpm +0 -0
  404. data/spec/functional/assets/testchefsubsys +0 -10
  405. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  406. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.i686.rpm +0 -0
  407. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  408. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  409. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  410. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.src.rpm +0 -0
  411. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  412. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  413. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.i686.rpm +0 -0
  414. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  415. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  416. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  417. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.src.rpm +0 -0
  418. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  419. data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
  420. data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
  421. data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
  422. data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
  423. data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
  424. data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
  425. data/spec/functional/assets/yumrepo/repodata/filelists.xml.gz +0 -0
  426. data/spec/functional/assets/yumrepo/repodata/other.xml.gz +0 -0
  427. data/spec/functional/assets/yumrepo/repodata/primary.xml.gz +0 -0
  428. data/spec/functional/assets/yumrepo/repodata/repomd.xml +0 -21
  429. data/spec/functional/assets/yumrepo-empty/repodata/01a3b-filelists.sqlite.bz2 +0 -0
  430. data/spec/functional/assets/yumrepo-empty/repodata/401dc-filelists.xml.gz +0 -0
  431. data/spec/functional/assets/yumrepo-empty/repodata/5dc1e-primary.sqlite.bz2 +0 -0
  432. data/spec/functional/assets/yumrepo-empty/repodata/6bf96-other.xml.gz +0 -0
  433. data/spec/functional/assets/yumrepo-empty/repodata/7c365-other.sqlite.bz2 +0 -0
  434. data/spec/functional/assets/yumrepo-empty/repodata/dabe2-primary.xml.gz +0 -0
  435. data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +0 -55
  436. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  437. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.i686.rpm +0 -0
  438. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  439. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  440. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  441. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.src.rpm +0 -0
  442. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  443. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  444. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.i686.rpm +0 -0
  445. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  446. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  447. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  448. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.src.rpm +0 -0
  449. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  450. data/spec/functional/dsl/reboot_pending_spec.rb +0 -88
  451. data/spec/functional/dsl/registry_helper_spec.rb +0 -61
  452. data/spec/functional/event_loggers/windows_eventlog_spec.rb +0 -107
  453. data/spec/functional/file_content_management/deploy_strategies_spec.rb +0 -229
  454. data/spec/functional/http/simple_spec.rb +0 -146
  455. data/spec/functional/mixin/from_file_spec.rb +0 -93
  456. data/spec/functional/mixin/powershell_out_spec.rb +0 -51
  457. data/spec/functional/mixin/shell_out_spec.rb +0 -48
  458. data/spec/functional/mixin/user_context_spec.rb +0 -119
  459. data/spec/functional/notifications_spec.rb +0 -238
  460. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +0 -100
  461. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +0 -51
  462. data/spec/functional/rebooter_spec.rb +0 -117
  463. data/spec/functional/resource/aix_service_spec.rb +0 -145
  464. data/spec/functional/resource/aixinit_service_spec.rb +0 -210
  465. data/spec/functional/resource/apt_package_spec.rb +0 -383
  466. data/spec/functional/resource/archive_file_spec.rb +0 -88
  467. data/spec/functional/resource/bash_spec.rb +0 -55
  468. data/spec/functional/resource/batch_spec.rb +0 -34
  469. data/spec/functional/resource/bff_spec.rb +0 -120
  470. data/spec/functional/resource/chocolatey_package_spec.rb +0 -194
  471. data/spec/functional/resource/cookbook_file_spec.rb +0 -79
  472. data/spec/functional/resource/cron_spec.rb +0 -179
  473. data/spec/functional/resource/directory_spec.rb +0 -43
  474. data/spec/functional/resource/dnf_package_spec.rb +0 -1629
  475. data/spec/functional/resource/dpkg_package_spec.rb +0 -355
  476. data/spec/functional/resource/dsc_resource_spec.rb +0 -91
  477. data/spec/functional/resource/dsc_script_spec.rb +0 -476
  478. data/spec/functional/resource/execute_spec.rb +0 -171
  479. data/spec/functional/resource/file_spec.rb +0 -167
  480. data/spec/functional/resource/git_spec.rb +0 -330
  481. data/spec/functional/resource/group_spec.rb +0 -486
  482. data/spec/functional/resource/ifconfig_spec.rb +0 -178
  483. data/spec/functional/resource/insserv_spec.rb +0 -206
  484. data/spec/functional/resource/launchd_spec.rb +0 -232
  485. data/spec/functional/resource/link_spec.rb +0 -704
  486. data/spec/functional/resource/locale_spec.rb +0 -108
  487. data/spec/functional/resource/macos_userdefaults_spec.rb +0 -139
  488. data/spec/functional/resource/mount_spec.rb +0 -219
  489. data/spec/functional/resource/msu_package_spec.rb +0 -107
  490. data/spec/functional/resource/ohai_spec.rb +0 -54
  491. data/spec/functional/resource/plist_spec.rb +0 -25
  492. data/spec/functional/resource/powershell_package_source_spec.rb +0 -106
  493. data/spec/functional/resource/powershell_script_spec.rb +0 -588
  494. data/spec/functional/resource/reboot_spec.rb +0 -103
  495. data/spec/functional/resource/registry_spec.rb +0 -300
  496. data/spec/functional/resource/remote_directory_spec.rb +0 -220
  497. data/spec/functional/resource/remote_file_spec.rb +0 -418
  498. data/spec/functional/resource/rpm_spec.rb +0 -120
  499. data/spec/functional/resource/template_spec.rb +0 -245
  500. data/spec/functional/resource/timezone_spec.rb +0 -41
  501. data/spec/functional/resource/user/linux_user_spec.rb +0 -127
  502. data/spec/functional/resource/user/mac_user_spec.rb +0 -207
  503. data/spec/functional/resource/user/windows_spec.rb +0 -245
  504. data/spec/functional/resource/windows_certificate_spec.rb +0 -401
  505. data/spec/functional/resource/windows_env_spec.rb +0 -285
  506. data/spec/functional/resource/windows_firewall_rule_spec.rb +0 -93
  507. data/spec/functional/resource/windows_font_spec.rb +0 -52
  508. data/spec/functional/resource/windows_hostname_spec.rb +0 -91
  509. data/spec/functional/resource/windows_package_spec.rb +0 -193
  510. data/spec/functional/resource/windows_pagefile_spec.rb +0 -125
  511. data/spec/functional/resource/windows_path_spec.rb +0 -68
  512. data/spec/functional/resource/windows_security_policy_spec.rb +0 -86
  513. data/spec/functional/resource/windows_share_spec.rb +0 -103
  514. data/spec/functional/resource/windows_task_spec.rb +0 -1969
  515. data/spec/functional/resource/windows_user_privilege_spec.rb +0 -192
  516. data/spec/functional/resource/yum_package_spec.rb +0 -1739
  517. data/spec/functional/resource/zypper_package_spec.rb +0 -276
  518. data/spec/functional/root_alias_spec.rb +0 -78
  519. data/spec/functional/run_lock_spec.rb +0 -481
  520. data/spec/functional/shell_spec.rb +0 -149
  521. data/spec/functional/tiny_server_spec.rb +0 -79
  522. data/spec/functional/util/path_helper_spec.rb +0 -37
  523. data/spec/functional/version_spec.rb +0 -36
  524. data/spec/functional/win32/crypto_spec.rb +0 -54
  525. data/spec/functional/win32/registry_spec.rb +0 -618
  526. data/spec/functional/win32/security_spec.rb +0 -233
  527. data/spec/functional/win32/sid_spec.rb +0 -55
  528. data/spec/functional/win32/version_info_spec.rb +0 -50
  529. data/spec/functional/win32/versions_spec.rb +0 -115
  530. data/spec/integration/client/client_spec.rb +0 -963
  531. data/spec/integration/client/exit_code_spec.rb +0 -116
  532. data/spec/integration/client/fips_spec.rb +0 -29
  533. data/spec/integration/client/ipv6_spec.rb +0 -135
  534. data/spec/integration/client/open_ssl_spec.rb +0 -25
  535. data/spec/integration/compliance/compliance_spec.rb +0 -143
  536. data/spec/integration/ohai/ohai_spec.rb +0 -62
  537. data/spec/integration/recipes/accumulator_spec.rb +0 -245
  538. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +0 -176
  539. data/spec/integration/recipes/lwrp_spec.rb +0 -56
  540. data/spec/integration/recipes/noop_resource_spec.rb +0 -24
  541. data/spec/integration/recipes/notifies_spec.rb +0 -438
  542. data/spec/integration/recipes/notifying_block_spec.rb +0 -116
  543. data/spec/integration/recipes/provider_choice.rb +0 -38
  544. data/spec/integration/recipes/recipe_dsl_spec.rb +0 -1281
  545. data/spec/integration/recipes/remote_directory.rb +0 -74
  546. data/spec/integration/recipes/resource_action_spec.rb +0 -524
  547. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +0 -554
  548. data/spec/integration/recipes/resource_load_spec.rb +0 -315
  549. data/spec/integration/recipes/unified_mode_spec.rb +0 -947
  550. data/spec/integration/recipes/use_partial_spec.rb +0 -116
  551. data/spec/integration/solo/solo_spec.rb +0 -219
  552. data/spec/rcov.opts +0 -2
  553. data/spec/spec_helper.rb +0 -350
  554. data/spec/stress/win32/file_spec.rb +0 -37
  555. data/spec/stress/win32/memory_spec.rb +0 -22
  556. data/spec/stress/win32/security_spec.rb +0 -69
  557. data/spec/support/chef_helpers.rb +0 -79
  558. data/spec/support/key_helpers.rb +0 -102
  559. data/spec/support/lib/chef/provider/easy.rb +0 -35
  560. data/spec/support/lib/chef/provider/openldap_includer.rb +0 -29
  561. data/spec/support/lib/chef/provider/snakeoil.rb +0 -42
  562. data/spec/support/lib/chef/resource/cat.rb +0 -39
  563. data/spec/support/lib/chef/resource/one_two_three_four.rb +0 -36
  564. data/spec/support/lib/chef/resource/openldap_includer.rb +0 -28
  565. data/spec/support/lib/chef/resource/with_state.rb +0 -29
  566. data/spec/support/lib/chef/resource/zen_follower.rb +0 -36
  567. data/spec/support/lib/chef/resource/zen_master.rb +0 -39
  568. data/spec/support/lib/library_load_order.rb +0 -20
  569. data/spec/support/matchers/leak.rb +0 -96
  570. data/spec/support/mock/platform.rb +0 -33
  571. data/spec/support/platform_helpers.rb +0 -284
  572. data/spec/support/platforms/prof/gc.rb +0 -51
  573. data/spec/support/platforms/prof/win32.rb +0 -45
  574. data/spec/support/platforms/win32/spec_service.rb +0 -57
  575. data/spec/support/recipe_dsl_helper.rb +0 -83
  576. data/spec/support/ruby_installer.rb +0 -51
  577. data/spec/support/shared/context/config.rb +0 -18
  578. data/spec/support/shared/context/win32.rb +0 -34
  579. data/spec/support/shared/functional/diff_disabled.rb +0 -10
  580. data/spec/support/shared/functional/directory_resource.rb +0 -178
  581. data/spec/support/shared/functional/execute_resource.rb +0 -150
  582. data/spec/support/shared/functional/file_resource.rb +0 -1047
  583. data/spec/support/shared/functional/http.rb +0 -224
  584. data/spec/support/shared/functional/knife.rb +0 -37
  585. data/spec/support/shared/functional/securable_resource.rb +0 -654
  586. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -393
  587. data/spec/support/shared/functional/windows_script.rb +0 -260
  588. data/spec/support/shared/integration/integration_helper.rb +0 -122
  589. data/spec/support/shared/integration/knife_support.rb +0 -192
  590. data/spec/support/shared/matchers/exit_with_code.rb +0 -32
  591. data/spec/support/shared/matchers/match_environment_variable.rb +0 -17
  592. data/spec/support/shared/shared_examples.rb +0 -14
  593. data/spec/support/shared/unit/api_error_inspector.rb +0 -190
  594. data/spec/support/shared/unit/api_versioning.rb +0 -77
  595. data/spec/support/shared/unit/application_dot_d.rb +0 -82
  596. data/spec/support/shared/unit/execute_resource.rb +0 -166
  597. data/spec/support/shared/unit/file_system_support.rb +0 -70
  598. data/spec/support/shared/unit/knife_shared.rb +0 -39
  599. data/spec/support/shared/unit/mock_shellout.rb +0 -49
  600. data/spec/support/shared/unit/platform_introspector.rb +0 -189
  601. data/spec/support/shared/unit/provider/file.rb +0 -877
  602. data/spec/support/shared/unit/provider/package/package_shared.rb +0 -95
  603. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +0 -410
  604. data/spec/support/shared/unit/resource/static_provider_resolution.rb +0 -63
  605. data/spec/support/shared/unit/script_resource.rb +0 -74
  606. data/spec/support/shared/unit/user_and_client_shared.rb +0 -114
  607. data/spec/support/shared/unit/windows_script_resource.rb +0 -65
  608. data/spec/tiny_server.rb +0 -193
  609. data/spec/unit/action_collection_spec.rb +0 -19
  610. data/spec/unit/api_client/registration_spec.rb +0 -278
  611. data/spec/unit/api_client_spec.rb +0 -341
  612. data/spec/unit/api_client_v1_spec.rb +0 -455
  613. data/spec/unit/application/agent_spec.rb +0 -0
  614. data/spec/unit/application/apply_spec.rb +0 -116
  615. data/spec/unit/application/base_spec.rb +0 -40
  616. data/spec/unit/application/client_spec.rb +0 -588
  617. data/spec/unit/application/exit_code_spec.rb +0 -145
  618. data/spec/unit/application/server_spec.rb +0 -0
  619. data/spec/unit/application/solo_spec.rb +0 -218
  620. data/spec/unit/application_spec.rb +0 -587
  621. data/spec/unit/chef_class_spec.rb +0 -240
  622. data/spec/unit/chef_fs/config_spec.rb +0 -235
  623. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +0 -82
  624. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +0 -65
  625. data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +0 -63
  626. data/spec/unit/chef_fs/diff_spec.rb +0 -328
  627. data/spec/unit/chef_fs/file_pattern_spec.rb +0 -512
  628. data/spec/unit/chef_fs/file_system/cookbook_subdir_spec.rb +0 -34
  629. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +0 -45
  630. data/spec/unit/chef_fs/file_system/repository/base_file_spec.rb +0 -126
  631. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +0 -175
  632. data/spec/unit/chef_fs/file_system_spec.rb +0 -150
  633. data/spec/unit/chef_fs/path_util_spec.rb +0 -108
  634. data/spec/unit/chef_spec.rb +0 -25
  635. data/spec/unit/client_spec.rb +0 -881
  636. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -126
  637. data/spec/unit/compliance/fetcher/chef_server_spec.rb +0 -93
  638. data/spec/unit/compliance/input_spec.rb +0 -104
  639. data/spec/unit/compliance/profile_spec.rb +0 -120
  640. data/spec/unit/compliance/reporter/automate_spec.rb +0 -451
  641. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +0 -197
  642. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +0 -49
  643. data/spec/unit/compliance/runner_spec.rb +0 -354
  644. data/spec/unit/compliance/waiver_spec.rb +0 -104
  645. data/spec/unit/config_fetcher_spec.rb +0 -125
  646. data/spec/unit/config_spec.rb +0 -31
  647. data/spec/unit/cookbook/chefignore_spec.rb +0 -69
  648. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +0 -213
  649. data/spec/unit/cookbook/file_vendor_spec.rb +0 -123
  650. data/spec/unit/cookbook/gem_installer_spec.rb +0 -114
  651. data/spec/unit/cookbook/manifest_v0_spec.rb +0 -133
  652. data/spec/unit/cookbook/manifest_v2_spec.rb +0 -70
  653. data/spec/unit/cookbook/metadata_spec.rb +0 -610
  654. data/spec/unit/cookbook/synchronizer_spec.rb +0 -560
  655. data/spec/unit/cookbook/syntax_check_spec.rb +0 -229
  656. data/spec/unit/cookbook_loader_spec.rb +0 -265
  657. data/spec/unit/cookbook_manifest_spec.rb +0 -228
  658. data/spec/unit/cookbook_spec.rb +0 -62
  659. data/spec/unit/cookbook_uploader_spec.rb +0 -205
  660. data/spec/unit/cookbook_version_file_specificity_spec.rb +0 -623
  661. data/spec/unit/cookbook_version_spec.rb +0 -341
  662. data/spec/unit/daemon_spec.rb +0 -179
  663. data/spec/unit/data_bag_item_spec.rb +0 -387
  664. data/spec/unit/data_bag_spec.rb +0 -263
  665. data/spec/unit/data_collector/config_validation_spec.rb +0 -208
  666. data/spec/unit/data_collector_spec.rb +0 -1076
  667. data/spec/unit/decorator/lazy_array_spec.rb +0 -58
  668. data/spec/unit/decorator/lazy_spec.rb +0 -39
  669. data/spec/unit/decorator_spec.rb +0 -142
  670. data/spec/unit/delayed_evaluator_spec.rb +0 -35
  671. data/spec/unit/deprecated_spec.rb +0 -65
  672. data/spec/unit/deprecation_spec.rb +0 -129
  673. data/spec/unit/digester_spec.rb +0 -49
  674. data/spec/unit/dsl/data_query_spec.rb +0 -108
  675. data/spec/unit/dsl/declare_resource_spec.rb +0 -374
  676. data/spec/unit/dsl/platform_introspection_spec.rb +0 -160
  677. data/spec/unit/dsl/reboot_pending_spec.rb +0 -87
  678. data/spec/unit/dsl/recipe_spec.rb +0 -76
  679. data/spec/unit/dsl/registry_helper_spec.rb +0 -52
  680. data/spec/unit/dsl/render_helpers_spec.rb +0 -102
  681. data/spec/unit/dsl/resources_spec.rb +0 -85
  682. data/spec/unit/dsl/secret_spec.rb +0 -175
  683. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +0 -97
  684. data/spec/unit/encrypted_data_bag_item_spec.rb +0 -439
  685. data/spec/unit/environment_spec.rb +0 -476
  686. data/spec/unit/event_dispatch/dispatcher_spec.rb +0 -172
  687. data/spec/unit/event_dispatch/dsl_spec.rb +0 -83
  688. data/spec/unit/exceptions_spec.rb +0 -132
  689. data/spec/unit/file_access_control_spec.rb +0 -308
  690. data/spec/unit/file_cache_spec.rb +0 -178
  691. data/spec/unit/file_content_management/deploy/cp_spec.rb +0 -44
  692. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +0 -113
  693. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +0 -232
  694. data/spec/unit/file_content_management/tempfile_spec.rb +0 -115
  695. data/spec/unit/formatters/base_spec.rb +0 -100
  696. data/spec/unit/formatters/doc_spec.rb +0 -110
  697. data/spec/unit/formatters/error_description_spec.rb +0 -141
  698. data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +0 -76
  699. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +0 -265
  700. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +0 -126
  701. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +0 -43
  702. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +0 -26
  703. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +0 -26
  704. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +0 -191
  705. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +0 -91
  706. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +0 -155
  707. data/spec/unit/guard_interpreter_spec.rb +0 -41
  708. data/spec/unit/handler/json_file_spec.rb +0 -63
  709. data/spec/unit/handler_spec.rb +0 -308
  710. data/spec/unit/http/api_versions_spec.rb +0 -100
  711. data/spec/unit/http/authenticator_spec.rb +0 -247
  712. data/spec/unit/http/basic_client_spec.rb +0 -102
  713. data/spec/unit/http/http_request_spec.rb +0 -97
  714. data/spec/unit/http/json_input_spec.rb +0 -128
  715. data/spec/unit/http/simple_spec.rb +0 -32
  716. data/spec/unit/http/socketless_chef_zero_client_spec.rb +0 -174
  717. data/spec/unit/http/ssl_policies_spec.rb +0 -228
  718. data/spec/unit/http/validate_content_length_spec.rb +0 -207
  719. data/spec/unit/http_spec.rb +0 -235
  720. data/spec/unit/json_compat_spec.rb +0 -73
  721. data/spec/unit/key_spec.rb +0 -631
  722. data/spec/unit/log/syslog_spec.rb +0 -47
  723. data/spec/unit/log/winevt_spec.rb +0 -62
  724. data/spec/unit/lwrp_spec.rb +0 -693
  725. data/spec/unit/mixin/api_version_request_handling_spec.rb +0 -126
  726. data/spec/unit/mixin/checksum_spec.rb +0 -82
  727. data/spec/unit/mixin/convert_to_class_name_spec.rb +0 -54
  728. data/spec/unit/mixin/deep_merge_spec.rb +0 -357
  729. data/spec/unit/mixin/default_paths_spec.rb +0 -92
  730. data/spec/unit/mixin/deprecation_spec.rb +0 -57
  731. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +0 -96
  732. data/spec/unit/mixin/homebrew_spec.rb +0 -118
  733. data/spec/unit/mixin/lazy_module_include.rb +0 -71
  734. data/spec/unit/mixin/openssl_helper_spec.rb +0 -897
  735. data/spec/unit/mixin/params_validate_spec.rb +0 -422
  736. data/spec/unit/mixin/powershell_exec_spec.rb +0 -90
  737. data/spec/unit/mixin/powershell_out_spec.rb +0 -106
  738. data/spec/unit/mixin/powershell_type_coercions_spec.rb +0 -84
  739. data/spec/unit/mixin/properties_spec.rb +0 -107
  740. data/spec/unit/mixin/proxified_socket_spec.rb +0 -97
  741. data/spec/unit/mixin/securable_spec.rb +0 -313
  742. data/spec/unit/mixin/shell_out_spec.rb +0 -308
  743. data/spec/unit/mixin/subclass_directive_spec.rb +0 -45
  744. data/spec/unit/mixin/template_spec.rb +0 -317
  745. data/spec/unit/mixin/unformatter_spec.rb +0 -60
  746. data/spec/unit/mixin/uris_spec.rb +0 -57
  747. data/spec/unit/mixin/user_context_spec.rb +0 -99
  748. data/spec/unit/mixin/versioned_api_spec.rb +0 -128
  749. data/spec/unit/mixin/which.rb +0 -170
  750. data/spec/unit/mixin/why_run_spec.rb +0 -53
  751. data/spec/unit/mixin/windows_architecture_helper_spec.rb +0 -85
  752. data/spec/unit/mixin/xml_escape_spec.rb +0 -54
  753. data/spec/unit/monologger_spec.rb +0 -45
  754. data/spec/unit/node/attribute_spec.rb +0 -1322
  755. data/spec/unit/node/immutable_collections_spec.rb +0 -258
  756. data/spec/unit/node/vivid_mash_spec.rb +0 -500
  757. data/spec/unit/node_map_spec.rb +0 -276
  758. data/spec/unit/node_spec.rb +0 -2038
  759. data/spec/unit/org_group_spec.rb +0 -45
  760. data/spec/unit/org_spec.rb +0 -196
  761. data/spec/unit/platform/query_helpers_spec.rb +0 -48
  762. data/spec/unit/policy_builder/dynamic_spec.rb +0 -256
  763. data/spec/unit/policy_builder/expand_node_object_spec.rb +0 -311
  764. data/spec/unit/policy_builder/policyfile_spec.rb +0 -960
  765. data/spec/unit/policy_builder_spec.rb +0 -26
  766. data/spec/unit/property/state_spec.rb +0 -514
  767. data/spec/unit/property/validation_spec.rb +0 -813
  768. data/spec/unit/property_spec.rb +0 -1329
  769. data/spec/unit/provider/apt_preference_spec.rb +0 -91
  770. data/spec/unit/provider/apt_repository_spec.rb +0 -370
  771. data/spec/unit/provider/apt_update_spec.rb +0 -119
  772. data/spec/unit/provider/batch_spec.rb +0 -130
  773. data/spec/unit/provider/cookbook_file/content_spec.rb +0 -39
  774. data/spec/unit/provider/cookbook_file_spec.rb +0 -59
  775. data/spec/unit/provider/cron/unix_spec.rb +0 -144
  776. data/spec/unit/provider/cron_spec.rb +0 -1252
  777. data/spec/unit/provider/directory_spec.rb +0 -289
  778. data/spec/unit/provider/dsc_resource_spec.rb +0 -313
  779. data/spec/unit/provider/dsc_script_spec.rb +0 -173
  780. data/spec/unit/provider/execute_spec.rb +0 -244
  781. data/spec/unit/provider/file/content_spec.rb +0 -114
  782. data/spec/unit/provider/file_spec.rb +0 -58
  783. data/spec/unit/provider/git_spec.rb +0 -822
  784. data/spec/unit/provider/group/dscl_spec.rb +0 -339
  785. data/spec/unit/provider/group/gpasswd_spec.rb +0 -119
  786. data/spec/unit/provider/group/groupadd_spec.rb +0 -195
  787. data/spec/unit/provider/group/groupmod_spec.rb +0 -136
  788. data/spec/unit/provider/group/pw_spec.rb +0 -141
  789. data/spec/unit/provider/group/solaris_spec.rb +0 -106
  790. data/spec/unit/provider/group/usermod_spec.rb +0 -112
  791. data/spec/unit/provider/group/windows_spec.rb +0 -130
  792. data/spec/unit/provider/group_spec.rb +0 -285
  793. data/spec/unit/provider/http_request_spec.rb +0 -147
  794. data/spec/unit/provider/ifconfig/aix_spec.rb +0 -180
  795. data/spec/unit/provider/ifconfig/debian_spec.rb +0 -332
  796. data/spec/unit/provider/ifconfig/redhat_spec.rb +0 -83
  797. data/spec/unit/provider/ifconfig_spec.rb +0 -247
  798. data/spec/unit/provider/launchd_spec.rb +0 -234
  799. data/spec/unit/provider/link_spec.rb +0 -425
  800. data/spec/unit/provider/log_spec.rb +0 -94
  801. data/spec/unit/provider/mdadm_spec.rb +0 -138
  802. data/spec/unit/provider/mount/aix_spec.rb +0 -277
  803. data/spec/unit/provider/mount/linux_spec.rb +0 -131
  804. data/spec/unit/provider/mount/mount_spec.rb +0 -590
  805. data/spec/unit/provider/mount/solaris_spec.rb +0 -822
  806. data/spec/unit/provider/mount/windows_spec.rb +0 -150
  807. data/spec/unit/provider/mount_spec.rb +0 -222
  808. data/spec/unit/provider/package/apt_spec.rb +0 -703
  809. data/spec/unit/provider/package/bff_spec.rb +0 -188
  810. data/spec/unit/provider/package/cab_spec.rb +0 -272
  811. data/spec/unit/provider/package/chocolatey_spec.rb +0 -574
  812. data/spec/unit/provider/package/deb_spec.rb +0 -135
  813. data/spec/unit/provider/package/dnf/python_helper_spec.rb +0 -36
  814. data/spec/unit/provider/package/dpkg_spec.rb +0 -314
  815. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +0 -147
  816. data/spec/unit/provider/package/freebsd/port_spec.rb +0 -151
  817. data/spec/unit/provider/package/homebrew_spec.rb +0 -402
  818. data/spec/unit/provider/package/ips_spec.rb +0 -233
  819. data/spec/unit/provider/package/macports_spec.rb +0 -203
  820. data/spec/unit/provider/package/msu_spec.rb +0 -283
  821. data/spec/unit/provider/package/openbsd_spec.rb +0 -136
  822. data/spec/unit/provider/package/pacman_spec.rb +0 -109
  823. data/spec/unit/provider/package/paludis_spec.rb +0 -134
  824. data/spec/unit/provider/package/portage_spec.rb +0 -179
  825. data/spec/unit/provider/package/powershell_spec.rb +0 -565
  826. data/spec/unit/provider/package/rpm_spec.rb +0 -440
  827. data/spec/unit/provider/package/rubygems_spec.rb +0 -1187
  828. data/spec/unit/provider/package/smartos_spec.rb +0 -110
  829. data/spec/unit/provider/package/snap_spec.rb +0 -208
  830. data/spec/unit/provider/package/solaris_spec.rb +0 -168
  831. data/spec/unit/provider/package/windows/exe_spec.rb +0 -201
  832. data/spec/unit/provider/package/windows/msi_spec.rb +0 -168
  833. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +0 -78
  834. data/spec/unit/provider/package/windows_spec.rb +0 -441
  835. data/spec/unit/provider/package/yum/python_helper_spec.rb +0 -30
  836. data/spec/unit/provider/package/yum/yum_cache_spec.rb +0 -109
  837. data/spec/unit/provider/package/zypper_spec.rb +0 -494
  838. data/spec/unit/provider/package_spec.rb +0 -791
  839. data/spec/unit/provider/powershell_script_spec.rb +0 -157
  840. data/spec/unit/provider/registry_key_spec.rb +0 -487
  841. data/spec/unit/provider/remote_directory_spec.rb +0 -236
  842. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +0 -245
  843. data/spec/unit/provider/remote_file/content_spec.rb +0 -253
  844. data/spec/unit/provider/remote_file/fetcher_spec.rb +0 -95
  845. data/spec/unit/provider/remote_file/ftp_spec.rb +0 -217
  846. data/spec/unit/provider/remote_file/http_spec.rb +0 -334
  847. data/spec/unit/provider/remote_file/local_file_spec.rb +0 -105
  848. data/spec/unit/provider/remote_file/network_file_spec.rb +0 -50
  849. data/spec/unit/provider/remote_file/sftp_spec.rb +0 -150
  850. data/spec/unit/provider/remote_file_spec.rb +0 -61
  851. data/spec/unit/provider/route_spec.rb +0 -268
  852. data/spec/unit/provider/ruby_block_spec.rb +0 -45
  853. data/spec/unit/provider/script_spec.rb +0 -67
  854. data/spec/unit/provider/service/aix_service_spec.rb +0 -195
  855. data/spec/unit/provider/service/aixinit_service_spec.rb +0 -272
  856. data/spec/unit/provider/service/arch_service_spec.rb +0 -326
  857. data/spec/unit/provider/service/debian_service_spec.rb +0 -273
  858. data/spec/unit/provider/service/freebsd_service_spec.rb +0 -621
  859. data/spec/unit/provider/service/gentoo_service_spec.rb +0 -145
  860. data/spec/unit/provider/service/init_service_spec.rb +0 -235
  861. data/spec/unit/provider/service/insserv_service_spec.rb +0 -75
  862. data/spec/unit/provider/service/invokercd_service_spec.rb +0 -211
  863. data/spec/unit/provider/service/macosx_spec.rb +0 -337
  864. data/spec/unit/provider/service/openbsd_service_spec.rb +0 -553
  865. data/spec/unit/provider/service/redhat_spec.rb +0 -253
  866. data/spec/unit/provider/service/simple_service_spec.rb +0 -171
  867. data/spec/unit/provider/service/solaris_smf_service_spec.rb +0 -292
  868. data/spec/unit/provider/service/systemd_service_spec.rb +0 -504
  869. data/spec/unit/provider/service/upstart_service_spec.rb +0 -322
  870. data/spec/unit/provider/service/windows_spec.rb +0 -986
  871. data/spec/unit/provider/service_spec.rb +0 -168
  872. data/spec/unit/provider/subversion_spec.rb +0 -364
  873. data/spec/unit/provider/systemd_unit_spec.rb +0 -1039
  874. data/spec/unit/provider/template/content_spec.rb +0 -169
  875. data/spec/unit/provider/template_spec.rb +0 -86
  876. data/spec/unit/provider/user/aix_spec.rb +0 -96
  877. data/spec/unit/provider/user/linux_spec.rb +0 -178
  878. data/spec/unit/provider/user/mac_spec.rb +0 -38
  879. data/spec/unit/provider/user/pw_spec.rb +0 -235
  880. data/spec/unit/provider/user/solaris_spec.rb +0 -177
  881. data/spec/unit/provider/user/windows_spec.rb +0 -198
  882. data/spec/unit/provider/user_spec.rb +0 -520
  883. data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +0 -46
  884. data/spec/unit/provider/windows_env_spec.rb +0 -385
  885. data/spec/unit/provider/windows_path_spec.rb +0 -60
  886. data/spec/unit/provider/windows_task_spec.rb +0 -436
  887. data/spec/unit/provider/yum_repository_spec.rb +0 -35
  888. data/spec/unit/provider/zypper_repository_spec.rb +0 -169
  889. data/spec/unit/provider_spec.rb +0 -215
  890. data/spec/unit/pure_application_spec.rb +0 -32
  891. data/spec/unit/recipe_spec.rb +0 -703
  892. data/spec/unit/resource/alternatives_spec.rb +0 -120
  893. data/spec/unit/resource/apt_package_spec.rb +0 -71
  894. data/spec/unit/resource/apt_preference_spec.rb +0 -39
  895. data/spec/unit/resource/apt_repository_spec.rb +0 -79
  896. data/spec/unit/resource/apt_update_spec.rb +0 -44
  897. data/spec/unit/resource/archive_file_spec.rb +0 -466
  898. data/spec/unit/resource/bash_spec.rb +0 -45
  899. data/spec/unit/resource/batch_spec.rb +0 -46
  900. data/spec/unit/resource/bff_package_spec.rb +0 -51
  901. data/spec/unit/resource/breakpoint_spec.rb +0 -64
  902. data/spec/unit/resource/build_essential_spec.rb +0 -77
  903. data/spec/unit/resource/cab_package_spec.rb +0 -64
  904. data/spec/unit/resource/chef_client_config_spec.rb +0 -145
  905. data/spec/unit/resource/chef_client_cron_spec.rb +0 -161
  906. data/spec/unit/resource/chef_client_launchd_spec.rb +0 -132
  907. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +0 -186
  908. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +0 -108
  909. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -68
  910. data/spec/unit/resource/chef_gem_spec.rb +0 -122
  911. data/spec/unit/resource/chef_handler_spec.rb +0 -40
  912. data/spec/unit/resource/chef_sleep_spec.rb +0 -30
  913. data/spec/unit/resource/chef_vault_secret_spec.rb +0 -40
  914. data/spec/unit/resource/chocolatey_config_spec.rb +0 -93
  915. data/spec/unit/resource/chocolatey_feature_spec.rb +0 -89
  916. data/spec/unit/resource/chocolatey_installer_spec.rb +0 -151
  917. data/spec/unit/resource/chocolatey_package_spec.rb +0 -106
  918. data/spec/unit/resource/chocolatey_source_spec.rb +0 -151
  919. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +0 -45
  920. data/spec/unit/resource/conditional_spec.rb +0 -254
  921. data/spec/unit/resource/cookbook_file_spec.rb +0 -93
  922. data/spec/unit/resource/cron_access_spec.rb +0 -36
  923. data/spec/unit/resource/cron_d_spec.rb +0 -84
  924. data/spec/unit/resource/cron_spec.rb +0 -167
  925. data/spec/unit/resource/csh_spec.rb +0 -45
  926. data/spec/unit/resource/directory_spec.rb +0 -69
  927. data/spec/unit/resource/dmg_package_spec.rb +0 -39
  928. data/spec/unit/resource/dnf_package_spec.rb +0 -114
  929. data/spec/unit/resource/dpkg_package_spec.rb +0 -72
  930. data/spec/unit/resource/dsc_resource_spec.rb +0 -102
  931. data/spec/unit/resource/dsc_script_spec.rb +0 -134
  932. data/spec/unit/resource/execute_spec.rb +0 -282
  933. data/spec/unit/resource/file/verification/json_spec.rb +0 -72
  934. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +0 -103
  935. data/spec/unit/resource/file/verification/yaml_spec.rb +0 -67
  936. data/spec/unit/resource/file/verification_spec.rb +0 -147
  937. data/spec/unit/resource/file_spec.rb +0 -127
  938. data/spec/unit/resource/freebsd_package_spec.rb +0 -77
  939. data/spec/unit/resource/gem_package_spec.rb +0 -67
  940. data/spec/unit/resource/group_spec.rb +0 -165
  941. data/spec/unit/resource/helpers/cron_validations_spec.rb +0 -81
  942. data/spec/unit/resource/homebrew_cask_spec.rb +0 -58
  943. data/spec/unit/resource/homebrew_package_spec.rb +0 -68
  944. data/spec/unit/resource/homebrew_tap_spec.rb +0 -44
  945. data/spec/unit/resource/homebrew_update_spec.rb +0 -30
  946. data/spec/unit/resource/hostname_spec.rb +0 -47
  947. data/spec/unit/resource/http_request_spec.rb +0 -65
  948. data/spec/unit/resource/ifconfig_spec.rb +0 -101
  949. data/spec/unit/resource/inspec_input_spec.rb +0 -300
  950. data/spec/unit/resource/inspec_waiver_file_entry_spec.rb +0 -80
  951. data/spec/unit/resource/inspec_waiver_spec.rb +0 -312
  952. data/spec/unit/resource/ips_package_spec.rb +0 -54
  953. data/spec/unit/resource/kernel_module_spec.rb +0 -45
  954. data/spec/unit/resource/ksh_spec.rb +0 -45
  955. data/spec/unit/resource/launchd_spec.rb +0 -48
  956. data/spec/unit/resource/link_spec.rb +0 -120
  957. data/spec/unit/resource/locale_spec.rb +0 -189
  958. data/spec/unit/resource/log_spec.rb +0 -64
  959. data/spec/unit/resource/macos_pkg_spec.rb +0 -38
  960. data/spec/unit/resource/macos_user_defaults_spec.rb +0 -76
  961. data/spec/unit/resource/macosx_service.rb +0 -37
  962. data/spec/unit/resource/macports_package_spec.rb +0 -51
  963. data/spec/unit/resource/mdadm_spec.rb +0 -104
  964. data/spec/unit/resource/mount_spec.rb +0 -201
  965. data/spec/unit/resource/msu_package_spec.rb +0 -67
  966. data/spec/unit/resource/notify_group_spec.rb +0 -34
  967. data/spec/unit/resource/ohai_hint_spec.rb +0 -44
  968. data/spec/unit/resource/ohai_spec.rb +0 -185
  969. data/spec/unit/resource/openbsd_package_spec.rb +0 -58
  970. data/spec/unit/resource/openssl_dhparam_spec.rb +0 -61
  971. data/spec/unit/resource/openssl_ec_private_key_spec.rb +0 -64
  972. data/spec/unit/resource/openssl_ec_public_key_spec.rb +0 -43
  973. data/spec/unit/resource/openssl_rsa_private_key_spec.rb +0 -64
  974. data/spec/unit/resource/openssl_rsa_public_key_spec.rb +0 -43
  975. data/spec/unit/resource/openssl_x509_certificate_spec.rb +0 -72
  976. data/spec/unit/resource/openssl_x509_crl_spec.rb +0 -61
  977. data/spec/unit/resource/openssl_x509_request.rb +0 -68
  978. data/spec/unit/resource/osx_profile_spec.rb +0 -360
  979. data/spec/unit/resource/package_spec.rb +0 -98
  980. data/spec/unit/resource/pacman_package_spec.rb +0 -46
  981. data/spec/unit/resource/paludis_package_spec.rb +0 -36
  982. data/spec/unit/resource/perl_spec.rb +0 -44
  983. data/spec/unit/resource/plist_spec.rb +0 -130
  984. data/spec/unit/resource/portage_package_spec.rb +0 -46
  985. data/spec/unit/resource/powershell_package_source_spec.rb +0 -220
  986. data/spec/unit/resource/powershell_package_spec.rb +0 -98
  987. data/spec/unit/resource/powershell_script_spec.rb +0 -65
  988. data/spec/unit/resource/python_spec.rb +0 -40
  989. data/spec/unit/resource/reboot_spec.rb +0 -47
  990. data/spec/unit/resource/registry_key_spec.rb +0 -215
  991. data/spec/unit/resource/remote_directory_spec.rb +0 -118
  992. data/spec/unit/resource/remote_file_spec.rb +0 -220
  993. data/spec/unit/resource/resource_notification_spec.rb +0 -169
  994. data/spec/unit/resource/rest_resource_spec.rb +0 -381
  995. data/spec/unit/resource/rhsm_errata_level_spec.rb +0 -50
  996. data/spec/unit/resource/rhsm_errata_spec.rb +0 -39
  997. data/spec/unit/resource/rhsm_register_spec.rb +0 -308
  998. data/spec/unit/resource/rhsm_repo_spec.rb +0 -70
  999. data/spec/unit/resource/rhsm_subscription_spec.rb +0 -145
  1000. data/spec/unit/resource/route_spec.rb +0 -100
  1001. data/spec/unit/resource/rpm_package_spec.rb +0 -62
  1002. data/spec/unit/resource/ruby_block_spec.rb +0 -58
  1003. data/spec/unit/resource/ruby_spec.rb +0 -39
  1004. data/spec/unit/resource/scm/git_spec.rb +0 -110
  1005. data/spec/unit/resource/scm/scm.rb +0 -122
  1006. data/spec/unit/resource/scm/subversion_spec.rb +0 -90
  1007. data/spec/unit/resource/script_spec.rb +0 -57
  1008. data/spec/unit/resource/selinux_boolean_spec.rb +0 -92
  1009. data/spec/unit/resource/selinux_fcontext_spec.rb +0 -65
  1010. data/spec/unit/resource/selinux_install_spec.rb +0 -60
  1011. data/spec/unit/resource/selinux_login_spec.rb +0 -73
  1012. data/spec/unit/resource/selinux_module_spec.rb +0 -55
  1013. data/spec/unit/resource/selinux_permissive_spec.rb +0 -39
  1014. data/spec/unit/resource/selinux_port_spec.rb +0 -42
  1015. data/spec/unit/resource/selinux_state_spec.rb +0 -46
  1016. data/spec/unit/resource/selinux_user_spec.rb +0 -92
  1017. data/spec/unit/resource/service_spec.rb +0 -203
  1018. data/spec/unit/resource/smartos_package_spec.rb +0 -52
  1019. data/spec/unit/resource/snap_package_spec.rb +0 -60
  1020. data/spec/unit/resource/solaris_package_spec.rb +0 -52
  1021. data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +0 -50
  1022. data/spec/unit/resource/sudo_spec.rb +0 -99
  1023. data/spec/unit/resource/swap_file_spec.rb +0 -39
  1024. data/spec/unit/resource/sysctl_spec.rb +0 -76
  1025. data/spec/unit/resource/systemd_unit_spec.rb +0 -130
  1026. data/spec/unit/resource/template_spec.rb +0 -222
  1027. data/spec/unit/resource/timezone_spec.rb +0 -102
  1028. data/spec/unit/resource/user/linux_user_spec.rb +0 -42
  1029. data/spec/unit/resource/user/windows_user_spec.rb +0 -36
  1030. data/spec/unit/resource/user_spec.rb +0 -121
  1031. data/spec/unit/resource/user_ulimit_spec.rb +0 -66
  1032. data/spec/unit/resource/windows_ad_join_spec.rb +0 -55
  1033. data/spec/unit/resource/windows_audit_policy_spec.rb +0 -64
  1034. data/spec/unit/resource/windows_auto_run_spec.rb +0 -50
  1035. data/spec/unit/resource/windows_certificate_spec.rb +0 -95
  1036. data/spec/unit/resource/windows_defender_exclusion_spec.rb +0 -62
  1037. data/spec/unit/resource/windows_defender_spec.rb +0 -71
  1038. data/spec/unit/resource/windows_dfs_folder_spec.rb +0 -39
  1039. data/spec/unit/resource/windows_dfs_namespace_spec.rb +0 -39
  1040. data/spec/unit/resource/windows_dfs_server_spec.rb +0 -34
  1041. data/spec/unit/resource/windows_dns_record_spec.rb +0 -55
  1042. data/spec/unit/resource/windows_dns_zone_spec.rb +0 -51
  1043. data/spec/unit/resource/windows_env_spec.rb +0 -75
  1044. data/spec/unit/resource/windows_feature_dism_spec.rb +0 -57
  1045. data/spec/unit/resource/windows_feature_powershell_spec.rb +0 -83
  1046. data/spec/unit/resource/windows_feature_spec.rb +0 -64
  1047. data/spec/unit/resource/windows_firewall_profile_spec.rb +0 -77
  1048. data/spec/unit/resource/windows_firewall_rule_spec.rb +0 -510
  1049. data/spec/unit/resource/windows_font_spec.rb +0 -43
  1050. data/spec/unit/resource/windows_package_spec.rb +0 -125
  1051. data/spec/unit/resource/windows_pagefile_spec.rb +0 -44
  1052. data/spec/unit/resource/windows_path_spec.rb +0 -40
  1053. data/spec/unit/resource/windows_printer_port_spec.rb +0 -62
  1054. data/spec/unit/resource/windows_printer_spec.rb +0 -52
  1055. data/spec/unit/resource/windows_service_spec.rb +0 -122
  1056. data/spec/unit/resource/windows_share_spec.rb +0 -48
  1057. data/spec/unit/resource/windows_shortcut_spec.rb +0 -38
  1058. data/spec/unit/resource/windows_task_spec.rb +0 -403
  1059. data/spec/unit/resource/windows_uac_spec.rb +0 -50
  1060. data/spec/unit/resource/windows_update_settings_spec.rb +0 -64
  1061. data/spec/unit/resource/windows_user_privilege_spec.rb +0 -55
  1062. data/spec/unit/resource/windows_workgroup_spec.rb +0 -74
  1063. data/spec/unit/resource/yum_package_spec.rb +0 -159
  1064. data/spec/unit/resource/yum_repository_spec.rb +0 -156
  1065. data/spec/unit/resource/zypper_package_spec.rb +0 -51
  1066. data/spec/unit/resource/zypper_repository_spec.rb +0 -115
  1067. data/spec/unit/resource_builder_spec.rb +0 -1
  1068. data/spec/unit/resource_collection/resource_list_spec.rb +0 -137
  1069. data/spec/unit/resource_collection/resource_set_spec.rb +0 -244
  1070. data/spec/unit/resource_collection/stepable_iterator_spec.rb +0 -144
  1071. data/spec/unit/resource_collection_spec.rb +0 -408
  1072. data/spec/unit/resource_definition_spec.rb +0 -117
  1073. data/spec/unit/resource_inspector_spec.rb +0 -101
  1074. data/spec/unit/resource_reporter_spec.rb +0 -802
  1075. data/spec/unit/resource_resolver_spec.rb +0 -52
  1076. data/spec/unit/resource_spec.rb +0 -1484
  1077. data/spec/unit/role_spec.rb +0 -363
  1078. data/spec/unit/run_context/child_run_context_spec.rb +0 -126
  1079. data/spec/unit/run_context/cookbook_compiler_spec.rb +0 -236
  1080. data/spec/unit/run_context_spec.rb +0 -257
  1081. data/spec/unit/run_list/run_list_expansion_spec.rb +0 -147
  1082. data/spec/unit/run_list/run_list_item_spec.rb +0 -117
  1083. data/spec/unit/run_list/versioned_recipe_list_spec.rb +0 -197
  1084. data/spec/unit/run_list_spec.rb +0 -312
  1085. data/spec/unit/run_lock_spec.rb +0 -144
  1086. data/spec/unit/run_status_spec.rb +0 -144
  1087. data/spec/unit/runner_spec.rb +0 -397
  1088. data/spec/unit/scan_access_control_spec.rb +0 -183
  1089. data/spec/unit/search/query_spec.rb +0 -291
  1090. data/spec/unit/secret_fetcher/akeyless_vault_spec.rb +0 -37
  1091. data/spec/unit/secret_fetcher/aws_secrets_manager_spec.rb +0 -70
  1092. data/spec/unit/secret_fetcher/azure_key_vault_spec.rb +0 -149
  1093. data/spec/unit/secret_fetcher/hashi_vault_spec.rb +0 -126
  1094. data/spec/unit/secret_fetcher_spec.rb +0 -82
  1095. data/spec/unit/server_api_spec.rb +0 -151
  1096. data/spec/unit/server_api_versions_spec.rb +0 -66
  1097. data/spec/unit/shell/model_wrapper_spec.rb +0 -96
  1098. data/spec/unit/shell/shell_ext_spec.rb +0 -196
  1099. data/spec/unit/shell/shell_session_spec.rb +0 -218
  1100. data/spec/unit/shell_spec.rb +0 -178
  1101. data/spec/unit/train_transport_spec.rb +0 -85
  1102. data/spec/unit/user_spec.rb +0 -275
  1103. data/spec/unit/user_v1_spec.rb +0 -585
  1104. data/spec/unit/util/backup_spec.rb +0 -141
  1105. data/spec/unit/util/diff_spec.rb +0 -562
  1106. data/spec/unit/util/dsc/configuration_generator_spec.rb +0 -272
  1107. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +0 -248
  1108. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +0 -192
  1109. data/spec/unit/util/dsc/resource_store.rb +0 -78
  1110. data/spec/unit/util/editor_spec.rb +0 -152
  1111. data/spec/unit/util/file_edit_spec.rb +0 -224
  1112. data/spec/unit/util/powershell/ps_credential_spec.rb +0 -51
  1113. data/spec/unit/util/selinux_spec.rb +0 -160
  1114. data/spec/unit/util/threaded_job_queue_spec.rb +0 -60
  1115. data/spec/unit/util/windows/logon_session_spec.rb +0 -285
  1116. data/spec/unit/version/platform_spec.rb +0 -60
  1117. data/spec/unit/version_class_spec.rb +0 -171
  1118. data/spec/unit/version_constraint/platform_spec.rb +0 -45
  1119. data/spec/unit/version_constraint_spec.rb +0 -179
  1120. data/spec/unit/version_string_spec.rb +0 -79
  1121. data/spec/unit/win32/error_spec.rb +0 -77
  1122. data/spec/unit/win32/link_spec.rb +0 -73
  1123. data/spec/unit/win32/registry_spec.rb +0 -394
  1124. data/spec/unit/win32/security_spec.rb +0 -136
  1125. data/tasks/rspec.rb +0 -87
@@ -1,1187 +0,0 @@
1
- #
2
- # Author:: David Balatero (dbalatero@gmail.com)
3
- #
4
- # Copyright:: Copyright 2009-2016, David Balatero
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- module GemspecBackcompatCreator
21
- def gemspec(name, version)
22
- if Gem::Specification.new.method(:initialize).arity == 0
23
- Gem::Specification.new { |s| s.name = name; s.version = version }
24
- else
25
- Gem::Specification.new(name, version)
26
- end
27
- end
28
- end
29
-
30
- # this is a global variable we construct of the highest rspec-core version which is installed, using APIs which
31
- # will break out of the bundle -- and done this way so that we can mock all these internal Gem APIs later...
32
- class RspecVersionString
33
- def self.rspec_version_string
34
- @rspec_version_string ||= begin
35
- stubs = Gem::Specification.send(:installed_stubs, Gem::Specification.dirs, "rspec-core-*.gemspec")
36
- stubs.select! { |stub| stub.name == "rspec-core" && Gem::Dependency.new("rspec-core", ">= 0").requirement.satisfied_by?(stub.version) }
37
- stubs.max_by(&:version).version.to_s
38
- end
39
- end
40
- end
41
- RspecVersionString.rspec_version_string
42
-
43
- require "spec_helper"
44
- require "ostruct"
45
-
46
- describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
47
- include GemspecBackcompatCreator
48
-
49
- let(:logger) { double("Mixlib::Log::Child").as_null_object }
50
- before do
51
- @gem_env = Chef::Provider::Package::Rubygems::CurrentGemEnvironment.new
52
- allow(@gem_env).to receive(:logger).and_return(logger)
53
-
54
- WebMock.disable_net_connect!
55
- end
56
-
57
- it "determines the gem paths from the in memory rubygems" do
58
- expect(@gem_env.gem_paths).to eq(Gem.path)
59
- end
60
-
61
- it "determines the installed versions of gems from Gem.source_index" do
62
- gems = [gemspec("rspec-core", Gem::Version.new("1.2.9")), gemspec("rspec-core", Gem::Version.new("1.3.0"))]
63
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new("2.7")
64
- expect(Gem::Specification).to receive(:dirs).and_return(["/path/to/gems/specifications", "/another/path/to/gems/specifications"])
65
- expect(Gem::Specification).to receive(:installed_stubs).with(["/path/to/gems/specifications", "/another/path/to/gems/specifications"], "rspec-core-*.gemspec").and_return(gems)
66
- else # >= Rubygems 1.8 behavior
67
- expect(Gem::Specification).to receive(:find_all_by_name).with("rspec-core", Gem::Dependency.new("rspec-core").requirement).and_return(gems)
68
- end
69
- expect(@gem_env.installed_versions(Gem::Dependency.new("rspec-core", nil))).to eq(gems)
70
- end
71
-
72
- it "determines the installed versions of gems from the source index (part2: the unmockening)" do
73
- expected = ["rspec-core", Gem::Version.new( RspecVersionString.rspec_version_string )]
74
- actual = @gem_env.installed_versions(Gem::Dependency.new("rspec-core", nil)).map { |spec| [spec.name, spec.version] }
75
- expect(actual).to include(expected)
76
- end
77
-
78
- it "yields to a block with an alternate source list set" do
79
- sources_in_block = nil
80
- normal_sources = Gem.sources
81
- begin
82
- @gem_env.with_gem_sources("http://gems.example.org") do
83
- sources_in_block = Gem.sources
84
- raise "sources should be reset even in case of an error"
85
- end
86
- rescue RuntimeError
87
- end
88
- expect(sources_in_block).to eq(%w{http://gems.example.org})
89
- expect(Gem.sources).to eq(normal_sources)
90
- end
91
-
92
- it "it doesnt alter the gem sources if none are set" do
93
- sources_in_block = nil
94
- normal_sources = Gem.sources
95
- begin
96
- @gem_env.with_gem_sources(nil) do
97
- sources_in_block = Gem.sources
98
- raise "sources should be reset even in case of an error"
99
- end
100
- rescue RuntimeError
101
- end
102
- expect(sources_in_block).to eq(normal_sources)
103
- expect(Gem.sources).to eq(normal_sources)
104
- end
105
-
106
- context "new default rubygems behavior", ruby: ">= 3.0" do
107
- before do
108
- Chef::Config[:rubygems_cache_enabled] = false
109
-
110
- dep_installer = Gem::DependencyInstaller.new
111
- expect(dep_installer).not_to receive(:find_gems_with_sources)
112
- allow(@gem_env).to receive(:dependency_installer).and_return(dep_installer)
113
- end
114
-
115
- it "finds a matching gem candidate version on rubygems 2.0.0+" do
116
- stub_request(:head, "https://index.rubygems.org/")
117
- .to_return(status: 200, body: "", headers: {})
118
- stub_request(:get, "https://index.rubygems.org/info/sexp_processor")
119
- .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-info")))
120
- stub_request(:get, "https://index.rubygems.org/quick/Marshal.4.8/sexp_processor-4.15.1.gemspec.rz")
121
- .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-4.15.1.gemspec.rz")))
122
-
123
- dep = Gem::Dependency.new("sexp_processor", ">= 0")
124
- expect(@gem_env.candidate_version_from_remote(dep)).to be_kind_of(Gem::Version)
125
- end
126
-
127
- it "gives the candidate version as nil if none is found" do
128
- stub_request(:head, "https://index.rubygems.org/")
129
- .to_return(status: 200, body: "", headers: {})
130
- stub_request(:get, "https://index.rubygems.org/info/nonexistent_gem")
131
- .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "nonexistent_gem-info")))
132
-
133
- dep = Gem::Dependency.new("nonexistent_gem", ">= 0")
134
- expect(@gem_env.candidate_version_from_remote(dep)).to be_nil
135
- end
136
-
137
- it "finds a matching gem from a specific gemserver when explicit sources are given (to a server that doesn't respond to api requests)" do
138
- stub_request(:head, "https://rubygems2.org/")
139
- .to_return(status: 200, body: "", headers: {})
140
- stub_request(:get, "https://rubygems2.org/info/sexp_processor")
141
- .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-info")))
142
- stub_request(:get, "https://rubygems2.org/quick/Marshal.4.8/sexp_processor-4.16.1.gemspec.rz")
143
- .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-4.15.1.gemspec.rz")))
144
-
145
- dep = Gem::Dependency.new("sexp_processor", ">= 0")
146
- expect(@gem_env.candidate_version_from_remote(dep, "https://rubygems2.org")).to be_nil
147
- end
148
- end
149
-
150
- context "old rubygems caching behavior" do
151
- before do
152
- Chef::Config[:rubygems_cache_enabled] = true
153
-
154
- stub_request(:get, "https://rubygems.org/latest_specs.4.8.gz")
155
- .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "latest_specs.4.8.gz")))
156
- end
157
-
158
- it "finds a matching gem candidate version on rubygems 2.0.0+" do
159
- stub_request(:get, "https://rubygems.org/quick/Marshal.4.8/sexp_processor-4.15.1.gemspec.rz")
160
- .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-4.15.1.gemspec.rz")))
161
-
162
- dep = Gem::Dependency.new("sexp_processor", ">= 0")
163
- expect(@gem_env.candidate_version_from_remote(dep)).to be_kind_of(Gem::Version)
164
- end
165
-
166
- it "gives the candidate version as nil if none is found" do
167
- dep = Gem::Dependency.new("lksdjflksdjflsdkfj", ">= 0")
168
- expect(@gem_env.candidate_version_from_remote(dep)).to be_nil
169
- end
170
-
171
- it "finds a matching gem from a specific gemserver when explicit sources are given" do
172
- stub_request(:get, "https://rubygems.org/quick/Marshal.4.8/sexp_processor-4.15.1.gemspec.rz")
173
- .to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-4.15.1.gemspec.rz")))
174
-
175
- dep = Gem::Dependency.new("sexp_processor", ">= 0")
176
- expect(@gem_env.candidate_version_from_remote(dep, "http://rubygems2.org")).to be_kind_of(Gem::Version)
177
- end
178
- end
179
-
180
- it "finds a matching candidate version from a .gem file when the path to the gem is supplied" do
181
- location = CHEF_SPEC_DATA + "/gems/chef-integration-test-0.1.0.gem"
182
- expect(@gem_env.candidate_version_from_file(Gem::Dependency.new("chef-integration-test", ">= 0"), location)).to eq(Gem::Version.new("0.1.0"))
183
- expect(@gem_env.candidate_version_from_file(Gem::Dependency.new("chef-integration-test", ">= 0.2.0"), location)).to be_nil
184
- end
185
-
186
- it "installs a gem with a hash of options for the dependency installer" do
187
- dep_installer = Gem::DependencyInstaller.new
188
- expect(@gem_env).to receive(:dependency_installer).with(install_dir: "/foo/bar").and_return(dep_installer)
189
- expect(@gem_env).to receive(:with_gem_sources).with("http://gems.example.com").and_yield
190
- expect(dep_installer).to receive(:install).with(Gem::Dependency.new("rspec", ">= 0"))
191
- @gem_env.install(Gem::Dependency.new("rspec", ">= 0"), install_dir: "/foo/bar", sources: ["http://gems.example.com"])
192
- end
193
-
194
- it "builds an uninstaller for a gem with options set to avoid requiring user input" do
195
- # default options for uninstaller should be:
196
- # :ignore => true, :executables => true
197
- expect(Gem::Uninstaller).to receive(:new).with("rspec", ignore: true, executables: true)
198
- @gem_env.uninstaller("rspec")
199
- end
200
-
201
- it "uninstalls all versions of a gem" do
202
- uninstaller = double("gem uninstaller")
203
- expect(uninstaller).to receive(:uninstall)
204
- expect(@gem_env).to receive(:uninstaller).with("rspec", all: true).and_return(uninstaller)
205
- @gem_env.uninstall("rspec")
206
- end
207
-
208
- it "uninstalls a specific version of a gem" do
209
- uninstaller = double("gem uninstaller")
210
- expect(uninstaller).to receive(:uninstall)
211
- expect(@gem_env).to receive(:uninstaller).with("rspec", version: "1.2.3").and_return(uninstaller)
212
- @gem_env.uninstall("rspec", "1.2.3")
213
- end
214
-
215
- end
216
-
217
- describe Chef::Provider::Package::Rubygems::AlternateGemEnvironment do
218
- include GemspecBackcompatCreator
219
-
220
- before do
221
- Chef::Provider::Package::Rubygems::AlternateGemEnvironment.gempath_cache.clear
222
- Chef::Provider::Package::Rubygems::AlternateGemEnvironment.platform_cache.clear
223
- @gem_env = Chef::Provider::Package::Rubygems::AlternateGemEnvironment.new("/usr/weird/bin/gem")
224
- end
225
-
226
- it "determines the gem paths from shelling out to gem env" do
227
- gem_env_output = ["/path/to/gems", "/another/path/to/gems"].join(File::PATH_SEPARATOR)
228
- shell_out_result = OpenStruct.new(stdout: gem_env_output)
229
- expect(@gem_env).to receive(:shell_out_compacted!).with("/usr/weird/bin/gem env gempath").and_return(shell_out_result)
230
- expect(@gem_env.gem_paths).to eq(["/path/to/gems", "/another/path/to/gems"])
231
- end
232
-
233
- it "caches the gempaths by gem_binary" do
234
- gem_env_output = ["/path/to/gems", "/another/path/to/gems"].join(File::PATH_SEPARATOR)
235
- shell_out_result = OpenStruct.new(stdout: gem_env_output)
236
- expect(@gem_env).to receive(:shell_out_compacted!).with("/usr/weird/bin/gem env gempath").and_return(shell_out_result)
237
- expected = ["/path/to/gems", "/another/path/to/gems"]
238
- expect(@gem_env.gem_paths).to eq(["/path/to/gems", "/another/path/to/gems"])
239
- expect(Chef::Provider::Package::Rubygems::AlternateGemEnvironment.gempath_cache["/usr/weird/bin/gem"]).to eq(expected)
240
- end
241
-
242
- it "uses the cached result for gem paths when available" do
243
- expect(@gem_env).not_to receive(:shell_out_compacted!)
244
- expected = ["/path/to/gems", "/another/path/to/gems"]
245
- Chef::Provider::Package::Rubygems::AlternateGemEnvironment.gempath_cache["/usr/weird/bin/gem"] = expected
246
- expect(@gem_env.gem_paths).to eq(["/path/to/gems", "/another/path/to/gems"])
247
- end
248
-
249
- it "builds the gems source index from the gem paths" do
250
- allow(@gem_env).to receive(:gem_paths).and_return(["/path/to/gems", "/another/path/to/gems"])
251
- @gem_env.gem_specification
252
- expect(Gem::Specification.dirs).to eq([ "/path/to/gems/specifications", "/another/path/to/gems/specifications" ])
253
- end
254
-
255
- it "determines the installed versions of gems from the source index" do
256
- gems = [gemspec("rspec", Gem::Version.new("1.2.9")), gemspec("rspec", Gem::Version.new("1.3.0"))]
257
- rspec_dep = Gem::Dependency.new("rspec", nil)
258
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new("2.7")
259
- allow(@gem_env).to receive(:gem_specification).and_return(Gem::Specification)
260
- expect(Gem::Specification).to receive(:dirs).and_return(["/path/to/gems/specifications", "/another/path/to/gems/specifications"])
261
- expect(Gem::Specification).to receive(:installed_stubs).with(["/path/to/gems/specifications", "/another/path/to/gems/specifications"], "rspec-*.gemspec").and_return(gems)
262
- else # >= rubygems 1.8 behavior
263
- allow(@gem_env).to receive(:gem_specification).and_return(Gem::Specification)
264
- expect(@gem_env.gem_specification).to receive(:find_all_by_name).with(rspec_dep.name, rspec_dep.requirement).and_return(gems)
265
- end
266
- expect(@gem_env.installed_versions(Gem::Dependency.new("rspec", nil))).to eq(gems)
267
- end
268
-
269
- it "determines the installed versions of gems from the source index (part2: the unmockening)" do
270
- allow($stdout).to receive(:write)
271
- path_to_gem = if windows?
272
- `where gem`.split[1]
273
- else
274
- `which gem`.strip
275
- end
276
- skip("cant find your gem executable") if path_to_gem.empty?
277
- gem_env = Chef::Provider::Package::Rubygems::AlternateGemEnvironment.new(path_to_gem)
278
- expected = ["rspec-core", Gem::Version.new( RspecVersionString.rspec_version_string )]
279
- actual = gem_env.installed_versions(Gem::Dependency.new("rspec-core", nil)).map { |s| [s.name, s.version] }
280
- expect(actual).to include(expected)
281
- end
282
-
283
- it "detects when the target gem environment is the jruby platform" do
284
- gem_env_out = <<~JRUBY_GEM_ENV
285
- RubyGems Environment:
286
- - RUBYGEMS VERSION: 1.3.6
287
- - RUBY VERSION: 1.8.7 (2010-05-12 patchlevel 249) [java]
288
- - INSTALLATION DIRECTORY: /Users/you/.rvm/gems/jruby-1.5.0
289
- - RUBY EXECUTABLE: /Users/you/.rvm/rubies/jruby-1.5.0/bin/jruby
290
- - EXECUTABLE DIRECTORY: /Users/you/.rvm/gems/jruby-1.5.0/bin
291
- - RUBYGEMS PLATFORMS:
292
- - ruby
293
- - universal-java-1.6
294
- - GEM PATHS:
295
- - /Users/you/.rvm/gems/jruby-1.5.0
296
- - /Users/you/.rvm/gems/jruby-1.5.0@global
297
- - GEM CONFIGURATION:
298
- - :update_sources => true
299
- - :verbose => true
300
- - :benchmark => false
301
- - :backtrace => false
302
- - :bulk_threshold => 1000
303
- - "install" => "--env-shebang"
304
- - "update" => "--env-shebang"
305
- - "gem" => "--no-rdoc --no-ri"
306
- - :sources => ["https://rubygems.org/", "http://gems.github.com/"]
307
- - REMOTE SOURCES:
308
- - https://rubygems.org/
309
- - http://gems.github.com/
310
- JRUBY_GEM_ENV
311
- expect(@gem_env).to receive(:shell_out_compacted!).with("/usr/weird/bin/gem env").and_return(double("jruby_gem_env", stdout: gem_env_out))
312
- expected = ["ruby", Gem::Platform.new("universal-java-1.6")]
313
- expect(@gem_env.gem_platforms).to eq(expected)
314
- # it should also cache the result
315
- expect(Chef::Provider::Package::Rubygems::AlternateGemEnvironment.platform_cache["/usr/weird/bin/gem"]).to eq(expected)
316
- end
317
-
318
- it "uses the cached result for gem platforms if available" do
319
- expect(@gem_env).not_to receive(:shell_out_compacted!)
320
- expected = ["ruby", Gem::Platform.new("universal-java-1.6")]
321
- Chef::Provider::Package::Rubygems::AlternateGemEnvironment.platform_cache["/usr/weird/bin/gem"] = expected
322
- expect(@gem_env.gem_platforms).to eq(expected)
323
- end
324
-
325
- it "uses the current gem platforms when the target env is not jruby" do
326
- gem_env_out = <<~RBX_GEM_ENV
327
- RubyGems Environment:
328
- - RUBYGEMS VERSION: 1.3.6
329
- - RUBY VERSION: 1.8.7 (2010-05-14 patchlevel 174) [x86_64-apple-darwin10.3.0]
330
- - INSTALLATION DIRECTORY: /Users/ddeleo/.rvm/gems/rbx-1.0.0-20100514
331
- - RUBYGEMS PREFIX: /Users/ddeleo/.rvm/rubies/rbx-1.0.0-20100514
332
- - RUBY EXECUTABLE: /Users/ddeleo/.rvm/rubies/rbx-1.0.0-20100514/bin/rbx
333
- - EXECUTABLE DIRECTORY: /Users/ddeleo/.rvm/gems/rbx-1.0.0-20100514/bin
334
- - RUBYGEMS PLATFORMS:
335
- - ruby
336
- - x86_64-darwin-10
337
- - x86_64-rubinius-1.0
338
- - GEM PATHS:
339
- - /Users/ddeleo/.rvm/gems/rbx-1.0.0-20100514
340
- - /Users/ddeleo/.rvm/gems/rbx-1.0.0-20100514@global
341
- - GEM CONFIGURATION:
342
- - :update_sources => true
343
- - :verbose => true
344
- - :benchmark => false
345
- - :backtrace => false
346
- - :bulk_threshold => 1000
347
- - :sources => ["https://rubygems.org/", "http://gems.github.com/"]
348
- - "gem" => "--no-rdoc --no-ri"
349
- - REMOTE SOURCES:
350
- - https://rubygems.org/
351
- - http://gems.github.com/
352
- RBX_GEM_ENV
353
- expect(@gem_env).to receive(:shell_out_compacted!).with("/usr/weird/bin/gem env").and_return(double("rbx_gem_env", stdout: gem_env_out))
354
- expect(@gem_env.gem_platforms).to eq(Gem.platforms)
355
- expect(Chef::Provider::Package::Rubygems::AlternateGemEnvironment.platform_cache["/usr/weird/bin/gem"]).to eq(Gem.platforms)
356
- end
357
-
358
- it "yields to a block while masquerading as a different gems platform" do
359
- original_platforms = Gem.platforms
360
- platforms_in_block = nil
361
- begin
362
- @gem_env.with_gem_platforms(["ruby", Gem::Platform.new("sparc64-java-1.7")]) do
363
- platforms_in_block = Gem.platforms
364
- raise "gem platforms should get set to the correct value even when an error occurs"
365
- end
366
- rescue RuntimeError
367
- end
368
- expect(platforms_in_block).to eq(["ruby", Gem::Platform.new("sparc64-java-1.7")])
369
- expect(Gem.platforms).to eq(original_platforms)
370
- end
371
-
372
- end
373
-
374
- describe Chef::Provider::Package::Rubygems do
375
- let(:target_version) { nil }
376
- let(:gem_name) { "rspec-core" }
377
- let(:gem_binary) { nil }
378
- let(:bindir) { "/usr/bin" }
379
- let(:options) { nil }
380
- let(:source) { nil }
381
- let(:include_default_source) { nil }
382
-
383
- let(:new_resource) do
384
- new_resource = Chef::Resource::GemPackage.new(gem_name)
385
- new_resource.version(target_version)
386
- new_resource.gem_binary(gem_binary) if gem_binary
387
- new_resource.options(options) if options
388
- new_resource.source(source) if source
389
- new_resource.include_default_source(include_default_source)
390
- new_resource
391
- end
392
-
393
- let(:current_resource) { nil }
394
-
395
- let(:provider) do
396
- run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
397
- provider = Chef::Provider::Package::Rubygems.new(new_resource, run_context)
398
- if current_resource
399
- allow(provider).to receive(:load_current_resource)
400
- provider.current_resource = current_resource
401
- end
402
- provider
403
- end
404
-
405
- let(:gem_dep) { Gem::Dependency.new(gem_name, target_version) }
406
-
407
- before(:each) do
408
- # We choose detect omnibus via RbConfig::CONFIG['bindir'] in Chef::Provider::Package::Rubygems.new
409
- allow(RbConfig::CONFIG).to receive(:[]).with("bindir").and_return(bindir)
410
- # Rubygems uses these two interally
411
- allow(RbConfig::CONFIG).to receive(:[]).with("arch").and_call_original
412
- allow(RbConfig::CONFIG).to receive(:[]).with("ruby_install_name").and_call_original
413
- allow(RbConfig::CONFIG).to receive(:[]).with("ruby_version").and_call_original
414
- allow(RbConfig::CONFIG).to receive(:[]).with("rubylibprefix").and_call_original
415
- allow(RbConfig::CONFIG).to receive(:[]).with("vendordir").and_call_original
416
- allow(File).to receive(:executable?).and_return false
417
- allow(File).to receive(:executable?).with("#{bindir}/gem").and_return true
418
- # XXX: we can't stub the provider object directly here because referencing it will create it and that
419
- # will break later tests that want to test the initialize method, so we stub any instance
420
- # (yet more evidence that initialize methods should be thin and do very little work)
421
- allow_any_instance_of(Chef::Provider::Package::Rubygems).to receive(:needs_nodocument?).and_return true
422
- end
423
-
424
- describe "when new_resource version is nil" do
425
- let(:target_version) { nil }
426
-
427
- it "target_version_already_installed? should return false so that we can search for candidates" do
428
- provider.load_current_resource
429
- expect(provider.target_version_already_installed?(provider.current_resource.version, new_resource.version)).to be_falsey
430
- end
431
-
432
- it "version_equals? should return false so that we can search for candidates" do
433
- provider.load_current_resource
434
- expect(provider.version_equals?(provider.current_resource.version, new_resource.version)).to be_falsey
435
- end
436
- end
437
-
438
- describe "when new_resource version is an rspec version" do
439
- let(:current_version) { RspecVersionString.rspec_version_string }
440
- let(:target_version) { current_version }
441
-
442
- it "triggers a gem configuration load so a later one will not stomp its config values" do
443
- _ = provider
444
- # ugly, is there a better way?
445
- expect(Gem.instance_variable_get(:@configuration)).not_to be_nil
446
- end
447
-
448
- it "uses the CurrentGemEnvironment implementation when no gem_binary_path is provided" do
449
- expect(provider.gem_env).to be_a_kind_of(Chef::Provider::Package::Rubygems::CurrentGemEnvironment)
450
- end
451
-
452
- context "when a gem_binary_path is provided" do
453
- let(:gem_binary) { "/usr/weird/bin/gem" }
454
-
455
- it "uses the AlternateGemEnvironment implementation when a gem_binary_path is provided" do
456
- expect(provider.gem_env.gem_binary_location).to eq(gem_binary)
457
- end
458
-
459
- context "when you try to use a hash of install options" do
460
- let(:options) { { fail: :burger } }
461
-
462
- it "smites you" do
463
- expect { provider }.to raise_error(ArgumentError)
464
- end
465
- end
466
- end
467
-
468
- context "when in omnibus opscode" do
469
- let(:bindir) { "/opt/opscode/embedded/bin" }
470
-
471
- it "recognizes opscode as omnibus" do
472
- expect(provider.is_omnibus?).to be true
473
- end
474
- end
475
-
476
- context "when in omnibus chef-workstation" do
477
- let(:bindir) { "/opt/chef-workstation/embedded/bin" }
478
-
479
- it "recognizes chef-workstation as omnibus" do
480
- expect(provider.is_omnibus?).to be true
481
- end
482
- end
483
-
484
- context "when in omnibus chef" do
485
- let(:bindir) { "/opt/chef/embedded/bin" }
486
-
487
- it "recognizes chef as omnibus" do
488
- expect(provider.is_omnibus?).to be true
489
- end
490
-
491
- it "searches for a gem binary when running on Omnibus on Unix" do
492
- platform_mock :unix do
493
- allow(ENV).to receive(:[]).with("PATH").and_return("/usr/bin:/usr/sbin:/opt/chef/embedded/bin")
494
- allow(ENV).to receive(:[]).with("PATHEXT").and_return(nil)
495
- allow(File).to receive(:executable?).with("/usr/bin/gem").and_return(false)
496
- allow(File).to receive(:executable?).with("/usr/sbin/gem").and_return(true)
497
- allow(File).to receive(:executable?).with("/opt/chef/embedded/bin/gem").and_return(true) # should not get here
498
- expect(provider.gem_env.gem_binary_location).to eq("/usr/sbin/gem")
499
- end
500
- end
501
-
502
- context "when on Windows" do
503
- let(:bindir) { "d:/opscode/chef/embedded/bin" }
504
-
505
- it "searches for a gem binary when running on Omnibus on Windows" do
506
- platform_mock :windows do
507
- allow(ENV).to receive(:[]).with("PATH").and_return('C:\windows\system32;C:\windows;C:\Ruby186\bin')
508
- allow(ENV).to receive(:[]).with("PATHEXT").and_return(nil)
509
- allow(File).to receive(:executable?).with("C:\\windows\\system32/gem").and_return(false)
510
- allow(File).to receive(:executable?).with("C:\\windows/gem").and_return(false)
511
- allow(File).to receive(:executable?).with("C:\\Ruby186\\bin/gem").and_return(true)
512
- allow(File).to receive(:executable?).with("d:\\opscode\\chef\\bin/gem").and_return(false) # should not get here
513
- allow(File).to receive(:executable?).with("d:\\opscode\\chef\\bin/gem").and_return(false) # should not get here
514
- allow(File).to receive(:executable?).with("d:/opscode/chef/embedded/bin/gem").and_return(false) # should not get here
515
- expect(provider.gem_env.gem_binary_location).to eq('C:\Ruby186\bin/gem')
516
- end
517
- end
518
- end
519
- end
520
-
521
- it "converts the new resource into a gem dependency" do
522
- expect(provider.gem_dependency).to eq(gem_dep)
523
- end
524
-
525
- context "when the new resource is not the current version" do
526
- let(:target_version) { "~> 9000.0.2" }
527
-
528
- it "converts the new resource into a gem dependency" do
529
- expect(provider.gem_dependency).to eq(gem_dep)
530
- end
531
- end
532
-
533
- describe "when determining the currently installed version" do
534
- before do
535
- provider.load_current_resource
536
- end
537
-
538
- it "sets the current version to the version specified by the new resource if that version is installed" do
539
- expect(provider.current_resource.version).to eq(current_version)
540
- end
541
-
542
- context "if the requested version is not installed" do
543
- let(:target_version) { "9000.0.2" }
544
-
545
- it "sets the current version to the highest installed version if the requested version is not installed" do
546
- expect(provider.current_resource.version).to eq(current_version)
547
- end
548
- end
549
-
550
- context "if the package is not currently installed" do
551
- let(:gem_name) { "no-such-gem-should-exist-with-this-name" }
552
-
553
- it "leaves the current version at nil" do
554
- expect(provider.current_resource.version).to be_nil
555
- end
556
- end
557
-
558
- end
559
-
560
- describe "when determining the candidate version to install" do
561
- before do
562
- provider.load_current_resource
563
- end
564
-
565
- context "when the current version is the target version" do
566
- it "does not query for available versions" do
567
- # NOTE: odd use case -- we've equality pinned a version, but are calling :upgrade
568
- expect(provider.gem_env).not_to receive(:candidate_version_from_remote)
569
- expect(provider.gem_env).not_to receive(:install)
570
- provider.run_action(:upgrade)
571
- expect(new_resource).not_to be_updated_by_last_action
572
- end
573
- end
574
-
575
- context "when the current version satisfies the target version requirement" do
576
- let(:target_version) { ">= 0" }
577
-
578
- it "does not query for available versions on install" do
579
- expect(provider.gem_env).not_to receive(:candidate_version_from_remote)
580
- expect(provider.gem_env).not_to receive(:install)
581
- provider.run_action(:install)
582
- expect(new_resource).not_to be_updated_by_last_action
583
- end
584
-
585
- it "queries for available versions on upgrade" do
586
- expect(provider.gem_env).to receive(:candidate_version_from_remote)
587
- .and_return(Gem::Version.new("9000.0.2"))
588
- expect(provider.gem_env).to receive(:install)
589
- provider.run_action(:upgrade)
590
- expect(new_resource).to be_updated_by_last_action
591
- end
592
- end
593
-
594
- context "when the source is from the rubygems_url" do
595
- it "determines the candidate version by querying the remote gem servers" do
596
- Chef::Config[:rubygems_url] = "https://mirror1/"
597
- expect(provider.gem_env).to receive(:candidate_version_from_remote)
598
- .with(gem_dep, "https://mirror1/")
599
- .and_return(Gem::Version.new(target_version))
600
- expect(provider.candidate_version).to eq(target_version)
601
- end
602
- end
603
-
604
- context "when the requested source is a remote server" do
605
- let(:source) { "http://mygems.example.com" }
606
-
607
- it "determines the candidate version by querying the remote gem servers" do
608
- expect(provider.gem_env).to receive(:candidate_version_from_remote)
609
- .with(gem_dep, source)
610
- .and_return(Gem::Version.new(target_version))
611
- expect(provider.candidate_version).to eq(target_version)
612
- end
613
-
614
- it "overwrites the config variable" do
615
- new_resource.include_default_source false
616
- Chef::Config[:rubygems_url] = "https://overridden"
617
- expect(provider.gem_env).to receive(:candidate_version_from_remote)
618
- .with(gem_dep, source)
619
- .and_return(Gem::Version.new(target_version))
620
- expect(provider.candidate_version).to eq(target_version)
621
- end
622
- end
623
-
624
- context "when the requested source is an array" do
625
- let(:source) { [ "https://mirror1", "https://mirror2" ] }
626
-
627
- it "determines the candidate version by querying the remote gem servers" do
628
- expect(provider.gem_env).to receive(:candidate_version_from_remote)
629
- .with(gem_dep, *source)
630
- .and_return(Gem::Version.new(target_version))
631
- expect(provider.candidate_version).to eq(target_version)
632
- end
633
-
634
- it "overwrites the config variable" do
635
- new_resource.include_default_source false
636
- Chef::Config[:rubygems_url] = "https://overridden"
637
- expect(provider.gem_env).to receive(:candidate_version_from_remote)
638
- .with(gem_dep, *source)
639
- .and_return(Gem::Version.new(target_version))
640
- expect(provider.candidate_version).to eq(target_version)
641
- end
642
- end
643
-
644
- context "when the requested source is a file" do
645
- let(:gem_name) { "chef-integration-test" }
646
- let(:source) { CHEF_SPEC_DATA + "/gems/chef-integration-test-0.1.0.gem" }
647
- let(:target_version) { ">= 0" }
648
-
649
- it "parses the gem's specification" do
650
- expect(provider.candidate_version).to eq("0.1.0")
651
- end
652
- end
653
- end
654
-
655
- describe "when installing a gem" do
656
- let(:target_version) { "9000.0.2" }
657
- let(:current_version) { nil }
658
- let(:candidate_version) { "9000.0.2" }
659
- let(:current_resource) do
660
- current_resource = Chef::Resource::GemPackage.new(gem_name)
661
- current_resource.version(current_version)
662
- current_resource
663
- end
664
-
665
- let(:version) { Gem::Version.new(candidate_version) }
666
-
667
- before do
668
- expected_source = [ source ]
669
- expected_source << "https://rubygems.org" if provider.include_default_source?
670
- allow(provider.gem_env).to receive(:candidate_version_from_remote).with(gem_dep, *expected_source.flatten.compact).and_return(version)
671
- end
672
-
673
- describe "in the current gem environment" do
674
- it "installs the gem via the gems api when no explicit options are used" do
675
- expect(provider.gem_env).to receive(:install).with(gem_dep, sources: [ "https://rubygems.org" ])
676
- provider.run_action(:install)
677
- expect(new_resource).to be_updated_by_last_action
678
- end
679
-
680
- context "when a remote source is provided" do
681
- let(:source) { "http://gems.example.org" }
682
-
683
- it "installs the gem via the gems api" do
684
- expect(provider.gem_env).to receive(:install).with(gem_dep, sources: [source])
685
- provider.run_action(:install)
686
- expect(new_resource).to be_updated_by_last_action
687
- end
688
- end
689
-
690
- context "when source is a path" do
691
- let(:source) { CHEF_SPEC_DATA + "/gems/chef-integration-test-0.1.0.gem" }
692
-
693
- it "installs the gem from file via the gems api" do
694
- expect(provider.gem_env).to receive(:install).with(source)
695
- provider.run_action(:install)
696
- expect(new_resource).to be_updated_by_last_action
697
- end
698
- end
699
-
700
- context "when the gem name is a file path and source is nil" do
701
- let(:gem_name) { CHEF_SPEC_DATA + "/gems/chef-integration-test-0.1.0.gem" }
702
-
703
- it "installs the gem from file via the gems api" do
704
- expect(new_resource.source).to eq(gem_name)
705
- expect(provider.gem_env).to receive(:install).with(gem_name)
706
- provider.run_action(:install)
707
- expect(new_resource).to be_updated_by_last_action
708
- end
709
- end
710
-
711
- # this catches 'gem_package "foo"' when "./foo" is a file in the cwd, and instead of installing './foo' it fetches the remote gem
712
- it "installs the gem via the gems api, when the package has no file separator characters in it, but a matching file exists in cwd" do
713
- allow(::File).to receive(:exist?).and_return(true)
714
- new_resource.package_name("rspec-core")
715
- expect(provider.gem_env).to receive(:install).with(gem_dep, sources: [ "https://rubygems.org" ])
716
- provider.run_action(:install)
717
- expect(new_resource).to be_updated_by_last_action
718
- end
719
-
720
- context "when options are provided as a String" do
721
- let(:options) { "-i /alt/install/location" }
722
-
723
- it "installs the gem by shelling out when options are provided as a String" do
724
- expected = "gem install rspec-core -q --no-document -v \"#{target_version}\" --source=https://rubygems.org #{options}"
725
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
726
- provider.run_action(:install)
727
- expect(new_resource).to be_updated_by_last_action
728
- end
729
-
730
- it "unmockening needs_nodocument?" do
731
- expected = "gem install rspec-core -q --no-document -v \"#{target_version}\" --source=https://rubygems.org #{options}"
732
- expect(provider).to receive(:needs_nodocument?).and_call_original
733
- stub_const("Gem::VERSION", "3.0.0")
734
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
735
- provider.run_action(:install)
736
- expect(new_resource).to be_updated_by_last_action
737
- end
738
-
739
- it "when the rubygems_version is old it uses the old flags" do
740
- expected = "gem install rspec-core -q --no-rdoc --no-ri -v \"#{target_version}\" --source=https://rubygems.org #{options}"
741
- expect(provider).to receive(:needs_nodocument?).and_call_original
742
- stub_const("Gem::VERSION", "2.8.0")
743
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
744
- provider.run_action(:install)
745
- expect(new_resource).to be_updated_by_last_action
746
- end
747
- end
748
-
749
- context "when the Chef::Config[:rubygems_url] option is provided" do
750
- let(:gem_binary) { "/foo/bar" }
751
-
752
- it "installs the gem" do
753
- Chef::Config[:rubygems_url] = "https://mirror1"
754
- expect(provider.gem_env).to receive(:candidate_version_from_remote).with(gem_dep, "https://mirror1").and_return(version)
755
- expected = "#{gem_binary} install rspec-core -q --no-document -v \"#{target_version}\" --clear-sources --source=https://mirror1"
756
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
757
- provider.run_action(:install)
758
- expect(new_resource).to be_updated_by_last_action
759
- end
760
- end
761
-
762
- context "when another source and binary are provided" do
763
- let(:source) { "http://mirror.ops.rhcloud.com/mirror/ruby" }
764
- let(:gem_binary) { "/foo/bar" }
765
-
766
- it "installs the gem" do
767
- expected = "#{gem_binary} install rspec-core -q --no-document -v \"#{target_version}\" --clear-sources --source=#{source}"
768
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
769
- provider.run_action(:install)
770
- expect(new_resource).to be_updated_by_last_action
771
- end
772
-
773
- context "with include_default_source true" do
774
- let(:include_default_source) { true }
775
-
776
- it "ignores the Chef::Config setting" do
777
- expected = "#{gem_binary} install rspec-core -q --no-document -v \"#{target_version}\" --clear-sources --source=#{source} --source=https://rubygems.org"
778
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
779
- provider.run_action(:install)
780
- expect(new_resource).to be_updated_by_last_action
781
- end
782
- end
783
-
784
- context "with include_default_source false" do
785
- let(:include_default_source) { false }
786
-
787
- it "ignores the Chef::Config setting" do
788
- Chef::Config[:rubygems_url] = "https://ignored"
789
- expected = "#{gem_binary} install rspec-core -q --no-document -v \"#{target_version}\" --clear-sources --source=#{source}"
790
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
791
- provider.run_action(:install)
792
- expect(new_resource).to be_updated_by_last_action
793
- end
794
- end
795
- end
796
-
797
- context "when the source is an array" do
798
- let(:source) { [ "https://mirror1" , "https://mirror2" ] }
799
- let(:gem_binary) { "/foo/bar" }
800
-
801
- it "installs the gem with an array as an added source" do
802
- expected = "#{gem_binary} install rspec-core -q --no-document -v \"#{target_version}\" --clear-sources --source=https://mirror1 --source=https://mirror2"
803
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
804
- provider.run_action(:install)
805
- expect(new_resource).to be_updated_by_last_action
806
- end
807
-
808
- context "with include_default_source true" do
809
- let(:include_default_source) { true }
810
-
811
- it "installs the gem with rubygems as a source" do
812
- expected = "#{gem_binary} install rspec-core -q --no-document -v \"#{target_version}\" --clear-sources --source=https://mirror1 --source=https://mirror2 --source=https://rubygems.org"
813
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
814
- provider.run_action(:install)
815
- expect(new_resource).to be_updated_by_last_action
816
- end
817
- end
818
-
819
- context "with include_default_source false" do
820
- let(:include_default_source) { false }
821
-
822
- it "ignores the Chef::Config setting" do
823
- Chef::Config[:rubygems_url] = "https://ignored"
824
- expected = "#{gem_binary} install rspec-core -q --no-document -v \"#{target_version}\" --clear-sources --source=https://mirror1 --source=https://mirror2"
825
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
826
- provider.run_action(:install)
827
- expect(new_resource).to be_updated_by_last_action
828
- end
829
- end
830
- end
831
-
832
- context "when clear_sources is set true and an explicit source is specified" do
833
- let(:gem_binary) { "/foo/bar" }
834
- let(:source) { "http://mirror.ops.rhcloud.com/mirror/ruby" }
835
-
836
- it "installs the gem" do
837
- new_resource.clear_sources(true)
838
- expected = "#{gem_binary} install rspec-core -q --no-document -v \"#{target_version}\" --clear-sources --source=#{source}"
839
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
840
- provider.run_action(:install)
841
- expect(new_resource).to be_updated_by_last_action
842
- end
843
- end
844
-
845
- context "when clear_sources is set false and an explicit source is specified" do
846
- let(:gem_binary) { "/foo/bar" }
847
- let(:source) { "http://mirror.ops.rhcloud.com/mirror/ruby" }
848
-
849
- it "installs the gem" do
850
- new_resource.clear_sources(false)
851
- expected = "#{gem_binary} install rspec-core -q --no-document -v \"#{target_version}\" --source=#{source}"
852
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
853
- provider.run_action(:install)
854
- expect(new_resource).to be_updated_by_last_action
855
- end
856
- end
857
-
858
- context "when no version is given" do
859
- let(:target_version) { nil }
860
- let(:options) { "-i /alt/install/location" }
861
-
862
- it "installs the gem by shelling out when options are provided but no version is given" do
863
- expected = "gem install rspec-core -q --no-document -v \"#{candidate_version}\" --source=https://rubygems.org #{options}"
864
- expect(provider).to receive(:shell_out_compacted!).with(expected, env: nil, timeout: 900)
865
- provider.run_action(:install)
866
- expect(new_resource).to be_updated_by_last_action
867
- end
868
- end
869
-
870
- context "when options are given as a Hash" do
871
- let(:options) { { install_dir: "/alt/install/location" } }
872
-
873
- it "installs the gem via the gems api when options are given as a Hash" do
874
- expect(provider.gem_env).to receive(:install).with(gem_dep, { sources: [ "https://rubygems.org" ] }.merge(options))
875
- provider.run_action(:install)
876
- expect(new_resource).to be_updated_by_last_action
877
- end
878
- end
879
-
880
- describe "at a specific version" do
881
- let(:target_version) { "9000.0.2" }
882
-
883
- it "installs the gem via the gems api" do
884
- expect(provider.gem_env).to receive(:install).with(gem_dep, sources: [ "https://rubygems.org" ] )
885
- provider.run_action(:install)
886
- expect(new_resource).to be_updated_by_last_action
887
- end
888
- end
889
-
890
- describe "at version specified with comparison operator" do
891
- context "if current version satisfies requested version" do
892
- let(:target_version) { ">=2.3.0" }
893
- let(:current_version) { "2.3.3" }
894
-
895
- it "skips the install" do
896
- expect(provider.gem_env).not_to receive(:install)
897
- provider.run_action(:install)
898
- end
899
-
900
- it "performs the upgrade" do
901
- expect(provider.gem_env).to receive(:install)
902
- provider.run_action(:upgrade)
903
- end
904
- end
905
-
906
- context "if the fuzzy operator is used" do
907
- let(:target_version) { "~>2.3.0" }
908
- let(:current_version) { "2.3.3" }
909
-
910
- it "it matches an existing gem" do
911
- expect(provider.gem_env).not_to receive(:install)
912
- provider.run_action(:install)
913
- end
914
-
915
- it "it upgrades an existing gem" do
916
- expect(provider.gem_env).to receive(:install)
917
- provider.run_action(:upgrade)
918
- end
919
- end
920
- end
921
- end
922
-
923
- describe "in an alternate gem environment" do
924
- let(:gem_binary) { "/usr/weird/bin/gem" }
925
-
926
- it "installs the gem by shelling out to gem install" do
927
- expect(provider).to receive(:shell_out_compacted!).with("#{gem_binary} install rspec-core -q --no-document -v \"#{target_version}\" --source=https://rubygems.org", env: nil, timeout: 900)
928
- provider.run_action(:install)
929
- expect(new_resource).to be_updated_by_last_action
930
- end
931
-
932
- it "unmockening needs_nodocument?" do
933
- expect(provider).to receive(:needs_nodocument?).and_call_original
934
- expect(provider.gem_env).to receive(:shell_out!).with("#{gem_binary} --version").and_return(instance_double(Mixlib::ShellOut, stdout: "3.0.0\n"))
935
- expect(provider).to receive(:shell_out_compacted!).with("#{gem_binary} install rspec-core -q --no-document -v \"#{target_version}\" --source=https://rubygems.org", env: nil, timeout: 900)
936
- provider.run_action(:install)
937
- expect(new_resource).to be_updated_by_last_action
938
- end
939
-
940
- it "when the rubygems_version is old it uses the old flags" do
941
- expect(provider).to receive(:needs_nodocument?).and_call_original
942
- expect(provider.gem_env).to receive(:shell_out!).with("#{gem_binary} --version").and_return(instance_double(Mixlib::ShellOut, stdout: "2.8.0\n"))
943
- expect(provider).to receive(:shell_out_compacted!).with("#{gem_binary} install rspec-core -q --no-rdoc --no-ri -v \"#{target_version}\" --source=https://rubygems.org", env: nil, timeout: 900)
944
- provider.run_action(:install)
945
- expect(new_resource).to be_updated_by_last_action
946
- end
947
-
948
- context "when source is a path" do
949
- let(:source) { CHEF_SPEC_DATA + "/gems/chef-integration-test-0.1.0.gem" }
950
- let(:target_version) { ">= 0" }
951
-
952
- it "installs the gem by shelling out to gem install" do
953
- expect(provider).to receive(:shell_out_compacted!).with("#{gem_binary} install #{source} -q --no-document -v \"#{target_version}\"", env: nil, timeout: 900)
954
- provider.run_action(:install)
955
- expect(new_resource).to be_updated_by_last_action
956
- end
957
- end
958
-
959
- context "when the package is a path and source is nil" do
960
- let(:gem_name) { CHEF_SPEC_DATA + "/gems/chef-integration-test-0.1.0.gem" }
961
- let(:target_version) { ">= 0" }
962
-
963
- it "installs the gem from file by shelling out to gem install when the package is a path and the source is nil" do
964
- expect(new_resource.source).to eq(gem_name)
965
- expect(provider).to receive(:shell_out_compacted!).with("#{gem_binary} install #{gem_name} -q --no-document -v \"#{target_version}\"", env: nil, timeout: 900)
966
- provider.run_action(:install)
967
- expect(new_resource).to be_updated_by_last_action
968
- end
969
- end
970
- end
971
-
972
- end
973
-
974
- describe "when uninstalling a gem" do
975
- let(:gem_name) { "rspec" }
976
- let(:current_version) { "1.2.3" }
977
- let(:target_version) { nil }
978
-
979
- let(:current_resource) do
980
- current_resource = Chef::Resource::GemPackage.new(gem_name)
981
- current_resource.version(current_version)
982
- current_resource
983
- end
984
-
985
- describe "in the current gem environment" do
986
- it "uninstalls via the api when no explicit options are used" do
987
- # pre-reqs for action_remove to actually remove the package:
988
- expect(provider.new_resource.version).to be_nil
989
- expect(provider.current_resource.version).not_to be_nil
990
- # the behavior we're testing:
991
- expect(provider.gem_env).to receive(:uninstall).with("rspec", nil)
992
- provider.action_remove
993
- end
994
-
995
- context "when options are given as a Hash" do
996
- let(:options) { { install_dir: "/alt/install/location" } }
997
-
998
- it "uninstalls via the api" do
999
- # pre-reqs for action_remove to actually remove the package:
1000
- expect(provider.new_resource.version).to be_nil
1001
- expect(provider.current_resource.version).not_to be_nil
1002
- # the behavior we're testing:
1003
- expect(provider.gem_env).to receive(:uninstall).with("rspec", nil, options)
1004
- provider.action_remove
1005
- end
1006
- end
1007
-
1008
- context "when options are given as a String" do
1009
- let(:options) { "-i /alt/install/location" }
1010
-
1011
- it "uninstalls via the gem command" do
1012
- expect(provider).to receive(:shell_out_compacted!).with("gem uninstall rspec -q -x -I -a #{options}", env: nil, timeout: 900)
1013
- provider.action_remove
1014
- end
1015
- end
1016
-
1017
- context "when a version is provided" do
1018
- let(:target_version) { "1.2.3" }
1019
-
1020
- it "uninstalls a specific version of a gem" do
1021
- expect(provider.gem_env).to receive(:uninstall).with("rspec", "1.2.3")
1022
- provider.action_remove
1023
- end
1024
- end
1025
- end
1026
-
1027
- describe "in an alternate gem environment" do
1028
- let(:gem_binary) { "/usr/weird/bin/gem" }
1029
-
1030
- it "uninstalls via the gem command" do
1031
- expect(provider).to receive(:shell_out_compacted!).with("#{gem_binary} uninstall rspec -q -x -I -a", env: nil, timeout: 900)
1032
- provider.action_remove
1033
- end
1034
- end
1035
- end
1036
- end
1037
- end
1038
-
1039
- describe Chef::Provider::Package::Rubygems, "clear_sources?" do
1040
- let(:new_resource) do
1041
- Chef::Resource::GemPackage.new("foo")
1042
- end
1043
-
1044
- let(:provider) do
1045
- run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
1046
- Chef::Provider::Package::Rubygems.new(new_resource, run_context)
1047
- end
1048
-
1049
- it "is false when clear_sources is unset" do
1050
- expect(provider.clear_sources?).to be false
1051
- end
1052
-
1053
- it "is false when clear_sources is set false" do
1054
- new_resource.clear_sources(false)
1055
- expect(provider.clear_sources?).to be false
1056
- end
1057
-
1058
- it "is true when clear_sources is set true" do
1059
- new_resource.clear_sources(true)
1060
- expect(provider.clear_sources?).to be true
1061
- end
1062
-
1063
- context "when a source is set" do
1064
- before do
1065
- new_resource.source("http://mirror.ops.rhcloud.com/mirror/ruby")
1066
- end
1067
-
1068
- it "is true when clear_sources is unset" do
1069
- expect(provider.clear_sources?).to be true
1070
- end
1071
-
1072
- it "is false when clear_sources is set false" do
1073
- new_resource.clear_sources(false)
1074
- expect(provider.clear_sources?).to be false
1075
- end
1076
-
1077
- it "is true when clear_sources is set true" do
1078
- new_resource.clear_sources(true)
1079
- expect(provider.clear_sources?).to be true
1080
- end
1081
- end
1082
-
1083
- context "when Chef::Config[:rubygems_url] is set" do
1084
- before do
1085
- Chef::Config.rubygems_url = "https://example.com/"
1086
- end
1087
-
1088
- it "is true when clear_sources is unset" do
1089
- expect(provider.clear_sources?).to be true
1090
- end
1091
-
1092
- it "is false when clear_sources is set false" do
1093
- new_resource.clear_sources(false)
1094
- expect(provider.clear_sources?).to be false
1095
- end
1096
-
1097
- it "is true when clear_sources is set true" do
1098
- new_resource.clear_sources(true)
1099
- expect(provider.clear_sources?).to be true
1100
- end
1101
- end
1102
- end
1103
-
1104
- describe Chef::Provider::Package::Rubygems, "include_default_source?" do
1105
- let(:new_resource) do
1106
- Chef::Resource::GemPackage.new("foo")
1107
- end
1108
-
1109
- let(:provider) do
1110
- run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
1111
- Chef::Provider::Package::Rubygems.new(new_resource, run_context)
1112
- end
1113
-
1114
- it "is true when include_default_source is unset" do
1115
- expect(provider.include_default_source?).to be true
1116
- end
1117
-
1118
- it "is false when include_default_source is set false" do
1119
- new_resource.include_default_source(false)
1120
- expect(provider.include_default_source?).to be false
1121
- end
1122
-
1123
- it "is true when include_default_source is set true" do
1124
- new_resource.include_default_source(true)
1125
- expect(provider.include_default_source?).to be true
1126
- end
1127
-
1128
- context "when a source is set" do
1129
- before do
1130
- new_resource.source("http://mirror.ops.rhcloud.com/mirror/ruby")
1131
- end
1132
-
1133
- it "is false when include_default_source is unset" do
1134
- expect(provider.include_default_source?).to be false
1135
- end
1136
-
1137
- it "is false when include_default_source is set false" do
1138
- new_resource.include_default_source(false)
1139
- expect(provider.include_default_source?).to be false
1140
- end
1141
-
1142
- it "is true when include_default_source is set true" do
1143
- new_resource.include_default_source(true)
1144
- expect(provider.include_default_source?).to be true
1145
- end
1146
- end
1147
-
1148
- context "when Chef::Config[:rubygems_url] is set" do
1149
- before do
1150
- Chef::Config.rubygems_url = "https://example.com/"
1151
- end
1152
-
1153
- it "is true when include_default_source is unset" do
1154
- expect(provider.include_default_source?).to be true
1155
- end
1156
-
1157
- it "is false when include_default_source is set false" do
1158
- new_resource.include_default_source(false)
1159
- expect(provider.include_default_source?).to be false
1160
- end
1161
-
1162
- it "is true when include_default_source is set true" do
1163
- new_resource.include_default_source(true)
1164
- expect(provider.include_default_source?).to be true
1165
- end
1166
- end
1167
-
1168
- context "when clear_sources is set" do
1169
- before do
1170
- new_resource.clear_sources(true)
1171
- end
1172
-
1173
- it "is false when include_default_source is unset" do
1174
- expect(provider.include_default_source?).to be false
1175
- end
1176
-
1177
- it "is false when include_default_source is set false" do
1178
- new_resource.include_default_source(false)
1179
- expect(provider.include_default_source?).to be false
1180
- end
1181
-
1182
- it "is true when include_default_source is set true" do
1183
- new_resource.include_default_source(true)
1184
- expect(provider.include_default_source?).to be true
1185
- end
1186
- end
1187
- end