
In keystone we had some references to Execs that may or may not have been defined depending on the class parameters. The latest version of puppet has changed how the catalog is compiled exposing these possibly undefined references. This change updates to use resource collectors where applicable. Change-Id: Id5dcc42301b622e7f8331b0d61fdef8b7fea1992 Closes-Bug: #1702964
106 lines
3.3 KiB
Ruby
106 lines
3.3 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'keystone::cron::token_flush' do
|
|
|
|
let :facts do
|
|
@default_facts.merge({ :osfamily => 'Debian' })
|
|
end
|
|
|
|
let :params do
|
|
{ :ensure => 'present',
|
|
:minute => 1,
|
|
:hour => '*',
|
|
:monthday => '*',
|
|
:month => '*',
|
|
:weekday => '*',
|
|
:maxdelay => 0,
|
|
:destination => '/var/log/keystone/keystone-tokenflush.log' }
|
|
end
|
|
|
|
describe 'with default parameters' do
|
|
it 'configures a cron' do
|
|
is_expected.to contain_cron('keystone-manage token_flush').with(
|
|
:ensure => params[:ensure],
|
|
:command => "keystone-manage token_flush >>#{params[:destination]} 2>&1",
|
|
:environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
|
|
:user => 'keystone',
|
|
:minute => params[:minute],
|
|
:hour => params[:hour],
|
|
:monthday => params[:monthday],
|
|
:month => params[:month],
|
|
:weekday => params[:weekday],
|
|
:require => 'Anchor[keystone::install::end]',
|
|
)
|
|
end
|
|
end
|
|
|
|
describe 'when specifying a maxdelay param' do
|
|
before :each do
|
|
params.merge!(
|
|
:maxdelay => 600
|
|
)
|
|
end
|
|
|
|
it 'configures a cron with delay' do
|
|
is_expected.to contain_cron('keystone-manage token_flush').with(
|
|
:ensure => params[:ensure],
|
|
:command => "sleep `expr ${RANDOM} \\% #{params[:maxdelay]}`; keystone-manage token_flush >>#{params[:destination]} 2>&1",
|
|
:environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
|
|
:user => 'keystone',
|
|
:minute => params[:minute],
|
|
:hour => params[:hour],
|
|
:monthday => params[:monthday],
|
|
:month => params[:month],
|
|
:weekday => params[:weekday],
|
|
:require => 'Anchor[keystone::install::end]',
|
|
)
|
|
end
|
|
end
|
|
|
|
describe 'when specifying a user param' do
|
|
let :params do
|
|
{
|
|
:user => 'keystonecustom'
|
|
}
|
|
end
|
|
|
|
it 'configures a cron with delay' do
|
|
is_expected.to contain_cron('keystone-manage token_flush').with(
|
|
:ensure => 'present',
|
|
:command => 'keystone-manage token_flush >>/var/log/keystone/keystone-tokenflush.log 2>&1',
|
|
:environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
|
|
:user => 'keystonecustom',
|
|
:minute => 1,
|
|
:hour => '*',
|
|
:monthday => '*',
|
|
:month => '*',
|
|
:weekday => '*',
|
|
:require => 'Anchor[keystone::install::end]',
|
|
)
|
|
end
|
|
end
|
|
|
|
describe 'when disabling cron job' do
|
|
before :each do
|
|
params.merge!(
|
|
:ensure => 'absent'
|
|
)
|
|
end
|
|
|
|
it 'configures a cron with delay' do
|
|
is_expected.to contain_cron('keystone-manage token_flush').with(
|
|
:ensure => params[:ensure],
|
|
:command => "keystone-manage token_flush >>#{params[:destination]} 2>&1",
|
|
:environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
|
|
:user => 'keystone',
|
|
:minute => params[:minute],
|
|
:hour => params[:hour],
|
|
:monthday => params[:monthday],
|
|
:month => params[:month],
|
|
:weekday => params[:weekday],
|
|
:require => 'Anchor[keystone::install::end]',
|
|
)
|
|
end
|
|
end
|
|
end
|