# -*- coding: utf-8 -*- ''' Tests for the cron state ''' # Import Python libs from __future__ import absolute_import, print_function, unicode_literals import logging log = logging.getLogger(__name__) # Import Salt Testing libs from tests.support.case import ModuleCase from tests.support.unit import skipIf # Import Salt libs import salt.utils.platform @skipIf(salt.utils.platform.is_windows(), 'minion is windows') class CronTest(ModuleCase): ''' Validate the file state ''' def setUp(self): ''' Setup ''' self.run_state('user.present', name='test_cron_user') def tearDown(self): ''' Teardown ''' # Remove cron file self.run_function('cmd.run', cmd='crontab -u test_cron_user -r') # Delete user self.run_state('user.absent', name='test_cron_user') def test_managed(self): ''' file.managed ''' ret = self.run_state( 'cron.file', name='salt://issue-46881/cron', user='test_cron_user' ) _expected = '--- \n+++ \n@@ -1 +1,2 @@\n-\n+# Lines below here are managed by Salt, do not edit\n+@hourly touch /tmp/test-file\n' self.assertIn('changes', ret['cron_|-salt://issue-46881/cron_|-salt://issue-46881/cron_|-file']) self.assertIn('diff', ret['cron_|-salt://issue-46881/cron_|-salt://issue-46881/cron_|-file']['changes']) self.assertEqual(_expected, ret['cron_|-salt://issue-46881/cron_|-salt://issue-46881/cron_|-file']['changes']['diff'])