def test_mix_errors_timeout(self): """Test the result of mixed timeout and error actions.""" # timeout host configuration is in setup_sshconfig (__init__.py) action = Action(name='start', target='badname,timeout,localhost', command='/bin/true', timeout=0.9) action.errors = 1 service = Service('test_service') service.add_action(action) service.run('start') self.assertEqual(action.nodes_error(), NodeSet('badname')) self.assertEqual(action.nb_errors(), 1) self.assertEqual(action.nodes_timeout(), NodeSet('timeout')) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, ERROR) service.reset() action.errors = 2 service.run('start') self.assertEqual(action.nodes_error(), NodeSet('badname')) self.assertEqual(action.nb_errors(), 1) self.assertEqual(action.nodes_timeout(), NodeSet('timeout')) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, WARNING) service.reset() action.errors = 2 action.warnings = 2 service.run('start') self.assertEqual(action.nodes_error(), NodeSet('badname')) self.assertEqual(action.nb_errors(), 1) self.assertEqual(action.nodes_timeout(), NodeSet('timeout')) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, DONE)
def test_mix_errors_timeout(self): """Test the result of mixed timeout and error actions.""" action = Action(name='start', target='badname,timeout,localhost', command='/bin/true', timeout=0.9) action.errors = 1 service = Service('test_service') service.add_action(action) service.run('start') self.assertEqual(action.nodes_error(), NodeSet('badname')) self.assertEqual(action.nb_errors(), 1) self.assertEqual(action.nodes_timeout(), NodeSet('timeout')) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, ERROR) service.reset() action.errors = 2 service.run('start') self.assertEqual(action.nodes_error(), NodeSet('badname')) self.assertEqual(action.nb_errors(), 1) self.assertEqual(action.nodes_timeout(), NodeSet('timeout')) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, WARNING) service.reset() action.errors = 2 action.warnings = 2 service.run('start') self.assertEqual(action.nodes_error(), NodeSet('badname')) self.assertEqual(action.nb_errors(), 1) self.assertEqual(action.nodes_timeout(), NodeSet('timeout')) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, DONE)
def test_mix_errors_timeout(self): """Test the result of mixed timeout and error actions.""" cmd = 'echo "${SSH_CLIENT%%%% *}" | egrep "^(127.0.0.1|::1)$" ||sleep 1' action = Action(name="start", target="badname,%s,localhost" % HOSTNAME, command=cmd, timeout=0.6) action.errors = 1 service = Service("test_service") service.add_action(action) service.run("start") self.assertEqual(action.nb_errors(), 1) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, ERROR) service.reset() action.errors = 2 service.run("start") self.assertEqual(action.nb_errors(), 1) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, WARNING) service.reset() action.errors = 2 action.warnings = 2 service.run("start") self.assertEqual(action.nb_errors(), 1) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, DONE)
def test_nb_timeout_remote(self): """Test nb_timeout() method (remote mode)""" action = Action(name="start", target=HOSTNAME, command="sleep 3", timeout=0.5) service = Service("test_service") service.add_action(action) service.run("start") self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, TIMEOUT)
def test_nb_timeout_local(self): """Test nb_timeout() method (local)""" action = Action(name="start", command="sleep 3", timeout=0.3) service = Service("test_service") service.add_action(action) service.run("start") self.assertEqual(action.nb_errors(), 0) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, TIMEOUT)
def test_nb_timeout_remote(self): """Test nb_timeout() method (remote mode)""" action = Action(name='start', target=HOSTNAME, command='sleep 3', timeout=0.5) service = Service('test_service') service.add_action(action) service.run('start') self.assertEqual(action.nodes_timeout(), NodeSet(HOSTNAME)) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, TIMEOUT)
def test_nb_timeout_local(self): """Test nb_timeout() method (local)""" action = Action(name='start', command='sleep 3', timeout=0.3) service = Service('test_service') service.add_action(action) service.run('start') self.assertEqual(action.nodes_error(), NodeSet()) self.assertEqual(action.nb_errors(), 0) self.assertEqual(action.nodes_timeout(), NodeSet("localhost")) self.assertEqual(action.nb_timeout(), 1) self.assertEqual(action.status, TIMEOUT)