def test_already_exists(self, mock_hook): mock_hook.return_value.create_product.side_effect = AlreadyExists(message='') # Exception AlreadyExists not raised, caught in the operator's execute() - idempotence op = CloudVisionProductCreateOperator( location=LOCATION_TEST, product=PRODUCT_TEST, product_id=PRODUCT_ID_TEST, project_id='mock-project-id', task_id='id', ) result = op.execute(None) self.assertEqual(PRODUCT_ID_TEST, result)
def test_minimal_green_path(self, mock_hook): mock_hook.return_value.create_product.return_value = {} op = CloudVisionProductCreateOperator(location=LOCATION_TEST, product=PRODUCT_TEST, task_id='id') op.execute(context=None) mock_hook.assert_called_once_with(gcp_conn_id=GCP_CONN_ID) mock_hook.return_value.create_product.assert_called_once_with( location=LOCATION_TEST, product=PRODUCT_TEST, product_id=None, project_id=None, retry=None, timeout=None, metadata=None, )
) # [END howto_operator_vision_product_set_update] # [START howto_operator_vision_product_set_delete] product_set_delete = CloudVisionProductSetDeleteOperator( location=GCP_VISION_LOCATION, product_set_id="{{ task_instance.xcom_pull('product_set_create') }}", task_id='product_set_delete', ) # [END howto_operator_vision_product_set_delete] # [START howto_operator_vision_product_create] product_create = CloudVisionProductCreateOperator( location=GCP_VISION_LOCATION, product=product, retry=Retry(maximum=10.0), timeout=5, task_id='product_create', ) # [END howto_operator_vision_product_create] # [START howto_operator_vision_product_get] product_get = CloudVisionProductGetOperator( location=GCP_VISION_LOCATION, product_id="{{ task_instance.xcom_pull('product_create') }}", task_id='product_get', ) # [END howto_operator_vision_product_get] # [START howto_operator_vision_product_update] product_update = CloudVisionProductUpdateOperator(