def test_operation_resume_should_throw_ex_when_name_none(self, mock_hook): with self.assertRaises(AirflowException) as cm: op = GcpTransferServiceOperationResumeOperator(operation_name="", task_id=TASK_ID) op.execute(None) err = cm.exception self.assertIn("The required parameter 'operation_name' is empty or None", str(err)) mock_hook.assert_not_called()
def test_operation_resume_should_throw_ex_when_name_none(self, mock_hook): with self.assertRaises(AirflowException) as cm: op = GcpTransferServiceOperationResumeOperator(operation_name="", task_id=TASK_ID) op.execute(None) err = cm.exception self.assertIn("The required parameter 'operation_name' is empty or None", str(err)) mock_hook.assert_not_called()
def test_operation_resume(self, mock_hook): op = GcpTransferServiceOperationResumeOperator(operation_name=OPERATION_NAME, task_id=TASK_ID) result = op.execute(None) # pylint:disable=assignment-from-no-return mock_hook.assert_called_once_with(api_version='v1', gcp_conn_id='google_cloud_default') mock_hook.return_value.resume_transfer_operation.assert_called_once_with( operation_name=OPERATION_NAME ) self.assertIsNone(result)
def test_operation_resume(self, mock_hook): op = GcpTransferServiceOperationResumeOperator(operation_name=OPERATION_NAME, task_id=TASK_ID) result = op.execute(None) mock_hook.assert_called_once_with(api_version='v1', gcp_conn_id='google_cloud_default') mock_hook.return_value.resume_transfer_operation.assert_called_once_with( operation_name=OPERATION_NAME ) self.assertIsNone(result)
def test_operation_resume_with_templates(self, _): dag_id = 'test_dag_id' args = {'start_date': DEFAULT_DATE} self.dag = DAG(dag_id, default_args=args) # pylint:disable=attribute-defined-outside-init op = GcpTransferServiceOperationResumeOperator( operation_name='{{ dag.dag_id }}', gcp_conn_id='{{ dag.dag_id }}', api_version='{{ dag.dag_id }}', task_id=TASK_ID, dag=self.dag, ) ti = TaskInstance(op, DEFAULT_DATE) ti.render_templates() self.assertEqual(dag_id, getattr(op, 'operation_name')) self.assertEqual(dag_id, getattr(op, 'gcp_conn_id')) self.assertEqual(dag_id, getattr(op, 'api_version'))
def test_operation_resume_with_templates(self, _): dag_id = 'test_dag_id' configuration.load_test_config() args = {'start_date': DEFAULT_DATE} self.dag = DAG(dag_id, default_args=args) op = GcpTransferServiceOperationResumeOperator( operation_name='{{ dag.dag_id }}', gcp_conn_id='{{ dag.dag_id }}', api_version='{{ dag.dag_id }}', task_id=TASK_ID, dag=self.dag, ) ti = TaskInstance(op, DEFAULT_DATE) ti.render_templates() self.assertEqual(dag_id, getattr(op, 'operation_name')) self.assertEqual(dag_id, getattr(op, 'gcp_conn_id')) self.assertEqual(dag_id, getattr(op, 'api_version'))
"{{task_instance.xcom_pull('create_transfer_job_from_aws')['name']}}" ], }, ) # [END howto_operator_gcp_transfer_list_operations] # [START howto_operator_gcp_transfer_get_operation] get_operation = GcpTransferServiceOperationGetOperator( task_id="get_operation", operation_name= "{{task_instance.xcom_pull('list_operations')[0]['name']}}") # [END howto_operator_gcp_transfer_get_operation] # [START howto_operator_gcp_transfer_resume_operation] resume_operation = GcpTransferServiceOperationResumeOperator( task_id="resume_operation", operation_name="{{task_instance.xcom_pull('get_operation')['name']}}") # [END howto_operator_gcp_transfer_resume_operation] # [START howto_operator_gcp_transfer_wait_operation] wait_for_operation_to_end = GCPTransferServiceWaitForJobStatusSensor( task_id="wait_for_operation_to_end", job_name= "{{task_instance.xcom_pull('create_transfer_job_from_aws')['name']}}", project_id=GCP_PROJECT_ID, expected_statuses={GcpTransferOperationStatus.SUCCESS}, poke_interval=WAIT_FOR_OPERATION_POKE_INTERVAL, ) # [END howto_operator_gcp_transfer_wait_operation] job_time = datetime.utcnow() + timedelta(minutes=2)