aboutsummaryrefslogtreecommitdiff
path: root/spec/acceptance/tests/resource/cron/should_write_leading_zeroes_spec.rb
diff options
context:
space:
mode:
authorDorin Pleava <dorin.pleava@puppet.com>2020-08-06 15:14:37 +0300
committerDorin Pleava <dorin.pleava@puppet.com>2020-08-10 15:44:35 +0300
commit29925fb28a09075ea4c4105674dca2415e1c7800 (patch)
treead4a5ceeadc4d8b6e01b12c81bc4d8d94ae638a3 /spec/acceptance/tests/resource/cron/should_write_leading_zeroes_spec.rb
parent7cc67bf30ca7462ab9be0142673b27e271dcb258 (diff)
downloadpuppet-cron_core-29925fb28a09075ea4c4105674dca2415e1c7800.tar.gz
puppet-cron_core-29925fb28a09075ea4c4105674dca2415e1c7800.tar.bz2
(MODULES-7786) Allow leading zeroes for cron params
When applying a cron manigest that contains leading zeroes in a periodic attribute (hour, minute, month, monthday, weekday), puppet will strip down the zeroes even if they are accepted by the system cron. Now puppet will only convert to integer the periodic attributes when validating them, but will not change the input from the manifest.
Diffstat (limited to 'spec/acceptance/tests/resource/cron/should_write_leading_zeroes_spec.rb')
-rw-r--r--spec/acceptance/tests/resource/cron/should_write_leading_zeroes_spec.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/acceptance/tests/resource/cron/should_write_leading_zeroes_spec.rb b/spec/acceptance/tests/resource/cron/should_write_leading_zeroes_spec.rb
new file mode 100644
index 0000000..eb2bf1e
--- /dev/null
+++ b/spec/acceptance/tests/resource/cron/should_write_leading_zeroes_spec.rb
@@ -0,0 +1,31 @@
+require 'spec_helper_acceptance'
+
+RSpec.context 'when leading zeroes are present' do
+ before(:each) do
+ compatible_agents.each do |agent|
+ step 'ensure the user exists via puppet'
+ setup(agent)
+ end
+ end
+
+ after(:each) do
+ compatible_agents.each do |agent|
+ step 'Cron: cleanup'
+ clean(agent)
+ end
+ end
+
+ compatible_agents.each do |host|
+ it 'does not ignore leading zeroes' do
+ step 'apply the resource on the host' do
+ on(host, puppet_resource('cron', 'crontest', 'user=tstuser', 'command=/bin/true', 'ensure=present', "minute='05'", "hour='007'", "weekday='03'", "month='0011'", "monthday='07'"), acceptable_exit_codes: [0])
+ end
+
+ step 'Verify that crontab -l contains what you expected' do
+ run_cron_on(host, :list, 'tstuser') do
+ expect(stdout).to match(%r{05 007 07 0011 03 /bin/true})
+ end
+ end
+ end
+ end
+end