def test_isRunning_happy_path(self, mock_execute_command, mock_update): job = Job(change_num="change_num", project_name="project") job.node_ip = 'ip' delta = datetime.timedelta(seconds=350) job.updated = datetime.datetime.now() - delta mock_execute_command.return_value = False self.assertFalse(job.isRunning("DB")) self.assertEqual(0, mock_update.call_count) mock_execute_command.return_value = True self.assertTrue(job.isRunning("DB")) self.assertEqual(0, mock_update.call_count)
def test_isRunning_timeout(self, mock_update): job = Job(change_num="change_num", project_name="project") job.node_ip = 'ip' delta = datetime.timedelta(seconds=int(Configuration().MAX_RUNNING_TIME)) job.updated = datetime.datetime.now() - delta self.assertFalse(job.isRunning("DB")) mock_update.assert_called_with("DB", result='Aborted: Timed out')
def test_isRunning_pid_fail(self, mock_execute_command, mock_update): job = Job(change_num="change_num", project_name="project") job.node_ip = 'ip' delta = datetime.timedelta(seconds=350) job.updated = datetime.datetime.now() - delta mock_execute_command.side_effect=Exception('SSH error getting PID') self.assertFalse(job.isRunning("DB")) mock_update.assert_called_with("DB", result='Aborted: Exception checking for pid') self.assertEqual(1, mock_execute_command.call_count)
def test_isRunning_early_wait(self): job = Job(change_num="change_num", project_name="project") job.node_ip = 'ip' job.updated = datetime.datetime.now() self.assertTrue(job.isRunning("DB"))
def test_isRunning_no_ip(self): job = Job(change_num="change_num", project_name="project") self.assertFalse(job.isRunning("DB"))