Beispiel #1
0
    def test_generate_status_json(self, mock_now):
        """Tests calling generate_status_json() successfully"""

        right_now = now()
        mock_now.return_value = right_now
        num_job_exes = JOB_EXES_WARNING_THRESHOLD + 1

        node = Node(self.node_agent, self.node, self.scheduler)
        node._conditions.handle_pull_task_failed()
        node._conditions.update_cleanup_count(num_job_exes)
        node._update_state()
        nodes_list = []
        node.generate_status_json(nodes_list)

        expected_results = [{'id': node.id, 'hostname': node.hostname, 'agent_id': self.node_agent, 'is_active': True,
                             'state': {'name': 'DEGRADED', 'title': Node.DEGRADED.title,
                                       'description': Node.DEGRADED.description},
                             'errors': [{'name': 'IMAGE_PULL', 'title': NodeConditions.IMAGE_PULL_ERR.title,
                                         'description': NodeConditions.IMAGE_PULL_ERR.description,
                                         'started': datetime_to_string(right_now),
                                         'last_updated': datetime_to_string(right_now)}],
                             'warnings': [{'name': 'CLEANUP', 'title': NodeConditions.CLEANUP_WARNING.title,
                                           'description': NodeConditions.CLEANUP_WARNING.description % num_job_exes,
                                           'started': datetime_to_string(right_now),
                                           'last_updated': datetime_to_string(right_now)}]}]
        self.assertListEqual(nodes_list, expected_results)