chefspec 5.0.0 → 5.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 (249) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +425 -371
  3. data/examples/apt_package/recipes/purge.rb +2 -2
  4. data/examples/apt_package/recipes/reconfig.rb +2 -2
  5. data/examples/apt_package/recipes/remove.rb +2 -2
  6. data/examples/apt_package/recipes/upgrade.rb +2 -2
  7. data/examples/apt_package/spec/install_spec.rb +4 -1
  8. data/examples/apt_package/spec/purge_spec.rb +4 -1
  9. data/examples/apt_package/spec/reconfig_spec.rb +4 -1
  10. data/examples/apt_package/spec/remove_spec.rb +4 -1
  11. data/examples/apt_package/spec/upgrade_spec.rb +4 -1
  12. data/examples/apt_repository/spec/add_spec.rb +4 -1
  13. data/examples/apt_repository/spec/remove_spec.rb +4 -1
  14. data/examples/apt_update/recipes/periodic.rb +1 -1
  15. data/examples/apt_update/spec/periodic_spec.rb +5 -2
  16. data/examples/apt_update/spec/update_spec.rb +4 -1
  17. data/examples/attributes/spec/default_spec.rb +1 -1
  18. data/examples/batch/spec/run_spec.rb +4 -6
  19. data/examples/cached/spec/default_spec.rb +1 -1
  20. data/examples/chef_gem/spec/install_spec.rb +1 -1
  21. data/examples/chef_gem/spec/purge_spec.rb +1 -1
  22. data/examples/chef_gem/spec/reconfig_spec.rb +1 -1
  23. data/examples/chef_gem/spec/remove_spec.rb +1 -1
  24. data/examples/chef_gem/spec/upgrade_spec.rb +1 -1
  25. data/examples/chocolatey_package/spec/install_spec.rb +4 -6
  26. data/examples/chocolatey_package/spec/remove_spec.rb +4 -6
  27. data/examples/chocolatey_package/spec/upgrade_spec.rb +4 -6
  28. data/examples/compile_time/spec/default_spec.rb +1 -1
  29. data/examples/cookbook_file/spec/create_if_missing_spec.rb +3 -3
  30. data/examples/cookbook_file/spec/create_spec.rb +3 -3
  31. data/examples/cookbook_file/spec/delete_spec.rb +1 -1
  32. data/examples/cookbook_file/spec/touch_spec.rb +1 -1
  33. data/examples/cron/spec/create_spec.rb +1 -1
  34. data/examples/cron/spec/delete_spec.rb +1 -1
  35. data/examples/custom_matcher/providers/thing.rb +1 -1
  36. data/examples/custom_matcher/spec/install_spec.rb +1 -1
  37. data/examples/custom_matcher/spec/remove_spec.rb +1 -1
  38. data/examples/deploy/spec/deploy_spec.rb +1 -1
  39. data/examples/deploy/spec/force_deploy_spec.rb +1 -1
  40. data/examples/deploy/spec/rollback_spec.rb +1 -1
  41. data/examples/directory/spec/create_spec.rb +4 -4
  42. data/examples/directory/spec/delete_spec.rb +3 -3
  43. data/examples/do_nothing/spec/default_spec.rb +1 -1
  44. data/examples/dpkg_package/spec/install_spec.rb +4 -6
  45. data/examples/dpkg_package/spec/purge_spec.rb +4 -6
  46. data/examples/dpkg_package/spec/remove_spec.rb +4 -6
  47. data/examples/dsc_resource/recipes/{default.rb → run.rb} +6 -6
  48. data/examples/dsc_resource/spec/{default_spec.rb → run_spec.rb} +5 -7
  49. data/examples/dsc_script/recipes/run.rb +12 -0
  50. data/examples/dsc_script/spec/run_spec.rb +16 -0
  51. data/examples/easy_install_package/spec/install_spec.rb +1 -1
  52. data/examples/easy_install_package/spec/purge_spec.rb +1 -1
  53. data/examples/easy_install_package/spec/remove_spec.rb +1 -1
  54. data/examples/easy_install_package/spec/upgrade_spec.rb +1 -1
  55. data/examples/env/spec/create_spec.rb +4 -6
  56. data/examples/env/spec/delete_spec.rb +4 -6
  57. data/examples/env/spec/modify_spec.rb +4 -6
  58. data/examples/erl_call/spec/run_spec.rb +1 -1
  59. data/examples/execute/spec/run_spec.rb +1 -1
  60. data/examples/expect_exception/spec/compile_error_spec.rb +1 -1
  61. data/examples/expect_exception/spec/converge_error_spec.rb +1 -1
  62. data/examples/expect_exception/spec/no_error_spec.rb +1 -1
  63. data/examples/file/spec/create_if_missing_spec.rb +3 -3
  64. data/examples/file/spec/create_spec.rb +3 -3
  65. data/examples/file/spec/delete_spec.rb +1 -1
  66. data/examples/file/spec/touch_spec.rb +1 -1
  67. data/examples/freebsd_package/spec/install_spec.rb +4 -1
  68. data/examples/freebsd_package/spec/remove_spec.rb +4 -1
  69. data/examples/gem_package/spec/install_spec.rb +1 -1
  70. data/examples/gem_package/spec/purge_spec.rb +1 -1
  71. data/examples/gem_package/spec/reconfig_spec.rb +1 -1
  72. data/examples/gem_package/spec/remove_spec.rb +1 -1
  73. data/examples/gem_package/spec/upgrade_spec.rb +1 -1
  74. data/examples/git/spec/checkout_spec.rb +1 -1
  75. data/examples/git/spec/export_spec.rb +1 -1
  76. data/examples/git/spec/sync_spec.rb +1 -1
  77. data/examples/group/spec/create_spec.rb +1 -1
  78. data/examples/group/spec/manage_spec.rb +1 -1
  79. data/examples/group/spec/modify_spec.rb +1 -1
  80. data/examples/group/spec/remove_spec.rb +1 -1
  81. data/examples/guards/spec/default_spec.rb +1 -1
  82. data/examples/heavy_provider_light_resource/libraries/resource_service.rb +1 -1
  83. data/examples/heavy_provider_light_resource/recipes/default.rb +1 -2
  84. data/examples/heavy_provider_light_resource/spec/provider_service_spec.rb +2 -2
  85. data/examples/http_request/spec/delete_spec.rb +1 -1
  86. data/examples/http_request/spec/get_spec.rb +1 -1
  87. data/examples/http_request/spec/head_spec.rb +1 -1
  88. data/examples/http_request/spec/options_spec.rb +1 -1
  89. data/examples/http_request/spec/post_spec.rb +1 -1
  90. data/examples/http_request/spec/put_spec.rb +1 -1
  91. data/examples/ifconfig/spec/add_spec.rb +1 -1
  92. data/examples/ifconfig/spec/delete_spec.rb +1 -1
  93. data/examples/ifconfig/spec/disable_spec.rb +1 -1
  94. data/examples/ifconfig/spec/enable_spec.rb +1 -1
  95. data/examples/include_recipe/spec/default_spec.rb +1 -1
  96. data/examples/ips_package/spec/install_spec.rb +4 -6
  97. data/examples/ips_package/spec/remove_spec.rb +4 -6
  98. data/examples/ips_package/spec/upgrade_spec.rb +4 -6
  99. data/examples/link/spec/create_spec.rb +1 -1
  100. data/examples/link/spec/delete_spec.rb +1 -1
  101. data/examples/link/spec/link_to_spec.rb +1 -1
  102. data/examples/log/spec/write_spec.rb +1 -1
  103. data/examples/macports_package/spec/install_spec.rb +1 -1
  104. data/examples/macports_package/spec/purge_spec.rb +1 -1
  105. data/examples/macports_package/spec/remove_spec.rb +1 -1
  106. data/examples/macports_package/spec/upgrade_spec.rb +1 -1
  107. data/examples/mdadm/spec/assemble_spec.rb +1 -1
  108. data/examples/mdadm/spec/create_spec.rb +1 -1
  109. data/examples/mdadm/spec/stop_spec.rb +1 -1
  110. data/examples/mount/spec/disable_spec.rb +1 -1
  111. data/examples/mount/spec/enable_spec.rb +1 -1
  112. data/examples/mount/spec/mount_spec.rb +1 -1
  113. data/examples/mount/spec/remount_spec.rb +1 -1
  114. data/examples/mount/spec/umount_spec.rb +1 -1
  115. data/examples/multiple_actions/spec/default_spec.rb +1 -1
  116. data/examples/multiple_actions/spec/sequential_spec.rb +2 -2
  117. data/examples/multiple_run_action/recipes/default.rb +2 -2
  118. data/examples/multiple_run_action/spec/default_spec.rb +1 -1
  119. data/examples/notifications/spec/before_spec.rb +1 -1
  120. data/examples/notifications/spec/chained_spec.rb +1 -1
  121. data/examples/notifications/spec/default_spec.rb +1 -1
  122. data/examples/notifications/spec/delayed_spec.rb +1 -1
  123. data/examples/notifications/spec/immediately_spec.rb +1 -1
  124. data/examples/ohai/spec/reload_spec.rb +1 -1
  125. data/examples/package/recipes/install.rb +1 -1
  126. data/examples/package/recipes/purge.rb +1 -1
  127. data/examples/package/recipes/reconfig.rb +1 -1
  128. data/examples/package/recipes/remove.rb +1 -1
  129. data/examples/package/recipes/upgrade.rb +1 -1
  130. data/examples/package/spec/install_spec.rb +2 -2
  131. data/examples/package/spec/purge_spec.rb +2 -2
  132. data/examples/package/spec/reconfig_spec.rb +2 -2
  133. data/examples/package/spec/remove_spec.rb +2 -2
  134. data/examples/package/spec/upgrade_spec.rb +2 -2
  135. data/examples/pacman_package/spec/install_spec.rb +4 -6
  136. data/examples/pacman_package/spec/purge_spec.rb +4 -6
  137. data/examples/pacman_package/spec/remove_spec.rb +4 -6
  138. data/examples/pacman_package/spec/upgrade_spec.rb +4 -6
  139. data/examples/portage_package/spec/install_spec.rb +4 -1
  140. data/examples/portage_package/spec/purge_spec.rb +4 -1
  141. data/examples/portage_package/spec/remove_spec.rb +4 -1
  142. data/examples/portage_package/spec/upgrade_spec.rb +4 -1
  143. data/examples/powershell_script/spec/run_spec.rb +4 -6
  144. data/examples/reboot/spec/cancel_spec.rb +1 -2
  145. data/examples/reboot/spec/now_spec.rb +1 -2
  146. data/examples/reboot/spec/request_spec.rb +1 -2
  147. data/examples/registry_key/spec/create_if_missing_spec.rb +4 -1
  148. data/examples/registry_key/spec/create_spec.rb +4 -1
  149. data/examples/registry_key/spec/delete_key_spec.rb +4 -1
  150. data/examples/registry_key/spec/delete_spec.rb +4 -1
  151. data/examples/remote_directory/spec/create_if_missing_spec.rb +1 -1
  152. data/examples/remote_directory/spec/create_spec.rb +1 -1
  153. data/examples/remote_directory/spec/delete_spec.rb +1 -1
  154. data/examples/remote_file/spec/create_if_missing_spec.rb +1 -1
  155. data/examples/remote_file/spec/create_spec.rb +1 -1
  156. data/examples/remote_file/spec/delete_spec.rb +1 -1
  157. data/examples/remote_file/spec/touch_spec.rb +1 -1
  158. data/examples/render_file/spec/default_spec.rb +1 -1
  159. data/examples/render_file/spec/template_helpers_spec.rb +1 -1
  160. data/examples/roles/roles/role.rb +3 -3
  161. data/examples/route/spec/add_spec.rb +1 -1
  162. data/examples/route/spec/delete_spec.rb +1 -1
  163. data/examples/rpm_package/spec/install_spec.rb +4 -6
  164. data/examples/rpm_package/spec/remove_spec.rb +4 -6
  165. data/examples/rpm_package/spec/upgrade_spec.rb +4 -6
  166. data/examples/ruby_block/spec/run_spec.rb +1 -1
  167. data/examples/script/spec/run_bash_spec.rb +1 -1
  168. data/examples/script/spec/run_csh_spec.rb +1 -1
  169. data/examples/script/spec/run_perl_spec.rb +1 -1
  170. data/examples/script/spec/run_python_spec.rb +1 -1
  171. data/examples/script/spec/run_ruby_spec.rb +1 -1
  172. data/examples/script/spec/run_script_spec.rb +1 -1
  173. data/examples/server/spec/client_spec.rb +2 -2
  174. data/examples/server/spec/environment_spec.rb +1 -1
  175. data/examples/server/spec/node_spec.rb +4 -4
  176. data/examples/server/spec/role_spec.rb +1 -1
  177. data/examples/service/recipes/disable.rb +1 -1
  178. data/examples/service/recipes/enable.rb +1 -1
  179. data/examples/service/recipes/reload.rb +1 -1
  180. data/examples/service/recipes/restart.rb +1 -1
  181. data/examples/service/recipes/start.rb +1 -1
  182. data/examples/service/recipes/stop.rb +1 -1
  183. data/examples/service/spec/disable_spec.rb +1 -1
  184. data/examples/service/spec/enable_spec.rb +1 -1
  185. data/examples/service/spec/reload_spec.rb +1 -1
  186. data/examples/service/spec/restart_spec.rb +1 -1
  187. data/examples/service/spec/start_spec.rb +1 -1
  188. data/examples/service/spec/stop_spec.rb +1 -1
  189. data/examples/smartos_package/spec/install_spec.rb +4 -1
  190. data/examples/smartos_package/spec/remove_spec.rb +4 -1
  191. data/examples/smartos_package/spec/upgrade_spec.rb +4 -1
  192. data/examples/solaris_package/spec/install_spec.rb +4 -1
  193. data/examples/solaris_package/spec/remove_spec.rb +4 -1
  194. data/examples/state_attrs/providers/lwrp.rb +0 -1
  195. data/examples/state_attrs/spec/default_spec.rb +1 -1
  196. data/examples/step_into/spec/default_spec.rb +4 -4
  197. data/examples/stub_command/spec/default_spec.rb +3 -3
  198. data/examples/stub_data_bag/spec/default_spec.rb +2 -2
  199. data/examples/stub_data_bag_item/spec/default_spec.rb +4 -4
  200. data/examples/stub_search/spec/default_spec.rb +4 -4
  201. data/examples/subscribes/spec/before_spec.rb +1 -1
  202. data/examples/subscribes/spec/chained_spec.rb +1 -1
  203. data/examples/subscribes/spec/default_spec.rb +1 -2
  204. data/examples/subscribes/spec/delayed_spec.rb +1 -1
  205. data/examples/subscribes/spec/immediately_spec.rb +1 -1
  206. data/examples/subversion/spec/checkout_spec.rb +1 -1
  207. data/examples/subversion/spec/export_spec.rb +1 -1
  208. data/examples/subversion/spec/force_export_spec.rb +1 -1
  209. data/examples/subversion/spec/sync_spec.rb +1 -1
  210. data/examples/template/spec/create_if_missing_spec.rb +3 -3
  211. data/examples/template/spec/create_spec.rb +3 -3
  212. data/examples/template/spec/delete_spec.rb +1 -1
  213. data/examples/template/spec/touch_spec.rb +1 -1
  214. data/examples/use_inline_resources/spec/default_spec.rb +3 -3
  215. data/examples/user/spec/create_spec.rb +4 -1
  216. data/examples/user/spec/lock_spec.rb +4 -1
  217. data/examples/user/spec/manage_spec.rb +4 -1
  218. data/examples/user/spec/modify_spec.rb +4 -1
  219. data/examples/user/spec/remove_spec.rb +4 -1
  220. data/examples/user/spec/unlock_spec.rb +4 -1
  221. data/examples/windows_package/spec/install_spec.rb +4 -6
  222. data/examples/windows_package/spec/remove_spec.rb +4 -6
  223. data/examples/windows_service/spec/configure_startup_spec.rb +4 -6
  224. data/examples/windows_service/spec/disable_spec.rb +4 -6
  225. data/examples/windows_service/spec/enable_spec.rb +4 -6
  226. data/examples/windows_service/spec/reload_spec.rb +4 -6
  227. data/examples/windows_service/spec/restart_spec.rb +4 -6
  228. data/examples/windows_service/spec/start_spec.rb +4 -6
  229. data/examples/windows_service/spec/stop_spec.rb +4 -6
  230. data/examples/yum_package/spec/install_spec.rb +4 -1
  231. data/examples/yum_package/spec/purge_spec.rb +4 -1
  232. data/examples/yum_package/spec/remove_spec.rb +4 -1
  233. data/examples/yum_package/spec/upgrade_spec.rb +4 -1
  234. data/examples/yum_repository/recipes/create.rb +8 -0
  235. data/examples/yum_repository/recipes/make_cache.rb +3 -0
  236. data/examples/yum_repository/recipes/remove.rb +3 -0
  237. data/examples/yum_repository/spec/create_spec.rb +17 -0
  238. data/examples/yum_repository/spec/make_cache_spec.rb +12 -0
  239. data/examples/yum_repository/spec/remove_spec.rb +12 -0
  240. data/features/apt_repository.feature +21 -0
  241. data/features/apt_update.feature +19 -0
  242. data/features/dsc_resource.feature +5 -2
  243. data/features/dsc_script.feature +10 -0
  244. data/features/yum_repository.feature +27 -0
  245. data/lib/chefspec/api.rb +4 -0
  246. data/lib/chefspec/api/dsc_script.rb +37 -0
  247. data/lib/chefspec/api/yum_repository.rb +80 -0
  248. data/lib/chefspec/version.rb +1 -1
  249. metadata +23 -5
@@ -1,12 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
- RSpec.configure do |config|
4
- config.platform = 'windows'
5
- config.version = '2012R2'
6
- end
7
-
8
3
  describe 'windows_package::remove' do
9
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
6
+ .converge(described_recipe)
7
+ end
10
8
 
11
9
  it 'removes a windows_package with an explicit action' do
12
10
  expect(chef_run).to remove_windows_package('explicit_action')
@@ -1,12 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
- RSpec.configure do |config|
4
- config.platform = 'windows'
5
- config.version = '2012R2'
6
- end
7
-
8
3
  describe 'windows_service::configure_startup' do
9
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
6
+ .converge(described_recipe)
7
+ end
10
8
 
11
9
  it 'configures startup for a windows_service with an explicit action' do
12
10
  expect(chef_run).to configure_startup_windows_service('explicit_action')
@@ -1,12 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
- RSpec.configure do |config|
4
- config.platform = 'windows'
5
- config.version = '2012R2'
6
- end
7
-
8
3
  describe 'windows_service::disable' do
9
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
6
+ .converge(described_recipe)
7
+ end
10
8
 
11
9
  it 'disables a windows_service with an explicit action' do
12
10
  expect(chef_run).to disable_windows_service('explicit_action')
@@ -1,12 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
- RSpec.configure do |config|
4
- config.platform = 'windows'
5
- config.version = '2012R2'
6
- end
7
-
8
3
  describe 'windows_service::enable' do
9
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
6
+ .converge(described_recipe)
7
+ end
10
8
 
11
9
  it 'enables a windows_service with an explicit action' do
12
10
  expect(chef_run).to enable_windows_service('explicit_action')
@@ -1,12 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
- RSpec.configure do |config|
4
- config.platform = 'windows'
5
- config.version = '2012R2'
6
- end
7
-
8
3
  describe 'windows_service::reload' do
9
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
6
+ .converge(described_recipe)
7
+ end
10
8
 
11
9
  it 'reloads a windows_service with an explicit action' do
12
10
  expect(chef_run).to reload_windows_service('explicit_action')
@@ -1,12 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
- RSpec.configure do |config|
4
- config.platform = 'windows'
5
- config.version = '2012R2'
6
- end
7
-
8
3
  describe 'windows_service::restart' do
9
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
6
+ .converge(described_recipe)
7
+ end
10
8
 
11
9
  it 'restarts a windows_service with an explicit action' do
12
10
  expect(chef_run).to restart_windows_service('explicit_action')
@@ -1,12 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
- RSpec.configure do |config|
4
- config.platform = 'windows'
5
- config.version = '2012R2'
6
- end
7
-
8
3
  describe 'windows_service::start' do
9
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
6
+ .converge(described_recipe)
7
+ end
10
8
 
11
9
  it 'starts a windows_service with an explicit action' do
12
10
  expect(chef_run).to start_windows_service('explicit_action')
@@ -1,12 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
- RSpec.configure do |config|
4
- config.platform = 'windows'
5
- config.version = '2012R2'
6
- end
7
-
8
3
  describe 'windows_service::stop' do
9
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
6
+ .converge(described_recipe)
7
+ end
10
8
 
11
9
  it 'stops a windows_service with an explicit action' do
12
10
  expect(chef_run).to stop_windows_service('explicit_action')
@@ -1,7 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
3
  describe 'yum_package::install' do
4
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'centos', version: '7.2.1511')
6
+ .converge(described_recipe)
7
+ end
5
8
 
6
9
  it 'installs a yum_package with the default action' do
7
10
  expect(chef_run).to install_yum_package('default_action')
@@ -1,7 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
3
  describe 'yum_package::purge' do
4
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'centos', version: '7.2.1511')
6
+ .converge(described_recipe)
7
+ end
5
8
 
6
9
  it 'purges a yum_package with an explicit action' do
7
10
  expect(chef_run).to purge_yum_package('explicit_action')
@@ -1,7 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
3
  describe 'yum_package::remove' do
4
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'centos', version: '7.2.1511')
6
+ .converge(described_recipe)
7
+ end
5
8
 
6
9
  it 'removes a yum_package with an explicit action' do
7
10
  expect(chef_run).to remove_yum_package('explicit_action')
@@ -1,7 +1,10 @@
1
1
  require 'chefspec'
2
2
 
3
3
  describe 'yum_package::upgrade' do
4
- let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'centos', version: '7.2.1511')
6
+ .converge(described_recipe)
7
+ end
5
8
 
6
9
  it 'upgrades a yum_package with an explicit action' do
7
10
  expect(chef_run).to upgrade_yum_package('explicit_action')
@@ -0,0 +1,8 @@
1
+ yum_repository 'default_action' do
2
+ baseurl 'some_uri'
3
+ end
4
+
5
+ yum_repository 'explicit_action' do
6
+ baseurl 'some_url'
7
+ action :create
8
+ end
@@ -0,0 +1,3 @@
1
+ yum_repository 'explicit_make_cache_action' do
2
+ action :make_cache
3
+ end
@@ -0,0 +1,3 @@
1
+ yum_repository 'explicit_remove_action' do
2
+ action :remove
3
+ end
@@ -0,0 +1,17 @@
1
+ require 'chefspec'
2
+
3
+ describe 'yum_repository::create' do
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'centos', version: '7.2.1511')
6
+ .converge(described_recipe)
7
+ end
8
+
9
+ it 'create a yum_repository with default action' do
10
+ expect(chef_run).to create_yum_repository('default_action')
11
+ expect(chef_run).to_not create_yum_repository('not_default_action')
12
+ end
13
+
14
+ it 'creates a yum_repository with an explicit action' do
15
+ expect(chef_run).to create_yum_repository('explicit_action')
16
+ end
17
+ end
@@ -0,0 +1,12 @@
1
+ require 'chefspec'
2
+
3
+ describe 'yum_repository::make_cache' do
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'centos', version: '7.2.1511')
6
+ .converge(described_recipe)
7
+ end
8
+
9
+ it 'makes cache for a yum_repository' do
10
+ expect(chef_run).to make_cache_yum_repository('explicit_make_cache_action')
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require 'chefspec'
2
+
3
+ describe 'yum_repository::remove' do
4
+ let(:chef_run) do
5
+ ChefSpec::ServerRunner.new(platform: 'centos', version: '7.2.1511')
6
+ .converge(described_recipe)
7
+ end
8
+
9
+ it 'removes a yum_repository with default action' do
10
+ expect(chef_run).to remove_yum_repository('explicit_remove_action')
11
+ end
12
+ end
@@ -0,0 +1,21 @@
1
+ @not_chef_12_0_3
2
+ @not_chef_12_1_2
3
+ @not_chef_12_2_1
4
+ @not_chef_12_3_0
5
+ @not_chef_12_4_3
6
+ @not_chef_12_5_1
7
+ @not_chef_12_6_0
8
+ @not_chef_12_7_2
9
+ @not_chef_12_8_1
10
+
11
+ Feature: The apt_repository matcher
12
+ Background:
13
+ * I am using the "apt_repository" cookbook
14
+
15
+ Scenario Outline: Running specs
16
+ * I successfully run `rspec spec/<Matcher>_spec.rb`
17
+ * the output should contain "0 failures"
18
+ Examples:
19
+ | Matcher |
20
+ | add |
21
+ | remove |
@@ -0,0 +1,19 @@
1
+ @not_chef_12_0_3
2
+ @not_chef_12_1_2
3
+ @not_chef_12_2_1
4
+ @not_chef_12_3_0
5
+ @not_chef_12_4_3
6
+ @not_chef_12_5_1
7
+ @not_chef_12_6_0
8
+
9
+ Feature: The apt_update matcher
10
+ Background:
11
+ * I am using the "apt_update" cookbook
12
+
13
+ Scenario Outline: Running specs
14
+ * I successfully run `rspec spec/<Matcher>_spec.rb`
15
+ * the output should contain "0 failures"
16
+ Examples:
17
+ | Matcher |
18
+ | periodic |
19
+ | update |
@@ -4,6 +4,9 @@ Feature: The dsc_resource matcher
4
4
  Background:
5
5
  * I am using the "dsc_resource" cookbook
6
6
 
7
- Scenario: Running specs
8
- * I successfully run `rspec spec/default_spec.rb`
7
+ Scenario Outline: Running specs
8
+ * I successfully run `rspec spec/<Matcher>_spec.rb`
9
9
  * the output should contain "0 failures"
10
+ Examples:
11
+ | Matcher |
12
+ | run |
@@ -0,0 +1,10 @@
1
+ Feature: The dsc_script matcher
2
+ Background:
3
+ * I am using the "dsc_script" cookbook
4
+
5
+ Scenario Outline: Running specs
6
+ * I successfully run `rspec spec/<Matcher>_spec.rb`
7
+ * the output should contain "0 failures"
8
+ Examples:
9
+ | Matcher |
10
+ | run |
@@ -0,0 +1,27 @@
1
+ @not_chef_12_0_3
2
+ @not_chef_12_1_2
3
+ @not_chef_12_2_1
4
+ @not_chef_12_3_0
5
+ @not_chef_12_4_3
6
+ @not_chef_12_5_1
7
+ @not_chef_12_6_0
8
+ @not_chef_12_7_2
9
+ @not_chef_12_8_1
10
+ @not_chef_12_9_41
11
+ @not_chef_12_10_24
12
+ @not_chef_12_11_18
13
+ @not_chef_12_12_15
14
+ @not_chef_12_13_37
15
+
16
+ Feature: The yum_repository matcher
17
+ Background:
18
+ * I am using the "yum_repository" cookbook
19
+
20
+ Scenario Outline: Running specs
21
+ * I successfully run `rspec spec/<Matcher>_spec.rb`
22
+ * the output should contain "0 failures"
23
+ Examples:
24
+ | Matcher |
25
+ | create |
26
+ | remove |
27
+ | make_cache |
@@ -25,6 +25,8 @@ module ChefSpec
25
25
  end
26
26
 
27
27
  require_relative 'api/apt_package'
28
+ require_relative 'api/apt_update'
29
+ require_relative 'api/apt_repository'
28
30
  require_relative 'api/batch'
29
31
  require_relative 'api/chef_gem'
30
32
  require_relative 'api/chocolatey_package'
@@ -35,6 +37,7 @@ require_relative 'api/directory'
35
37
  require_relative 'api/dpkg_package'
36
38
  require_relative 'api/do_nothing'
37
39
  require_relative 'api/dsc_resource'
40
+ require_relative 'api/dsc_script'
38
41
  require_relative 'api/easy_install_package'
39
42
  require_relative 'api/env'
40
43
  require_relative 'api/erl_call'
@@ -79,3 +82,4 @@ require_relative 'api/user'
79
82
  require_relative 'api/windows_package'
80
83
  require_relative 'api/windows_service'
81
84
  require_relative 'api/yum_package'
85
+ require_relative 'api/yum_repository'
@@ -0,0 +1,37 @@
1
+ module ChefSpec::API
2
+ # @since 5.1.0
3
+ module DscScriptMatchers
4
+ ChefSpec.define_matcher :dsc_script
5
+
6
+ #
7
+ # Assert that a +dsc_script+ resource exists in the Chef run with
8
+ # the action +:run+. Given a Chef Recipe that runs "something" using
9
+ # +dsc_script+:
10
+ #
11
+ # dsc_script 'something' do
12
+ # code <<-EOH
13
+ # something
14
+ # EOH
15
+ # action :run
16
+ # end
17
+ #
18
+ # The Examples section demonstrates the different ways to test a
19
+ # +dsc_script+ resource with ChefSpec.
20
+ #
21
+ # @example Assert that a +dsc_script+ was run
22
+ # expect(chef_run).to dsc_script('something')
23
+ #
24
+ # @example Assert that a +dsc_script+ was _not_ run
25
+ # expect(chef_run).to_not dsc_script('something')
26
+ #
27
+ #
28
+ # @param [String, Regex] resource_name
29
+ # the name of the resource to match
30
+ #
31
+ # @return [ChefSpec::Matchers::ResourceMatcher]
32
+ #
33
+ def run_dsc_script(resource_name)
34
+ ChefSpec::Matchers::ResourceMatcher.new(:dsc_script, :run, resource_name)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,80 @@
1
+ module ChefSpec::API
2
+ # @since 3.0.0
3
+ module YumRepositoryMatchers
4
+ ChefSpec.define_matcher :yum_repository
5
+
6
+ #
7
+ # Assert that a +yum_repository+ resource exists in the Chef run with the
8
+ # action +:create+. Given a Chef Recipe that adds "epel" as an
9
+ # +yum_repository+:
10
+ #
11
+ # yum_repository 'epel' do
12
+ # baseurl "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-#{node['platform_version'].to_i}&arch=$basearch"
13
+ # description 'Extra Packages for $releasever - $basearch'
14
+ # action :create
15
+ # end
16
+ #
17
+ # The Examples section demonstrates the different ways to test an
18
+ # +yum_repository+ resource with ChefSpec.
19
+ #
20
+ # @example Assert that an +yum_repository+ was created
21
+ # expect(chef_run).to create_yum_repository('epel')
22
+ # @param [String, Regex] resource_name
23
+ # the name of the resource to match
24
+ #
25
+ # @return [ChefSpec::Matchers::ResourceMatcher]
26
+
27
+ def create_yum_repository(resource_name)
28
+ ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :create,
29
+ resource_name)
30
+ end
31
+
32
+ #
33
+ # Assert that a +yum_repository+ resource exists in the Chef run with the
34
+ # action +:remove+. Given a Chef Recipe that removes "epel" as an
35
+ # +yum_repository+:
36
+ #
37
+ # yum_repository 'epel' do
38
+ # action :remove
39
+ # end
40
+ #
41
+ # The Examples section demonstrates the different ways to test an
42
+ # +yum_repository+ resource with ChefSpec.
43
+ #
44
+ # @example Assert that an +yum_repository+ was removed
45
+ # expect(chef_run).to remove_yum_repository('epel')
46
+ # @param [String, Regex] resource_name
47
+ # the name of the resource to match
48
+ #
49
+ # @return [ChefSpec::Matchers::ResourceMatcher]
50
+
51
+ def remove_yum_repository(resource_name)
52
+ ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :remove,
53
+ resource_name)
54
+ end
55
+
56
+ #
57
+ # Assert that a +yum_repository+ resource exists in the Chef run with the
58
+ # action +:make_cache+. Given a Chef Recipe that makes cache for "epel" as
59
+ # a +yum_repository+:
60
+ #
61
+ # yum_repository 'epel' do
62
+ # action :make_cache
63
+ # end
64
+ #
65
+ # The Examples section demonstrates the different ways to test an
66
+ # +yum_repository+ resource with ChefSpec.
67
+ #
68
+ # @example Assert that an +yum_repository+ was make cache'd
69
+ # expect(chef_run).to make_cache_yum_repository('epel')
70
+ # @param [String, Regex] resource_name
71
+ # the name of the resource to match
72
+ #
73
+ # @return [ChefSpec::Matchers::ResourceMatcher]
74
+
75
+ def make_cache_yum_repository(resource_name)
76
+ ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :make_cache,
77
+ resource_name)
78
+ end
79
+ end
80
+ end