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.""" # 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.""" 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_errors_local(self): """Test the method nb_errors() (local)""" service = Service('test_service') act_test = Action(name='test', command='/bin/true') service.add_action(act_test) service.run('test') self.assertEqual(act_test.nodes_error(), NodeSet()) self.assertEqual(act_test.nb_errors(), 0) self.assertEqual(act_test.status, DONE) service.reset() act_test.errors = 1 act_test.command = '/bin/false' service.run('test') self.assertEqual(act_test.nodes_error(), NodeSet("localhost")) self.assertEqual(act_test.nb_errors(), 1) self.assertEqual(act_test.status, WARNING) service.reset() act_test.errors = 1 act_test.warnings = 1 act_test.command = '/bin/false' service.run('test') self.assertEqual(act_test.nodes_error(), NodeSet("localhost")) self.assertEqual(act_test.nb_errors(), 1) self.assertEqual(act_test.status, DONE) service.reset() act_test.errors = 0 service.run('test') self.assertEqual(act_test.nodes_error(), NodeSet("localhost")) self.assertEqual(act_test.nb_errors(), 1) self.assertEqual(act_test.status, ERROR) service.reset() act_test.errors = 0 act_test.warnings = 1 service.run('test') self.assertEqual(act_test.nodes_error(), NodeSet("localhost")) self.assertEqual(act_test.nb_errors(), 1) self.assertEqual(act_test.status, ERROR)
def test_nb_errors_local(self): """Test the method nb_errors() (local)""" service = Service("test_service") act_test = Action(name="test", command="/bin/true") service.add_action(act_test) service.run("test") self.assertEqual(act_test.nb_errors(), 0) self.assertEqual(act_test.status, DONE) service.reset() act_test.errors = 1 act_test.command = "/bin/false" service.run("test") self.assertEqual(act_test.nb_errors(), 1) self.assertEqual(act_test.status, WARNING) service.reset() act_test.errors = 1 act_test.warnings = 1 act_test.command = "/bin/false" service.run("test") self.assertEqual(act_test.nb_errors(), 1) self.assertEqual(act_test.status, DONE) service.reset() act_test.errors = 0 service.run("test") self.assertEqual(act_test.nb_errors(), 1) self.assertEqual(act_test.status, ERROR) service.reset() act_test.errors = 0 act_test.warnings = 1 service.run("test") self.assertEqual(act_test.nb_errors(), 1) self.assertEqual(act_test.status, ERROR)