chef 18.7.10 → 18.8.46

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