chefspec 3.1.4 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +15 -0
- data/.travis.yml +39 -0
- data/CHANGELOG.md +444 -0
- data/CONTRIBUTING.md +52 -0
- data/Gemfile +2 -0
- data/ISSUES.md +41 -0
- data/LICENSE +22 -0
- data/README.md +893 -0
- data/Rakefile +29 -0
- data/chefspec.gemspec +42 -0
- data/examples/apt_package/recipes/install.rb +13 -0
- data/examples/apt_package/recipes/purge.rb +13 -0
- data/examples/apt_package/recipes/reconfig.rb +13 -0
- data/examples/apt_package/recipes/remove.rb +13 -0
- data/examples/apt_package/recipes/upgrade.rb +13 -0
- data/examples/apt_package/spec/install_spec.rb +23 -0
- data/examples/apt_package/spec/purge_spec.rb +19 -0
- data/examples/apt_package/spec/reconfig_spec.rb +19 -0
- data/examples/apt_package/spec/remove_spec.rb +19 -0
- data/examples/apt_package/spec/upgrade_spec.rb +19 -0
- data/examples/attributes/attributes/default.rb +1 -0
- data/examples/attributes/recipes/default.rb +4 -0
- data/examples/attributes/spec/default_spec.rb +20 -0
- data/examples/batch/recipes/run.rb +13 -0
- data/examples/batch/spec/run_spec.rb +23 -0
- data/examples/cached/recipes/default.rb +1 -0
- data/examples/cached/spec/default_spec.rb +13 -0
- data/examples/chef_gem/recipes/install.rb +13 -0
- data/examples/chef_gem/recipes/purge.rb +13 -0
- data/examples/chef_gem/recipes/reconfig.rb +13 -0
- data/examples/chef_gem/recipes/remove.rb +13 -0
- data/examples/chef_gem/recipes/upgrade.rb +13 -0
- data/examples/chef_gem/spec/install_spec.rb +23 -0
- data/examples/chef_gem/spec/purge_spec.rb +19 -0
- data/examples/chef_gem/spec/reconfig_spec.rb +19 -0
- data/examples/chef_gem/spec/remove_spec.rb +19 -0
- data/examples/chef_gem/spec/upgrade_spec.rb +19 -0
- data/examples/compile_time/recipes/default.rb +3 -0
- data/examples/compile_time/spec/default_spec.rb +27 -0
- data/examples/cookbook_file/recipes/create.rb +15 -0
- data/examples/cookbook_file/recipes/create_if_missing.rb +15 -0
- data/examples/cookbook_file/recipes/delete.rb +15 -0
- data/examples/cookbook_file/recipes/touch.rb +15 -0
- data/examples/cookbook_file/spec/create_if_missing_spec.rb +28 -0
- data/examples/cookbook_file/spec/create_spec.rb +32 -0
- data/examples/cookbook_file/spec/delete_spec.rb +19 -0
- data/examples/cookbook_file/spec/touch_spec.rb +19 -0
- data/examples/cron/recipes/create.rb +10 -0
- data/examples/cron/recipes/delete.rb +9 -0
- data/examples/cron/spec/create_spec.rb +19 -0
- data/examples/cron/spec/delete_spec.rb +15 -0
- data/examples/custom_matcher/libraries/matcher.rb +23 -0
- data/examples/custom_matcher/providers/thing.rb +2 -0
- data/examples/custom_matcher/recipes/install.rb +13 -0
- data/examples/custom_matcher/recipes/remove.rb +13 -0
- data/examples/custom_matcher/resources/thing.rb +5 -0
- data/examples/custom_matcher/spec/install_spec.rb +27 -0
- data/examples/custom_matcher/spec/remove_spec.rb +23 -0
- data/examples/deploy/recipes/deploy.rb +10 -0
- data/examples/deploy/recipes/force_deploy.rb +9 -0
- data/examples/deploy/recipes/rollback.rb +9 -0
- data/examples/deploy/spec/deploy_spec.rb +15 -0
- data/examples/deploy/spec/force_deploy_spec.rb +15 -0
- data/examples/deploy/spec/rollback_spec.rb +15 -0
- data/examples/directory/recipes/create.rb +14 -0
- data/examples/directory/recipes/delete.rb +14 -0
- data/examples/directory/spec/create_spec.rb +30 -0
- data/examples/directory/spec/delete_spec.rb +26 -0
- data/examples/dpkg_package/recipes/install.rb +13 -0
- data/examples/dpkg_package/recipes/purge.rb +13 -0
- data/examples/dpkg_package/recipes/remove.rb +13 -0
- data/examples/dpkg_package/spec/install_spec.rb +23 -0
- data/examples/dpkg_package/spec/purge_spec.rb +19 -0
- data/examples/dpkg_package/spec/remove_spec.rb +19 -0
- data/examples/easy_install_package/recipes/install.rb +13 -0
- data/examples/easy_install_package/recipes/purge.rb +13 -0
- data/examples/easy_install_package/recipes/remove.rb +13 -0
- data/examples/easy_install_package/recipes/upgrade.rb +13 -0
- data/examples/easy_install_package/spec/install_spec.rb +23 -0
- data/examples/easy_install_package/spec/purge_spec.rb +19 -0
- data/examples/easy_install_package/spec/remove_spec.rb +19 -0
- data/examples/easy_install_package/spec/upgrade_spec.rb +19 -0
- data/examples/env/recipes/create.rb +13 -0
- data/examples/env/recipes/delete.rb +13 -0
- data/examples/env/recipes/modify.rb +13 -0
- data/examples/env/spec/create_spec.rb +23 -0
- data/examples/env/spec/delete_spec.rb +19 -0
- data/examples/env/spec/modify_spec.rb +19 -0
- data/examples/erl_call/recipes/run.rb +13 -0
- data/examples/erl_call/spec/run_spec.rb +23 -0
- data/examples/execute/recipes/run.rb +13 -0
- data/examples/execute/spec/run_spec.rb +23 -0
- data/examples/expect_exception/recipes/compile_error.rb +1 -0
- data/examples/expect_exception/recipes/converge_error.rb +5 -0
- data/examples/expect_exception/recipes/no_error.rb +1 -0
- data/examples/expect_exception/spec/compile_error_spec.rb +10 -0
- data/examples/expect_exception/spec/converge_error_spec.rb +10 -0
- data/examples/expect_exception/spec/no_error_spec.rb +10 -0
- data/examples/file/recipes/create.rb +15 -0
- data/examples/file/recipes/create_if_missing.rb +15 -0
- data/examples/file/recipes/delete.rb +15 -0
- data/examples/file/recipes/touch.rb +15 -0
- data/examples/file/spec/create_if_missing_spec.rb +28 -0
- data/examples/file/spec/create_spec.rb +32 -0
- data/examples/file/spec/delete_spec.rb +19 -0
- data/examples/file/spec/touch_spec.rb +19 -0
- data/examples/freebsd_package/recipes/install.rb +13 -0
- data/examples/freebsd_package/recipes/remove.rb +13 -0
- data/examples/freebsd_package/spec/install_spec.rb +23 -0
- data/examples/freebsd_package/spec/remove_spec.rb +19 -0
- data/examples/gem_package/recipes/install.rb +13 -0
- data/examples/gem_package/recipes/purge.rb +13 -0
- data/examples/gem_package/recipes/reconfig.rb +13 -0
- data/examples/gem_package/recipes/remove.rb +13 -0
- data/examples/gem_package/recipes/upgrade.rb +13 -0
- data/examples/gem_package/spec/install_spec.rb +23 -0
- data/examples/gem_package/spec/purge_spec.rb +19 -0
- data/examples/gem_package/spec/reconfig_spec.rb +19 -0
- data/examples/gem_package/spec/remove_spec.rb +19 -0
- data/examples/gem_package/spec/upgrade_spec.rb +19 -0
- data/examples/git/recipes/checkout.rb +13 -0
- data/examples/git/recipes/export.rb +13 -0
- data/examples/git/recipes/sync.rb +13 -0
- data/examples/git/spec/checkout_spec.rb +19 -0
- data/examples/git/spec/export_spec.rb +19 -0
- data/examples/git/spec/sync_spec.rb +23 -0
- data/examples/group/recipes/create.rb +13 -0
- data/examples/group/recipes/manage.rb +13 -0
- data/examples/group/recipes/modify.rb +13 -0
- data/examples/group/recipes/remove.rb +13 -0
- data/examples/group/spec/create_spec.rb +23 -0
- data/examples/group/spec/manage_spec.rb +19 -0
- data/examples/group/spec/modify_spec.rb +19 -0
- data/examples/group/spec/remove_spec.rb +18 -0
- data/examples/guards/recipes/default.rb +13 -0
- data/examples/guards/spec/default_spec.rb +17 -0
- data/examples/heavy_provider_light_resource/libraries/resource_service.rb +15 -0
- data/examples/heavy_provider_light_resource/providers/service.rb +9 -0
- data/examples/heavy_provider_light_resource/recipes/default.rb +4 -0
- data/examples/heavy_provider_light_resource/spec/provider_service_spec.rb +7 -0
- data/examples/http_request/recipes/delete.rb +13 -0
- data/examples/http_request/recipes/get.rb +13 -0
- data/examples/http_request/recipes/head.rb +13 -0
- data/examples/http_request/recipes/options.rb +13 -0
- data/examples/http_request/recipes/post.rb +13 -0
- data/examples/http_request/recipes/put.rb +13 -0
- data/examples/http_request/spec/delete_spec.rb +19 -0
- data/examples/http_request/spec/get_spec.rb +23 -0
- data/examples/http_request/spec/head_spec.rb +19 -0
- data/examples/http_request/spec/options_spec.rb +19 -0
- data/examples/http_request/spec/post_spec.rb +19 -0
- data/examples/http_request/spec/put_spec.rb +19 -0
- data/examples/ifconfig/recipes/add.rb +9 -0
- data/examples/ifconfig/recipes/delete.rb +8 -0
- data/examples/ifconfig/recipes/disable.rb +8 -0
- data/examples/ifconfig/recipes/enable.rb +8 -0
- data/examples/ifconfig/spec/add_spec.rb +19 -0
- data/examples/ifconfig/spec/delete_spec.rb +15 -0
- data/examples/ifconfig/spec/disable_spec.rb +15 -0
- data/examples/ifconfig/spec/enable_spec.rb +15 -0
- data/examples/include_recipe/recipes/default.rb +1 -0
- data/examples/include_recipe/recipes/not.rb +0 -0
- data/examples/include_recipe/recipes/other.rb +0 -0
- data/examples/include_recipe/spec/default_spec.rb +13 -0
- data/examples/inherits/recipes/default.rb +5 -0
- data/examples/inherits/spec/default_spec.rb +21 -0
- data/examples/ips_package/recipes/install.rb +13 -0
- data/examples/ips_package/recipes/remove.rb +13 -0
- data/examples/ips_package/recipes/upgrade.rb +13 -0
- data/examples/ips_package/spec/install_spec.rb +23 -0
- data/examples/ips_package/spec/remove_spec.rb +19 -0
- data/examples/ips_package/spec/upgrade_spec.rb +19 -0
- data/examples/link/recipes/create.rb +13 -0
- data/examples/link/recipes/delete.rb +13 -0
- data/examples/link/recipes/link_to.rb +3 -0
- data/examples/link/spec/create_spec.rb +23 -0
- data/examples/link/spec/delete_spec.rb +19 -0
- data/examples/link/spec/link_to_spec.rb +11 -0
- data/examples/log/recipes/write.rb +14 -0
- data/examples/log/spec/write_spec.rb +24 -0
- data/examples/macports_package/recipes/install.rb +13 -0
- data/examples/macports_package/recipes/purge.rb +13 -0
- data/examples/macports_package/recipes/remove.rb +13 -0
- data/examples/macports_package/recipes/upgrade.rb +13 -0
- data/examples/macports_package/spec/install_spec.rb +23 -0
- data/examples/macports_package/spec/purge_spec.rb +19 -0
- data/examples/macports_package/spec/remove_spec.rb +19 -0
- data/examples/macports_package/spec/upgrade_spec.rb +19 -0
- data/examples/mdadm/recipes/assemble.rb +13 -0
- data/examples/mdadm/recipes/create.rb +13 -0
- data/examples/mdadm/recipes/stop.rb +13 -0
- data/examples/mdadm/spec/assemble_spec.rb +19 -0
- data/examples/mdadm/spec/create_spec.rb +23 -0
- data/examples/mdadm/spec/stop_spec.rb +19 -0
- data/examples/mount/recipes/disable.rb +8 -0
- data/examples/mount/recipes/enable.rb +8 -0
- data/examples/mount/recipes/mount.rb +9 -0
- data/examples/mount/recipes/remount.rb +8 -0
- data/examples/mount/recipes/umount.rb +8 -0
- data/examples/mount/spec/disable_spec.rb +15 -0
- data/examples/mount/spec/enable_spec.rb +15 -0
- data/examples/mount/spec/mount_spec.rb +19 -0
- data/examples/mount/spec/remount_spec.rb +15 -0
- data/examples/mount/spec/umount_spec.rb +15 -0
- data/examples/multiple_actions/recipes/default.rb +3 -0
- data/examples/multiple_actions/recipes/sequential.rb +7 -0
- data/examples/multiple_actions/spec/default_spec.rb +14 -0
- data/examples/multiple_actions/spec/sequential_spec.rb +13 -0
- data/examples/multiple_run_action/recipes/default.rb +5 -0
- data/examples/multiple_run_action/spec/default_spec.rb +18 -0
- data/examples/notifications/recipes/chained.rb +12 -0
- data/examples/notifications/recipes/default.rb +7 -0
- data/examples/notifications/recipes/delayed.rb +7 -0
- data/examples/notifications/recipes/immediately.rb +7 -0
- data/examples/notifications/spec/chained_spec.rb +21 -0
- data/examples/notifications/spec/default_spec.rb +16 -0
- data/examples/notifications/spec/delayed_spec.rb +16 -0
- data/examples/notifications/spec/immediately_spec.rb +16 -0
- data/examples/ohai/recipes/reload.rb +13 -0
- data/examples/ohai/spec/reload_spec.rb +23 -0
- data/examples/package/recipes/install.rb +13 -0
- data/examples/package/recipes/purge.rb +13 -0
- data/examples/package/recipes/reconfig.rb +13 -0
- data/examples/package/recipes/remove.rb +13 -0
- data/examples/package/recipes/upgrade.rb +13 -0
- data/examples/package/spec/install_spec.rb +23 -0
- data/examples/package/spec/purge_spec.rb +19 -0
- data/examples/package/spec/reconfig_spec.rb +19 -0
- data/examples/package/spec/remove_spec.rb +19 -0
- data/examples/package/spec/upgrade_spec.rb +19 -0
- data/examples/pacman_package/recipes/install.rb +13 -0
- data/examples/pacman_package/recipes/purge.rb +13 -0
- data/examples/pacman_package/recipes/remove.rb +13 -0
- data/examples/pacman_package/recipes/upgrade.rb +13 -0
- data/examples/pacman_package/spec/install_spec.rb +23 -0
- data/examples/pacman_package/spec/purge_spec.rb +19 -0
- data/examples/pacman_package/spec/remove_spec.rb +19 -0
- data/examples/pacman_package/spec/upgrade_spec.rb +19 -0
- data/examples/portage_package/recipes/install.rb +13 -0
- data/examples/portage_package/recipes/purge.rb +13 -0
- data/examples/portage_package/recipes/remove.rb +13 -0
- data/examples/portage_package/recipes/upgrade.rb +13 -0
- data/examples/portage_package/spec/install_spec.rb +23 -0
- data/examples/portage_package/spec/purge_spec.rb +19 -0
- data/examples/portage_package/spec/remove_spec.rb +19 -0
- data/examples/portage_package/spec/upgrade_spec.rb +19 -0
- data/examples/powershell_script/recipes/run.rb +13 -0
- data/examples/powershell_script/spec/run_spec.rb +23 -0
- data/examples/registry_key/recipes/create.rb +13 -0
- data/examples/registry_key/recipes/create_if_missing.rb +13 -0
- data/examples/registry_key/recipes/delete.rb +13 -0
- data/examples/registry_key/recipes/delete_key.rb +13 -0
- data/examples/registry_key/spec/create_if_missing_spec.rb +19 -0
- data/examples/registry_key/spec/create_spec.rb +23 -0
- data/examples/registry_key/spec/delete_key_spec.rb +19 -0
- data/examples/registry_key/spec/delete_spec.rb +19 -0
- data/examples/remote_directory/recipes/create.rb +13 -0
- data/examples/remote_directory/recipes/create_if_missing.rb +13 -0
- data/examples/remote_directory/recipes/delete.rb +13 -0
- data/examples/remote_directory/spec/create_if_missing_spec.rb +19 -0
- data/examples/remote_directory/spec/create_spec.rb +23 -0
- data/examples/remote_directory/spec/delete_spec.rb +19 -0
- data/examples/remote_file/recipes/create.rb +18 -0
- data/examples/remote_file/recipes/create_if_missing.rb +16 -0
- data/examples/remote_file/recipes/delete.rb +16 -0
- data/examples/remote_file/recipes/touch.rb +16 -0
- data/examples/remote_file/spec/create_if_missing_spec.rb +19 -0
- data/examples/remote_file/spec/create_spec.rb +23 -0
- data/examples/remote_file/spec/delete_spec.rb +19 -0
- data/examples/remote_file/spec/touch_spec.rb +19 -0
- data/examples/render_file/files/default/cookbook_file +1 -0
- data/examples/render_file/recipes/default.rb +15 -0
- data/examples/render_file/recipes/template_helpers.rb +9 -0
- data/examples/render_file/spec/default_spec.rb +73 -0
- data/examples/render_file/spec/template_helpers_spec.rb +10 -0
- data/examples/render_file/templates/default/_partial.erb +1 -0
- data/examples/render_file/templates/default/partial.erb +1 -0
- data/examples/render_file/templates/default/template.erb +1 -0
- data/examples/render_file/templates/default/template_with_helper.erb +1 -0
- data/examples/roles/recipes/another.rb +3 -0
- data/examples/roles/recipes/default.rb +1 -0
- data/examples/roles/roles/role.rb +9 -0
- data/examples/roles/spec/default_spec.rb +21 -0
- data/examples/route/recipes/add.rb +13 -0
- data/examples/route/recipes/delete.rb +13 -0
- data/examples/route/spec/add_spec.rb +23 -0
- data/examples/route/spec/delete_spec.rb +19 -0
- data/examples/rpm_package/recipes/install.rb +13 -0
- data/examples/rpm_package/recipes/remove.rb +13 -0
- data/examples/rpm_package/recipes/upgrade.rb +13 -0
- data/examples/rpm_package/spec/install_spec.rb +23 -0
- data/examples/rpm_package/spec/remove_spec.rb +19 -0
- data/examples/rpm_package/spec/upgrade_spec.rb +19 -0
- data/examples/ruby_block/recipes/run.rb +9 -0
- data/examples/ruby_block/spec/run_spec.rb +18 -0
- data/examples/script/recipes/run_bash.rb +13 -0
- data/examples/script/recipes/run_csh.rb +13 -0
- data/examples/script/recipes/run_perl.rb +13 -0
- data/examples/script/recipes/run_python.rb +13 -0
- data/examples/script/recipes/run_ruby.rb +13 -0
- data/examples/script/recipes/run_script.rb +13 -0
- data/examples/script/spec/run_bash_spec.rb +23 -0
- data/examples/script/spec/run_csh_spec.rb +23 -0
- data/examples/script/spec/run_perl_spec.rb +23 -0
- data/examples/script/spec/run_python_spec.rb +23 -0
- data/examples/script/spec/run_ruby_spec.rb +23 -0
- data/examples/script/spec/run_script_spec.rb +23 -0
- data/examples/server/recipes/client.rb +6 -0
- data/examples/server/recipes/data_bag.rb +7 -0
- data/examples/server/recipes/environment.rb +6 -0
- data/examples/server/recipes/node.rb +6 -0
- data/examples/server/recipes/role.rb +6 -0
- data/examples/server/recipes/search.rb +5 -0
- data/examples/server/spec/client_spec.rb +17 -0
- data/examples/server/spec/data_bag_spec.rb +26 -0
- data/examples/server/spec/environment_spec.rb +17 -0
- data/examples/server/spec/node_spec.rb +40 -0
- data/examples/server/spec/role_spec.rb +17 -0
- data/examples/server/spec/search_spec.rb +58 -0
- data/examples/service/recipes/disable.rb +13 -0
- data/examples/service/recipes/enable.rb +13 -0
- data/examples/service/recipes/reload.rb +13 -0
- data/examples/service/recipes/restart.rb +13 -0
- data/examples/service/recipes/start.rb +13 -0
- data/examples/service/recipes/stop.rb +13 -0
- data/examples/service/spec/disable_spec.rb +19 -0
- data/examples/service/spec/enable_spec.rb +19 -0
- data/examples/service/spec/reload_spec.rb +19 -0
- data/examples/service/spec/restart_spec.rb +19 -0
- data/examples/service/spec/start_spec.rb +19 -0
- data/examples/service/spec/stop_spec.rb +19 -0
- data/examples/smartos_package/recipes/install.rb +13 -0
- data/examples/smartos_package/recipes/remove.rb +13 -0
- data/examples/smartos_package/recipes/upgrade.rb +13 -0
- data/examples/smartos_package/spec/install_spec.rb +23 -0
- data/examples/smartos_package/spec/remove_spec.rb +19 -0
- data/examples/smartos_package/spec/upgrade_spec.rb +19 -0
- data/examples/solaris_package/recipes/install.rb +13 -0
- data/examples/solaris_package/recipes/remove.rb +13 -0
- data/examples/solaris_package/spec/install_spec.rb +23 -0
- data/examples/solaris_package/spec/remove_spec.rb +19 -0
- data/examples/state_attrs/providers/lwrp.rb +3 -0
- data/examples/state_attrs/recipes/default.rb +3 -0
- data/examples/state_attrs/resources/lwrp.rb +6 -0
- data/examples/state_attrs/spec/default_spec.rb +12 -0
- data/examples/step_into/providers/lwrp.rb +3 -0
- data/examples/step_into/recipes/default.rb +1 -0
- data/examples/step_into/resources/lwrp.rb +4 -0
- data/examples/step_into/spec/default_spec.rb +19 -0
- data/examples/stub_command/recipes/default.rb +5 -0
- data/examples/stub_command/recipes/other_recipe.rb +3 -0
- data/examples/stub_command/spec/default_spec.rb +28 -0
- data/examples/stub_data_bag/recipes/default.rb +5 -0
- data/examples/stub_data_bag/spec/default_spec.rb +27 -0
- data/examples/stub_data_bag_item/recipes/default.rb +5 -0
- data/examples/stub_data_bag_item/spec/default_spec.rb +27 -0
- data/examples/stub_node/recipes/default.rb +0 -0
- data/examples/stub_node/spec/default_spec.rb +17 -0
- data/examples/stub_search/recipes/default.rb +5 -0
- data/examples/stub_search/spec/default_spec.rb +27 -0
- data/examples/subscribes/recipes/chained.rb +10 -0
- data/examples/subscribes/recipes/default.rb +5 -0
- data/examples/subscribes/recipes/delayed.rb +5 -0
- data/examples/subscribes/recipes/immediately.rb +5 -0
- data/examples/subscribes/spec/chained_spec.rb +21 -0
- data/examples/subscribes/spec/default_spec.rb +17 -0
- data/examples/subscribes/spec/delayed_spec.rb +16 -0
- data/examples/subscribes/spec/immediately_spec.rb +16 -0
- data/examples/subversion/recipes/checkout.rb +13 -0
- data/examples/subversion/recipes/export.rb +13 -0
- data/examples/subversion/recipes/force_export.rb +13 -0
- data/examples/subversion/recipes/sync.rb +13 -0
- data/examples/subversion/spec/checkout_spec.rb +19 -0
- data/examples/subversion/spec/export_spec.rb +19 -0
- data/examples/subversion/spec/force_export_spec.rb +19 -0
- data/examples/subversion/spec/sync_spec.rb +23 -0
- data/examples/template/recipes/create.rb +15 -0
- data/examples/template/recipes/create_if_missing.rb +15 -0
- data/examples/template/recipes/delete.rb +15 -0
- data/examples/template/recipes/touch.rb +15 -0
- data/examples/template/spec/create_if_missing_spec.rb +28 -0
- data/examples/template/spec/create_spec.rb +32 -0
- data/examples/template/spec/delete_spec.rb +19 -0
- data/examples/template/spec/touch_spec.rb +19 -0
- data/examples/use_inline_resources/libraries/matchers.rb +5 -0
- data/examples/use_inline_resources/providers/lwrp.rb +7 -0
- data/examples/use_inline_resources/recipes/default.rb +1 -0
- data/examples/use_inline_resources/resources/lwrp.rb +4 -0
- data/examples/use_inline_resources/spec/default_spec.rb +15 -0
- data/examples/user/recipes/create.rb +13 -0
- data/examples/user/recipes/lock.rb +13 -0
- data/examples/user/recipes/manage.rb +13 -0
- data/examples/user/recipes/modify.rb +13 -0
- data/examples/user/recipes/remove.rb +13 -0
- data/examples/user/recipes/unlock.rb +13 -0
- data/examples/user/spec/create_spec.rb +23 -0
- data/examples/user/spec/lock_spec.rb +19 -0
- data/examples/user/spec/manage_spec.rb +19 -0
- data/examples/user/spec/modify_spec.rb +19 -0
- data/examples/user/spec/remove_spec.rb +19 -0
- data/examples/user/spec/unlock_spec.rb +19 -0
- data/examples/yum_package/recipes/install.rb +13 -0
- data/examples/yum_package/recipes/purge.rb +13 -0
- data/examples/yum_package/recipes/remove.rb +13 -0
- data/examples/yum_package/recipes/upgrade.rb +13 -0
- data/examples/yum_package/spec/install_spec.rb +23 -0
- data/examples/yum_package/spec/purge_spec.rb +19 -0
- data/examples/yum_package/spec/remove_spec.rb +19 -0
- data/examples/yum_package/spec/upgrade_spec.rb +19 -0
- data/features/apt_package.feature +14 -0
- data/features/attributes.feature +7 -0
- data/features/batch.feature +13 -0
- data/features/cached.feature +7 -0
- data/features/chef_gem.feature +14 -0
- data/features/compile_time.feature +7 -0
- data/features/cookbook_file.feature +13 -0
- data/features/cron.feature +11 -0
- data/features/custom_matcher.feature +11 -0
- data/features/deploy.feature +12 -0
- data/features/directory.feature +11 -0
- data/features/dpkg_package.feature +12 -0
- data/features/easy_install_package.feature +13 -0
- data/features/env.feature +12 -0
- data/features/erl_call.feature +10 -0
- data/features/execute.feature +10 -0
- data/features/expect_exception.feature +12 -0
- data/features/file.feature +13 -0
- data/features/freebsd_package.feature +11 -0
- data/features/gem_package.feature +14 -0
- data/features/git.feature +12 -0
- data/features/group.feature +13 -0
- data/features/guards.feature +10 -0
- data/features/heavy_provider_light_resource.feature +10 -0
- data/features/http_request.feature +15 -0
- data/features/ifconfig.feature +13 -0
- data/features/include_recipe.feature +10 -0
- data/features/inherits.feature +7 -0
- data/features/ips_package.feature +12 -0
- data/features/link.feature +12 -0
- data/features/log.feature +10 -0
- data/features/macports_package.feature +13 -0
- data/features/mdadm.feature +12 -0
- data/features/mount.feature +14 -0
- data/features/multiple_actions.feature +11 -0
- data/features/multiple_run_action.feature +7 -0
- data/features/notifications.feature +13 -0
- data/features/ohai.feature +10 -0
- data/features/package.feature +14 -0
- data/features/pacman_package.feature +13 -0
- data/features/portage_package.feature +13 -0
- data/features/powershell_script.feature +13 -0
- data/features/registry_key.feature +13 -0
- data/features/remote_directory.feature +12 -0
- data/features/remote_file.feature +13 -0
- data/features/render_file.feature +16 -0
- data/features/roles.feature +7 -0
- data/features/route.feature +11 -0
- data/features/rpm_package.feature +12 -0
- data/features/ruby_block.feature +10 -0
- data/features/script.feature +15 -0
- data/features/server.feature +21 -0
- data/features/service.feature +15 -0
- data/features/smartos_package.feature +16 -0
- data/features/solaris_package.feature +15 -0
- data/features/state_attrs.feature +11 -0
- data/features/step_definitions/background_steps.rb +4 -0
- data/features/step_into.feature +7 -0
- data/features/stub_command.feature +7 -0
- data/features/stub_data_bag.feature +7 -0
- data/features/stub_data_bag_item.feature +7 -0
- data/features/stub_node.feature +7 -0
- data/features/stub_search.feature +7 -0
- data/features/subscribes.feature +13 -0
- data/features/subversion.feature +13 -0
- data/features/support/env.rb +36 -0
- data/features/support/executor.rb +18 -0
- data/features/template.feature +13 -0
- data/features/use_inline_resources.feature +7 -0
- data/features/user.feature +15 -0
- data/features/yum_package.feature +13 -0
- data/gemfiles/chef-11.0.0.gemfile +5 -0
- data/gemfiles/chef-11.2.0.gemfile +5 -0
- data/gemfiles/chef-11.4.4.gemfile +5 -0
- data/gemfiles/chef-11.6.0.gemfile +5 -0
- data/gemfiles/chef-11.8.0.gemfile +5 -0
- data/gemfiles/chef-master.gemfile +5 -0
- data/lib/chefspec/api.rb +13 -11
- data/lib/chefspec/api/notifications.rb +3 -3
- data/lib/chefspec/api/subscriptions.rb +35 -0
- data/lib/chefspec/coverage.rb +40 -34
- data/lib/chefspec/expect_exception.rb +14 -13
- data/lib/chefspec/formatter.rb +8 -8
- data/lib/chefspec/matchers.rb +1 -0
- data/lib/chefspec/matchers/include_recipe_matcher.rb +19 -18
- data/lib/chefspec/matchers/notifications_matcher.rb +25 -24
- data/lib/chefspec/matchers/render_file_matcher.rb +32 -31
- data/lib/chefspec/matchers/resource_matcher.rb +64 -63
- data/lib/chefspec/matchers/state_attrs_matcher.rb +18 -17
- data/lib/chefspec/matchers/subscribes_matcher.rb +59 -0
- data/lib/chefspec/renderer.rb +82 -81
- data/lib/chefspec/runner.rb +66 -51
- data/lib/chefspec/server.rb +84 -39
- data/lib/chefspec/stubs/stub.rb +10 -9
- data/lib/chefspec/version.rb +1 -1
- data/spec/spec_helper.rb +8 -0
- data/spec/support/hash.rb +35 -0
- data/spec/unit/api_spec.rb +18 -0
- data/spec/unit/cacher_spec.rb +54 -0
- data/spec/unit/expect_exception_spec.rb +32 -0
- data/spec/unit/extensions/lwrp_base_spec.rb +89 -0
- data/spec/unit/macros_spec.rb +119 -0
- data/spec/unit/matchers/include_recipe_matcher_spec.rb +38 -0
- data/spec/unit/matchers/link_to_matcher_spec.rb +39 -0
- data/spec/unit/matchers/notifications_matcher_spec.rb +5 -0
- data/spec/unit/matchers/render_file_matcher_spec.rb +41 -0
- data/spec/unit/matchers/resource_matcher_spec.rb +5 -0
- data/spec/unit/matchers/state_attrs_matcher_spec.rb +64 -0
- data/spec/unit/matchers/subscribes_matcher_spec.rb +5 -0
- data/spec/unit/renderer_spec.rb +51 -0
- data/spec/unit/runner_spec.rb +125 -0
- data/spec/unit/stubs/command_registry_spec.rb +27 -0
- data/spec/unit/stubs/command_stub_spec.rb +61 -0
- data/spec/unit/stubs/data_bag_item_registry_spec.rb +39 -0
- data/spec/unit/stubs/data_bag_item_stub_spec.rb +36 -0
- data/spec/unit/stubs/data_bag_registry_spec.rb +39 -0
- data/spec/unit/stubs/data_bag_stub_spec.rb +35 -0
- data/spec/unit/stubs/registry_spec.rb +29 -0
- data/spec/unit/stubs/search_registry_spec.rb +39 -0
- data/spec/unit/stubs/search_stub_spec.rb +36 -0
- data/spec/unit/stubs/stub_spec.rb +64 -0
- metadata +618 -5
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'service::start' do
|
4
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
5
|
+
|
6
|
+
it 'starts a service with an explicit action' do
|
7
|
+
expect(chef_run).to start_service('explicit_action')
|
8
|
+
expect(chef_run).to_not start_service('not_explicit_action')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'starts a service with attributes' do
|
12
|
+
expect(chef_run).to start_service('with_attributes').with(pattern: 'pattern')
|
13
|
+
expect(chef_run).to_not start_service('with_attributes').with(pattern: 'bacon')
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'starts a service when specifying the identity attribute' do
|
17
|
+
expect(chef_run).to start_service('identity_attribute')
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'service::stop' do
|
4
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
5
|
+
|
6
|
+
it 'stops a service with an explicit action' do
|
7
|
+
expect(chef_run).to stop_service('explicit_action')
|
8
|
+
expect(chef_run).to_not stop_service('not_explicit_action')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'stops a service with attributes' do
|
12
|
+
expect(chef_run).to stop_service('with_attributes').with(pattern: 'pattern')
|
13
|
+
expect(chef_run).to_not stop_service('with_attributes').with(pattern: 'bacon')
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'stops a service when specifying the identity attribute' do
|
17
|
+
expect(chef_run).to stop_service('identity_attribute')
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
smartos_package 'default_action'
|
2
|
+
|
3
|
+
smartos_package 'explicit_action' do
|
4
|
+
action :install
|
5
|
+
end
|
6
|
+
|
7
|
+
smartos_package 'with_attributes' do
|
8
|
+
version '1.0.0'
|
9
|
+
end
|
10
|
+
|
11
|
+
smartos_package 'specifying the identity attribute' do
|
12
|
+
package_name 'identity_attribute'
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
smartos_package 'explicit_action' do
|
2
|
+
action :remove
|
3
|
+
end
|
4
|
+
|
5
|
+
smartos_package 'with_attributes' do
|
6
|
+
version '1.0.0'
|
7
|
+
action :remove
|
8
|
+
end
|
9
|
+
|
10
|
+
smartos_package 'specifying the identity attribute' do
|
11
|
+
package_name 'identity_attribute'
|
12
|
+
action :remove
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
smartos_package 'explicit_action' do
|
2
|
+
action :upgrade
|
3
|
+
end
|
4
|
+
|
5
|
+
smartos_package 'with_attributes' do
|
6
|
+
version '1.0.0'
|
7
|
+
action :upgrade
|
8
|
+
end
|
9
|
+
|
10
|
+
smartos_package 'specifying the identity attribute' do
|
11
|
+
package_name 'identity_attribute'
|
12
|
+
action :upgrade
|
13
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'smartos_package::install' do
|
4
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
5
|
+
|
6
|
+
it 'installs a smartos_package with the default action' do
|
7
|
+
expect(chef_run).to install_smartos_package('default_action')
|
8
|
+
expect(chef_run).to_not install_smartos_package('not_default_action')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'installs a smartos_package with an explicit action' do
|
12
|
+
expect(chef_run).to install_smartos_package('explicit_action')
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'installs a smartos_package with attributes' do
|
16
|
+
expect(chef_run).to install_smartos_package('with_attributes').with(version: '1.0.0')
|
17
|
+
expect(chef_run).to_not install_smartos_package('with_attributes').with(version: '1.2.3')
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'installs a smartos_package when specifying the identity attribute' do
|
21
|
+
expect(chef_run).to install_smartos_package('identity_attribute')
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'smartos_package::remove' do
|
4
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
5
|
+
|
6
|
+
it 'removes a smartos_package with an explicit action' do
|
7
|
+
expect(chef_run).to remove_smartos_package('explicit_action')
|
8
|
+
expect(chef_run).to_not remove_smartos_package('not_explicit_action')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'removes a smartos_package with attributes' do
|
12
|
+
expect(chef_run).to remove_smartos_package('with_attributes').with(version: '1.0.0')
|
13
|
+
expect(chef_run).to_not remove_smartos_package('with_attributes').with(version: '1.2.3')
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'removes a smartos_package when specifying the identity attribute' do
|
17
|
+
expect(chef_run).to remove_smartos_package('identity_attribute')
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'smartos_package::upgrade' do
|
4
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
5
|
+
|
6
|
+
it 'upgrades a smartos_package with an explicit action' do
|
7
|
+
expect(chef_run).to upgrade_smartos_package('explicit_action')
|
8
|
+
expect(chef_run).to_not upgrade_smartos_package('not_explicit_action')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'upgrades a smartos_package with attributes' do
|
12
|
+
expect(chef_run).to upgrade_smartos_package('with_attributes').with(version: '1.0.0')
|
13
|
+
expect(chef_run).to_not upgrade_smartos_package('with_attributes').with(version: '1.2.3')
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'upgrades a smartos_package when specifying the identity attribute' do
|
17
|
+
expect(chef_run).to upgrade_smartos_package('identity_attribute')
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
solaris_package 'default_action'
|
2
|
+
|
3
|
+
solaris_package 'explicit_action' do
|
4
|
+
action :install
|
5
|
+
end
|
6
|
+
|
7
|
+
solaris_package 'with_attributes' do
|
8
|
+
version '1.0.0'
|
9
|
+
end
|
10
|
+
|
11
|
+
solaris_package 'specifying the identity attribute' do
|
12
|
+
package_name 'identity_attribute'
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
solaris_package 'explicit_action' do
|
2
|
+
action :remove
|
3
|
+
end
|
4
|
+
|
5
|
+
solaris_package 'with_attributes' do
|
6
|
+
version '1.0.0'
|
7
|
+
action :remove
|
8
|
+
end
|
9
|
+
|
10
|
+
solaris_package 'specifying the identity attribute' do
|
11
|
+
package_name 'identity_attribute'
|
12
|
+
action :remove
|
13
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'solaris_package::install' do
|
4
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
5
|
+
|
6
|
+
it 'installs a solaris_package with the default action' do
|
7
|
+
expect(chef_run).to install_solaris_package('default_action')
|
8
|
+
expect(chef_run).to_not install_solaris_package('not_default_action')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'installs a solaris_package with an explicit action' do
|
12
|
+
expect(chef_run).to install_solaris_package('explicit_action')
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'installs a solaris_package with attributes' do
|
16
|
+
expect(chef_run).to install_solaris_package('with_attributes').with(version: '1.0.0')
|
17
|
+
expect(chef_run).to_not install_solaris_package('with_attributes').with(version: '1.2.3')
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'installs a solaris_package when specifying the identity attribute' do
|
21
|
+
expect(chef_run).to install_solaris_package('identity_attribute')
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'solaris_package::remove' do
|
4
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
5
|
+
|
6
|
+
it 'removes a solaris_package with an explicit action' do
|
7
|
+
expect(chef_run).to remove_solaris_package('explicit_action')
|
8
|
+
expect(chef_run).to_not remove_solaris_package('not_explicit_action')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'removes a solaris_package with attributes' do
|
12
|
+
expect(chef_run).to remove_solaris_package('with_attributes').with(version: '1.0.0')
|
13
|
+
expect(chef_run).to_not remove_solaris_package('with_attributes').with(version: '1.2.3')
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'removes a solaris_package when specifying the identity attribute' do
|
17
|
+
expect(chef_run).to remove_solaris_package('identity_attribute')
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
ChefSpec::Runner.define_runner_method(:state_attrs_lwrp)
|
4
|
+
|
5
|
+
describe 'state_attrs::default' do
|
6
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
7
|
+
let(:lwrp) { chef_run.state_attrs_lwrp('name') }
|
8
|
+
|
9
|
+
it 'has the correct state attributes' do
|
10
|
+
expect(lwrp).to have_state_attrs(:name, :time)
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
step_into_lwrp 'thing'
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'step_into::default' do
|
4
|
+
context 'without :step_into' do
|
5
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
6
|
+
|
7
|
+
it 'does not execute the LWRPs action' do
|
8
|
+
expect(chef_run).to_not write_log('message')
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
context 'with :step_into' do
|
13
|
+
let(:chef_run) { ChefSpec::Runner.new(step_into: ['step_into_lwrp']).converge(described_recipe) }
|
14
|
+
|
15
|
+
it 'does execute the LWRPs action' do
|
16
|
+
expect(chef_run).to write_log('message')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'stub_command::default' do
|
4
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
5
|
+
|
6
|
+
context 'when the command is not stubbed' do
|
7
|
+
it 'raises an exception' do
|
8
|
+
expect {
|
9
|
+
chef_run
|
10
|
+
}.to raise_error(ChefSpec::Error::CommandNotStubbed)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'as a String' do
|
15
|
+
it 'does not raise an exception' do
|
16
|
+
stub_command('test -f "/tmp/file"').and_return(true)
|
17
|
+
stub_command('test -f "/tmp/other_file"').and_return(true)
|
18
|
+
expect { chef_run }.to_not raise_error
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'as a Regexp' do
|
23
|
+
it 'does not raise an exception' do
|
24
|
+
stub_command(/test -f "(.+)"/) { 1 == 2 }
|
25
|
+
expect { chef_run }.to_not raise_error
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'stub_data_bag::default' do
|
4
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
5
|
+
|
6
|
+
context 'when the data_bag is not stubbed' do
|
7
|
+
it 'raises an exception' do
|
8
|
+
expect {
|
9
|
+
chef_run
|
10
|
+
}.to raise_error(ChefSpec::Error::DataBagNotStubbed)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'as a String' do
|
15
|
+
it 'does not raise an exception' do
|
16
|
+
stub_data_bag('users').and_return([ { id: 'svargo' } ])
|
17
|
+
expect { chef_run }.to_not raise_error
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'as a Symbol' do
|
22
|
+
it 'does not raise an exception' do
|
23
|
+
stub_data_bag(:users).and_return([ { id: 'svargo' } ])
|
24
|
+
expect { chef_run }.to_not raise_error
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'stub_data_bag_item::default' do
|
4
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
5
|
+
|
6
|
+
context 'when the data_bag_item is not stubbed' do
|
7
|
+
it 'raises an exception' do
|
8
|
+
expect {
|
9
|
+
chef_run
|
10
|
+
}.to raise_error(ChefSpec::Error::DataBagItemNotStubbed)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'as a Symbol' do
|
15
|
+
it 'does not raise an exception' do
|
16
|
+
stub_data_bag_item(:users, 'svargo').and_return({ id: 'svargo', name: 'Seth' })
|
17
|
+
expect { chef_run }.to_not raise_error
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'as a String' do
|
22
|
+
it 'does not raise an exception' do
|
23
|
+
stub_data_bag_item('users', 'svargo').and_return({ id: 'svargo', name: 'Seth' })
|
24
|
+
expect { chef_run }.to_not raise_error
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
File without changes
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'stub_node::default' do
|
4
|
+
let(:my_node) do
|
5
|
+
stub_node('example.com', platform: 'ubuntu', version: '12.04') do |node|
|
6
|
+
node.set['foo']['bar'] = 'zip'
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'sets the fauxhai attributes' do
|
11
|
+
expect(my_node['kernel']['name']).to eq('Linux')
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'uses the overridden attributes' do
|
15
|
+
expect(my_node['foo']['bar']).to eq('zip')
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'stub_search::default' do
|
4
|
+
let(:chef_run) { ChefSpec::Runner.new.converge(described_recipe) }
|
5
|
+
|
6
|
+
context 'when the search is not stubbed' do
|
7
|
+
it 'raises an exception' do
|
8
|
+
expect {
|
9
|
+
chef_run
|
10
|
+
}.to raise_error(ChefSpec::Error::SearchNotStubbed)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'as a String' do
|
15
|
+
it 'does not raise an exception' do
|
16
|
+
stub_search(:node, 'name:example.com').and_return([ { name: 'example.com' } ])
|
17
|
+
expect { chef_run }.to_not raise_error
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'as a Regexp' do
|
22
|
+
it 'does not raise an exception' do
|
23
|
+
stub_search(:node, /name:(.+)/).and_return([ { name: 'example.com' } ])
|
24
|
+
expect { chef_run }.to_not raise_error
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|