chefspec 5.0.0 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
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