def test_minimal_green_path(self, mock_hook): mock_hook.return_value.translate.return_value = [{ 'translatedText': 'Yellowing self Gęśle', 'detectedSourceLanguage': 'pl', 'model': 'base', 'input': 'zażółć gęślą jaźń', }] op = CloudTranslateTextOperator( values=['zażółć gęślą jaźń'], target_language='en', format_='text', source_language=None, model='base', gcp_conn_id=GCP_CONN_ID, task_id='id', impersonation_chain=IMPERSONATION_CHAIN, ) return_value = op.execute(context=None) mock_hook.assert_called_once_with( gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) mock_hook.return_value.translate.assert_called_once_with( values=['zażółć gęślą jaźń'], target_language='en', format_='text', source_language=None, model='base', ) self.assertEqual( [{ 'translatedText': 'Yellowing self Gęśle', 'detectedSourceLanguage': 'pl', 'model': 'base', 'input': 'zażółć gęślą jaźń', }], return_value, )
""" from airflow import models from airflow.operators.bash import BashOperator from airflow.providers.google.cloud.operators.translate import CloudTranslateTextOperator from airflow.utils.dates import days_ago with models.DAG( 'example_gcp_translate', schedule_interval=None, # Override to match your needs start_date=days_ago(1), tags=['example'], ) as dag: # [START howto_operator_translate_text] product_set_create = CloudTranslateTextOperator( task_id='translate', values=['zażółć gęślą jaźń'], target_language='en', format_='text', source_language=None, model='base', ) # [END howto_operator_translate_text] # [START howto_operator_translate_access] translation_access = BashOperator( task_id='access', bash_command="echo '{{ task_instance.xcom_pull(\"translate\")[0] }}'") product_set_create >> translation_access # [END howto_operator_translate_access]