From b33cc24a3ce4da19ae89c59985c809a5790de291 Mon Sep 17 00:00:00 2001 From: Alex Cline Date: Mon, 6 May 2013 15:30:35 -0400 Subject: Refactor ensure_resource expectations This splits out the ensure_resource expectations into separate blocks for clarity. Per adrienthebo's recommendation. --- spec/functions/ensure_resource_spec.rb | 55 ++++++++++++++-------------------- 1 file changed, 22 insertions(+), 33 deletions(-) (limited to 'spec/functions/ensure_resource_spec.rb') diff --git a/spec/functions/ensure_resource_spec.rb b/spec/functions/ensure_resource_spec.rb index abd8719..2e8aefc 100644 --- a/spec/functions/ensure_resource_spec.rb +++ b/spec/functions/ensure_resource_spec.rb @@ -4,17 +4,16 @@ require 'spec_helper' require 'rspec-puppet' describe 'ensure_resource' do describe 'when a type or title is not specified' do - it do - should run.with_params().and_raise_error(ArgumentError) - should run.with_params(['type']).and_raise_error(ArgumentError) - end + it { should run.with_params().and_raise_error(ArgumentError) } + it { should run.with_params(['type']).and_raise_error(ArgumentError) } end + describe 'when compared against a resource with no attributes' do let :pre_condition do 'user { "dan": }' end - it do - should run.with_params('user', 'dan', {}) + it "should contain the the ensured resources" do + subject.should run.with_params('user', 'dan', {}) compiler.catalog.resource('User[dan]').to_s.should == 'User[dan]' end end @@ -23,24 +22,18 @@ describe 'ensure_resource' do let :pre_condition do 'user { "dan": ensure => present, shell => "/bin/csh", managehome => false}' end - it do - # these first three should not fail - should run.with_params('User', 'dan', {}) - should run.with_params('User', 'dan', '') - should run.with_params('User', 'dan', {'ensure' => 'present'}) - should run.with_params('User', 'dan', - {'ensure' => 'present', 'managehome' => false} - ) - # test that this fails - should run.with_params('User', 'dan', - {'ensure' => 'absent', 'managehome' => false} - ).and_raise_error(Puppet::Error) - end + # these first three should not fail + it { should run.with_params('User', 'dan', {}) } + it { should run.with_params('User', 'dan', '') } + it { should run.with_params('User', 'dan', {'ensure' => 'present'}) } + it { should run.with_params('User', 'dan', {'ensure' => 'present', 'managehome' => false}) } + # test that this fails + it { should run.with_params('User', 'dan', {'ensure' => 'absent', 'managehome' => false}).and_raise_error(Puppet::Error) } end describe 'when an array of new resources are passed in' do - it do - should run.with_params('User', ['dan', 'alex'], {}) + it "should contain the ensured resources" do + subject.should run.with_params('User', ['dan', 'alex'], {}) compiler.catalog.resource('User[dan]').to_s.should == 'User[dan]' compiler.catalog.resource('User[alex]').to_s.should == 'User[alex]' end @@ -50,8 +43,8 @@ describe 'ensure_resource' do let :pre_condition do 'user { "dan": ensure => present; "alex": ensure => present }' end - it do - should run.with_params('User', ['dan', 'alex'], {}) + it "should return the existing resources" do + subject.should run.with_params('User', ['dan', 'alex'], {}) compiler.catalog.resource('User[dan]').to_s.should == 'User[dan]' compiler.catalog.resource('User[alex]').to_s.should == 'User[alex]' end @@ -61,15 +54,11 @@ describe 'ensure_resource' do let :pre_condition do 'user { "dan": ensure => present; "alex": ensure => present }' end - it do - # These should not fail - should run.with_params('User', ['dan', 'alex'], {}) - should run.with_params('User', ['dan', 'alex'], '') - should run.with_params('User', ['dan', 'alex'], {'ensure' => 'present'}) - # This should fail - should run.with_params('User', ['dan', 'alex'], - {'ensure' => 'absent'} - ).and_raise_error(Puppet::Error) - end + # These should not fail + it { should run.with_params('User', ['dan', 'alex'], {}) } + it { should run.with_params('User', ['dan', 'alex'], '') } + it { should run.with_params('User', ['dan', 'alex'], {'ensure' => 'present'}) } + # This should fail + it { should run.with_params('User', ['dan', 'alex'], {'ensure' => 'absent'}).and_raise_error(Puppet::Error) } end end -- cgit v1.2.3