# -*- coding: utf-8 -*- # Import python libs from __future__ import absolute_import # Import Salt Testing libs from tests.support.case import ModuleCase from tests.support.helpers import destructiveTest # Import Salt libs import salt.utils @destructiveTest class ServiceModuleTest(ModuleCase): ''' Module testing the service module ''' def setUp(self): self.service_name = 'cron' cmd_name = 'crontab' os_family = self.run_function('grains.get', ['os_family']) os_release = self.run_function('grains.get', ['osrelease']) if os_family == 'RedHat': self.service_name = 'crond' elif os_family == 'Arch': self.service_name = 'sshd' cmd_name = 'systemctl' elif os_family == 'MacOS': self.service_name = 'org.ntp.ntpd' if int(os_release.split('.')[1]) >= 13: self.service_name = 'com.apple.AirPlayXPCHelper' if salt.utils.which(cmd_name) is None: self.skipTest('{0} is not installed'.format(cmd_name)) def test_service_status_running(self): ''' test service.status execution module when service is running ''' start_service = self.run_function('service.start', [self.service_name]) check_service = self.run_function('service.status', [self.service_name]) self.assertTrue(check_service) def test_service_status_dead(self): ''' test service.status execution module when service is dead ''' stop_service = self.run_function('service.stop', [self.service_name]) check_service = self.run_function('service.status', [self.service_name]) self.assertFalse(check_service)