aboutsummaryrefslogtreecommitdiff
path: root/spec/acceptance/tests/resource/cron/should_fail_to_write_a_nonexistent_users_crontab_spec.rb
diff options
context:
space:
mode:
authorEnis Inan <enis.inan@puppet.com>2018-12-13 02:10:54 -0800
committerEnis Inan <enis.inan@puppet.com>2019-01-09 08:48:17 -0800
commite76bd24dcb33ab71440633303124ea99d59b7783 (patch)
tree6cb604dc4476a28dc5c031181067bd07263d446d /spec/acceptance/tests/resource/cron/should_fail_to_write_a_nonexistent_users_crontab_spec.rb
parenta6fe97eada00c6a78fd0036c3893bd8a8208846a (diff)
downloadpuppet-cron_core-e76bd24dcb33ab71440633303124ea99d59b7783.tar.gz
puppet-cron_core-e76bd24dcb33ab71440633303124ea99d59b7783.tar.bz2
(maint) Add more crontab provider tests
This commit adds the following tests to the cron resource: * A test to ensure that the crontab provider writes the crontab file of a new user * A test to ensure that the crontab provider fails to write the crontab file of a nonexistent user * A test to ensure that the crontab provider writes an originally unauthorized user's crontab file _if_ Puppet authorizes them in the middle of the run These tests are part of the crontab provider's specifications and should have been added before.
Diffstat (limited to 'spec/acceptance/tests/resource/cron/should_fail_to_write_a_nonexistent_users_crontab_spec.rb')
-rw-r--r--spec/acceptance/tests/resource/cron/should_fail_to_write_a_nonexistent_users_crontab_spec.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/acceptance/tests/resource/cron/should_fail_to_write_a_nonexistent_users_crontab_spec.rb b/spec/acceptance/tests/resource/cron/should_fail_to_write_a_nonexistent_users_crontab_spec.rb
new file mode 100644
index 0000000..40fbbd9
--- /dev/null
+++ b/spec/acceptance/tests/resource/cron/should_fail_to_write_a_nonexistent_users_crontab_spec.rb
@@ -0,0 +1,20 @@
+require 'spec_helper_acceptance'
+
+RSpec.context 'when Puppet attempts to write the crontab of a nonexistent user' do
+ let(:nonexistent_username) { "pl#{rand(999_999).to_i}" }
+
+ before(:each) do
+ step 'Ensure that the nonexistent user does not exist' do
+ compatible_agents.each do |agent|
+ user_absent(agent, nonexistent_username)
+ end
+ end
+ end
+
+ compatible_agents.each do |agent|
+ it "should fail on #{agent}" do
+ manifest = cron_manifest('second_entry', command: 'ls', user: nonexistent_username)
+ apply_manifest_on(agent, manifest, expect_failures: true)
+ end
+ end
+end