class zzzTestFrameworkServiceHelper(unittest.TestCase): """ Class docs """ def setUp(self): """ initialize and set class variables and objects """ self.environ = Environment() self.environ.setdebugmode(True) self.logger = LogDispatcher(self.environ) self.mysh = ServiceHelper(self.environ, self.logger) # set service name self.myservice = 'crond' self.myservicename = "" if self.environ.getosfamily() == 'darwin': self.myservice = "/Library/LaunchDaemons/gov.lanl.stonix.report.plist" self.myservicename = "gov.lanl.stonix.report" elif self.environ.getosfamily() == 'solaris': self.myservice = 'svc:/system/cron:default' elif self.environ.getosfamily() == 'freebsd': self.myservice = 'cron' elif os.path.exists('/usr/lib/systemd/system/cron.service'): self.myservice = 'cron.service' elif os.path.exists('/usr/lib/systemd/system/crond.service'): self.myservice = 'crond.service' elif os.path.exists('/etc/init.d/vixie-cron'): self.myservice = 'vixie-cron' elif os.path.exists('/etc/init.d/cron'): self.myservice = 'cron' if self.environ.getosfamily() == "darwin": self.service = self.myservice, self.myservicename else: self.service = [self.myservice] # store system initial state self.orig_enabled = self.mysh.auditService(*self.service) def tearDown(self): """ restore system initial state """ if self.orig_enabled: self.mysh.enableService(*self.service) else: self.mysh.disableService(*self.service) def testListServices(self): """ test listing of services """ services = self.mysh.listServices() self.assertGreater(len(services), 0) self.assertIsInstance(services, list) def testDisable(self): """ test disabling a service from initial state: enabled """ # make sure service is started, so stopping it will be a valid test of the function if not self.mysh.auditService(*self.service): self.mysh.enableService(*self.service) disabled = self.mysh.disableService(*self.service) self.assertTrue(disabled) def testEnable(self): """ test enabling a service from initial state: disabled """ # make sure service is stopped, so starting it will be a valid test of the function if self.mysh.auditService(*self.service): self.mysh.disableService(*self.service) enabled = self.mysh.enableService(*self.service) self.assertTrue(enabled) def testReloadService(self): """ test reloading a service from both initial states: enabled disabled """ self.mysh.disableService(*self.service) reloaded1 = self.mysh.reloadService(*self.service) self.assertTrue(reloaded1) self.mysh.enableService(*self.service) reloaded2 = self.mysh.reloadService(*self.service) self.assertTrue(reloaded2) def testIsRunning(self): """ test status checking to see if a service is running (start and stop not implemented in all helpers) """ if self.mysh.startService(*self.service): self.assertTrue(self.mysh.isRunning(*self.service)) if self.mysh.stopService(*self.service): self.assertFalse(self.mysh.isRunning(*self.service))
class zzzTestFrameworkServiceHelper(unittest.TestCase): '''Class docs''' def setUp(self): '''initialize and set class variables and objects''' self.environ = Environment() self.environ.setdebugmode(True) self.logger = LogDispatcher(self.environ) self.mysh = ServiceHelper(self.environ, self.logger) # set service name self.myservice = 'crond' self.myservicename = "" if self.environ.getosfamily() == 'darwin': self.myservice = "/Library/LaunchDaemons/gov.lanl.stonix.report.plist" self.myservicename = "gov.lanl.stonix.report" elif self.environ.getosfamily() == 'solaris': self.myservice = 'svc:/system/cron:default' elif self.environ.getosfamily() == 'freebsd': self.myservice = 'cron' elif os.path.exists('/usr/lib/systemd/system/cron.service'): self.myservice = 'cron.service' elif os.path.exists('/usr/lib/systemd/system/crond.service'): self.myservice = 'crond.service' elif os.path.exists('/etc/init.d/vixie-cron'): self.myservice = 'vixie-cron' elif os.path.exists('/etc/init.d/cron'): self.myservice = 'cron' if self.environ.getosfamily() == "darwin": self.service = self.myservice, self.myservicename else: self.service = [self.myservice] # store system initial state self.orig_enabled = self.mysh.auditService(*self.service) def tearDown(self): '''restore system initial state''' if self.orig_enabled: self.mysh.enableService(*self.service) else: self.mysh.disableService(*self.service) def testListServices(self): '''test listing of services''' services = self.mysh.listServices() self.assertGreater(len(services), 0) self.assertIsInstance(services, list) def testDisable(self): '''test disabling a service from initial state: enabled ''' # make sure service is started, so stopping it will be a valid test of the function if not self.mysh.auditService(*self.service): self.mysh.enableService(*self.service) disabled = self.mysh.disableService(*self.service) self.assertTrue(disabled) def testEnable(self): '''test enabling a service from initial state: disabled ''' # make sure service is stopped, so starting it will be a valid test of the function if self.mysh.auditService(*self.service): self.mysh.disableService(*self.service) enabled = self.mysh.enableService(*self.service) self.assertTrue(enabled) def testReloadService(self): '''test reloading a service from both initial states: enabled disabled ''' self.mysh.disableService(*self.service) reloaded1 = self.mysh.reloadService(*self.service) self.assertTrue(reloaded1) self.mysh.enableService(*self.service) reloaded2 = self.mysh.reloadService(*self.service) self.assertTrue(reloaded2) def testIsRunning(self): '''test status checking to see if a service is running (start and stop not implemented in all helpers) ''' if self.mysh.startService(*self.service): self.assertTrue(self.mysh.isRunning(*self.service)) if self.mysh.stopService(*self.service): self.assertFalse(self.mysh.isRunning(*self.service))