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)