af875b11ff
As described in PUP-6422, ensure_resources('File[/tmp/a]', { owner => undef }) would not actually create the file. This fixes it, and adds tests to prove it.
35 lines
1.5 KiB
Ruby
Executable file
35 lines
1.5 KiB
Ruby
Executable file
require 'spec_helper'
|
|
|
|
describe 'defined_with_params' do
|
|
describe 'when no resource is specified' do
|
|
it { is_expected.to run.with_params().and_raise_error(ArgumentError) }
|
|
end
|
|
describe 'when compared against a resource with no attributes' do
|
|
let :pre_condition do
|
|
'user { "dan": }'
|
|
end
|
|
it { is_expected.to run.with_params('User[dan]', {}).and_return(true) }
|
|
it { is_expected.to run.with_params('User[bob]', {}).and_return(false) }
|
|
it { is_expected.to run.with_params('User[dan]', {'foo' => 'bar'}).and_return(false) }
|
|
end
|
|
|
|
describe 'when compared against a resource with attributes' do
|
|
let :pre_condition do
|
|
'user { "dan": ensure => present, shell => "/bin/csh", managehome => false}'
|
|
end
|
|
it { is_expected.to run.with_params('User[dan]', {}).and_return(true) }
|
|
it { is_expected.to run.with_params('User[dan]', '').and_return(true) }
|
|
it { is_expected.to run.with_params('User[dan]', {'ensure' => 'present'}).and_return(true) }
|
|
it { is_expected.to run.with_params('User[dan]', {'ensure' => 'present', 'managehome' => false}).and_return(true) }
|
|
it { is_expected.to run.with_params('User[dan]', {'ensure' => 'absent', 'managehome' => false}).and_return(false) }
|
|
end
|
|
|
|
describe 'when passing undef values' do
|
|
let :pre_condition do
|
|
'file { "/tmp/a": }'
|
|
end
|
|
|
|
it { is_expected.to run.with_params('File[/tmp/a]', {}).and_return(true) }
|
|
it { is_expected.to run.with_params('File[/tmp/a]', { 'owner' => :undef }).and_return(true) }
|
|
end
|
|
end
|