def test_failed_secondary_health_check(self):
   """Verifies that a secondary health check is not invoked when a primary check fails"""
   task = self.create_task(0, 'a')
   self._health_check_a.health(task).AndReturn(Retriable.alive())
   self._health_check_b.health(task).AndReturn(Retriable.dead())
   health_check = ChainedHealthCheck(self._health_check_a, self._health_check_b)
   self.replay()
   assert health_check.health(task) == Retriable.dead()
   self.verify()
 def test_instancewatcher_http_health_check(self):
   """Verifies that http health check is performed if the task has a health port"""
   task = self.create_task(0, 'a')
   self.expect_http_signaler_creation()
   self.expect_health_check(status=False)
   self.replay()
   assert self._smart_health_check.health(task) == Retriable.dead()
   self.verify()
 def test_http_health_check(self):
   """Verify successful and failed http health checks for a task"""
   task_a = self.create_task(0, 'a')
   self.expect_http_signaler_creation()
   self.expect_health_check()
   self.expect_health_check(status=False)
   self.replay()
   assert self._http_health_check.health(task_a) == Retriable.alive()
   assert self._http_health_check.health(task_a) == Retriable.dead()
   self.verify()
Esempio n. 4
0
 def test_health_statuses(self):
   """Verfies that the health status tuple (health, retry_status) are as expected"""
   assert Retriable.alive() == (True, True)
   assert Retriable.dead() == (False, True)
   assert NotRetriable.alive() == (True, False)
   assert NotRetriable.dead() == (False, False)
Esempio n. 5
0
 def test_failed_status_health_check(self):
   """Verify that the health check fails for tasks in a state other than RUNNING"""
   pending_task = self.create_task(0, 'a', status=PENDING)
   failed_task = self.create_task(1, 'b', status=FAILED)
   assert self._status_health_check.health(pending_task) == Retriable.dead()
   assert self._status_health_check.health(failed_task) == Retriable.dead()