chefspec 7.3.0 → 9.1.0

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 (620) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +33 -30
  3. data/chefspec.gemspec +6 -7
  4. data/lib/chefspec/api/core.rb +37 -15
  5. data/lib/chefspec/api/include_any_recipe.rb +24 -0
  6. data/lib/chefspec/api/stubs_for.rb +5 -3
  7. data/lib/chefspec/api.rb +2 -0
  8. data/lib/chefspec/extensions/.DS_Store +0 -0
  9. data/lib/chefspec/extensions/chef/.DS_Store +0 -0
  10. data/lib/chefspec/extensions/chef/cookbook/gem_installer.rb +1 -1
  11. data/lib/chefspec/extensions/chef/provider.rb +1 -1
  12. data/lib/chefspec/extensions/chef/resource.rb +1 -1
  13. data/lib/chefspec/matchers/include_any_recipe_matcher.rb +51 -0
  14. data/lib/chefspec/matchers.rb +1 -0
  15. data/lib/chefspec/policyfile.rb +10 -7
  16. data/lib/chefspec/rspec.rb +1 -0
  17. data/lib/chefspec/runner.rb +1 -1
  18. data/lib/chefspec/version.rb +1 -1
  19. data/spec/unit/matchers/include_any_recipe_matcher_spec.rb +52 -0
  20. metadata +30 -641
  21. data/.gitignore +0 -16
  22. data/.travis.yml +0 -48
  23. data/CHANGELOG.md +0 -810
  24. data/CONTRIBUTING.md +0 -52
  25. data/ISSUES.md +0 -41
  26. data/README.md +0 -571
  27. data/README_old.md +0 -1291
  28. data/examples/apt_package/recipes/install.rb +0 -13
  29. data/examples/apt_package/recipes/lock.rb +0 -13
  30. data/examples/apt_package/recipes/purge.rb +0 -13
  31. data/examples/apt_package/recipes/reconfig.rb +0 -13
  32. data/examples/apt_package/recipes/remove.rb +0 -13
  33. data/examples/apt_package/recipes/unlock.rb +0 -13
  34. data/examples/apt_package/recipes/upgrade.rb +0 -13
  35. data/examples/apt_package/spec/install_spec.rb +0 -26
  36. data/examples/apt_package/spec/lock_spec.rb +0 -22
  37. data/examples/apt_package/spec/purge_spec.rb +0 -22
  38. data/examples/apt_package/spec/reconfig_spec.rb +0 -22
  39. data/examples/apt_package/spec/remove_spec.rb +0 -22
  40. data/examples/apt_package/spec/unlock_spec.rb +0 -22
  41. data/examples/apt_package/spec/upgrade_spec.rb +0 -22
  42. data/examples/apt_repository/recipes/add.rb +0 -8
  43. data/examples/apt_repository/recipes/remove.rb +0 -4
  44. data/examples/apt_repository/spec/add_spec.rb +0 -17
  45. data/examples/apt_repository/spec/remove_spec.rb +0 -12
  46. data/examples/apt_update/recipes/periodic.rb +0 -5
  47. data/examples/apt_update/recipes/update.rb +0 -3
  48. data/examples/apt_update/spec/periodic_spec.rb +0 -17
  49. data/examples/apt_update/spec/update_spec.rb +0 -12
  50. data/examples/attributes/attributes/default.rb +0 -1
  51. data/examples/attributes/recipes/default.rb +0 -4
  52. data/examples/attributes/spec/default_spec.rb +0 -20
  53. data/examples/batch/recipes/run.rb +0 -9
  54. data/examples/batch/spec/run_spec.rb +0 -22
  55. data/examples/bff_package/recipes/install.rb +0 -13
  56. data/examples/bff_package/recipes/purge.rb +0 -13
  57. data/examples/bff_package/recipes/remove.rb +0 -13
  58. data/examples/bff_package/recipes/upgrade.rb +0 -13
  59. data/examples/bff_package/spec/install_spec.rb +0 -23
  60. data/examples/bff_package/spec/purge_spec.rb +0 -19
  61. data/examples/bff_package/spec/remove_spec.rb +0 -19
  62. data/examples/bff_package/spec/upgrade_spec.rb +0 -19
  63. data/examples/cab_package/recipes/install.rb +0 -13
  64. data/examples/cab_package/recipes/remove.rb +0 -13
  65. data/examples/cab_package/spec/install_spec.rb +0 -28
  66. data/examples/cab_package/spec/remove_spec.rb +0 -24
  67. data/examples/cached/recipes/default.rb +0 -1
  68. data/examples/cached/spec/default_spec.rb +0 -14
  69. data/examples/chef_gem/recipes/install.rb +0 -18
  70. data/examples/chef_gem/recipes/purge.rb +0 -16
  71. data/examples/chef_gem/recipes/reconfig.rb +0 -16
  72. data/examples/chef_gem/recipes/remove.rb +0 -16
  73. data/examples/chef_gem/recipes/upgrade.rb +0 -16
  74. data/examples/chef_gem/spec/install_spec.rb +0 -23
  75. data/examples/chef_gem/spec/purge_spec.rb +0 -19
  76. data/examples/chef_gem/spec/reconfig_spec.rb +0 -19
  77. data/examples/chef_gem/spec/remove_spec.rb +0 -19
  78. data/examples/chef_gem/spec/upgrade_spec.rb +0 -19
  79. data/examples/chocolatey_package/recipes/install.rb +0 -6
  80. data/examples/chocolatey_package/recipes/remove.rb +0 -8
  81. data/examples/chocolatey_package/recipes/upgrade.rb +0 -8
  82. data/examples/chocolatey_package/spec/install_spec.rb +0 -19
  83. data/examples/chocolatey_package/spec/remove_spec.rb +0 -18
  84. data/examples/chocolatey_package/spec/upgrade_spec.rb +0 -18
  85. data/examples/compile_time/recipes/default.rb +0 -3
  86. data/examples/compile_time/spec/default_spec.rb +0 -29
  87. data/examples/cookbook_file/recipes/create.rb +0 -15
  88. data/examples/cookbook_file/recipes/create_if_missing.rb +0 -15
  89. data/examples/cookbook_file/recipes/delete.rb +0 -15
  90. data/examples/cookbook_file/recipes/touch.rb +0 -15
  91. data/examples/cookbook_file/spec/create_if_missing_spec.rb +0 -28
  92. data/examples/cookbook_file/spec/create_spec.rb +0 -32
  93. data/examples/cookbook_file/spec/delete_spec.rb +0 -19
  94. data/examples/cookbook_file/spec/touch_spec.rb +0 -19
  95. data/examples/core/recipes/default.rb +0 -1
  96. data/examples/core/spec/default_spec.rb +0 -7
  97. data/examples/core/spec/non_recipe_spec.rb +0 -5
  98. data/examples/cron/recipes/create.rb +0 -10
  99. data/examples/cron/recipes/delete.rb +0 -9
  100. data/examples/cron/spec/create_spec.rb +0 -19
  101. data/examples/cron/spec/delete_spec.rb +0 -15
  102. data/examples/custom_matcher/libraries/matcher.rb +0 -1
  103. data/examples/custom_matcher/providers/thing.rb +0 -2
  104. data/examples/custom_matcher/recipes/install.rb +0 -13
  105. data/examples/custom_matcher/recipes/remove.rb +0 -13
  106. data/examples/custom_matcher/resources/thing.rb +0 -5
  107. data/examples/custom_matcher/spec/install_spec.rb +0 -27
  108. data/examples/custom_matcher/spec/remove_spec.rb +0 -23
  109. data/examples/custom_resource/recipes/default.rb +0 -1
  110. data/examples/custom_resource/resources/custom_resource.rb +0 -9
  111. data/examples/custom_resource/spec/default_spec.rb +0 -18
  112. data/examples/custom_resource_block/resources/default.rb +0 -3
  113. data/examples/custom_resource_block/spec/default_spec.rb +0 -10
  114. data/examples/directory/recipes/create.rb +0 -18
  115. data/examples/directory/recipes/delete.rb +0 -14
  116. data/examples/directory/spec/create_spec.rb +0 -34
  117. data/examples/directory/spec/delete_spec.rb +0 -26
  118. data/examples/dnf_package/recipes/install.rb +0 -13
  119. data/examples/dnf_package/recipes/purge.rb +0 -13
  120. data/examples/dnf_package/recipes/remove.rb +0 -13
  121. data/examples/dnf_package/recipes/upgrade.rb +0 -13
  122. data/examples/dnf_package/spec/install_spec.rb +0 -28
  123. data/examples/dnf_package/spec/purge_spec.rb +0 -24
  124. data/examples/dnf_package/spec/remove_spec.rb +0 -24
  125. data/examples/dnf_package/spec/upgrade_spec.rb +0 -24
  126. data/examples/do_nothing/recipes/default.rb +0 -3
  127. data/examples/do_nothing/spec/default_spec.rb +0 -15
  128. data/examples/dpkg_package/recipes/install.rb +0 -13
  129. data/examples/dpkg_package/recipes/purge.rb +0 -13
  130. data/examples/dpkg_package/recipes/remove.rb +0 -13
  131. data/examples/dpkg_package/spec/install_spec.rb +0 -26
  132. data/examples/dpkg_package/spec/purge_spec.rb +0 -22
  133. data/examples/dpkg_package/spec/remove_spec.rb +0 -22
  134. data/examples/dsc_resource/recipes/run.rb +0 -20
  135. data/examples/dsc_resource/spec/run_spec.rb +0 -38
  136. data/examples/dsc_script/recipes/run.rb +0 -12
  137. data/examples/dsc_script/spec/run_spec.rb +0 -16
  138. data/examples/env/recipes/create.rb +0 -13
  139. data/examples/env/recipes/delete.rb +0 -13
  140. data/examples/env/recipes/modify.rb +0 -13
  141. data/examples/env/spec/create_spec.rb +0 -26
  142. data/examples/env/spec/delete_spec.rb +0 -22
  143. data/examples/env/spec/modify_spec.rb +0 -22
  144. data/examples/execute/recipes/run.rb +0 -13
  145. data/examples/execute/spec/run_spec.rb +0 -23
  146. data/examples/expect_exception/recipes/compile_error.rb +0 -1
  147. data/examples/expect_exception/recipes/converge_error.rb +0 -5
  148. data/examples/expect_exception/recipes/no_error.rb +0 -1
  149. data/examples/expect_exception/spec/compile_error_spec.rb +0 -10
  150. data/examples/expect_exception/spec/converge_error_spec.rb +0 -10
  151. data/examples/expect_exception/spec/no_error_spec.rb +0 -10
  152. data/examples/file/recipes/create.rb +0 -15
  153. data/examples/file/recipes/create_if_missing.rb +0 -15
  154. data/examples/file/recipes/delete.rb +0 -15
  155. data/examples/file/recipes/touch.rb +0 -15
  156. data/examples/file/spec/create_if_missing_spec.rb +0 -28
  157. data/examples/file/spec/create_spec.rb +0 -32
  158. data/examples/file/spec/delete_spec.rb +0 -19
  159. data/examples/file/spec/touch_spec.rb +0 -19
  160. data/examples/freebsd_package/recipes/install.rb +0 -13
  161. data/examples/freebsd_package/recipes/remove.rb +0 -13
  162. data/examples/freebsd_package/spec/install_spec.rb +0 -26
  163. data/examples/freebsd_package/spec/remove_spec.rb +0 -22
  164. data/examples/gem_package/recipes/install.rb +0 -13
  165. data/examples/gem_package/recipes/purge.rb +0 -13
  166. data/examples/gem_package/recipes/reconfig.rb +0 -13
  167. data/examples/gem_package/recipes/remove.rb +0 -13
  168. data/examples/gem_package/recipes/upgrade.rb +0 -13
  169. data/examples/gem_package/spec/install_spec.rb +0 -23
  170. data/examples/gem_package/spec/purge_spec.rb +0 -19
  171. data/examples/gem_package/spec/reconfig_spec.rb +0 -19
  172. data/examples/gem_package/spec/remove_spec.rb +0 -19
  173. data/examples/gem_package/spec/upgrade_spec.rb +0 -19
  174. data/examples/git/recipes/checkout.rb +0 -13
  175. data/examples/git/recipes/export.rb +0 -13
  176. data/examples/git/recipes/sync.rb +0 -13
  177. data/examples/git/spec/checkout_spec.rb +0 -19
  178. data/examples/git/spec/export_spec.rb +0 -19
  179. data/examples/git/spec/sync_spec.rb +0 -23
  180. data/examples/group/recipes/create.rb +0 -13
  181. data/examples/group/recipes/manage.rb +0 -13
  182. data/examples/group/recipes/modify.rb +0 -13
  183. data/examples/group/recipes/remove.rb +0 -13
  184. data/examples/group/spec/create_spec.rb +0 -23
  185. data/examples/group/spec/manage_spec.rb +0 -19
  186. data/examples/group/spec/modify_spec.rb +0 -19
  187. data/examples/group/spec/remove_spec.rb +0 -18
  188. data/examples/guards/recipes/default.rb +0 -13
  189. data/examples/guards/spec/default_spec.rb +0 -17
  190. data/examples/heavy_provider_light_resource/libraries/resource_service.rb +0 -15
  191. data/examples/heavy_provider_light_resource/providers/service.rb +0 -9
  192. data/examples/heavy_provider_light_resource/recipes/default.rb +0 -3
  193. data/examples/heavy_provider_light_resource/spec/provider_service_spec.rb +0 -8
  194. data/examples/homebrew_package/recipes/install.rb +0 -13
  195. data/examples/homebrew_package/recipes/purge.rb +0 -13
  196. data/examples/homebrew_package/recipes/remove.rb +0 -13
  197. data/examples/homebrew_package/recipes/upgrade.rb +0 -13
  198. data/examples/homebrew_package/spec/install_spec.rb +0 -23
  199. data/examples/homebrew_package/spec/purge_spec.rb +0 -19
  200. data/examples/homebrew_package/spec/remove_spec.rb +0 -19
  201. data/examples/homebrew_package/spec/upgrade_spec.rb +0 -19
  202. data/examples/http_request/recipes/delete.rb +0 -13
  203. data/examples/http_request/recipes/get.rb +0 -13
  204. data/examples/http_request/recipes/head.rb +0 -13
  205. data/examples/http_request/recipes/options.rb +0 -13
  206. data/examples/http_request/recipes/post.rb +0 -13
  207. data/examples/http_request/recipes/put.rb +0 -13
  208. data/examples/http_request/spec/delete_spec.rb +0 -19
  209. data/examples/http_request/spec/get_spec.rb +0 -23
  210. data/examples/http_request/spec/head_spec.rb +0 -19
  211. data/examples/http_request/spec/options_spec.rb +0 -19
  212. data/examples/http_request/spec/post_spec.rb +0 -19
  213. data/examples/http_request/spec/put_spec.rb +0 -19
  214. data/examples/ifconfig/recipes/add.rb +0 -9
  215. data/examples/ifconfig/recipes/delete.rb +0 -8
  216. data/examples/ifconfig/recipes/disable.rb +0 -8
  217. data/examples/ifconfig/recipes/enable.rb +0 -8
  218. data/examples/ifconfig/spec/add_spec.rb +0 -19
  219. data/examples/ifconfig/spec/delete_spec.rb +0 -15
  220. data/examples/ifconfig/spec/disable_spec.rb +0 -15
  221. data/examples/ifconfig/spec/enable_spec.rb +0 -15
  222. data/examples/include_recipe/recipes/default.rb +0 -1
  223. data/examples/include_recipe/recipes/not.rb +0 -0
  224. data/examples/include_recipe/recipes/other.rb +0 -0
  225. data/examples/include_recipe/spec/default_spec.rb +0 -13
  226. data/examples/ips_package/recipes/install.rb +0 -13
  227. data/examples/ips_package/recipes/remove.rb +0 -13
  228. data/examples/ips_package/recipes/upgrade.rb +0 -13
  229. data/examples/ips_package/spec/install_spec.rb +0 -26
  230. data/examples/ips_package/spec/remove_spec.rb +0 -22
  231. data/examples/ips_package/spec/upgrade_spec.rb +0 -22
  232. data/examples/launchd/recipes/create.rb +0 -5
  233. data/examples/launchd/recipes/create_if_missing.rb +0 -3
  234. data/examples/launchd/recipes/delete.rb +0 -3
  235. data/examples/launchd/recipes/disable.rb +0 -3
  236. data/examples/launchd/recipes/enable.rb +0 -3
  237. data/examples/launchd/spec/create_if_missing_spec.rb +0 -10
  238. data/examples/launchd/spec/create_spec.rb +0 -14
  239. data/examples/launchd/spec/delete_spec.rb +0 -10
  240. data/examples/launchd/spec/disable_spec.rb +0 -10
  241. data/examples/launchd/spec/enable_spec.rb +0 -10
  242. data/examples/library_patch/libraries/default.rb +0 -5
  243. data/examples/library_patch/recipes/default.rb +0 -1
  244. data/examples/library_patch/spec/default_spec.rb +0 -14
  245. data/examples/link/recipes/create.rb +0 -13
  246. data/examples/link/recipes/delete.rb +0 -13
  247. data/examples/link/recipes/link_to.rb +0 -3
  248. data/examples/link/spec/create_spec.rb +0 -23
  249. data/examples/link/spec/delete_spec.rb +0 -19
  250. data/examples/link/spec/link_to_spec.rb +0 -11
  251. data/examples/log/recipes/write.rb +0 -13
  252. data/examples/log/spec/write_spec.rb +0 -24
  253. data/examples/macports_package/recipes/install.rb +0 -13
  254. data/examples/macports_package/recipes/purge.rb +0 -13
  255. data/examples/macports_package/recipes/remove.rb +0 -13
  256. data/examples/macports_package/recipes/upgrade.rb +0 -13
  257. data/examples/macports_package/spec/install_spec.rb +0 -23
  258. data/examples/macports_package/spec/purge_spec.rb +0 -19
  259. data/examples/macports_package/spec/remove_spec.rb +0 -19
  260. data/examples/macports_package/spec/upgrade_spec.rb +0 -19
  261. data/examples/mdadm/recipes/assemble.rb +0 -13
  262. data/examples/mdadm/recipes/create.rb +0 -13
  263. data/examples/mdadm/recipes/stop.rb +0 -13
  264. data/examples/mdadm/spec/assemble_spec.rb +0 -19
  265. data/examples/mdadm/spec/create_spec.rb +0 -23
  266. data/examples/mdadm/spec/stop_spec.rb +0 -19
  267. data/examples/mount/recipes/disable.rb +0 -8
  268. data/examples/mount/recipes/enable.rb +0 -8
  269. data/examples/mount/recipes/mount.rb +0 -9
  270. data/examples/mount/recipes/remount.rb +0 -8
  271. data/examples/mount/recipes/umount.rb +0 -8
  272. data/examples/mount/spec/disable_spec.rb +0 -15
  273. data/examples/mount/spec/enable_spec.rb +0 -15
  274. data/examples/mount/spec/mount_spec.rb +0 -19
  275. data/examples/mount/spec/remount_spec.rb +0 -15
  276. data/examples/mount/spec/umount_spec.rb +0 -15
  277. data/examples/msu_package/recipes/install.rb +0 -13
  278. data/examples/msu_package/recipes/remove.rb +0 -13
  279. data/examples/msu_package/spec/install_spec.rb +0 -28
  280. data/examples/msu_package/spec/remove_spec.rb +0 -24
  281. data/examples/multiple_actions/recipes/default.rb +0 -3
  282. data/examples/multiple_actions/recipes/reversed.rb +0 -9
  283. data/examples/multiple_actions/recipes/sequential.rb +0 -9
  284. data/examples/multiple_actions/spec/default_spec.rb +0 -14
  285. data/examples/multiple_actions/spec/reversed_spec.rb +0 -17
  286. data/examples/multiple_actions/spec/sequential_spec.rb +0 -17
  287. data/examples/multiple_run_action/recipes/default.rb +0 -5
  288. data/examples/multiple_run_action/spec/default_spec.rb +0 -18
  289. data/examples/nothing_matcher/recipes/default.rb +0 -13
  290. data/examples/nothing_matcher/spec/default_spec.rb +0 -20
  291. data/examples/notifications/recipes/before.rb +0 -7
  292. data/examples/notifications/recipes/chained.rb +0 -12
  293. data/examples/notifications/recipes/default.rb +0 -7
  294. data/examples/notifications/recipes/delayed.rb +0 -7
  295. data/examples/notifications/recipes/immediately.rb +0 -7
  296. data/examples/notifications/spec/before_spec.rb +0 -16
  297. data/examples/notifications/spec/chained_spec.rb +0 -21
  298. data/examples/notifications/spec/default_spec.rb +0 -16
  299. data/examples/notifications/spec/delayed_spec.rb +0 -16
  300. data/examples/notifications/spec/immediately_spec.rb +0 -16
  301. data/examples/ohai/recipes/reload.rb +0 -13
  302. data/examples/ohai/spec/reload_spec.rb +0 -23
  303. data/examples/openbsd_package/recipes/install.rb +0 -13
  304. data/examples/openbsd_package/recipes/purge.rb +0 -13
  305. data/examples/openbsd_package/recipes/remove.rb +0 -13
  306. data/examples/openbsd_package/recipes/upgrade.rb +0 -13
  307. data/examples/openbsd_package/spec/install_spec.rb +0 -23
  308. data/examples/openbsd_package/spec/purge_spec.rb +0 -19
  309. data/examples/openbsd_package/spec/remove_spec.rb +0 -19
  310. data/examples/openbsd_package/spec/upgrade_spec.rb +0 -19
  311. data/examples/osx_profile/recipes/install.rb +0 -8
  312. data/examples/osx_profile/recipes/remove.rb +0 -8
  313. data/examples/osx_profile/spec/install_spec.rb +0 -15
  314. data/examples/osx_profile/spec/remove_spec.rb +0 -13
  315. data/examples/package/recipes/install.rb +0 -17
  316. data/examples/package/recipes/lock.rb +0 -17
  317. data/examples/package/recipes/purge.rb +0 -17
  318. data/examples/package/recipes/reconfig.rb +0 -17
  319. data/examples/package/recipes/remove.rb +0 -17
  320. data/examples/package/recipes/unlock.rb +0 -17
  321. data/examples/package/recipes/upgrade.rb +0 -17
  322. data/examples/package/spec/install_spec.rb +0 -27
  323. data/examples/package/spec/lock_spec.rb +0 -23
  324. data/examples/package/spec/purge_spec.rb +0 -23
  325. data/examples/package/spec/reconfig_spec.rb +0 -23
  326. data/examples/package/spec/remove_spec.rb +0 -23
  327. data/examples/package/spec/unlock_spec.rb +0 -23
  328. data/examples/package/spec/upgrade_spec.rb +0 -23
  329. data/examples/pacman_package/recipes/install.rb +0 -13
  330. data/examples/pacman_package/recipes/purge.rb +0 -13
  331. data/examples/pacman_package/recipes/remove.rb +0 -13
  332. data/examples/pacman_package/recipes/upgrade.rb +0 -13
  333. data/examples/pacman_package/spec/install_spec.rb +0 -26
  334. data/examples/pacman_package/spec/purge_spec.rb +0 -22
  335. data/examples/pacman_package/spec/remove_spec.rb +0 -22
  336. data/examples/pacman_package/spec/upgrade_spec.rb +0 -22
  337. data/examples/paludis_package/recipes/install.rb +0 -13
  338. data/examples/paludis_package/recipes/purge.rb +0 -13
  339. data/examples/paludis_package/recipes/remove.rb +0 -13
  340. data/examples/paludis_package/recipes/upgrade.rb +0 -13
  341. data/examples/paludis_package/spec/install_spec.rb +0 -23
  342. data/examples/paludis_package/spec/purge_spec.rb +0 -19
  343. data/examples/paludis_package/spec/remove_spec.rb +0 -19
  344. data/examples/paludis_package/spec/upgrade_spec.rb +0 -19
  345. data/examples/portage_package/recipes/install.rb +0 -13
  346. data/examples/portage_package/recipes/purge.rb +0 -13
  347. data/examples/portage_package/recipes/remove.rb +0 -13
  348. data/examples/portage_package/recipes/upgrade.rb +0 -13
  349. data/examples/portage_package/spec/install_spec.rb +0 -26
  350. data/examples/portage_package/spec/purge_spec.rb +0 -22
  351. data/examples/portage_package/spec/remove_spec.rb +0 -22
  352. data/examples/portage_package/spec/upgrade_spec.rb +0 -22
  353. data/examples/powershell_script/recipes/run.rb +0 -9
  354. data/examples/powershell_script/spec/run_spec.rb +0 -22
  355. data/examples/reboot/recipes/cancel.rb +0 -3
  356. data/examples/reboot/recipes/now.rb +0 -3
  357. data/examples/reboot/recipes/request.rb +0 -3
  358. data/examples/reboot/spec/cancel_spec.rb +0 -9
  359. data/examples/reboot/spec/now_spec.rb +0 -9
  360. data/examples/reboot/spec/request_spec.rb +0 -9
  361. data/examples/recipe_block/metadata.rb +0 -1
  362. data/examples/recipe_block/spec/recipe_block_spec.rb +0 -34
  363. data/examples/recipe_block/templates/apache2.conf.erb +0 -1
  364. data/examples/registry_key/recipes/create.rb +0 -13
  365. data/examples/registry_key/recipes/create_if_missing.rb +0 -13
  366. data/examples/registry_key/recipes/delete.rb +0 -13
  367. data/examples/registry_key/recipes/delete_key.rb +0 -13
  368. data/examples/registry_key/spec/create_if_missing_spec.rb +0 -22
  369. data/examples/registry_key/spec/create_spec.rb +0 -26
  370. data/examples/registry_key/spec/delete_key_spec.rb +0 -22
  371. data/examples/registry_key/spec/delete_spec.rb +0 -22
  372. data/examples/remote_directory/recipes/create.rb +0 -13
  373. data/examples/remote_directory/recipes/create_if_missing.rb +0 -13
  374. data/examples/remote_directory/recipes/delete.rb +0 -13
  375. data/examples/remote_directory/spec/create_if_missing_spec.rb +0 -19
  376. data/examples/remote_directory/spec/create_spec.rb +0 -23
  377. data/examples/remote_directory/spec/delete_spec.rb +0 -19
  378. data/examples/remote_file/recipes/create.rb +0 -18
  379. data/examples/remote_file/recipes/create_if_missing.rb +0 -16
  380. data/examples/remote_file/recipes/delete.rb +0 -16
  381. data/examples/remote_file/recipes/touch.rb +0 -16
  382. data/examples/remote_file/spec/create_if_missing_spec.rb +0 -19
  383. data/examples/remote_file/spec/create_spec.rb +0 -23
  384. data/examples/remote_file/spec/delete_spec.rb +0 -19
  385. data/examples/remote_file/spec/touch_spec.rb +0 -19
  386. data/examples/render_file/files/default/cookbook_file +0 -1
  387. data/examples/render_file/recipes/default.rb +0 -15
  388. data/examples/render_file/recipes/template_helpers.rb +0 -9
  389. data/examples/render_file/spec/default_spec.rb +0 -166
  390. data/examples/render_file/spec/template_helpers_spec.rb +0 -10
  391. data/examples/render_file/templates/default/_partial.erb +0 -1
  392. data/examples/render_file/templates/default/partial.erb +0 -1
  393. data/examples/render_file/templates/default/template.erb +0 -1
  394. data/examples/render_file/templates/default/template_with_helper.erb +0 -1
  395. data/examples/roles/recipes/another.rb +0 -3
  396. data/examples/roles/recipes/default.rb +0 -1
  397. data/examples/roles/roles/role.rb +0 -9
  398. data/examples/roles/spec/default_spec.rb +0 -21
  399. data/examples/route/recipes/add.rb +0 -13
  400. data/examples/route/recipes/delete.rb +0 -13
  401. data/examples/route/spec/add_spec.rb +0 -23
  402. data/examples/route/spec/delete_spec.rb +0 -19
  403. data/examples/rpm_package/recipes/install.rb +0 -13
  404. data/examples/rpm_package/recipes/remove.rb +0 -13
  405. data/examples/rpm_package/recipes/upgrade.rb +0 -13
  406. data/examples/rpm_package/spec/install_spec.rb +0 -26
  407. data/examples/rpm_package/spec/remove_spec.rb +0 -22
  408. data/examples/rpm_package/spec/upgrade_spec.rb +0 -22
  409. data/examples/ruby_block/recipes/create.rb +0 -8
  410. data/examples/ruby_block/recipes/run.rb +0 -9
  411. data/examples/ruby_block/spec/create_spec.rb +0 -13
  412. data/examples/ruby_block/spec/run_spec.rb +0 -18
  413. data/examples/runner/recipes/default.rb +0 -1
  414. data/examples/runner/spec/default_spec.rb +0 -11
  415. data/examples/script/recipes/run_bash.rb +0 -9
  416. data/examples/script/recipes/run_csh.rb +0 -9
  417. data/examples/script/recipes/run_ksh.rb +0 -9
  418. data/examples/script/recipes/run_perl.rb +0 -9
  419. data/examples/script/recipes/run_python.rb +0 -9
  420. data/examples/script/recipes/run_ruby.rb +0 -9
  421. data/examples/script/recipes/run_script.rb +0 -9
  422. data/examples/script/spec/run_bash_spec.rb +0 -19
  423. data/examples/script/spec/run_csh_spec.rb +0 -19
  424. data/examples/script/spec/run_ksh_spec.rb +0 -19
  425. data/examples/script/spec/run_perl_spec.rb +0 -19
  426. data/examples/script/spec/run_python_spec.rb +0 -19
  427. data/examples/script/spec/run_ruby_spec.rb +0 -19
  428. data/examples/script/spec/run_script_spec.rb +0 -19
  429. data/examples/server/recipes/client.rb +0 -6
  430. data/examples/server/recipes/data_bag.rb +0 -7
  431. data/examples/server/recipes/environment.rb +0 -6
  432. data/examples/server/recipes/node.rb +0 -6
  433. data/examples/server/recipes/render_with_cached.rb +0 -3
  434. data/examples/server/recipes/role.rb +0 -6
  435. data/examples/server/recipes/search.rb +0 -5
  436. data/examples/server/spec/client_spec.rb +0 -18
  437. data/examples/server/spec/data_bag_spec.rb +0 -25
  438. data/examples/server/spec/environment_spec.rb +0 -18
  439. data/examples/server/spec/exotic_port_spec.rb +0 -30
  440. data/examples/server/spec/node_spec.rb +0 -49
  441. data/examples/server/spec/render_with_cached_spec.rb +0 -15
  442. data/examples/server/spec/role_spec.rb +0 -18
  443. data/examples/server/spec/search_spec.rb +0 -61
  444. data/examples/service/recipes/disable.rb +0 -13
  445. data/examples/service/recipes/enable.rb +0 -13
  446. data/examples/service/recipes/reload.rb +0 -13
  447. data/examples/service/recipes/restart.rb +0 -13
  448. data/examples/service/recipes/start.rb +0 -13
  449. data/examples/service/recipes/stop.rb +0 -13
  450. data/examples/service/spec/disable_spec.rb +0 -19
  451. data/examples/service/spec/enable_spec.rb +0 -19
  452. data/examples/service/spec/reload_spec.rb +0 -19
  453. data/examples/service/spec/restart_spec.rb +0 -19
  454. data/examples/service/spec/start_spec.rb +0 -19
  455. data/examples/service/spec/stop_spec.rb +0 -19
  456. data/examples/smartos_package/recipes/install.rb +0 -13
  457. data/examples/smartos_package/recipes/remove.rb +0 -13
  458. data/examples/smartos_package/recipes/upgrade.rb +0 -13
  459. data/examples/smartos_package/spec/install_spec.rb +0 -26
  460. data/examples/smartos_package/spec/remove_spec.rb +0 -22
  461. data/examples/smartos_package/spec/upgrade_spec.rb +0 -22
  462. data/examples/solaris_package/recipes/install.rb +0 -13
  463. data/examples/solaris_package/recipes/remove.rb +0 -13
  464. data/examples/solaris_package/recipes/upgrade.rb +0 -13
  465. data/examples/solaris_package/spec/install_spec.rb +0 -26
  466. data/examples/solaris_package/spec/remove_spec.rb +0 -22
  467. data/examples/solaris_package/spec/upgrade_spec.rb +0 -22
  468. data/examples/spec_attributes/attributes/default.rb +0 -1
  469. data/examples/spec_attributes/recipes/default.rb +0 -5
  470. data/examples/spec_attributes/spec/default_spec.rb +0 -54
  471. data/examples/spec_platform/recipes/default.rb +0 -3
  472. data/examples/spec_platform/spec/default_spec.rb +0 -36
  473. data/examples/spec_step_into/recipes/default.rb +0 -3
  474. data/examples/spec_step_into/resources/one.rb +0 -3
  475. data/examples/spec_step_into/resources/two.rb +0 -3
  476. data/examples/spec_step_into/spec/default_spec.rb +0 -50
  477. data/examples/state_attrs/providers/lwrp.rb +0 -2
  478. data/examples/state_attrs/recipes/default.rb +0 -3
  479. data/examples/state_attrs/resources/lwrp.rb +0 -6
  480. data/examples/state_attrs/spec/default_spec.rb +0 -12
  481. data/examples/step_into/providers/lwrp.rb +0 -3
  482. data/examples/step_into/providers/provides.rb +0 -3
  483. data/examples/step_into/recipes/default.rb +0 -3
  484. data/examples/step_into/resources/lwrp.rb +0 -4
  485. data/examples/step_into/resources/provides.rb +0 -6
  486. data/examples/step_into/spec/default_spec.rb +0 -30
  487. data/examples/stub_command/recipes/default.rb +0 -5
  488. data/examples/stub_command/recipes/other_recipe.rb +0 -3
  489. data/examples/stub_command/spec/default_spec.rb +0 -28
  490. data/examples/stub_data_bag/recipes/default.rb +0 -5
  491. data/examples/stub_data_bag/spec/default_spec.rb +0 -27
  492. data/examples/stub_data_bag_item/recipes/default.rb +0 -5
  493. data/examples/stub_data_bag_item/spec/default_spec.rb +0 -27
  494. data/examples/stub_node/recipes/default.rb +0 -0
  495. data/examples/stub_node/spec/default_spec.rb +0 -17
  496. data/examples/stub_search/recipes/block.rb +0 -3
  497. data/examples/stub_search/recipes/default.rb +0 -2
  498. data/examples/stub_search/spec/block_spec.rb +0 -27
  499. data/examples/stub_search/spec/default_spec.rb +0 -27
  500. data/examples/stubs_for/resources/default.rb +0 -20
  501. data/examples/stubs_for/resources/old.rb +0 -26
  502. data/examples/stubs_for/spec/default_spec.rb +0 -240
  503. data/examples/subscribes/recipes/before.rb +0 -5
  504. data/examples/subscribes/recipes/chained.rb +0 -10
  505. data/examples/subscribes/recipes/default.rb +0 -5
  506. data/examples/subscribes/recipes/delayed.rb +0 -5
  507. data/examples/subscribes/recipes/immediately.rb +0 -5
  508. data/examples/subscribes/spec/before_spec.rb +0 -16
  509. data/examples/subscribes/spec/chained_spec.rb +0 -21
  510. data/examples/subscribes/spec/default_spec.rb +0 -16
  511. data/examples/subscribes/spec/delayed_spec.rb +0 -16
  512. data/examples/subscribes/spec/immediately_spec.rb +0 -16
  513. data/examples/subversion/recipes/checkout.rb +0 -13
  514. data/examples/subversion/recipes/export.rb +0 -13
  515. data/examples/subversion/recipes/force_export.rb +0 -13
  516. data/examples/subversion/recipes/sync.rb +0 -13
  517. data/examples/subversion/spec/checkout_spec.rb +0 -19
  518. data/examples/subversion/spec/export_spec.rb +0 -19
  519. data/examples/subversion/spec/force_export_spec.rb +0 -19
  520. data/examples/subversion/spec/sync_spec.rb +0 -23
  521. data/examples/systemd_unit/recipes/create.rb +0 -3
  522. data/examples/systemd_unit/recipes/delete.rb +0 -3
  523. data/examples/systemd_unit/recipes/disable.rb +0 -3
  524. data/examples/systemd_unit/recipes/enable.rb +0 -3
  525. data/examples/systemd_unit/recipes/mask.rb +0 -3
  526. data/examples/systemd_unit/recipes/reload_or_restart.rb +0 -3
  527. data/examples/systemd_unit/recipes/reload_or_try_restart.rb +0 -3
  528. data/examples/systemd_unit/recipes/restart.rb +0 -3
  529. data/examples/systemd_unit/recipes/start.rb +0 -3
  530. data/examples/systemd_unit/recipes/stop.rb +0 -3
  531. data/examples/systemd_unit/recipes/try_restart.rb +0 -3
  532. data/examples/systemd_unit/recipes/unmask.rb +0 -3
  533. data/examples/systemd_unit/spec/create_spec.rb +0 -10
  534. data/examples/systemd_unit/spec/delete_spec.rb +0 -10
  535. data/examples/systemd_unit/spec/disable_spec.rb +0 -10
  536. data/examples/systemd_unit/spec/enable_spec.rb +0 -10
  537. data/examples/systemd_unit/spec/mask_spec.rb +0 -10
  538. data/examples/systemd_unit/spec/reload_or_restart_spec.rb +0 -10
  539. data/examples/systemd_unit/spec/reload_or_try_restart_spec.rb +0 -10
  540. data/examples/systemd_unit/spec/restart_spec.rb +0 -10
  541. data/examples/systemd_unit/spec/start_spec.rb +0 -10
  542. data/examples/systemd_unit/spec/stop_spec.rb +0 -10
  543. data/examples/systemd_unit/spec/try_restart_spec.rb +0 -10
  544. data/examples/systemd_unit/spec/unmask_spec.rb +0 -10
  545. data/examples/template/recipes/create.rb +0 -15
  546. data/examples/template/recipes/create_if_missing.rb +0 -15
  547. data/examples/template/recipes/delete.rb +0 -15
  548. data/examples/template/recipes/touch.rb +0 -15
  549. data/examples/template/spec/create_if_missing_spec.rb +0 -28
  550. data/examples/template/spec/create_spec.rb +0 -32
  551. data/examples/template/spec/delete_spec.rb +0 -19
  552. data/examples/template/spec/touch_spec.rb +0 -19
  553. data/examples/use_inline_resources/providers/lwrp.rb +0 -7
  554. data/examples/use_inline_resources/recipes/default.rb +0 -1
  555. data/examples/use_inline_resources/resources/lwrp.rb +0 -4
  556. data/examples/use_inline_resources/spec/default_spec.rb +0 -18
  557. data/examples/user/recipes/create.rb +0 -13
  558. data/examples/user/recipes/lock.rb +0 -13
  559. data/examples/user/recipes/manage.rb +0 -13
  560. data/examples/user/recipes/modify.rb +0 -13
  561. data/examples/user/recipes/remove.rb +0 -13
  562. data/examples/user/recipes/unlock.rb +0 -13
  563. data/examples/user/spec/create_spec.rb +0 -26
  564. data/examples/user/spec/lock_spec.rb +0 -22
  565. data/examples/user/spec/manage_spec.rb +0 -22
  566. data/examples/user/spec/modify_spec.rb +0 -22
  567. data/examples/user/spec/remove_spec.rb +0 -22
  568. data/examples/user/spec/unlock_spec.rb +0 -22
  569. data/examples/windows_package/recipes/install.rb +0 -13
  570. data/examples/windows_package/recipes/remove.rb +0 -13
  571. data/examples/windows_package/spec/install_spec.rb +0 -22
  572. data/examples/windows_package/spec/remove_spec.rb +0 -22
  573. data/examples/windows_service/recipes/configure_startup.rb +0 -13
  574. data/examples/windows_service/recipes/disable.rb +0 -13
  575. data/examples/windows_service/recipes/enable.rb +0 -13
  576. data/examples/windows_service/recipes/reload.rb +0 -13
  577. data/examples/windows_service/recipes/restart.rb +0 -13
  578. data/examples/windows_service/recipes/start.rb +0 -13
  579. data/examples/windows_service/recipes/stop.rb +0 -13
  580. data/examples/windows_service/spec/configure_startup_spec.rb +0 -22
  581. data/examples/windows_service/spec/disable_spec.rb +0 -22
  582. data/examples/windows_service/spec/enable_spec.rb +0 -22
  583. data/examples/windows_service/spec/reload_spec.rb +0 -22
  584. data/examples/windows_service/spec/restart_spec.rb +0 -22
  585. data/examples/windows_service/spec/start_spec.rb +0 -22
  586. data/examples/windows_service/spec/stop_spec.rb +0 -22
  587. data/examples/yum_package/recipes/install.rb +0 -13
  588. data/examples/yum_package/recipes/lock.rb +0 -13
  589. data/examples/yum_package/recipes/purge.rb +0 -13
  590. data/examples/yum_package/recipes/remove.rb +0 -13
  591. data/examples/yum_package/recipes/unlock.rb +0 -13
  592. data/examples/yum_package/recipes/upgrade.rb +0 -13
  593. data/examples/yum_package/spec/install_spec.rb +0 -26
  594. data/examples/yum_package/spec/lock_spec.rb +0 -22
  595. data/examples/yum_package/spec/purge_spec.rb +0 -22
  596. data/examples/yum_package/spec/remove_spec.rb +0 -22
  597. data/examples/yum_package/spec/unlock_spec.rb +0 -22
  598. data/examples/yum_package/spec/upgrade_spec.rb +0 -22
  599. data/examples/yum_repository/recipes/add.rb +0 -8
  600. data/examples/yum_repository/recipes/create.rb +0 -8
  601. data/examples/yum_repository/recipes/delete.rb +0 -3
  602. data/examples/yum_repository/recipes/makecache.rb +0 -3
  603. data/examples/yum_repository/recipes/remove.rb +0 -7
  604. data/examples/yum_repository/spec/add_spec.rb +0 -12
  605. data/examples/yum_repository/spec/create_spec.rb +0 -17
  606. data/examples/yum_repository/spec/delete_spec.rb +0 -12
  607. data/examples/yum_repository/spec/makecache_spec.rb +0 -12
  608. data/examples/yum_repository/spec/remove_spec.rb +0 -12
  609. data/examples/zypper_package/recipes/install.rb +0 -13
  610. data/examples/zypper_package/recipes/lock.rb +0 -13
  611. data/examples/zypper_package/recipes/purge.rb +0 -13
  612. data/examples/zypper_package/recipes/remove.rb +0 -13
  613. data/examples/zypper_package/recipes/unlock.rb +0 -13
  614. data/examples/zypper_package/recipes/upgrade.rb +0 -13
  615. data/examples/zypper_package/spec/install_spec.rb +0 -23
  616. data/examples/zypper_package/spec/lock_spec.rb +0 -19
  617. data/examples/zypper_package/spec/purge_spec.rb +0 -19
  618. data/examples/zypper_package/spec/remove_spec.rb +0 -19
  619. data/examples/zypper_package/spec/unlock_spec.rb +0 -19
  620. data/examples/zypper_package/spec/upgrade_spec.rb +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4149e5d01cef76e9961206a3c21e026f8d1514c5411d4e736775494e7df2fd5e
4
- data.tar.gz: 1c2f041d3734fb0d1b4311652e545753ae93e13ac1d5699287754a2005ab30c5
3
+ metadata.gz: 96c39db8c598b7a40e7fd080c65db3a073a1e8e95f59a2628682587e5de4db56
4
+ data.tar.gz: a0bc37df1322446f83af4488fa1def9124d821478c0364a40fcce138c10f63cf
5
5
  SHA512:
6
- metadata.gz: 86b9445a05713b120154104b065300b29944c2178277c0dbaf57271baed0d675b9582272c73044101cc36625b7ff9e1d189efff6f8525dbac2aed5ba225be0fd
7
- data.tar.gz: 6dc383647ef0ca7f97c3a4ecfbe68a4323949a95d03c8ee853c80000682a7eab9deebed4db231cedd7ba0765c37d18a3304e145ed012739b6a5283b927f43889
6
+ metadata.gz: 354c875c5eb0890aea76c9bb7593dfec11d122157c42ca79842ff8a4264766e6a230fb57a14dfdd6c87887e7c4ba147ee388465e5c2b1fa782ed77a912145844
7
+ data.tar.gz: 64ff73a7906b1e4ba085a9d5d9182903de2965c9ea4c979ad95363b45677d083868e0f64c30c2637ee7beed85333d309cbe42c26024c6fc7fddc0f6b3b08861d
data/Rakefile CHANGED
@@ -21,48 +21,51 @@ failed = []
21
21
  start_time = nil
22
22
 
23
23
  namespace :acceptance do |ns|
24
- Dir.foreach("examples") do |dir|
25
- next if dir == '.' or dir == '..'
26
- desc "#{dir} acceptance tests"
27
- task dir.to_sym do
28
- start_time ||= Time.now
29
- Dir.mktmpdir do |tmp|
30
- FileUtils.cp_r("examples/#{dir}", tmp)
24
+ begin
25
+ Dir.foreach("examples") do |dir|
26
+ next if %w(. .. .DS_Store).include?(dir)
27
+ desc "#{dir} acceptance tests"
28
+ task dir.to_sym do
29
+ start_time ||= Time.now
30
+ Dir.mktmpdir do |tmp|
31
+ FileUtils.cp_r("examples/#{dir}", tmp)
31
32
 
32
- pwd = Dir.pwd
33
+ pwd = Dir.pwd
33
34
 
34
- Dir.chdir "#{tmp}/#{dir}" do
35
- puts "rspec examples/#{dir}"
35
+ Dir.chdir "#{tmp}/#{dir}" do
36
+ puts "rspec examples/#{dir}"
36
37
 
37
- #
38
- # This bit of mildly awful magic below is to load each file into an in-memory
39
- # RSpec runner while keeping a persistent ChefZero server alive.
40
- #
41
- load "#{pwd}/lib/chefspec/rspec.rb"
38
+ #
39
+ # This bit of mildly awful magic below is to load each file into an in-memory
40
+ # RSpec runner while keeping a persistent ChefZero server alive.
41
+ #
42
+ load "#{pwd}/lib/chefspec/rspec.rb"
42
43
 
43
- RSpec.configure do |config|
44
- config.color = true
45
- config.run_all_when_everything_filtered = true
46
- config.filter_run(:focus)
47
- config.before(:suite) do
48
- ChefSpec::ZeroServer.setup!
44
+ RSpec.configure do |config|
45
+ config.color = true
46
+ config.run_all_when_everything_filtered = true
47
+ config.filter_run(:focus)
48
+ config.before(:suite) do
49
+ ChefSpec::ZeroServer.setup!
50
+ end
51
+ config.after(:each) do
52
+ ChefSpec::ZeroServer.reset!
53
+ end
49
54
  end
50
- config.after(:each) do
51
- ChefSpec::ZeroServer.reset!
52
- end
53
- end
54
55
 
55
- RSpec.clear_examples
56
- exitstatus = RSpec::Core::Runner.run(["spec"])
57
- RSpec.reset
58
- failed << dir unless exitstatus == 0
56
+ RSpec.clear_examples
57
+ exitstatus = RSpec::Core::Runner.run(["spec"])
58
+ RSpec.reset
59
+ failed << dir unless exitstatus == 0
60
+ end
59
61
  end
60
62
  end
61
63
  end
64
+ rescue Errno::ENOENT # examples dir is probably missing
65
+ puts "The rake acceptance tests require a full git checkout of chefspec including all examples files!"
62
66
  end
63
67
  end
64
68
 
65
-
66
69
  task acceptance: Rake.application.tasks.select { |t| t.name.start_with?("acceptance:") } do
67
70
  puts "Acceptance tests took #{Time.now - start_time} seconds"
68
71
  raise "some tests failed: #{failed.join(', ')}" unless failed.empty?
data/chefspec.gemspec CHANGED
@@ -14,18 +14,17 @@ Gem::Specification.new do |s|
14
14
  'ChefSpec makes it easy to write examples and get fast ' \
15
15
  'feedback on cookbook changes without the need for ' \
16
16
  'virtual machines or cloud servers.'
17
- s.homepage = 'https://sethvargo.github.io/chefspec/'
17
+ s.homepage = 'https://github.com/chefspec/chefspec'
18
18
  s.license = 'MIT'
19
19
 
20
20
  # Packaging
21
- s.files = `git ls-files`.split($/)
22
- s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
23
- s.test_files = s.files.grep(%r{^(test|spec|features)/})
21
+ s.files = %w{LICENSE Rakefile Gemfile chefspec.gemspec} + Dir.glob("{lib,templates,spec}/**/*", File::FNM_DOTMATCH).reject { |f| File.directory?(f) }
24
22
  s.require_paths = ['lib']
25
23
 
26
- s.required_ruby_version = '>= 2.2'
24
+ s.required_ruby_version = '>= 2.4'
27
25
 
28
- s.add_dependency 'chef', '>= 12.14.89'
29
- s.add_dependency 'fauxhai', '>= 4'
26
+ s.add_dependency 'chef', '>= 14'
27
+ s.add_dependency 'chef-cli'
28
+ s.add_dependency 'fauxhai-ng', '>= 7.5'
30
29
  s.add_dependency 'rspec', '~> 3.0'
31
30
  end
@@ -14,27 +14,33 @@ module ChefSpec
14
14
  # Only run the preload if a platform is configured via the new system
15
15
  # since otherwise it will spam warnings about the platform not being
16
16
  # set.
17
- chef_runner.preload! if chefspec_platform
17
+ chef_runner_instance.preload! if chefspec_platform
18
18
  ex.run
19
19
  ensure
20
20
  $CHEFSPEC_MODE = old_chefspec_mode
21
21
  end
22
22
  end
23
23
 
24
- # Let variables to set the platform in a scoped way. Used below by
24
+ # Let variables to set data in a scoped way. Used below by
25
25
  # {ClassMethods#platform}.
26
+ let(:chefspec_default_attributes) { chefspec_attributes(:default_attributes) }
27
+ let(:chefspec_normal_attributes) { chefspec_attributes(:normal_attributes) }
28
+ let(:chefspec_override_attributes) { chefspec_attributes(:override_attributes) }
29
+ let(:chefspec_automatic_attributes) { chefspec_attributes(:automatic_attributes) }
26
30
  let(:chefspec_platform) { nil }
27
31
  let(:chefspec_platform_version) { nil }
28
32
 
29
- # Set up the runner object but don't actually run anything yet. This can
30
- # be overridden if needed to set up very custom things.
31
- let(:chef_runner) do
33
+ # Compute the options for the runner.
34
+ #
35
+ # @abstract
36
+ # @return [Hash<Symbol, Object>]
37
+ def chef_runner_options
32
38
  options = {
33
39
  step_into: chefspec_ancestor_gather([], :step_into) {|memo, val| memo | val },
34
- default_attributes: chefspec_attributes(:default_attributes),
35
- normal_attributes: chefspec_attributes(:normal_attributes),
36
- override_attributes: chefspec_attributes(:override_attributes),
37
- automatic_attributes: chefspec_attributes(:automatic_attributes),
40
+ default_attributes: chefspec_default_attributes,
41
+ normal_attributes: chefspec_normal_attributes,
42
+ override_attributes: chefspec_override_attributes,
43
+ automatic_attributes: chefspec_automatic_attributes,
38
44
  spec_declaration_locations: self.class.declaration_locations.last[0],
39
45
  }
40
46
  # Only specify these if set in the example so we don't override the
@@ -43,16 +49,32 @@ module ChefSpec
43
49
  options[:version] = chefspec_platform_version if chefspec_platform_version
44
50
  # Merge in any final overrides.
45
51
  options.update(chefspec_attributes(:chefspec_options).symbolize_keys)
46
- # At some point this is probably going to need a flag for ServerRunner
47
- # because someone will complain.
48
- ChefSpec::SoloRunner.new(options)
52
+ options
49
53
  end
50
54
 
51
- # By default, run the recipe in the base `describe` block.
52
- let(:chef_run) do
53
- chef_runner.converge(described_recipe)
55
+ # Class of runner to use.
56
+ #
57
+ # @abstract
58
+ # @return [Class]
59
+ def chef_runner_class
60
+ ChefSpec::SoloRunner
61
+ end
62
+
63
+ # Create an instance of the runner.
64
+ #
65
+ # This should only be used in cases where the `let()` cache would be a problem.
66
+ #
67
+ # @return [ChefSpec::SoloRunner]
68
+ def chef_runner_instance
69
+ chef_runner_class.new(chef_runner_options)
54
70
  end
55
71
 
72
+ # Set up the runner object but don't actually run anything yet.
73
+ let(:chef_runner) { chef_runner_instance }
74
+
75
+ # By default, run the recipe in the base `describe` block.
76
+ let(:chef_run) { chef_runner.converge(described_recipe) }
77
+
56
78
  # Helper method for some of the nestable test value methods like
57
79
  # {ClassMethods#default_attributes} and {ClassMethods#step_into}.
58
80
  #
@@ -0,0 +1,24 @@
1
+ module ChefSpec
2
+ module API
3
+ module IncludeAnyRecipe
4
+ #
5
+ # Assert that a Chef run includes any recipe.
6
+ #
7
+ # include_recipe 'apache2::default'
8
+ #
9
+ # The Examples section demonstrates the different ways to test an
10
+ # +include_any_recipe+ directive with ChefSpec.
11
+ #
12
+ # @example Assert the Chef run did not include any recipes
13
+ # expect(chef_run).not_to include_any_recipe
14
+ #
15
+ #
16
+ # @return [ChefSpec::Matchers::IncludeAnyRecipeMatcher]
17
+ #
18
+ def include_any_recipe
19
+ ChefSpec::Matchers::IncludeAnyRecipeMatcher.new
20
+ end
21
+ alias_method :include_any_recipes, :include_any_recipe
22
+ end
23
+ end
24
+ end
@@ -1,4 +1,5 @@
1
1
  require "chef/version"
2
+ require "mixlib/shellout"
2
3
 
3
4
  module ChefSpec
4
5
  module API
@@ -34,7 +35,7 @@ module ChefSpec
34
35
  before do
35
36
  allow(StubsFor).to receive(:setup_stubs_for) do |object, type|
36
37
  type_stubs = _chefspec_stubs_for_registry[type]
37
- resource_object = object.is_a?(Chef::Provider) ? object.new_resource : object
38
+ resource_object = object.respond_to?(:new_resource) ? object.new_resource : object
38
39
  stubs = type_stubs[nil] + type_stubs[resource_object.resource_name.to_s] + type_stubs[resource_object.to_s]
39
40
  stubs.each do |stub|
40
41
  instance_exec(object, &stub)
@@ -86,7 +87,7 @@ module ChefSpec
86
87
  def receive_shell_out(*cmd, stdout: '', stderr: '', exitstatus: 0, **opts)
87
88
  # Ruby does not allow constructing an actual exitstatus object from Ruby code. Really.
88
89
  fake_exitstatus = double(exitstatus: exitstatus)
89
- fake_cmd = Mixlib::ShellOut.new(*cmd, **opts)
90
+ fake_cmd = Mixlib::ShellOut.new(*cmd)
90
91
  fake_cmd.define_singleton_method(:run_command) { } # Do nothing, just in case.
91
92
  # Inject our canned data.
92
93
  fake_cmd.instance_exec do
@@ -100,7 +101,8 @@ module ChefSpec
100
101
  else
101
102
  :shell_out
102
103
  end
103
- receive(shell_out_method).with(*cmd).and_return(fake_cmd)
104
+ with_args = cmd + (opts.empty? ? [any_args] : [hash_including(opts)])
105
+ receive(shell_out_method).with(*with_args).and_return(fake_cmd)
104
106
  end
105
107
 
106
108
  module ClassMethods
data/lib/chefspec/api.rb CHANGED
@@ -3,6 +3,7 @@ module ChefSpec
3
3
  autoload :Core, 'chefspec/api/core'
4
4
  autoload :Described, 'chefspec/api/described'
5
5
  autoload :DoNothing, 'chefspec/api/do_nothing'
6
+ autoload :IncludeAnyRecipe, 'chefspec/api/include_any_recipe'
6
7
  autoload :IncludeRecipe, 'chefspec/api/include_recipe'
7
8
  autoload :Link, 'chefspec/api/link'
8
9
  autoload :Notifications, 'chefspec/api/notifications'
@@ -19,6 +20,7 @@ module ChefSpec
19
20
  klass.include(ChefSpec::API::Core)
20
21
  klass.include(ChefSpec::API::Described)
21
22
  klass.include(ChefSpec::API::DoNothing)
23
+ klass.include(ChefSpec::API::IncludeAnyRecipe)
22
24
  klass.include(ChefSpec::API::IncludeRecipe)
23
25
  klass.include(ChefSpec::API::DoNothing)
24
26
  klass.include(ChefSpec::API::RenderFile)
Binary file
@@ -25,7 +25,7 @@ Chef::Cookbook::GemInstaller.prepend(Module.new do
25
25
  gem_cmd = "gem install #{gem_name} --version '#{gem_requirements.join(', ')}'"
26
26
  gemfile_line = "gem '#{[gem_name, *gem_requirements].join('\', \'')}'"
27
27
  warn "No matching version found for '#{gem_name}' in your gem environment.\n" \
28
- " - if you are using ChefDK, run the following command: \"chef #{gem_cmd}\"\n" \
28
+ " - if you are using Chef Workstation, run the following command: \"chef #{gem_cmd}\"\n" \
29
29
  " - if you are using bundler, append \"#{gemfile_line}\" to your Gemfile and run \"bundle install\"\n" \
30
30
  " - otherwise run: \"#{gem_cmd}\""
31
31
  end
@@ -1,5 +1,5 @@
1
1
  require 'chef/provider'
2
- require 'chefspec/api'
2
+ require_relative '../../api'
3
3
 
4
4
  Chef::Provider.prepend(Module.new do
5
5
  def self.name
@@ -1,6 +1,6 @@
1
1
  require 'chef/resource'
2
2
  require 'chef/version'
3
- require 'chefspec/api'
3
+ require_relative '../../api'
4
4
 
5
5
  #
6
6
  # Three concerns:
@@ -0,0 +1,51 @@
1
+ module ChefSpec::Matchers
2
+ class IncludeAnyRecipeMatcher
3
+ def matches?(runner)
4
+ @runner = runner
5
+ !(loaded_recipes - run_list_recipes).empty?
6
+ end
7
+
8
+ def description
9
+ 'include any recipe'
10
+ end
11
+
12
+ def failure_message
13
+ 'expected to include any recipe'
14
+ end
15
+
16
+ def failure_message_when_negated
17
+ 'expected not to include any recipes'
18
+ end
19
+
20
+ private
21
+
22
+ #
23
+ # The list of run_list recipes on the Chef run (normalized)
24
+ #
25
+ # @return [Array<String>]
26
+ #
27
+ def run_list_recipes
28
+ @runner.run_context.node.run_list.run_list_items.map { |x| with_default(x.name) }
29
+ end
30
+
31
+ #
32
+ # Automatically appends "+::default+" to recipes that need them.
33
+ #
34
+ # @param [String] name
35
+ #
36
+ # @return [String]
37
+ #
38
+ def with_default(name)
39
+ name.include?('::') ? name : "#{name}::default"
40
+ end
41
+
42
+ #
43
+ # The list of loaded recipes on the Chef run (normalized)
44
+ #
45
+ # @return [Array<String>]
46
+ #
47
+ def loaded_recipes
48
+ @runner.run_context.loaded_recipes.map { |name| with_default(name) }
49
+ end
50
+ end
51
+ end
@@ -1,6 +1,7 @@
1
1
  module ChefSpec
2
2
  module Matchers
3
3
  require_relative 'matchers/do_nothing_matcher'
4
+ require_relative 'matchers/include_any_recipe_matcher'
4
5
  require_relative 'matchers/include_recipe_matcher'
5
6
  require_relative 'matchers/link_to_matcher'
6
7
  require_relative 'matchers/notifications_matcher'
@@ -1,8 +1,8 @@
1
1
  begin
2
- require 'chef-dk/policyfile_services/export_repo'
3
- require 'chef-dk/policyfile_services/install'
2
+ require 'chef-cli/policyfile_services/export_repo'
3
+ require 'chef-cli/policyfile_services/install'
4
4
  rescue LoadError
5
- raise ChefSpec::Error::GemLoadError.new(gem: 'chef-dk', name: 'ChefDK')
5
+ raise ChefSpec::Error::GemLoadError.new(gem: 'chef-cli', name: 'ChefCLI')
6
6
  end
7
7
 
8
8
  module ChefSpec
@@ -22,16 +22,19 @@ module ChefSpec
22
22
  # Setup and install the necessary dependencies in the temporary directory
23
23
  #
24
24
  def setup!
25
- policyfile_path = File.join(Dir.pwd, 'Policyfile.rb')
25
+ policyfile_path = RSpec.configuration.policyfile_path
26
+ if policyfile_path.nil?
27
+ policyfile_path = File.join(Dir.pwd, 'Policyfile.rb')
28
+ end
26
29
 
27
- installer = ChefDK::PolicyfileServices::Install.new(
30
+ installer = ChefCLI::PolicyfileServices::Install.new(
28
31
  policyfile: policyfile_path,
29
- ui: ChefDK::UI.null
32
+ ui: ChefCLI::UI.null
30
33
  )
31
34
 
32
35
  installer.run
33
36
 
34
- exporter = ChefDK::PolicyfileServices::ExportRepo.new(
37
+ exporter = ChefCLI::PolicyfileServices::ExportRepo.new(
35
38
  policyfile: policyfile_path,
36
39
  export_dir: @tmpdir
37
40
  )
@@ -4,6 +4,7 @@ RSpec.configure do |config|
4
4
  end
5
5
 
6
6
  config.add_setting :berkshelf_options, default: {}
7
+ config.add_setting :policyfile_path
7
8
  config.add_setting :file_cache_path
8
9
  config.add_setting :cookbook_root
9
10
  config.add_setting :cookbook_path
@@ -1,4 +1,4 @@
1
- require "chefspec/solo_runner"
1
+ require_relative "solo_runner"
2
2
 
3
3
  module ChefSpec
4
4
  # As we start to migrate back to only SoloRunner, include this alias for now.
@@ -1,3 +1,3 @@
1
1
  module ChefSpec
2
- VERSION = '7.3.0'
2
+ VERSION = '9.1.0'
3
3
  end
@@ -0,0 +1,52 @@
1
+ require 'spec_helper'
2
+
3
+ describe ChefSpec::Matchers::IncludeAnyRecipeMatcher do
4
+ let(:node) { double('Chef::Node', run_list: run_list) }
5
+ let(:run_list) { double('Chef::RunList', run_list_items: run_list_items) }
6
+ let(:run_list_items) { [run_list_item_one] }
7
+ let(:run_list_item_one) { double('Chef::RunList::RunListItem', name: 'one') }
8
+ let(:run_list_item_two) { double('Chef::RunList::RunListItem', name: 'two') }
9
+ let(:loaded_recipes) { %w(one) }
10
+ let(:chef_run) { double('chef run', run_context: { loaded_recipes: loaded_recipes, node: node }) }
11
+
12
+ subject { described_class.new }
13
+
14
+ describe '#failure_message' do
15
+ it 'has the right value' do
16
+ subject.matches?(chef_run)
17
+ expect(subject.failure_message).to eq('expected to include any recipe')
18
+ end
19
+ end
20
+
21
+ describe '#failure_message_when_negated' do
22
+ it 'has the right value' do
23
+ subject.matches?(chef_run)
24
+ expect(subject.failure_message_when_negated).to eq('expected not to include any recipes')
25
+ end
26
+ end
27
+
28
+ describe '#description' do
29
+ it 'has the right value' do
30
+ subject.matches?(chef_run)
31
+ expect(subject.description).to eq('include any recipe')
32
+ end
33
+ end
34
+
35
+ describe '#matches?' do
36
+ context 'when 0 recipes are included' do
37
+ let(:loaded_recipes) { %w(one) }
38
+
39
+ it 'returns false' do
40
+ expect(subject.matches?(chef_run)).to be false
41
+ end
42
+ end
43
+
44
+ context 'when at least one recipe is included' do
45
+ let(:loaded_recipes) { %w(one two) }
46
+
47
+ it 'returns true' do
48
+ expect(subject.matches?(chef_run)).to be true
49
+ end
50
+ end
51
+ end
52
+ end