nuclearpinguin commented on a change in pull request #6898: [AIRFLOW-6432] fix EmrAddStepsOperator broken ref & faulty test & add test case for missing cluster URL: https://github.com/apache/airflow/pull/6898#discussion_r362162056
########## File path: tests/contrib/operators/test_emr_add_steps_operator.py ########## @@ -107,23 +108,45 @@ def test_execute_returns_step_id(self): def test_init_with_cluster_name(self): expected_job_flow_id = 'j-1231231234' - self.emr_client_mock.get_cluster_id_by_name.return_value = expected_job_flow_id self.emr_client_mock.add_job_flow_steps.return_value = ADD_STEPS_SUCCESS_RETURN with patch('boto3.session.Session', self.boto3_session_mock): + with patch('airflow.contrib.hooks.emr_hook.EmrHook.get_cluster_id_by_name') \ + as mock_get_cluster_id_by_name: + mock_get_cluster_id_by_name.return_value = expected_job_flow_id + + operator = EmrAddStepsOperator( + task_id='test_task', + job_flow_name='test_cluster', + cluster_states=['RUNNING', 'WAITING'], + aws_conn_id='aws_default', + dag=DAG('test_dag_id', default_args=self.args) + ) + + operator.execute(self.mock_context) + + ti = self.mock_context['ti'] + + ti.xcom_push.assert_called_once_with(key='job_flow_id', value=expected_job_flow_id) + + def test_init_with_nonexistent_cluster_name(self): + cluster_name = 'test_cluster' + + with patch('airflow.contrib.hooks.emr_hook.EmrHook.get_cluster_id_by_name') \ + as mock_get_cluster_id_by_name: + mock_get_cluster_id_by_name.return_value = None + operator = EmrAddStepsOperator( task_id='test_task', - job_flow_name='test_cluster', + job_flow_name=cluster_name, cluster_states=['RUNNING', 'WAITING'], aws_conn_id='aws_default', dag=DAG('test_dag_id', default_args=self.args) ) - operator.execute(self.mock_context) - - ti = self.mock_context['ti'] - - ti.xcom_push.assert_any_call(key='job_flow_id', value=expected_job_flow_id) + with self.assertRaises(AirflowException) as error: + operator.execute(self.mock_context) + self.assertEqual(str(error.exception), 'No cluster found for name = test_cluster') Review comment: ```suggestion self.assertEqual(str(error.exception), f'No cluster found for name: {cluster_name}') ``` The test need an adjustment after the change in core :) ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services