puppet-swift/spec/functions/validate_tempauth_account_s...

134 lines
3.6 KiB
Ruby

require 'spec_helper'
describe 'validate_tempauth_account' do
it 'exists' do
is_expected.not_to eq(nil)
end
it 'works with valid entries (string keys)' do
is_expected.to run.with_params({
'user' => 'swiftuser',
'account' => 'swiftaccount',
'key' => 'secret',
'groups' => ['swiftgroup'],
})
end
it 'works with valid entries (sym keys)' do
is_expected.to run.with_params({
:user => 'swiftuser',
:account => 'swiftaccount',
:key => 'secret',
:groups => ['swiftgroup'],
})
end
it 'throws error with more than one argument' do
is_expected.to run.with_params({
:user => 'swiftuser',
:account => 'swiftaccount',
:key => 'secret',
:groups => ['swiftgroup'],
}, {
:user => 'swiftuser',
:account => 'swiftaccount',
:key => 'secret',
:groups => ['swiftgroup'],
}).and_raise_error(Puppet::Error)
end
it 'fails with no arguments' do
is_expected.to run.with_params.and_raise_error(Puppet::Error)
end
# missing keys
it 'fails when user is missing' do
is_expected.to run.with_params({
:account => 'swiftaccount',
:key => 'secret',
:groups => ['swiftgroup'],
}).and_raise_error(Puppet::Error)
end
it 'fails when account is missing' do
is_expected.to run.with_params({
:user => 'swiftuser',
:key => 'secret',
:groups => ['swiftgroup'],
}).and_raise_error(Puppet::Error)
end
it 'fails when key is missing' do
is_expected.to run.with_params({
:user => 'swiftuser',
:account => 'swiftaccount',
:groups => ['swiftgroup'],
}).and_raise_error(Puppet::Error)
end
it 'fails when groups is missing' do
is_expected.to run.with_params({
:user => 'swiftuser',
:account => 'swiftaccount',
:key => 'secret',
}).and_raise_error(Puppet::Error)
end
# wrong type
it 'fails when user is not a string' do
is_expected.to run.with_params({
:user => ['swiftuser'],
:account => 'swiftaccount',
:key => 'secret',
:groups => ['swiftgroup'],
}).and_raise_error(Puppet::Error)
end
it 'fails when account is not a string' do
is_expected.to run.with_params({
:user => 'swiftuser',
:account => ['swiftaccount'],
:key => 'secret',
:groups => ['swiftgroup'],
}).and_raise_error(Puppet::Error)
end
it 'fails when key is not a string' do
is_expected.to run.with_params({
:user => 'swiftuser',
:account => 'swiftaccount',
:key => ['secret'],
:groups => ['swiftgroup'],
}).and_raise_error(Puppet::Error)
end
it 'fails when group is not an array' do
is_expected.to run.with_params({
:user => 'swiftuser',
:account => 'swiftaccount',
:key => 'secret',
:groups => 'swiftgroup',
}).and_raise_error(Puppet::Error)
end
# empty
it 'fails when user is empty' do
is_expected.to run.with_params({
:user => '',
:account => 'swiftaccount',
:key => 'secret',
:groups => ['swiftgroup'],
}).and_raise_error(Puppet::Error)
end
it 'fails when account is empty' do
is_expected.to run.with_params({
:user => 'swiftuser',
:account => '',
:key => 'secret',
:groups => ['swiftgroup'],
}).and_raise_error(Puppet::Error)
end
it 'fails when key is empty' do
is_expected.to run.with_params({
:user => 'swiftuser',
:account => 'swiftaccount',
:key => '',
:groups => ['swiftgroup'],
}).and_raise_error(Puppet::Error)
end
end