diff --git a/UPDATING.md b/UPDATING.md index 82139cec13624..69735b5635cb5 100644 --- a/UPDATING.md +++ b/UPDATING.md @@ -233,7 +233,7 @@ The fix to `none_failed` trigger rule breaks workflows that depend on the previo ### Standardize handling http exception in BigQuery Since BigQuery is the part of the GCP it was possible to simplify the code by handling the exceptions -by usage of the `airflow.providers.google.cloud.hooks.base.CloudBaseHook.catch_http_exception` decorator however it changes +by usage of the `airflow.providers.google.common.hooks.base.GoogleBaseHook.catch_http_exception` decorator however it changes exceptions raised by the following methods: * `airflow.providers.google.cloud.hooks.bigquery.BigQueryBaseCursor.run_table_delete` raises `AirflowException` instead of `Exception`. * `airflow.providers.google.cloud.hooks.bigquery.BigQueryBaseCursor.create_empty_dataset` raises `AirflowException` instead of `ValueError`. @@ -914,12 +914,12 @@ The following variables were removed from the task instance context: - latest_date - tables -### Moved provide_gcp_credential_file decorator to GoogleCloudBaseHook +### Moved provide_gcp_credential_file decorator to GoogleBaseHook To simplify the code, the decorator has been moved from the inner-class. -Instead of `@GoogleCloudBaseHook._Decorators.provide_gcp_credential_file`, -you should write `@GoogleCloudBaseHook.provide_gcp_credential_file` +Instead of `@GoogleBaseHook._Decorators.provide_gcp_credential_file`, +you should write `@GoogleBaseHook.provide_gcp_credential_file` ### Changes to S3Hook diff --git a/airflow/contrib/hooks/gcp_api_base_hook.py b/airflow/contrib/hooks/gcp_api_base_hook.py index ade86c905a561..d21aea1082e05 100644 --- a/airflow/contrib/hooks/gcp_api_base_hook.py +++ b/airflow/contrib/hooks/gcp_api_base_hook.py @@ -15,24 +15,25 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -"""This module is deprecated. Please use `airflow.providers.google.cloud.hooks.base`.""" +"""This module is deprecated. Please use `airflow.providers.google.common.hooks.base_google`.""" import warnings -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook warnings.warn( - "This module is deprecated. Please use `airflow.providers.google.cloud.hooks.base`.", + "This module is deprecated. Please use `airflow.providers.google.common.hooks.base_google`.", DeprecationWarning, stacklevel=2 ) -class GoogleCloudBaseHook(CloudBaseHook): +class GoogleCloudBaseHook(GoogleBaseHook): """ - This class is deprecated. Please use `airflow.providers.google.cloud.hooks.base.CloudBaseHook`. + This class is deprecated. Please use `airflow.providers.google.common.hooks.base_google.GoogleBaseHook`. """ def __init__(self, *args, **kwargs): warnings.warn( - "This class is deprecated. Please use `airflow.providers.google.cloud.hooks.base.CloudBaseHook`.", + "This class is deprecated. Please use " + "`airflow.providers.google.common.hooks.base_google.GoogleBaseHook`.", DeprecationWarning, stacklevel=2 ) super().__init__(*args, **kwargs) diff --git a/airflow/providers/amazon/aws/operators/google_api_to_s3_transfer.py b/airflow/providers/amazon/aws/operators/google_api_to_s3_transfer.py index af2613c6bead7..98069c72f7384 100644 --- a/airflow/providers/amazon/aws/operators/google_api_to_s3_transfer.py +++ b/airflow/providers/amazon/aws/operators/google_api_to_s3_transfer.py @@ -25,7 +25,7 @@ from airflow.models import BaseOperator from airflow.models.xcom import MAX_XCOM_SIZE from airflow.providers.amazon.aws.hooks.s3 import S3Hook -from airflow.providers.google.cloud.hooks.discovery_api import GoogleDiscoveryApiHook +from airflow.providers.google.common.hooks.discovery_api import GoogleDiscoveryApiHook from airflow.utils.decorators import apply_defaults diff --git a/airflow/providers/google/cloud/hooks/automl.py b/airflow/providers/google/cloud/hooks/automl.py index f4dc7c168bc76..f1b7e593be59b 100644 --- a/airflow/providers/google/cloud/hooks/automl.py +++ b/airflow/providers/google/cloud/hooks/automl.py @@ -29,10 +29,10 @@ ImageObjectDetectionModelDeploymentMetadata, InputConfig, Model, Operation, PredictResponse, TableSpec, ) -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class CloudAutoMLHook(CloudBaseHook): +class CloudAutoMLHook(GoogleBaseHook): """ Google Cloud AutoML hook. @@ -78,7 +78,7 @@ def prediction_client(self) -> PredictionServiceClient: credentials=self._get_credentials(), client_info=self.client_info ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_model( self, model: Union[dict, Model], @@ -121,7 +121,7 @@ def create_model( parent=parent, model=model, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def batch_predict( self, model_id: str, @@ -183,7 +183,7 @@ def batch_predict( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def predict( self, model_id: str, @@ -237,7 +237,7 @@ def predict( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_dataset( self, dataset: Union[dict, Dataset], @@ -282,7 +282,7 @@ def create_dataset( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def import_data( self, dataset_id: str, @@ -332,7 +332,7 @@ def import_data( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_column_specs( # pylint: disable=too-many-arguments self, dataset_id: str, @@ -400,7 +400,7 @@ def list_column_specs( # pylint: disable=too-many-arguments ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_model( self, model_id: str, @@ -440,7 +440,7 @@ def get_model( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_model( self, model_id: str, @@ -480,7 +480,7 @@ def delete_model( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_dataset( self, dataset: Union[dict, Dataset], @@ -525,7 +525,7 @@ def update_dataset( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def deploy_model( self, model_id: str, @@ -640,7 +640,7 @@ def list_table_specs( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_datasets( self, location: str, @@ -680,7 +680,7 @@ def list_datasets( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_dataset( self, dataset_id: str, diff --git a/airflow/providers/google/cloud/hooks/bigquery.py b/airflow/providers/google/cloud/hooks/bigquery.py index 87cb900099069..36b9a73ae3345 100644 --- a/airflow/providers/google/cloud/hooks/bigquery.py +++ b/airflow/providers/google/cloud/hooks/bigquery.py @@ -37,14 +37,14 @@ from airflow.exceptions import AirflowException from airflow.hooks.dbapi_hook import DbApiHook -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook from airflow.utils.log.logging_mixin import LoggingMixin log = logging.getLogger(__name__) # pylint: disable=too-many-public-methods -class BigQueryHook(CloudBaseHook, DbApiHook): +class BigQueryHook(GoogleBaseHook, DbApiHook): """ Interact with BigQuery. This hook uses the Google Cloud Platform connection. diff --git a/airflow/providers/google/cloud/hooks/bigquery_dts.py b/airflow/providers/google/cloud/hooks/bigquery_dts.py index 2668b02334e0b..f03ef10652ae3 100644 --- a/airflow/providers/google/cloud/hooks/bigquery_dts.py +++ b/airflow/providers/google/cloud/hooks/bigquery_dts.py @@ -30,7 +30,7 @@ from google.protobuf.json_format import MessageToDict, ParseDict from googleapiclient.discovery import Resource -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook def get_object_id(obj: dict) -> str: @@ -40,7 +40,7 @@ def get_object_id(obj: dict) -> str: return obj["name"].rpartition("/")[-1] -class BiqQueryDataTransferServiceHook(CloudBaseHook): +class BiqQueryDataTransferServiceHook(GoogleBaseHook): """ Hook for Google Bigquery Transfer API. @@ -93,7 +93,7 @@ def get_conn(self) -> DataTransferServiceClient: ) return self._conn - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_transfer_config( self, transfer_config: Union[dict, TransferConfig], @@ -138,7 +138,7 @@ def create_transfer_config( metadata=metadata, ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_transfer_config( self, transfer_config_id: str, @@ -176,7 +176,7 @@ def delete_transfer_config( name=name, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def start_manual_transfer_runs( self, transfer_config_id: str, @@ -233,7 +233,7 @@ def start_manual_transfer_runs( metadata=metadata, ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_transfer_run( self, run_id: str, diff --git a/airflow/providers/google/cloud/hooks/bigtable.py b/airflow/providers/google/cloud/hooks/bigtable.py index 9dbc56fb922b6..05cbea142c5b6 100644 --- a/airflow/providers/google/cloud/hooks/bigtable.py +++ b/airflow/providers/google/cloud/hooks/bigtable.py @@ -27,10 +27,10 @@ from google.cloud.bigtable.table import ClusterState, Table from google.cloud.bigtable_admin_v2 import enums -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class BigtableHook(CloudBaseHook): +class BigtableHook(GoogleBaseHook): """ Hook for Google Cloud Bigtable APIs. @@ -53,7 +53,7 @@ def _get_client(self, project_id: str): ) return self._client - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_instance(self, instance_id: str, project_id: Optional[str] = None) -> Instance: """ Retrieves and returns the specified Cloud Bigtable instance if it exists. @@ -74,7 +74,7 @@ def get_instance(self, instance_id: str, project_id: Optional[str] = None) -> In return None return instance - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_instance(self, instance_id: str, project_id: Optional[str] = None) -> None: """ Deletes the specified Cloud Bigtable instance. @@ -97,7 +97,7 @@ def delete_instance(self, instance_id: str, project_id: Optional[str] = None) -> self.log.info("The instance '%s' does not exist in project '%s'. Exiting", instance_id, project_id) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_instance( self, instance_id: str, @@ -212,7 +212,7 @@ def create_table( table = Table(table_id, instance) table.create(initial_split_keys, column_families) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_table(self, instance_id: str, table_id: str, project_id: Optional[str] = None) -> None: """ Deletes the specified table in Cloud Bigtable. diff --git a/airflow/providers/google/cloud/hooks/cloud_build.py b/airflow/providers/google/cloud/hooks/cloud_build.py index e87aa82898b09..d78b2e73c5651 100644 --- a/airflow/providers/google/cloud/hooks/cloud_build.py +++ b/airflow/providers/google/cloud/hooks/cloud_build.py @@ -23,14 +23,14 @@ from googleapiclient.discovery import build from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook # Time to sleep between active checks of the operation results TIME_TO_SLEEP_IN_SECONDS = 5 # noinspection PyAbstractClass -class CloudBuildHook(CloudBaseHook): +class CloudBuildHook(GoogleBaseHook): """ Hook for the Google Cloud Build APIs. @@ -69,7 +69,7 @@ def get_conn(self): self._conn = build("cloudbuild", self.api_version, http=http_authorized, cache_discovery=False) return self._conn - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_build(self, body: Dict, project_id: Optional[str] = None) -> Dict: """ Starts a build with the specified configuration. diff --git a/airflow/providers/google/cloud/hooks/cloud_memorystore.py b/airflow/providers/google/cloud/hooks/cloud_memorystore.py index 1d1628d34c648..16572e27b4510 100644 --- a/airflow/providers/google/cloud/hooks/cloud_memorystore.py +++ b/airflow/providers/google/cloud/hooks/cloud_memorystore.py @@ -29,10 +29,10 @@ from airflow import version from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class CloudMemorystoreHook(CloudBaseHook): +class CloudMemorystoreHook(GoogleBaseHook): """ Hook for Google Cloud Memorystore APIs. @@ -81,7 +81,7 @@ def _append_label(instance: Instance, key: str, val: str) -> Instance: instance.labels.update({key: val}) return instance - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_instance( self, location: str, @@ -157,7 +157,7 @@ def create_instance( self.log.info("Instance created.") return client.get_instance(name=instance_name, retry=retry, timeout=timeout, metadata=metadata) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_instance( self, location: str, @@ -199,7 +199,7 @@ def delete_instance( result.result() self.log.info("Instance deleted: %s", name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def export_instance( self, location: str, @@ -245,7 +245,7 @@ def export_instance( result.result() self.log.info("Instance exported: %s", name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def failover_instance( self, location: str, @@ -294,7 +294,7 @@ def failover_instance( result.result() self.log.info("Instance failovered: %s", name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_instance( self, location: str, @@ -329,7 +329,7 @@ def get_instance( self.log.info("Fetched Instance: %s", name) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def import_instance( self, location: str, @@ -376,7 +376,7 @@ def import_instance( result.result() self.log.info("Instance imported: %s", name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_instances( self, location: str, @@ -419,7 +419,7 @@ def list_instances( self.log.info("Fetched instances") return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_instance( self, update_mask: Union[Dict, FieldMask], diff --git a/airflow/providers/google/cloud/hooks/cloud_sql.py b/airflow/providers/google/cloud/hooks/cloud_sql.py index 0fe04879b898f..de4ec5674a044 100644 --- a/airflow/providers/google/cloud/hooks/cloud_sql.py +++ b/airflow/providers/google/cloud/hooks/cloud_sql.py @@ -47,7 +47,7 @@ # For requests that are "retriable" from airflow.hooks.base_hook import BaseHook from airflow.models import Connection -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook from airflow.providers.mysql.hooks.mysql import MySqlHook from airflow.providers.postgres.hooks.postgres import PostgresHook from airflow.utils.log.logging_mixin import LoggingMixin @@ -70,7 +70,7 @@ class CloudSqlOperationStatus: # noinspection PyAbstractClass -class CloudSQLHook(CloudBaseHook): +class CloudSQLHook(GoogleBaseHook): """ Hook for Google Cloud SQL APIs. @@ -100,7 +100,7 @@ def get_conn(self): http=http_authorized, cache_discovery=False) return self._conn - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_instance(self, instance: str, project_id: Optional[str] = None) -> Dict: """ Retrieves a resource containing information about a Cloud SQL instance. @@ -118,8 +118,8 @@ def get_instance(self, instance: str, project_id: Optional[str] = None) -> Dict: instance=instance ).execute(num_retries=self.num_retries) - @CloudBaseHook.fallback_to_default_project_id - @CloudBaseHook.operation_in_progress_retry() + @GoogleBaseHook.fallback_to_default_project_id + @GoogleBaseHook.operation_in_progress_retry() def create_instance(self, body: Dict, project_id: Optional[str] = None) -> None: """ Creates a new Cloud SQL instance. @@ -140,8 +140,8 @@ def create_instance(self, body: Dict, project_id: Optional[str] = None) -> None: self._wait_for_operation_to_complete(project_id=project_id, # type:ignore operation_name=operation_name) - @CloudBaseHook.fallback_to_default_project_id - @CloudBaseHook.operation_in_progress_retry() + @GoogleBaseHook.fallback_to_default_project_id + @GoogleBaseHook.operation_in_progress_retry() def patch_instance(self, body: Dict, instance: str, project_id: Optional[str] = None) -> None: """ Updates settings of a Cloud SQL instance. @@ -168,8 +168,8 @@ def patch_instance(self, body: Dict, instance: str, project_id: Optional[str] = self._wait_for_operation_to_complete(project_id=project_id, # type:ignore operation_name=operation_name) - @CloudBaseHook.fallback_to_default_project_id - @CloudBaseHook.operation_in_progress_retry() + @GoogleBaseHook.fallback_to_default_project_id + @GoogleBaseHook.operation_in_progress_retry() def delete_instance(self, instance: str, project_id: Optional[str] = None) -> None: """ Deletes a Cloud SQL instance. @@ -189,7 +189,7 @@ def delete_instance(self, instance: str, project_id: Optional[str] = None) -> No self._wait_for_operation_to_complete(project_id=project_id, # type:ignore operation_name=operation_name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_database(self, instance: str, database: str, project_id: Optional[str] = None) -> Dict: """ Retrieves a database resource from a Cloud SQL instance. @@ -211,8 +211,8 @@ def get_database(self, instance: str, database: str, project_id: Optional[str] = database=database ).execute(num_retries=self.num_retries) - @CloudBaseHook.fallback_to_default_project_id - @CloudBaseHook.operation_in_progress_retry() + @GoogleBaseHook.fallback_to_default_project_id + @GoogleBaseHook.operation_in_progress_retry() def create_database(self, instance: str, body: Dict, project_id: Optional[str] = None) -> None: """ Creates a new database inside a Cloud SQL instance. @@ -236,8 +236,8 @@ def create_database(self, instance: str, body: Dict, project_id: Optional[str] = self._wait_for_operation_to_complete(project_id=project_id, # type:ignore operation_name=operation_name) - @CloudBaseHook.fallback_to_default_project_id - @CloudBaseHook.operation_in_progress_retry() + @GoogleBaseHook.fallback_to_default_project_id + @GoogleBaseHook.operation_in_progress_retry() def patch_database( self, instance: str, @@ -273,8 +273,8 @@ def patch_database( self._wait_for_operation_to_complete(project_id=project_id, # type:ignore operation_name=operation_name) - @CloudBaseHook.fallback_to_default_project_id - @CloudBaseHook.operation_in_progress_retry() + @GoogleBaseHook.fallback_to_default_project_id + @GoogleBaseHook.operation_in_progress_retry() def delete_database(self, instance: str, database: str, project_id: Optional[str] = None) -> None: """ Deletes a database from a Cloud SQL instance. @@ -297,8 +297,8 @@ def delete_database(self, instance: str, database: str, project_id: Optional[str self._wait_for_operation_to_complete(project_id=project_id, # type:ignore operation_name=operation_name) - @CloudBaseHook.fallback_to_default_project_id - @CloudBaseHook.operation_in_progress_retry() + @GoogleBaseHook.fallback_to_default_project_id + @GoogleBaseHook.operation_in_progress_retry() def export_instance(self, instance: str, body: Dict, project_id: Optional[str] = None) -> None: """ Exports data from a Cloud SQL instance to a Cloud Storage bucket as a SQL dump @@ -324,7 +324,7 @@ def export_instance(self, instance: str, body: Dict, project_id: Optional[str] = self._wait_for_operation_to_complete(project_id=project_id, # type:ignore operation_name=operation_name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def import_instance(self, instance: str, body: Dict, project_id: Optional[str] = None) -> None: """ Imports data into a Cloud SQL instance from a SQL dump or CSV file in diff --git a/airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py b/airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py index 73b4f78f7ab36..cc73bab2f9bd8 100644 --- a/airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py +++ b/airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py @@ -29,7 +29,7 @@ from googleapiclient.discovery import build from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook # Time to sleep between active checks of the operation results TIME_TO_SLEEP_IN_SECONDS = 10 @@ -99,7 +99,7 @@ class GcpTransferOperationStatus: # noinspection PyAbstractClass -class CloudDataTransferServiceHook(CloudBaseHook): +class CloudDataTransferServiceHook(GoogleBaseHook): """ Hook for Google Storage Transfer Service. @@ -146,7 +146,7 @@ def create_transfer_job(self, body: Dict) -> Dict: return self.get_conn().transferJobs().create(body=body).execute( # pylint: disable=no-member num_retries=self.num_retries) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_transfer_job(self, job_name: str, project_id: Optional[str] = None) -> Dict: """ Gets the latest state of a long-running operation in Google Storage @@ -226,7 +226,7 @@ def update_transfer_job(self, job_name: str, body: Dict) -> Dict: .execute(num_retries=self.num_retries) ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_transfer_job(self, job_name: str, project_id: Optional[str] = None) -> None: """ Deletes a transfer job. This is a soft delete. After a transfer job is diff --git a/airflow/providers/google/cloud/hooks/compute.py b/airflow/providers/google/cloud/hooks/compute.py index 8cf3f46301c1e..4b550abbc432c 100644 --- a/airflow/providers/google/cloud/hooks/compute.py +++ b/airflow/providers/google/cloud/hooks/compute.py @@ -25,7 +25,7 @@ from googleapiclient.discovery import build from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook # Time to sleep between active checks of the operation results TIME_TO_SLEEP_IN_SECONDS = 1 @@ -41,7 +41,7 @@ class GceOperationStatus: # noinspection PyAbstractClass -class ComputeEngineHook(CloudBaseHook): +class ComputeEngineHook(GoogleBaseHook): """ Hook for Google Compute Engine APIs. @@ -72,7 +72,7 @@ def get_conn(self): http=http_authorized, cache_discovery=False) return self._conn - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def start_instance(self, zone: str, resource_id: str, project_id: Optional[str] = None) -> None: """ Starts an existing instance defined by project_id, zone and resource_id. @@ -105,7 +105,7 @@ def start_instance(self, zone: str, resource_id: str, project_id: Optional[str] operation_name=operation_name, zone=zone) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def stop_instance(self, zone: str, resource_id: str, project_id: Optional[str] = None) -> None: """ Stops an instance defined by project_id, zone and resource_id @@ -138,7 +138,7 @@ def stop_instance(self, zone: str, resource_id: str, project_id: Optional[str] = operation_name=operation_name, zone=zone) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def set_machine_type( self, zone: str, @@ -188,7 +188,7 @@ def _execute_set_machine_type( project=project_id, zone=zone, instance=resource_id, body=body)\ .execute(num_retries=self.num_retries) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_instance_template(self, resource_id: str, project_id: Optional[str] = None) -> Dict: """ Retrieves instance template by project_id and resource_id. @@ -212,7 +212,7 @@ def get_instance_template(self, resource_id: str, project_id: Optional[str] = No ).execute(num_retries=self.num_retries) return response - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def insert_instance_template( self, body: Dict, @@ -253,7 +253,7 @@ def insert_instance_template( self._wait_for_operation_to_complete(project_id=project_id, operation_name=operation_name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_instance_group_manager( self, zone: str, @@ -285,7 +285,7 @@ def get_instance_group_manager( ).execute(num_retries=self.num_retries) return response - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def patch_instance_group_manager( self, zone: str, diff --git a/airflow/providers/google/cloud/hooks/datacatalog.py b/airflow/providers/google/cloud/hooks/datacatalog.py index dd5d87c2ea167..c7abd717c18ef 100644 --- a/airflow/providers/google/cloud/hooks/datacatalog.py +++ b/airflow/providers/google/cloud/hooks/datacatalog.py @@ -24,10 +24,10 @@ ) from airflow import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class CloudDataCatalogHook(CloudBaseHook): +class CloudDataCatalogHook(GoogleBaseHook): """ Hook for Google Cloud Data Catalog Service. @@ -54,7 +54,7 @@ def get_conn(self) -> DataCatalogClient: ) return self._client - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_entry( self, location: str, @@ -102,7 +102,7 @@ def create_entry( self.log.info('Created a entry: name=%s', result.name) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_entry_group( self, location: str, @@ -155,7 +155,7 @@ def create_entry_group( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_tag( self, location: str, @@ -210,7 +210,7 @@ def create_tag( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_tag_template( self, location, @@ -262,7 +262,7 @@ def create_tag_template( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_tag_template_field( self, location: str, @@ -321,7 +321,7 @@ def create_tag_template_field( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_entry( self, location: str, @@ -359,7 +359,7 @@ def delete_entry( client.delete_entry(name=name, retry=retry, timeout=timeout, metadata=metadata) self.log.info('Deleted a entry: name=%s', name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_entry_group( self, location, @@ -397,7 +397,7 @@ def delete_entry_group( client.delete_entry_group(name=name, retry=retry, timeout=timeout, metadata=metadata) self.log.info('Deleted a entry group: name=%s', name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_tag( self, location: str, @@ -439,7 +439,7 @@ def delete_tag( client.delete_tag(name=name, retry=retry, timeout=timeout, metadata=metadata) self.log.info('Deleted a tag: name=%s', name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_tag_template( self, location, @@ -480,7 +480,7 @@ def delete_tag_template( client.delete_tag_template(name=name, force=force, retry=retry, timeout=timeout, metadata=metadata) self.log.info('Deleted a tag template: name=%s', name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_tag_template_field( self, location: str, @@ -524,7 +524,7 @@ def delete_tag_template_field( ) self.log.info('Deleted a tag template field: name=%s', name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_entry( self, location: str, @@ -565,7 +565,7 @@ def get_entry( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_entry_group( self, location: str, @@ -613,7 +613,7 @@ def get_entry_group( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_tag_template( self, location: str, @@ -653,7 +653,7 @@ def get_tag_template( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_tags( self, location: str, @@ -703,7 +703,7 @@ def list_tags( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_tag_for_template_name( self, location: str, @@ -801,7 +801,7 @@ def lookup_entry( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def rename_tag_template_field( self, location: str, @@ -935,7 +935,7 @@ def search_catalog( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_entry( self, entry: Union[Dict, Entry], @@ -1006,7 +1006,7 @@ def update_entry( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_tag( # pylint: disable=too-many-arguments self, tag: Union[Dict, Tag], @@ -1079,7 +1079,7 @@ def update_tag( # pylint: disable=too-many-arguments return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_tag_template( self, tag_template: Union[Dict, TagTemplate], @@ -1157,7 +1157,7 @@ def update_tag_template( return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_tag_template_field( # pylint: disable=too-many-arguments self, tag_template_field: Union[Dict, TagTemplateField], diff --git a/airflow/providers/google/cloud/hooks/dataflow.py b/airflow/providers/google/cloud/hooks/dataflow.py index a4b83a70e0212..50626ec7c1f07 100644 --- a/airflow/providers/google/cloud/hooks/dataflow.py +++ b/airflow/providers/google/cloud/hooks/dataflow.py @@ -32,7 +32,7 @@ from googleapiclient.discovery import build from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook from airflow.utils.log.logging_mixin import LoggingMixin from airflow.utils.python_virtualenv import prepare_virtualenv @@ -390,7 +390,7 @@ def wait_for_done(self) -> Optional[str]: return job_id -class DataflowHook(CloudBaseHook): +class DataflowHook(GoogleBaseHook): """ Hook for Google Dataflow. @@ -415,7 +415,7 @@ def get_conn(self): return build( 'dataflow', 'v1b3', http=http_authorized, cache_discovery=False) - @CloudBaseHook.provide_gcp_credential_file + @GoogleBaseHook.provide_gcp_credential_file def _start_dataflow( self, variables: Dict, @@ -452,7 +452,7 @@ def _set_variables(variables: Dict) -> Dict: return variables @_fallback_to_project_id_from_variables - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def start_java_dataflow( self, job_name: str, @@ -507,7 +507,7 @@ def label_formatter(labels_dict): ) @_fallback_to_project_id_from_variables - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def start_template_dataflow( self, job_name: str, @@ -578,7 +578,7 @@ def start_template_dataflow( return response["job"] @_fallback_to_project_id_from_variables - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def start_python_dataflow( # pylint: disable=too-many-arguments self, job_name: str, @@ -700,7 +700,7 @@ def _build_cmd(variables: Dict, label_formatter: Callable, project_id: str) -> L return command @_fallback_to_project_id_from_variables - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def is_job_dataflow_running(self, name: str, variables: Dict, project_id: Optional[str] = None) -> bool: """ Helper method to check if jos is still running in dataflow @@ -727,7 +727,7 @@ def is_job_dataflow_running(self, name: str, variables: Dict, project_id: Option ) return jobs_controller.is_job_running() - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def cancel_job( self, job_name: Optional[str] = None, diff --git a/airflow/providers/google/cloud/hooks/datafusion.py b/airflow/providers/google/cloud/hooks/datafusion.py index 429d6aa76a273..66fcd82b14896 100644 --- a/airflow/providers/google/cloud/hooks/datafusion.py +++ b/airflow/providers/google/cloud/hooks/datafusion.py @@ -28,12 +28,12 @@ from googleapiclient.discovery import Resource, build from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook Operation = Dict[str, Any] -class DataFusionHook(CloudBaseHook): +class DataFusionHook(GoogleBaseHook): """ Hook for Google DataFusion. """ @@ -104,7 +104,7 @@ def get_conn(self) -> Resource: ) return self._conn - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def restart_instance( self, instance_name: str, location: str, project_id: Optional[str] = None ) -> Operation: @@ -132,7 +132,7 @@ def restart_instance( ) return operation - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_instance( self, instance_name: str, location: str, project_id: Optional[str] = None ) -> Operation: @@ -159,7 +159,7 @@ def delete_instance( ) return operation - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_instance( self, instance_name: str, @@ -197,7 +197,7 @@ def create_instance( ) return operation - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_instance( self, instance_name: str, location: str, project_id: Optional[str] = None ) -> Dict[str, Any]: @@ -224,7 +224,7 @@ def get_instance( ) return instance - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def patch_instance( self, instance_name: str, diff --git a/airflow/providers/google/cloud/hooks/dataproc.py b/airflow/providers/google/cloud/hooks/dataproc.py index c5454f9f24e9d..97b7404749079 100644 --- a/airflow/providers/google/cloud/hooks/dataproc.py +++ b/airflow/providers/google/cloud/hooks/dataproc.py @@ -35,7 +35,7 @@ ) from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook from airflow.version import version as airflow_version @@ -203,7 +203,7 @@ def build(self) -> Dict: return self.job -class DataprocHook(CloudBaseHook): +class DataprocHook(GoogleBaseHook): """ Hook for Google Cloud Dataproc APIs. @@ -249,7 +249,7 @@ def get_job_client(self, location: Optional[str] = None) -> JobControllerClient: client_options=client_options ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_cluster( self, region: str, @@ -296,7 +296,7 @@ def create_cluster( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_cluster( self, region: str, @@ -346,7 +346,7 @@ def delete_cluster( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def diagnose_cluster( self, region: str, @@ -386,7 +386,7 @@ def diagnose_cluster( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_cluster( self, region: str, @@ -425,7 +425,7 @@ def get_cluster( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_clusters( self, region: str, @@ -470,7 +470,7 @@ def list_clusters( ) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_cluster( # pylint: disable=too-many-arguments self, location: str, @@ -557,7 +557,7 @@ def update_cluster( # pylint: disable=too-many-arguments ) return operation - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_workflow_template( self, location: str, @@ -596,7 +596,7 @@ def create_workflow_template( metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def instantiate_workflow_template( self, location: str, @@ -653,7 +653,7 @@ def instantiate_workflow_template( ) return operation - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def instantiate_inline_workflow_template( self, location: str, @@ -699,7 +699,7 @@ def instantiate_inline_workflow_template( ) return operation - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def wait_for_job( self, job_id: str, @@ -733,7 +733,7 @@ def wait_for_job( if state == JobStatus.CANCELLED: raise AirflowException('Job was cancelled:\n{}'.format(job)) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_job( self, location: str, @@ -772,7 +772,7 @@ def get_job( ) return job - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def submit_job( self, location: str, @@ -854,7 +854,7 @@ def submit( project_id=project_id ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def cancel_job( self, job_id: str, diff --git a/airflow/providers/google/cloud/hooks/datastore.py b/airflow/providers/google/cloud/hooks/datastore.py index ee94f9bd88de2..8926577521333 100644 --- a/airflow/providers/google/cloud/hooks/datastore.py +++ b/airflow/providers/google/cloud/hooks/datastore.py @@ -26,10 +26,10 @@ from googleapiclient.discovery import build -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class DatastoreHook(CloudBaseHook): +class DatastoreHook(GoogleBaseHook): """ Interact with Google Cloud Datastore. This hook uses the Google Cloud Platform connection. @@ -70,7 +70,7 @@ def get_conn(self) -> Any: return self.connection - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def allocate_ids(self, partial_keys: List, project_id: Optional[str] = None) -> List: """ Allocate IDs for incomplete keys. @@ -94,7 +94,7 @@ def allocate_ids(self, partial_keys: List, project_id: Optional[str] = None) -> return resp['keys'] - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def begin_transaction(self, project_id: Optional[str] = None) -> str: """ Begins a new transaction. @@ -116,7 +116,7 @@ def begin_transaction(self, project_id: Optional[str] = None) -> str: return resp['transaction'] - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def commit(self, body: Dict, project_id: Optional[str] = None) -> Dict: """ Commit a transaction, optionally creating, deleting or modifying some entities. @@ -140,7 +140,7 @@ def commit(self, body: Dict, project_id: Optional[str] = None) -> Dict: return resp - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def lookup(self, keys: List, read_consistency: Optional[str] = None, @@ -178,7 +178,7 @@ def lookup(self, return resp - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def rollback(self, transaction: str, project_id: Optional[str] = None) -> Any: """ Roll back a transaction. @@ -197,7 +197,7 @@ def rollback(self, transaction: str, project_id: Optional[str] = None) -> Any: projectId=project_id, body={'transaction': transaction} ).execute(num_retries=self.num_retries) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def run_query(self, body: Dict, project_id: Optional[str] = None) -> Dict: """ Run a query for entities. @@ -288,7 +288,7 @@ def poll_operation_until_done(self, name: str, polling_interval_in_seconds: int) else: return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def export_to_storage_bucket(self, bucket: str, namespace: Optional[str] = None, @@ -336,7 +336,7 @@ def export_to_storage_bucket(self, return resp - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def import_from_storage_bucket(self, bucket: str, file: str, diff --git a/airflow/providers/google/cloud/hooks/dlp.py b/airflow/providers/google/cloud/hooks/dlp.py index 2a755ef0368aa..8a40fbd3a90cf 100644 --- a/airflow/providers/google/cloud/hooks/dlp.py +++ b/airflow/providers/google/cloud/hooks/dlp.py @@ -35,7 +35,7 @@ ) from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook DLP_JOB_PATH_PATTERN = "^projects/[^/]+/dlpJobs/(?P.*?)$" # Time to sleep between active checks of the operation results @@ -43,7 +43,7 @@ # pylint: disable=R0904, C0302 -class CloudDLPHook(CloudBaseHook): +class CloudDLPHook(GoogleBaseHook): """ Hook for Google Cloud Data Loss Prevention (DLP) APIs. Cloud DLP allows clients to detect the presence of Personally Identifiable @@ -75,7 +75,7 @@ def get_conn(self) -> DlpServiceClient: self._client = DlpServiceClient(credentials=self._get_credentials(), client_info=self.client_info) return self._client - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def cancel_dlp_job( self, dlp_job_id: str, @@ -169,7 +169,7 @@ def create_deidentify_template( metadata=metadata, ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_dlp_job( self, project_id: Optional[str] = None, @@ -309,7 +309,7 @@ def create_inspect_template( metadata=metadata, ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_job_trigger( self, project_id: Optional[str] = None, @@ -412,7 +412,7 @@ def create_stored_info_type( metadata=metadata, ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def deidentify_content( self, project_id: Optional[str] = None, @@ -519,7 +519,7 @@ def delete_deidentify_template( client.delete_deidentify_template(name=name, retry=retry, timeout=timeout, metadata=metadata) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_dlp_job( self, dlp_job_id: str, @@ -606,7 +606,7 @@ def delete_inspect_template( client.delete_inspect_template(name=name, retry=retry, timeout=timeout, metadata=metadata) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_job_trigger( self, job_trigger_id: str, @@ -742,7 +742,7 @@ def get_deidentify_template( return client.get_deidentify_template(name=name, retry=retry, timeout=timeout, metadata=metadata) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_dlp_job( self, dlp_job_id: str, @@ -830,7 +830,7 @@ def get_inspect_template( return client.get_inspect_template(name=name, retry=retry, timeout=timeout, metadata=metadata) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_job_trigger( self, job_trigger_id: str, @@ -918,7 +918,7 @@ def get_stored_info_type( return client.get_stored_info_type(name=name, retry=retry, timeout=timeout, metadata=metadata) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def inspect_content( self, project_id: Optional[str] = None, @@ -1031,7 +1031,7 @@ def list_deidentify_templates( return list(results) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_dlp_jobs( self, project_id: Optional[str] = None, @@ -1186,7 +1186,7 @@ def list_inspect_templates( ) return list(results) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_job_triggers( self, project_id: Optional[str] = None, @@ -1298,7 +1298,7 @@ def list_stored_info_types( ) return list(results) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def redact_image( self, project_id: Optional[str] = None, @@ -1358,7 +1358,7 @@ def redact_image( metadata=metadata, ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def reidentify_content( self, project_id: Optional[str] = None, @@ -1544,7 +1544,7 @@ def update_inspect_template( metadata=metadata, ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_job_trigger( self, job_trigger_id: str, diff --git a/airflow/providers/google/cloud/hooks/functions.py b/airflow/providers/google/cloud/hooks/functions.py index 067f908e2f9fe..ff4257d827669 100644 --- a/airflow/providers/google/cloud/hooks/functions.py +++ b/airflow/providers/google/cloud/hooks/functions.py @@ -25,14 +25,14 @@ from googleapiclient.discovery import build from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook # Time to sleep between active checks of the operation results TIME_TO_SLEEP_IN_SECONDS = 1 # noinspection PyAbstractClass -class CloudFunctionsHook(CloudBaseHook): +class CloudFunctionsHook(GoogleBaseHook): """ Hook for the Google Cloud Functions APIs. @@ -89,7 +89,7 @@ def get_function(self, name: str) -> Dict: return self.get_conn().projects().locations().functions().get( # pylint: disable=no-member name=name).execute(num_retries=self.num_retries) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_new_function(self, location: str, body: Dict, project_id: Optional[str] = None) -> None: """ Creates a new function in Cloud Function in the location specified in the body. @@ -132,7 +132,7 @@ def update_function(self, name: str, body: Dict, update_mask: List[str]) -> None operation_name = response["name"] self._wait_for_operation_to_complete(operation_name=operation_name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def upload_function_zip(self, location: str, zip_path: str, project_id: Optional[str] = None) -> str: """ Uploads zip file with sources. @@ -182,7 +182,7 @@ def delete_function(self, name: str) -> None: operation_name = response["name"] self._wait_for_operation_to_complete(operation_name=operation_name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def call_function( self, function_id: str, diff --git a/airflow/providers/google/cloud/hooks/gcs.py b/airflow/providers/google/cloud/hooks/gcs.py index 4b5b016ee040c..7dfdb87f6f7d8 100644 --- a/airflow/providers/google/cloud/hooks/gcs.py +++ b/airflow/providers/google/cloud/hooks/gcs.py @@ -32,11 +32,11 @@ from google.cloud import storage from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook from airflow.version import version -class GCSHook(CloudBaseHook): +class GCSHook(GoogleBaseHook): """ Interact with Google Cloud Storage. This hook uses the Google Cloud Platform connection. @@ -530,7 +530,7 @@ def get_md5hash(self, bucket_name, object_name): self.log.info('The md5Hash of %s is %s', object_name, blob_md5hash) return blob_md5hash - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_bucket(self, bucket_name, resource=None, diff --git a/airflow/providers/google/cloud/hooks/kms.py b/airflow/providers/google/cloud/hooks/kms.py index 754853ec4158a..3309c46dd2cc6 100644 --- a/airflow/providers/google/cloud/hooks/kms.py +++ b/airflow/providers/google/cloud/hooks/kms.py @@ -27,7 +27,7 @@ from google.api_core.retry import Retry from google.cloud.kms_v1 import KeyManagementServiceClient -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook def _b64encode(s: bytes) -> str: @@ -41,7 +41,7 @@ def _b64decode(s: str) -> bytes: # noinspection PyAbstractClass -class CloudKMSHook(CloudBaseHook): +class CloudKMSHook(GoogleBaseHook): """ Hook for Google Cloud Key Management service. diff --git a/airflow/providers/google/cloud/hooks/kubernetes_engine.py b/airflow/providers/google/cloud/hooks/kubernetes_engine.py index 5b76dde45beab..94ea13832bf01 100644 --- a/airflow/providers/google/cloud/hooks/kubernetes_engine.py +++ b/airflow/providers/google/cloud/hooks/kubernetes_engine.py @@ -34,12 +34,12 @@ from airflow import version from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook OPERATIONAL_POLL_INTERVAL = 15 -class GKEHook(CloudBaseHook): +class GKEHook(GoogleBaseHook): """ Hook for Google Kubernetes Engine APIs. @@ -138,7 +138,7 @@ def _append_label(cluster_proto: Cluster, key: str, val: str) -> Cluster: cluster_proto.resource_labels.update({key: val}) return cluster_proto - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_cluster( self, name: str, @@ -185,7 +185,7 @@ def delete_cluster( self.log.info('Assuming Success: %s', error.message) return None - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_cluster( self, cluster: Union[Dict, Cluster], @@ -243,7 +243,7 @@ def create_cluster( self.log.info('Assuming Success: %s', error.message) return self.get_cluster(name=cluster.name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_cluster( self, name: str, diff --git a/airflow/providers/google/cloud/hooks/mlengine.py b/airflow/providers/google/cloud/hooks/mlengine.py index 1bedd9676c298..dfa0bbed3826f 100644 --- a/airflow/providers/google/cloud/hooks/mlengine.py +++ b/airflow/providers/google/cloud/hooks/mlengine.py @@ -26,7 +26,7 @@ from googleapiclient.discovery import build from googleapiclient.errors import HttpError -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook from airflow.version import version as airflow_version log = logging.getLogger(__name__) @@ -58,7 +58,7 @@ def _poll_with_exponential_delay(request, max_n, is_done_func, is_error_func): raise ValueError('Connection could not be established after {} retries.'.format(max_n)) -class MLEngineHook(CloudBaseHook): +class MLEngineHook(GoogleBaseHook): """ Hook for Google ML Engine APIs. @@ -74,7 +74,7 @@ def get_conn(self): authed_http = self._authorize() return build('ml', 'v1', http=authed_http, cache_discovery=False) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_job( self, job: Dict, @@ -148,7 +148,7 @@ def create_job( return self._wait_for_job_done(project_id, job_id) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def cancel_job( self, job_id: str, @@ -246,7 +246,7 @@ def _wait_for_job_done(self, project_id: str, job_id: str, interval: int = 30): return job time.sleep(interval) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_version( self, model_name: str, @@ -286,7 +286,7 @@ def create_version( is_done_func=lambda resp: resp.get('done', False), is_error_func=lambda resp: resp.get('error', None) is not None) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def set_default_version( self, model_name: str, @@ -323,7 +323,7 @@ def set_default_version( self.log.error('Something went wrong: %s', e) raise - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_versions( self, model_name: str, @@ -359,7 +359,7 @@ def list_versions( time.sleep(5) return result - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_version( self, model_name: str, @@ -397,7 +397,7 @@ def delete_version( is_done_func=lambda resp: resp.get('done', False), is_error_func=lambda resp: resp.get('error', None) is not None) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_model( self, model: Dict, @@ -454,7 +454,7 @@ def create_model( return respone - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_model( self, model_name: str, @@ -488,7 +488,7 @@ def get_model( return None raise - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_model( self, model_name: str, diff --git a/airflow/providers/google/cloud/hooks/natural_language.py b/airflow/providers/google/cloud/hooks/natural_language.py index 8cb27c45d8d3a..fb37006fc8978 100644 --- a/airflow/providers/google/cloud/hooks/natural_language.py +++ b/airflow/providers/google/cloud/hooks/natural_language.py @@ -27,11 +27,11 @@ AnnotateTextRequest, AnnotateTextResponse, ClassifyTextResponse, Document, ) -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook # noinspection PyAbstractClass -class CloudNaturalLanguageHook(CloudBaseHook): +class CloudNaturalLanguageHook(GoogleBaseHook): """ Hook for Google Cloud Natural Language Service. @@ -61,7 +61,7 @@ def get_conn(self) -> LanguageServiceClient: ) return self._conn - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def analyze_entities( self, document: Union[Dict, Document], @@ -95,7 +95,7 @@ def analyze_entities( document=document, encoding_type=encoding_type, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def analyze_entity_sentiment( self, document: Union[Dict, Document], @@ -129,7 +129,7 @@ def analyze_entity_sentiment( document=document, encoding_type=encoding_type, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def analyze_sentiment( self, document: Union[Dict, Document], @@ -162,7 +162,7 @@ def analyze_sentiment( document=document, encoding_type=encoding_type, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def analyze_syntax( self, document: Union[Dict, Document], @@ -196,7 +196,7 @@ def analyze_syntax( document=document, encoding_type=encoding_type, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def annotate_text( self, document: Union[Dict, Document], @@ -239,7 +239,7 @@ def annotate_text( metadata=metadata, ) - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def classify_text( self, document: Union[Dict, Document], diff --git a/airflow/providers/google/cloud/hooks/pubsub.py b/airflow/providers/google/cloud/hooks/pubsub.py index 2d04de0585a9d..5e949b8734d3f 100644 --- a/airflow/providers/google/cloud/hooks/pubsub.py +++ b/airflow/providers/google/cloud/hooks/pubsub.py @@ -31,7 +31,7 @@ from google.cloud.pubsub_v1.types import Duration, MessageStoragePolicy, PushConfig, ReceivedMessage from googleapiclient.errors import HttpError -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook from airflow.version import version @@ -42,7 +42,7 @@ class PubSubException(Exception): # noinspection PyAbstractClass -class PubSubHook(CloudBaseHook): +class PubSubHook(GoogleBaseHook): """ Hook for accessing Google Pub/Sub. @@ -81,7 +81,7 @@ def subscriber_client(self) -> SubscriberClient: client_info=self.client_info ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def publish( self, topic: str, @@ -150,7 +150,7 @@ def _validate_messages(messages) -> None: "Wrong message. If 'data' is not provided 'attributes' must be a non empty dictionary.") # pylint: disable=too-many-arguments - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_topic( self, topic: str, @@ -229,7 +229,7 @@ def create_topic( self.log.info("Created topic (path) %s", topic_path) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_topic( self, topic: str, @@ -284,7 +284,7 @@ def delete_topic( self.log.info("Deleted topic (path) %s", topic_path) # pylint: disable=too-many-arguments - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_subscription( self, topic: str, @@ -396,7 +396,7 @@ def create_subscription( self.log.info("Created subscription (path) %s for topic (path) %s", subscription_path, topic_path) return subscription - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_subscription( self, subscription: str, @@ -451,7 +451,7 @@ def delete_subscription( self.log.info("Deleted subscription (path) %s", subscription_path) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def pull( self, subscription: str, @@ -514,7 +514,7 @@ def pull( except (HttpError, GoogleAPICallError) as e: raise PubSubException('Error pulling messages from subscription {}'.format(subscription_path), e) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def acknowledge( self, subscription: str, diff --git a/airflow/providers/google/cloud/hooks/spanner.py b/airflow/providers/google/cloud/hooks/spanner.py index 39d3a6c08f804..aebbfa2372608 100644 --- a/airflow/providers/google/cloud/hooks/spanner.py +++ b/airflow/providers/google/cloud/hooks/spanner.py @@ -28,10 +28,10 @@ from google.longrunning.operations_grpc_pb2 import Operation # noqa: F401 from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class SpannerHook(CloudBaseHook): +class SpannerHook(GoogleBaseHook): """ Hook for Google Cloud Spanner APIs. @@ -60,7 +60,7 @@ def _get_client(self, project_id: str) -> Client: ) return self._client - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_instance( self, instance_id: str, @@ -126,7 +126,7 @@ def _apply_to_instance( result = operation.result() self.log.info(result) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_instance( self, instance_id: str, @@ -161,7 +161,7 @@ def create_instance( self._apply_to_instance(project_id, instance_id, configuration_name, node_count, display_name, lambda x: x.create()) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_instance( self, instance_id: str, @@ -196,7 +196,7 @@ def update_instance( self._apply_to_instance(project_id, instance_id, configuration_name, node_count, display_name, lambda x: x.update()) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_instance(self, instance_id: str, project_id: Optional[str] = None) -> None: """ Deletes an existing Cloud Spanner instance. @@ -218,7 +218,7 @@ def delete_instance(self, instance_id: str, project_id: Optional[str] = None) -> self.log.error('An error occurred: %s. Exiting.', e.message) raise e - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_database( self, instance_id: str, @@ -253,7 +253,7 @@ def get_database( return database - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_database( self, instance_id: str, @@ -295,7 +295,7 @@ def create_database( result = operation.result() self.log.info(result) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_database( self, instance_id: str, @@ -346,7 +346,7 @@ def update_database( self.log.error('An error occurred: %s. Exiting.', e.message) raise e - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_database(self, instance_id: str, database_id, project_id: Optional[str] = None) -> bool: """ Drops a database in Cloud Spanner. @@ -384,7 +384,7 @@ def delete_database(self, instance_id: str, database_id, project_id: Optional[st return True - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def execute_dml( self, instance_id: str, diff --git a/airflow/providers/google/cloud/hooks/speech_to_text.py b/airflow/providers/google/cloud/hooks/speech_to_text.py index f65cada754554..5cf6929f248e9 100644 --- a/airflow/providers/google/cloud/hooks/speech_to_text.py +++ b/airflow/providers/google/cloud/hooks/speech_to_text.py @@ -24,10 +24,10 @@ from google.cloud.speech_v1 import SpeechClient from google.cloud.speech_v1.types import RecognitionAudio, RecognitionConfig -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class CloudSpeechToTextHook(CloudBaseHook): +class CloudSpeechToTextHook(GoogleBaseHook): """ Hook for Google Cloud Speech API. @@ -54,7 +54,7 @@ def get_conn(self) -> SpeechClient: self._client = SpeechClient(credentials=self._get_credentials(), client_info=self.client_info) return self._client - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def recognize_speech( self, config: Union[Dict, RecognitionConfig], diff --git a/airflow/providers/google/cloud/hooks/stackdriver.py b/airflow/providers/google/cloud/hooks/stackdriver.py index 5d00f976f8759..51b0bd4f47343 100644 --- a/airflow/providers/google/cloud/hooks/stackdriver.py +++ b/airflow/providers/google/cloud/hooks/stackdriver.py @@ -30,10 +30,10 @@ from googleapiclient.errors import HttpError from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class StackdriverHook(CloudBaseHook): +class StackdriverHook(GoogleBaseHook): """ Stackdriver Hook for connecting with GCP Stackdriver """ @@ -53,7 +53,7 @@ def _get_channel_client(self): self._channel_client = monitoring_v3.NotificationChannelServiceClient() return self._channel_client - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_alert_policies( self, project_id: Optional[str] = None, @@ -120,7 +120,7 @@ def list_alert_policies( else: return policies_ - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def _toggle_policy_status( self, new_state: bool, @@ -145,7 +145,7 @@ def _toggle_policy_status( metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def enable_alert_policies( self, project_id: Optional[str] = None, @@ -183,7 +183,7 @@ def enable_alert_policies( metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def disable_alert_policies( self, project_id: Optional[str] = None, @@ -221,7 +221,7 @@ def disable_alert_policies( metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def upsert_alert( self, alerts: str, @@ -362,7 +362,7 @@ def delete_alert_policy( 'Delete alerting policy failed. Error was {}'.format(err.content) ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_notification_channels( self, format_: Optional[str] = None, @@ -430,7 +430,7 @@ def list_notification_channels( else: return channels - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def _toggle_channel_status( self, new_state: str, @@ -458,7 +458,7 @@ def _toggle_channel_status( metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def enable_notification_channels( self, project_id: Optional[str] = None, @@ -497,7 +497,7 @@ def enable_notification_channels( metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def disable_notification_channels( self, filter_: Optional[str] = None, @@ -536,7 +536,7 @@ def disable_notification_channels( metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def upsert_channel( self, channels: str, diff --git a/airflow/providers/google/cloud/hooks/tasks.py b/airflow/providers/google/cloud/hooks/tasks.py index 2683551cdbc27..e44312773f417 100644 --- a/airflow/providers/google/cloud/hooks/tasks.py +++ b/airflow/providers/google/cloud/hooks/tasks.py @@ -28,10 +28,10 @@ from google.cloud.tasks_v2.types import FieldMask, Queue, Task from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class CloudTasksHook(CloudBaseHook): +class CloudTasksHook(GoogleBaseHook): """ Hook for Google Cloud Tasks APIs. Cloud Tasks allows developers to manage the execution of background work in their applications. @@ -65,7 +65,7 @@ def get_conn(self): ) return self._client - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_queue( self, location: str, @@ -122,7 +122,7 @@ def create_queue( metadata=metadata, ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_queue( self, task_queue: Queue, @@ -184,7 +184,7 @@ def update_queue( metadata=metadata, ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_queue( self, location: str, @@ -223,7 +223,7 @@ def get_queue( name=full_queue_name, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_queues( self, location: str, @@ -272,7 +272,7 @@ def list_queues( ) return list(queues) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_queue( self, location: str, @@ -310,7 +310,7 @@ def delete_queue( name=full_queue_name, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def purge_queue( self, location: str, @@ -349,7 +349,7 @@ def purge_queue( name=full_queue_name, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def pause_queue( self, location: str, @@ -388,7 +388,7 @@ def pause_queue( name=full_queue_name, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def resume_queue( self, location: str, @@ -427,7 +427,7 @@ def resume_queue( name=full_queue_name, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_task( self, location: str, @@ -493,7 +493,7 @@ def create_task( metadata=metadata, ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_task( self, location: str, @@ -543,7 +543,7 @@ def get_task( metadata=metadata, ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def list_tasks( self, location: str, @@ -595,7 +595,7 @@ def list_tasks( ) return list(tasks) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_task( self, location: str, @@ -636,7 +636,7 @@ def delete_task( name=full_task_name, retry=retry, timeout=timeout, metadata=metadata ) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def run_task( self, location: str, diff --git a/airflow/providers/google/cloud/hooks/text_to_speech.py b/airflow/providers/google/cloud/hooks/text_to_speech.py index 8c96d77fa7329..821b6cc37491e 100644 --- a/airflow/providers/google/cloud/hooks/text_to_speech.py +++ b/airflow/providers/google/cloud/hooks/text_to_speech.py @@ -26,10 +26,10 @@ AudioConfig, SynthesisInput, SynthesizeSpeechResponse, VoiceSelectionParams, ) -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class CloudTextToSpeechHook(CloudBaseHook): +class CloudTextToSpeechHook(GoogleBaseHook): """ Hook for Google Cloud Text to Speech API. @@ -63,7 +63,7 @@ def get_conn(self) -> TextToSpeechClient: return self._client - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def synthesize_speech( self, input_data: Union[Dict, SynthesisInput], diff --git a/airflow/providers/google/cloud/hooks/translate.py b/airflow/providers/google/cloud/hooks/translate.py index 8b8e5c4a61303..c6ee3e7e20bb9 100644 --- a/airflow/providers/google/cloud/hooks/translate.py +++ b/airflow/providers/google/cloud/hooks/translate.py @@ -22,10 +22,10 @@ from google.cloud.translate_v2 import Client -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class CloudTranslateHook(CloudBaseHook): +class CloudTranslateHook(GoogleBaseHook): """ Hook for Google Cloud translate APIs. @@ -48,7 +48,7 @@ def get_conn(self) -> Client: self._client = Client(credentials=self._get_credentials(), client_info=self.client_info) return self._client - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def translate( self, values: Union[str, List[str]], diff --git a/airflow/providers/google/cloud/hooks/video_intelligence.py b/airflow/providers/google/cloud/hooks/video_intelligence.py index 9c1356b561b9e..215a29a3bead5 100644 --- a/airflow/providers/google/cloud/hooks/video_intelligence.py +++ b/airflow/providers/google/cloud/hooks/video_intelligence.py @@ -25,10 +25,10 @@ from google.cloud.videointelligence_v1 import VideoIntelligenceServiceClient from google.cloud.videointelligence_v1.types import VideoContext -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class CloudVideoIntelligenceHook(CloudBaseHook): +class CloudVideoIntelligenceHook(GoogleBaseHook): """ Hook for Google Cloud Video Intelligence APIs. @@ -60,7 +60,7 @@ def get_conn(self) -> VideoIntelligenceServiceClient: ) return self._conn - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def annotate_video( self, input_uri: Optional[str] = None, diff --git a/airflow/providers/google/cloud/hooks/vision.py b/airflow/providers/google/cloud/hooks/vision.py index 4979e3a9d7063..a8fb1a2a27c87 100644 --- a/airflow/providers/google/cloud/hooks/vision.py +++ b/airflow/providers/google/cloud/hooks/vision.py @@ -31,7 +31,7 @@ from google.protobuf.json_format import MessageToDict from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook ERR_DIFF_NAMES = \ """The {label} name provided in the object ({explicit_name}) is different than the name created @@ -116,7 +116,7 @@ def get_entity_with_name( ) -class CloudVisionHook(CloudBaseHook): +class CloudVisionHook(GoogleBaseHook): """ Hook for Google Cloud Vision APIs. @@ -162,7 +162,7 @@ def _check_for_error(response: Dict) -> None: if "error" in response: raise AirflowException(response) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_product_set( self, location: str, @@ -200,7 +200,7 @@ def create_product_set( return product_set_id - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_product_set( self, location: str, @@ -223,7 +223,7 @@ def get_product_set( self.log.debug('ProductSet retrieved:\n%s', response) return MessageToDict(response) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_product_set( self, product_set: Union[dict, ProductSet], @@ -253,7 +253,7 @@ def update_product_set( self.log.debug('ProductSet updated:\n%s', response) return MessageToDict(response) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_product_set( self, location: str, @@ -275,7 +275,7 @@ def delete_product_set( client.delete_product_set(name=name, retry=retry, timeout=timeout, metadata=metadata) self.log.info('ProductSet with the name [%s] deleted.', name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_product( self, location: str, @@ -313,7 +313,7 @@ def create_product( return product_id - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def get_product( self, location: str, @@ -337,7 +337,7 @@ def get_product( self.log.debug('Product retrieved:\n%s', response) return MessageToDict(response) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def update_product( self, product: Union[dict, Product], @@ -365,7 +365,7 @@ def update_product( self.log.debug('Product updated:\n%s', response) return MessageToDict(response) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_product( self, location: str, @@ -387,7 +387,7 @@ def delete_product( client.delete_product(name=name, retry=retry, timeout=timeout, metadata=metadata) self.log.info('Product with the name [%s] deleted:', name) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def create_reference_image( self, location: str, @@ -430,7 +430,7 @@ def create_reference_image( return reference_image_id - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def delete_reference_image( self, location: str, @@ -460,7 +460,7 @@ def delete_reference_image( self.log.info('ReferenceImage with the name [%s] deleted.', name) return MessageToDict(response) - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def add_product_to_product_set( self, product_set_id: str, @@ -490,7 +490,7 @@ def add_product_to_product_set( self.log.info('Product added to Product Set') - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def remove_product_from_product_set( self, product_set_id: str, @@ -541,7 +541,7 @@ def annotate_image( return MessageToDict(response) - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def batch_annotate_images( self, requests: Union[List[dict], List[AnnotateImageRequest]], @@ -564,7 +564,7 @@ def batch_annotate_images( return MessageToDict(response) - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def text_detection( self, image: Union[Dict, Image], @@ -594,7 +594,7 @@ def text_detection( return response - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def document_text_detection( self, image: Union[Dict, Image], @@ -624,7 +624,7 @@ def document_text_detection( return response - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def label_detection( self, image: Union[Dict, Image], @@ -654,7 +654,7 @@ def label_detection( return response - @CloudBaseHook.quota_retry() + @GoogleBaseHook.quota_retry() def safe_search_detection( self, image: Union[Dict, Image], diff --git a/airflow/providers/google/cloud/operators/kubernetes_engine.py b/airflow/providers/google/cloud/operators/kubernetes_engine.py index 4a717cc94a88e..55bbdf89ac495 100644 --- a/airflow/providers/google/cloud/operators/kubernetes_engine.py +++ b/airflow/providers/google/cloud/operators/kubernetes_engine.py @@ -29,8 +29,8 @@ from airflow.exceptions import AirflowException from airflow.models import BaseOperator from airflow.providers.cncf.kubernetes.operators.kubernetes_pod import KubernetesPodOperator -from airflow.providers.google.cloud.hooks.base import CloudBaseHook from airflow.providers.google.cloud.hooks.kubernetes_engine import GKEHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook from airflow.utils.decorators import apply_defaults from airflow.utils.process_utils import execute_in_subprocess, patch_environ @@ -244,7 +244,7 @@ def __init__(self, ) def execute(self, context): - hook = CloudBaseHook(gcp_conn_id=self.gcp_conn_id) + hook = GoogleBaseHook(gcp_conn_id=self.gcp_conn_id) self.project_id = self.project_id or hook.project_id if not self.project_id: diff --git a/airflow/providers/google/common/__init__.py b/airflow/providers/google/common/__init__.py new file mode 100644 index 0000000000000..13a83393a9124 --- /dev/null +++ b/airflow/providers/google/common/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/airflow/providers/google/common/hooks/__init__.py b/airflow/providers/google/common/hooks/__init__.py new file mode 100644 index 0000000000000..13a83393a9124 --- /dev/null +++ b/airflow/providers/google/common/hooks/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/airflow/providers/google/cloud/hooks/base.py b/airflow/providers/google/common/hooks/base_google.py similarity index 99% rename from airflow/providers/google/cloud/hooks/base.py rename to airflow/providers/google/common/hooks/base_google.py index ca251a844db26..d36a0e2507d0f 100644 --- a/airflow/providers/google/cloud/hooks/base.py +++ b/airflow/providers/google/common/hooks/base_google.py @@ -122,7 +122,7 @@ def __init__(self): RT = TypeVar('RT') # pylint: disable=invalid-name -class CloudBaseHook(BaseHook): +class GoogleBaseHook(BaseHook): """ A base hook for Google cloud-related hooks. Google cloud has a shared REST API client that is built in the same way no matter which service you use. @@ -329,7 +329,7 @@ def fallback_to_default_project_id(func: Callable[..., RT]) -> Callable[..., RT] :return: result of the function call """ @functools.wraps(func) - def inner_wrapper(self: CloudBaseHook, *args, **kwargs) -> RT: + def inner_wrapper(self: GoogleBaseHook, *args, **kwargs) -> RT: if args: raise AirflowException( "You must use keyword arguments in this methods rather than" @@ -356,7 +356,7 @@ def provide_gcp_credential_file(func: Callable[..., RT]) -> Callable[..., RT]: makes it easier to use multiple connection in one function. """ @functools.wraps(func) - def wrapper(self: CloudBaseHook, *args, **kwargs) -> RT: + def wrapper(self: GoogleBaseHook, *args, **kwargs) -> RT: with self.provide_gcp_credential_file_as_context(): return func(self, *args, **kwargs) return wrapper diff --git a/airflow/providers/google/cloud/hooks/discovery_api.py b/airflow/providers/google/common/hooks/discovery_api.py similarity index 98% rename from airflow/providers/google/cloud/hooks/discovery_api.py rename to airflow/providers/google/common/hooks/discovery_api.py index c158e2f82ed10..22adbb0e016f5 100644 --- a/airflow/providers/google/cloud/hooks/discovery_api.py +++ b/airflow/providers/google/common/hooks/discovery_api.py @@ -23,10 +23,10 @@ from googleapiclient.discovery import Resource, build -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class GoogleDiscoveryApiHook(CloudBaseHook): +class GoogleDiscoveryApiHook(GoogleBaseHook): """ A hook to use the Google API Discovery Service. diff --git a/airflow/providers/google/firebase/hooks/firestore.py b/airflow/providers/google/firebase/hooks/firestore.py index ad426ee249a75..141e1737484fc 100644 --- a/airflow/providers/google/firebase/hooks/firestore.py +++ b/airflow/providers/google/firebase/hooks/firestore.py @@ -23,14 +23,14 @@ from googleapiclient.discovery import build, build_from_document from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook # Time to sleep between active checks of the operation results TIME_TO_SLEEP_IN_SECONDS = 5 # noinspection PyAbstractClass -class CloudFirestoreHook(CloudBaseHook): +class CloudFirestoreHook(GoogleBaseHook): """ Hook for the Google Firestore APIs. @@ -79,7 +79,7 @@ def get_conn(self): ) return self._conn - @CloudBaseHook.fallback_to_default_project_id + @GoogleBaseHook.fallback_to_default_project_id def export_documents( self, body: Dict, database_id: str = "(default)", project_id: Optional[str] = None ) -> None: diff --git a/airflow/providers/google/marketing_platform/hooks/analytics.py b/airflow/providers/google/marketing_platform/hooks/analytics.py index 02c48efe330f2..b41243a0ab19c 100644 --- a/airflow/providers/google/marketing_platform/hooks/analytics.py +++ b/airflow/providers/google/marketing_platform/hooks/analytics.py @@ -20,10 +20,10 @@ from googleapiclient.discovery import Resource, build from googleapiclient.http import MediaFileUpload -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class GoogleAnalyticsHook(CloudBaseHook): +class GoogleAnalyticsHook(GoogleBaseHook): """ Hook for Google Analytics 360. """ diff --git a/airflow/providers/google/marketing_platform/hooks/campaign_manager.py b/airflow/providers/google/marketing_platform/hooks/campaign_manager.py index f106e3efcd2be..77c1f5698523a 100644 --- a/airflow/providers/google/marketing_platform/hooks/campaign_manager.py +++ b/airflow/providers/google/marketing_platform/hooks/campaign_manager.py @@ -24,10 +24,10 @@ from googleapiclient.discovery import Resource, build from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class GoogleCampaignManagerHook(CloudBaseHook): +class GoogleCampaignManagerHook(GoogleBaseHook): """ Hook for Google Campaign Manager. """ diff --git a/airflow/providers/google/marketing_platform/hooks/display_video.py b/airflow/providers/google/marketing_platform/hooks/display_video.py index 4ab534c4316ec..919489230acda 100644 --- a/airflow/providers/google/marketing_platform/hooks/display_video.py +++ b/airflow/providers/google/marketing_platform/hooks/display_video.py @@ -22,10 +22,10 @@ from googleapiclient.discovery import Resource, build -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class GoogleDisplayVideo360Hook(CloudBaseHook): +class GoogleDisplayVideo360Hook(GoogleBaseHook): """ Hook for Google Display & Video 360. """ diff --git a/airflow/providers/google/marketing_platform/hooks/search_ads.py b/airflow/providers/google/marketing_platform/hooks/search_ads.py index e9659024d35ef..2264cc1d6c592 100644 --- a/airflow/providers/google/marketing_platform/hooks/search_ads.py +++ b/airflow/providers/google/marketing_platform/hooks/search_ads.py @@ -22,10 +22,10 @@ from googleapiclient.discovery import build -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class GoogleSearchAdsHook(CloudBaseHook): +class GoogleSearchAdsHook(GoogleBaseHook): """ Hook for Google Search Ads 360. """ diff --git a/airflow/providers/google/suite/hooks/drive.py b/airflow/providers/google/suite/hooks/drive.py index 83306a9088261..bac35570fd68e 100644 --- a/airflow/providers/google/suite/hooks/drive.py +++ b/airflow/providers/google/suite/hooks/drive.py @@ -21,11 +21,11 @@ from googleapiclient.discovery import Resource, build from googleapiclient.http import MediaFileUpload -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook # noinspection PyAbstractClass -class GoogleDriveHook(CloudBaseHook): +class GoogleDriveHook(GoogleBaseHook): """ Hook for the Google Drive APIs. diff --git a/airflow/providers/google/suite/hooks/sheets.py b/airflow/providers/google/suite/hooks/sheets.py index d68056213106e..71e5b4e155c5e 100644 --- a/airflow/providers/google/suite/hooks/sheets.py +++ b/airflow/providers/google/suite/hooks/sheets.py @@ -25,10 +25,10 @@ from googleapiclient.discovery import build from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks.base import CloudBaseHook +from airflow.providers.google.common.hooks.base_google import GoogleBaseHook -class GSheetsHook(CloudBaseHook): +class GSheetsHook(GoogleBaseHook): """ Interact with Google Sheets via GCP connection Reading and writing cells in Google Sheet: diff --git a/airflow/utils/log/stackdriver_task_handler.py b/airflow/utils/log/stackdriver_task_handler.py index 3d3a1a80dd0a3..d670b8e2a47e4 100644 --- a/airflow/utils/log/stackdriver_task_handler.py +++ b/airflow/utils/log/stackdriver_task_handler.py @@ -92,9 +92,9 @@ def __init__( def _client(self) -> gcp_logging.Client: """Google Cloud Library API client""" if self.gcp_conn_id: - from airflow.providers.google.cloud.hooks.base import CloudBaseHook + from airflow.providers.google.common.hooks.base_google import GoogleBaseHook - hook = CloudBaseHook(gcp_conn_id=self.gcp_conn_id) + hook = GoogleBaseHook(gcp_conn_id=self.gcp_conn_id) credentials = hook._get_credentials() # pylint: disable=protected-access else: # Use Application Default Credentials diff --git a/docs/autoapi_templates/index.rst b/docs/autoapi_templates/index.rst index 5f2d149f1e9bb..e4e3c22ea73b0 100644 --- a/docs/autoapi_templates/index.rst +++ b/docs/autoapi_templates/index.rst @@ -253,6 +253,8 @@ All hooks are in the following packages: airflow/providers/google/cloud/hooks/index + airflow/providers/google/common/hooks/index + airflow/providers/google/firebase/hooks/index airflow/providers/google/marketing_platform/hooks/index diff --git a/docs/build.sh b/docs/build.sh index bbbe7431290c7..fca0a32df6afd 100755 --- a/docs/build.sh +++ b/docs/build.sh @@ -87,7 +87,7 @@ mapfile -t DEPRECATED_MODULES < <(grep -R -i -l 'This module is deprecated.' ../ cut -d "." -f 1 | \ sed "s#/#.#g") -IGNORED_MISSING_MODULES=('airflow.providers.google.cloud.hooks.base') +IGNORED_MISSING_MODULES=('airflow.providers.google.common.hooks.base') mapfile -t ALL_MODULES < <(find ../airflow/{,providers/*/*/,providers/*/}{operators,sensors,hooks} -name "*.py" | \ grep -v "__init__" | \ diff --git a/docs/operators-and-hooks-ref.rst b/docs/operators-and-hooks-ref.rst index 673ca080119f1..8b349a32e802e 100644 --- a/docs/operators-and-hooks-ref.rst +++ b/docs/operators-and-hooks-ref.rst @@ -531,7 +531,7 @@ Airflow has extensive support for the `Google Cloud Platform ` documentation to configure connections to GCP. -All hooks are based on :class:`airflow.providers.google.cloud.hooks.base.GoogleCloudBaseHook`. +All hooks are based on :class:`airflow.providers.google.common.hooks.base.GoogleBaseHook`. .. note:: You can learn how to use GCP integrations by analyzing the @@ -892,7 +892,7 @@ Other operators and hooks * - - - - :mod:`airflow.providers.google.cloud.hooks.discovery_api` + - :mod:`airflow.providers.google.common.hooks.discovery_api` .. _service: @@ -905,7 +905,7 @@ Airflow has a limited support for the `Yandex.Cloud ` See the :doc:`Yandex.Cloud connection type ` documentation to configure connections to Yandex.Cloud. -All hooks are based on :class:`airflow.contrib.hooks.yandexcloud_base_hook.YandexCloudBaseHook`. +All hooks are based on :class:`airflow.contrib.hooks.yandexcloud_base_hook.YandexGoogleBaseHook`. .. note:: You can learn how to use Yandex.Cloud integrations by analyzing the diff --git a/tests/providers/google/cloud/hooks/test_automl.py b/tests/providers/google/cloud/hooks/test_automl.py index 5c12ae38b7d02..fc3828441a86e 100644 --- a/tests/providers/google/cloud/hooks/test_automl.py +++ b/tests/providers/google/cloud/hooks/test_automl.py @@ -52,7 +52,7 @@ class TestAuoMLHook(unittest.TestCase): def setUp(self) -> None: with mock.patch( - "airflow.providers.google.cloud.hooks.automl.CloudBaseHook.__init__", + "airflow.providers.google.cloud.hooks.automl.GoogleBaseHook.__init__", new=mock_base_gcp_hook_no_default_project_id, ): self.hook = CloudAutoMLHook() @@ -61,7 +61,7 @@ def setUp(self) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.automl.CloudBaseHook.client_info", + "airflow.providers.google.cloud.hooks.automl.GoogleBaseHook.client_info", new_callable=lambda: CLIENT_INFO, ) @mock.patch("airflow.providers.google.cloud.hooks.automl.AutoMlClient") @@ -72,7 +72,7 @@ def test_get_conn(self, mock_automl_client, mock_client_info): ) @mock.patch( - "airflow.providers.google.cloud.hooks.automl.CloudBaseHook.client_info", + "airflow.providers.google.cloud.hooks.automl.GoogleBaseHook.client_info", new_callable=lambda: CLIENT_INFO, ) @mock.patch("airflow.providers.google.cloud.hooks.automl.PredictionServiceClient") diff --git a/tests/providers/google/cloud/hooks/test_bigquery.py b/tests/providers/google/cloud/hooks/test_bigquery.py index c99d5bee391f7..eb4ed897caee5 100644 --- a/tests/providers/google/cloud/hooks/test_bigquery.py +++ b/tests/providers/google/cloud/hooks/test_bigquery.py @@ -38,7 +38,7 @@ class TestBigQueryHookMethods(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryConnection") @@ -63,10 +63,10 @@ def test_bigquery_client_creation( self.assertEqual(mock_bigquery_connection.return_value, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) - @mock.patch("airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__") + @mock.patch("airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__") def test_bigquery_bigquery_conn_id_deprecation_warning( self, mock_base_hook_init, mock_get_creds_and_proj_id ): @@ -79,7 +79,7 @@ def test_bigquery_bigquery_conn_id_deprecation_warning( self.assertEqual(warning_message, str(warn.warning)) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) def test_bigquery_insert_rows_not_implemented(self, mock_get_creds_and_proj_id): @@ -88,7 +88,7 @@ def test_bigquery_insert_rows_not_implemented(self, mock_get_creds_and_proj_id): bq_hook.insert_rows(table="table", rows=[1, 2]) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -102,7 +102,7 @@ def test_bigquery_table_exists_true(self, mock_get_service, mock_get_creds_and_p self.assertTrue(result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -121,7 +121,7 @@ def test_bigquery_table_exists_false(self, mock_get_service, mock_get_creds_and_ self.assertFalse(result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -141,7 +141,7 @@ def test_bigquery_table_exists_raise_exception(self, mock_get_service, mock_get_ resp_getitem.assert_called_once_with('status') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch('airflow.providers.google.cloud.hooks.bigquery.read_gbq') @@ -154,7 +154,7 @@ def test_get_pandas_df(self, mock_read_gbq, mock_get_creds_and_proj_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=("CREDENTIALS", "PROJECT_ID",) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -173,7 +173,7 @@ def test_invalid_schema_update_options(self, mock_get_service, mock_get_creds_an ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -194,7 +194,7 @@ def test_invalid_schema_update_and_write_disposition(self, mock_get_service, moc side_effect=[False, True] ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -211,7 +211,7 @@ def test_cancel_queries(self, mock_get_service, mock_get_creds_and_proj_id, mock ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -226,7 +226,7 @@ def test_run_query_sql_dialect_default( @parameterized.expand([(None, True), (True, True), (False, False)]) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -240,7 +240,7 @@ def test_run_query_sql_dialect( self.assertIs(args[0]['query']['useLegacySql'], expected) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -259,7 +259,7 @@ def test_run_query_sql_dialect_legacy_with_query_params( self.assertIs(args[0]['query']['useLegacySql'], False) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -276,7 +276,7 @@ def test_run_query_sql_dialect_legacy_with_query_params_fails( bq_hook.run_query('query', use_legacy_sql=True, query_params=params) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -299,7 +299,7 @@ def test_run_query_without_sql_fails( (['ALLOW_FIELD_ADDITION', 'ALLOW_FIELD_RELAXATION'], 'WRITE_TRUNCATE'), ]) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -351,7 +351,7 @@ def test_run_query_schema_update_options( r"'WRITE_APPEND' or 'WRITE_TRUNCATE'"), ]) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -374,7 +374,7 @@ def test_run_query_schema_update_options_incorrect( @parameterized.expand([(True,), (False,)]) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -391,7 +391,7 @@ def test_api_resource_configs( self.assertIs(args[0]['query']['useLegacySql'], True) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -455,7 +455,7 @@ def test_validate_src_fmt_configs(self): [("AVRO",), ("PARQUET",), ("NEWLINE_DELIMITED_JSON",), ("DATASTORE_BACKUP",)] ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -474,7 +474,7 @@ def test_run_load_with_non_csv_as_src_fmt(self, fmt, mock_get_service, mock_proj self.fail("run_load() raised ValueError unexpectedly!") @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -505,7 +505,7 @@ def test_run_extract(self, run_with_config, mock_get_service, mock_project_id): run_with_config.assert_called_once_with(expected_configuration) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -517,7 +517,7 @@ def test_get_tabledata_default_parameters(self, mock_get_service, mock_project_i method.assert_called_once_with(datasetId=DATASET_ID, projectId=PROJECT_ID, tableId=TABLE_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -544,7 +544,7 @@ def test_get_tabledata_optional_parameters(self, mock_get_service, mock_project_ ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -556,7 +556,7 @@ def test_run_table_delete(self, mock_get_service, mock_project_id): method.assert_called_once_with(datasetId=DATASET_ID, projectId=PROJECT_ID, tableId=TABLE_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -572,7 +572,7 @@ def test_run_table_delete_ignore_if_missing_fails(self, mock_get_service, mock_p method.assert_called_once_with(datasetId=DATASET_ID, projectId=PROJECT_ID, tableId=TABLE_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -587,7 +587,7 @@ def test_run_table_delete_ignore_if_missing_pass(self, mock_get_service, mock_pr method.assert_called_once_with(datasetId=DATASET_ID, projectId=PROJECT_ID, tableId=TABLE_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -614,7 +614,7 @@ def test_table_upsert_create_new_table(self, mock_get_service, mock_project_id): assert method_tables_insert_execute.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -653,7 +653,7 @@ def test_table_upsert_already_exists(self, mock_get_service, mock_project_id): assert method_tables_update_execute.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -686,7 +686,7 @@ def test_run_grant_dataset_view_access_granting(self, mock_get_service, mock_pro assert method_patch_execute.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -716,7 +716,7 @@ def test_run_grant_dataset_view_access_already_granted(self, mock_get_service, m method_patch.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -762,7 +762,7 @@ def test_get_dataset_tables_list(self, mock_get_service, mock_project_id): ), ]) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -786,7 +786,7 @@ def test_poll_job_complete_pass( assert method_execute.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -802,7 +802,7 @@ def test_pull_job_complete_on_fails(self, mock_get_service, mock_get_creds_and_p bq_hook.poll_job_complete(JOB_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -822,7 +822,7 @@ def test_cancel_query_np_jobs_to_cancel( mock_logger_info.has_call(mock.call("No running BigQuery jobs to cancel.")) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -849,7 +849,7 @@ def test_cancel_query_np_cancel_timeout( ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -873,7 +873,7 @@ def test_cancel_query_np_cancel_completed( mock_logger_info.has_call(mock.call("Job successfully canceled: {}, {}".format(PROJECT_ID, JOB_ID))) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -891,7 +891,7 @@ def test_get_schema(self, mock_get_service, mock_get_creds_and_proj_id): self.assertEqual(schema, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -958,7 +958,7 @@ def test_invalid_syntax(self, table_input, var_name, exception_message): class TestBigQueryHookSourceFormat(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -976,7 +976,7 @@ def test_invalid_source_format(self, mock_get_service, mock_get_creds_and_proj_i class TestBigQueryExternalTableSourceFormat(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -997,7 +997,7 @@ def test_invalid_source_format(self, mock_get_service, mock_get_creds_and_proj_i class TestTableDataOperations(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1028,7 +1028,7 @@ def test_insert_all_succeed(self, mock_get_service, mock_get_creds_and_proj_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1059,7 +1059,7 @@ def test_insert_all_fail(self, mock_get_service, mock_get_creds_and_proj_id): class TestTableOperations(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1079,7 +1079,7 @@ def test_create_view_fails_on_exception(self, mock_get_service, mock_get_creds_a bq_hook.create_empty_table(PROJECT_ID, DATASET_ID, TABLE_ID, view=view) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1102,7 +1102,7 @@ def test_create_view(self, mock_get_service, mock_get_creds_and_proj_id): method.assert_called_once_with(projectId=PROJECT_ID, datasetId=DATASET_ID, body=body) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1154,7 +1154,7 @@ def test_patch_table(self, mock_get_service, mock_get_creds_and_proj_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1169,7 +1169,7 @@ def test_patch_table_on_exception(self, mock_get_service, mock_get_creds_and_pro bq_hook.patch_table(DATASET_ID, TABLE_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=("CREDENTIALS", "PROJECT_ID",) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1195,7 +1195,7 @@ def test_patch_view(self, mock_get_service, mock_get_creds_and_proj_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1220,7 +1220,7 @@ def test_create_empty_table_succeed(self, mock_get_service, mock_get_creds_and_p ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1265,7 +1265,7 @@ def test_create_empty_table_with_extras_succeed(self, mock_get_service, mock_get ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1280,7 +1280,7 @@ def test_create_empty_table_on_exception(self, mock_get_service, mock_get_creds_ bq_hook.create_empty_table(PROJECT_ID, DATASET_ID, TABLE_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1326,7 +1326,7 @@ def test_get_tables_list(self, mock_get_service, mock_get_creds_and_proj_id): self.assertEqual(result, expected_result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1353,7 +1353,7 @@ def test_table_upsert_on_insert(self, mock_get_service, mock_get_creds_and_proj_ ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID), ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1417,7 +1417,7 @@ def test_table_upsert_on_update(self, mock_get_service, mock_get_creds_and_proj_ class TestBigQueryCursor(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1441,7 +1441,7 @@ def test_execute_with_parameters(self, mocked_rwc, mock_get_service, mock_get_cr ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1475,7 +1475,7 @@ def test_execute_many(self, mocked_rwc, mock_get_service, mock_get_creds_and_pro ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1486,7 +1486,7 @@ def test_description(self, mock_get_service, mock_get_creds_and_proj_id): bq_cursor.description @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1497,7 +1497,7 @@ def test_close(self, mock_get_service, mock_get_creds_and_proj_id): self.assertIsNone(result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1508,7 +1508,7 @@ def test_rowcunt(self, mock_get_service, mock_get_creds_and_proj_id): self.assertEqual(-1, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1521,7 +1521,7 @@ def test_fetchone(self, mock_next, mock_get_service, mock_get_creds_and_proj_id) self.assertEqual(mock_next.return_value, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1536,7 +1536,7 @@ def test_fetchall(self, mock_fetchone, mock_get_service, mock_get_creds_and_proj self.assertEqual([1, 2, 3], result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1558,7 +1558,7 @@ def test_fetchmany(self, mock_fetchone, mock_get_service, mock_get_creds_and_pro self.assertEqual([1, 2, 3], result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1570,7 +1570,7 @@ def test_next_no_jobid(self, mock_get_service, mock_get_creds_and_proj_id): self.assertIsNone(result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1588,7 +1588,7 @@ def test_next_buffer(self, mock_get_service, mock_get_creds_and_proj_id): self.assertIsNone(result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1623,7 +1623,7 @@ def test_next(self, mock_get_service, mock_get_creds_and_proj_id): mock_execute.assert_called_once_with(num_retries=bq_cursor.num_retries) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1645,7 +1645,7 @@ def test_next_no_rows(self, mock_flush_results, mock_get_service, mock_get_creds assert mock_flush_results.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1658,7 +1658,7 @@ def test_flush_cursor_in_execute(self, _, mocked_fr, mock_get_service, mock_get_ assert mocked_fr.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1676,7 +1676,7 @@ def test_flush_cursor(self, mock_get_service, mock_get_creds_and_proj_id): self.assertListEqual(bq_cursor.buffer, []) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1692,7 +1692,7 @@ def test_arraysize(self, mock_get_service, mock_get_creds_and_proj_id): class TestLabelsInRunJob(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1717,7 +1717,7 @@ def run_with_config(config): class TestDatasetsOperations(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1731,7 +1731,7 @@ def test_create_empty_dataset_no_dataset_id_err(self, mock_get_service, mock_get bq_hook.create_empty_dataset(dataset_id="", project_id="") @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1751,7 +1751,7 @@ def test_create_empty_dataset_duplicates_call_err(self, mock_get_service, mock_g "projectId": "project_test2"}}) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1774,7 +1774,7 @@ def test_create_empty_dataset_with_location_duplicates_call_err( "projectId": "project_test"}}) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=("CREDENTIALS", "PROJECT_ID",) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1796,7 +1796,7 @@ def test_create_empty_dataset_with_location(self, mock_get_service, mock_get_cre method.assert_called_once_with(projectId=PROJECT_ID, body=expected_body) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1822,7 +1822,7 @@ def test_create_empty_dataset_with_location_duplicates_call_no_err( method.assert_called_once_with(projectId=PROJECT_ID, body=expected_body) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=("CREDENTIALS", "PROJECT_ID",) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1835,7 +1835,7 @@ def test_get_dataset_without_dataset_id(self, mock_get_service, mock_get_creds_a bq_hook.get_dataset(dataset_id="", project_id="project_test") @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1859,7 +1859,7 @@ def test_get_dataset(self, mock_get_service, mock_get_creds_and_proj_id): self.assertEqual(result, expected_result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1895,7 +1895,7 @@ def test_get_datasets_list(self, mock_get_service, mock_get_creds_and_proj_id): self.assertEqual(result, expected_result['datasets']) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1910,7 +1910,7 @@ def test_delete_dataset(self, mock_get_service, mock_get_creds_and_proj_id): deleteContents=delete_contents) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=("CREDENTIALS", "PROJECT_ID",) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1939,7 +1939,7 @@ def test_patch_dataset(self, mock_get_service, mock_get_creds_and_proj_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1971,7 +1971,7 @@ def test_update_dataset(self, mock_get_service, mock_get_creds_and_proj_id): class TestTimePartitioningInRunJob(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -1993,7 +1993,7 @@ def run_with_config(config): assert mocked_rwc.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2006,7 +2006,7 @@ def test_run_with_auto_detect(self, run_with_config, mock_get_service, mock_get_ self.assertIs(args[0]['load']['autodetect'], True) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2035,7 +2035,7 @@ def run_with_config(config): assert mocked_rwc.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2052,7 +2052,7 @@ def run_with_config(config): assert mocked_rwc.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2104,7 +2104,7 @@ def test_extra_time_partitioning_options(self): class TestClusteringInRunJob(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2125,7 +2125,7 @@ def run_with_config(config): assert mocked_rwc.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2153,7 +2153,7 @@ def run_with_config(config): assert mocked_rwc.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2170,7 +2170,7 @@ def run_with_config(config): assert mocked_rwc.call_count == 1 @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2202,7 +2202,7 @@ class TestBigQueryHookLegacySql(unittest.TestCase): """Ensure `use_legacy_sql` param in `BigQueryHook` propagates properly.""" @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2216,7 +2216,7 @@ def test_hook_uses_legacy_sql_by_default( self.assertIs(args[0]['query']['useLegacySql'], True) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2232,7 +2232,7 @@ def test_legacy_sql_override_propagates_properly( class TestBigQueryHookLocation(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2250,7 +2250,7 @@ def test_location_propagates_properly( class TestBigQueryHookRunWithConfiguration(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2286,7 +2286,7 @@ def test_run_with_configuration_location(self, mock_get_service, mock_get_creds_ class TestBigQueryWithKMS(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2321,7 +2321,7 @@ def test_create_empty_table_with_kms(self, mock_get_service, mock_get_creds_and_ # pylint: disable=too-many-locals @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=mock.PropertyMock, ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2403,7 +2403,7 @@ def test_create_external_table_with_kms(self, mock_get_service, mock_project_id) ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=mock.PropertyMock, ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2435,7 +2435,7 @@ def test_patch_table_with_kms(self, mock_get_service, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch("airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_service") @@ -2456,7 +2456,7 @@ def test_run_query_with_kms(self, run_with_config, mock_get_service, mock_get_cr ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=mock.PropertyMock, return_value=PROJECT_ID ) @@ -2479,7 +2479,7 @@ def test_run_copy_with_kms(self, run_with_config, mock_get_service, mock_project ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=mock.PropertyMock, return_value=PROJECT_ID ) diff --git a/tests/providers/google/cloud/hooks/test_bigquery_dts.py b/tests/providers/google/cloud/hooks/test_bigquery_dts.py index f661f2ba46ac7..ab841733c6557 100644 --- a/tests/providers/google/cloud/hooks/test_bigquery_dts.py +++ b/tests/providers/google/cloud/hooks/test_bigquery_dts.py @@ -56,7 +56,7 @@ class BigQueryDataTransferHookTestCase(unittest.TestCase): def setUp(self) -> None: with mock.patch( - "airflow.providers.google.cloud.hooks.bigquery_dts.CloudBaseHook.__init__", + "airflow.providers.google.cloud.hooks.bigquery_dts.GoogleBaseHook.__init__", new=mock_base_gcp_hook_no_default_project_id, ): self.hook = BiqQueryDataTransferServiceHook() diff --git a/tests/providers/google/cloud/hooks/test_bigtable.py b/tests/providers/google/cloud/hooks/test_bigtable.py index d60dc1921c6bf..4a9430093fbc4 100644 --- a/tests/providers/google/cloud/hooks/test_bigtable.py +++ b/tests/providers/google/cloud/hooks/test_bigtable.py @@ -40,7 +40,7 @@ class TestBigtableHookNoDefaultProjectId(unittest.TestCase): def setUp(self): - with mock.patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + with mock.patch('airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_no_default_project_id): self.bigtable_hook_no_default_project_id = BigtableHook(gcp_conn_id='test') @@ -62,7 +62,7 @@ def test_bigtable_client_creation(self, mock_client, mock_get_creds, mock_client self.assertEqual(self.bigtable_hook_no_default_project_id._client, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -92,7 +92,7 @@ def test_get_instance_overridden_project_id(self, get_client): self.assertIsNotNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -125,7 +125,7 @@ def test_delete_instance_overridden_project_id(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -161,7 +161,7 @@ def test_create_instance_overridden_project_id(self, get_client, instance_create self.assertEqual(res.instance_id, 'instance') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -199,7 +199,7 @@ def test_delete_table_overridden_project_id(self, get_client): class TestBigtableHookDefaultProjectId(unittest.TestCase): def setUp(self): - with mock.patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + with mock.patch('airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_default_project_id): self.bigtable_hook_default_project_id = BigtableHook(gcp_conn_id='test') @@ -221,7 +221,7 @@ def test_bigtable_client_creation(self, mock_client, mock_get_creds, mock_client self.assertEqual(self.bigtable_hook_default_project_id._client, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -251,7 +251,7 @@ def test_get_instance_overridden_project_id(self, get_client): self.assertIsNotNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -268,7 +268,7 @@ def test_get_instance_no_instance(self, get_client, mock_project_id): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -301,7 +301,7 @@ def test_delete_instance_overridden_project_id(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -319,7 +319,7 @@ def test_delete_instance_no_instance(self, get_client, mock_project_id): get_client.assert_called_once_with(project_id='example-project') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -353,7 +353,7 @@ def test_create_instance_overridden_project_id(self, get_client, instance_create self.assertEqual(res.instance_id, 'instance') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) diff --git a/tests/providers/google/cloud/hooks/test_cloud_build.py b/tests/providers/google/cloud/hooks/test_cloud_build.py index d27e6aef6bd75..77576da960966 100644 --- a/tests/providers/google/cloud/hooks/test_cloud_build.py +++ b/tests/providers/google/cloud/hooks/test_cloud_build.py @@ -51,7 +51,7 @@ class TestCloudBuildHookWithPassedProjectId(unittest.TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_default_project_id, ): self.hook = CloudBuildHook(gcp_conn_id="test") @@ -115,7 +115,7 @@ def test_waiting_operation(self, _, get_conn_mock): self.assertEqual(result, TEST_BUILD) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -139,7 +139,7 @@ class TestGcpComputeHookWithDefaultProjectIdFromConnection(unittest.TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_default_project_id, ): self.hook = CloudBuildHook(gcp_conn_id="test") @@ -155,7 +155,7 @@ def test_cloud_build_client_creation(self, mock_build, mock_authorize): self.assertEqual(self.hook._conn, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -182,7 +182,7 @@ def test_build_immediately_complete(self, get_conn_mock, mock_project_id): self.assertEqual(result, TEST_BUILD) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -209,7 +209,7 @@ def test_waiting_operation(self, _, get_conn_mock, mock_project_id): self.assertEqual(result, TEST_BUILD) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -233,7 +233,7 @@ class TestCloudBuildHookWithoutProjectId(unittest.TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_no_default_project_id, ): self.hook = CloudBuildHook(gcp_conn_id="test") @@ -249,7 +249,7 @@ def test_cloud_build_client_creation(self, mock_build, mock_authorize): self.assertEqual(self.hook._conn, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) diff --git a/tests/providers/google/cloud/hooks/test_cloud_memorystore.py b/tests/providers/google/cloud/hooks/test_cloud_memorystore.py index ce9a75357f78a..8b4f350c5b33c 100644 --- a/tests/providers/google/cloud/hooks/test_cloud_memorystore.py +++ b/tests/providers/google/cloud/hooks/test_cloud_memorystore.py @@ -60,7 +60,7 @@ def setUp(self,): self.hook = CloudMemorystoreHook(gcp_conn_id="test") @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -83,7 +83,7 @@ def test_create_instance_when_exists(self, mock_get_conn, mock_project_id): self.assertEqual(Instance(name=TEST_NAME), result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -124,7 +124,7 @@ def test_create_instance_when_not_exists(self, mock_get_conn, mock_project_id): self.assertEqual(Instance(name=TEST_NAME), result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -144,7 +144,7 @@ def test_delete_instance(self, mock_get_conn, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -164,7 +164,7 @@ def test_get_instance(self, mock_get_conn, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -188,7 +188,7 @@ def test_list_instances(self, mock_get_conn, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -292,7 +292,7 @@ def test_create_instance_when_not_exists(self, mock_get_conn): self.assertEqual(Instance(name=TEST_NAME), result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -328,7 +328,7 @@ def test_delete_instance(self, mock_get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -363,7 +363,7 @@ def test_get_instance(self, mock_get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -402,7 +402,7 @@ def test_list_instances(self, mock_get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -441,7 +441,7 @@ def test_update_instance(self, mock_get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) diff --git a/tests/providers/google/cloud/hooks/test_cloud_sql.py b/tests/providers/google/cloud/hooks/test_cloud_sql.py index e4717935cbc2c..1c07752395f8f 100644 --- a/tests/providers/google/cloud/hooks/test_cloud_sql.py +++ b/tests/providers/google/cloud/hooks/test_cloud_sql.py @@ -38,7 +38,7 @@ class TestGcpSqlHookDefaultProjectId(unittest.TestCase): def setUp(self): - with mock.patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + with mock.patch('airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_default_project_id): self.cloudsql_hook = CloudSQLHook(api_version='v1', gcp_conn_id='test') @@ -440,12 +440,12 @@ def test_delete_database_with_in_progress_retry(self, wait_for_operation_to_comp class TestGcpSqlHookNoDefaultProjectID(unittest.TestCase): def setUp(self): - with mock.patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + with mock.patch('airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_no_default_project_id): self.cloudsql_hook_no_default_project_id = CloudSQLHook(api_version='v1', gcp_conn_id='test') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -468,7 +468,7 @@ def test_instance_import_overridden_project_id( operation_name='operation_id') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -492,7 +492,7 @@ def test_instance_import_missing_project_id( wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -515,7 +515,7 @@ def test_instance_export_overridden_project_id( operation_name='operation_id') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -539,7 +539,7 @@ def test_instance_export_missing_project_id( wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -562,7 +562,7 @@ def test_get_instance_overridden_project_id( wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -585,7 +585,7 @@ def test_get_instance_missing_project_id( wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -608,7 +608,7 @@ def test_create_instance_overridden_project_id( ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -631,7 +631,7 @@ def test_create_instance_missing_project_id( wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -655,7 +655,7 @@ def test_patch_instance_overridden_project_id( ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -679,7 +679,7 @@ def test_patch_instance_missing_project_id( wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -702,7 +702,7 @@ def test_delete_instance_overridden_project_id( ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -725,7 +725,7 @@ def test_delete_instance_missing_project_id( wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -751,7 +751,7 @@ def test_get_database_overridden_project_id( wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -775,7 +775,7 @@ def test_get_database_missing_project_id( wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -799,7 +799,7 @@ def test_create_database_overridden_project_id( ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -823,7 +823,7 @@ def test_create_database_missing_project_id( wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -851,7 +851,7 @@ def test_patch_database_overridden_project_id( ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -876,7 +876,7 @@ def test_patch_database_missing_project_id( wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -902,7 +902,7 @@ def test_delete_database_overridden_project_id( ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) diff --git a/tests/providers/google/cloud/hooks/test_cloud_storage_transfer_service.py b/tests/providers/google/cloud/hooks/test_cloud_storage_transfer_service.py index e2aa6bd5142b0..b143148235ed4 100644 --- a/tests/providers/google/cloud/hooks/test_cloud_storage_transfer_service.py +++ b/tests/providers/google/cloud/hooks/test_cloud_storage_transfer_service.py @@ -67,7 +67,7 @@ def _without_key(body, key): class TestGCPTransferServiceHookWithPassedProjectId(unittest.TestCase): def setUp(self): with mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_no_default_project_id, ): self.gct_hook = CloudDataTransferServiceHook(gcp_conn_id='test') @@ -86,7 +86,7 @@ def test_gct_client_creation(self, mock_build, mock_authorize): self.assertEqual(self.gct_hook._conn, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -118,7 +118,7 @@ def test_get_transfer_job(self, get_conn): execute_method.assert_called_once_with(num_retries=5) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -146,7 +146,7 @@ def test_list_transfer_job(self, get_conn, mock_project_id): list_execute_method.assert_called_once_with(num_retries=5) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -213,7 +213,7 @@ def test_get_transfer_operation(self, get_conn): execute_method.assert_called_once_with(num_retries=5) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -265,7 +265,7 @@ def test_resume_transfer_operation(self, get_conn): execute_method.assert_called_once_with(num_retries=5) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -290,7 +290,7 @@ def test_wait_for_transfer_job(self, mock_list, mock_sleep, mock_project_id): mock_sleep.assert_called_once_with(TIME_TO_SLEEP_IN_SECONDS) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -317,7 +317,7 @@ def test_wait_for_transfer_job_failed( self.assertTrue(list_method.called) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -415,7 +415,7 @@ def test_operations_contain_expected_statuses_green_path(self, statuses, expecte class TestGCPTransferServiceHookWithProjectIdFromConnection(unittest.TestCase): def setUp(self): with mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_default_project_id, ): self.gct_hook = CloudDataTransferServiceHook(gcp_conn_id='test') @@ -434,7 +434,7 @@ def test_gct_client_creation(self, mock_build, mock_authorize): self.assertEqual(self.gct_hook._conn, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -452,7 +452,7 @@ def test_create_transfer_job(self, get_conn, mock_project_id): execute_method.assert_called_once_with(num_retries=5) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -471,7 +471,7 @@ def test_get_transfer_job(self, get_conn, mock_project_id): execute_method.assert_called_once_with(num_retries=5) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -502,7 +502,7 @@ def test_list_transfer_job(self, get_conn, mock_project_id): list_execute_method.assert_called_once_with(num_retries=5) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -570,7 +570,7 @@ def test_get_transfer_operation(self, get_conn): execute_method.assert_called_once_with(num_retries=5) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -616,7 +616,7 @@ def _with_project_id(body, project_id): class TestGCPTransferServiceHookWithoutProjectId(unittest.TestCase): def setUp(self): with mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_no_default_project_id, ): self.gct_hook = CloudDataTransferServiceHook(gcp_conn_id='test') @@ -635,7 +635,7 @@ def test_gct_client_creation(self, mock_build, mock_authorize): self.assertEqual(self.gct_hook._conn, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -657,7 +657,7 @@ def test_create_transfer_job(self, get_conn, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -679,7 +679,7 @@ def test_get_transfer_job(self, get_conn, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -706,7 +706,7 @@ def test_list_transfer_job(self, get_conn, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -728,7 +728,7 @@ def test_list_transfer_operation_multiple_page(self, get_conn, mock_project_id): self.assertEqual(res, [TEST_TRANSFER_OPERATION] * 4) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -752,7 +752,7 @@ def test_update_transfer_job(self, get_conn, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -772,7 +772,7 @@ def test_delete_transfer_job(self, get_conn, mock_project_id): # pylint: disabl ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) diff --git a/tests/providers/google/cloud/hooks/test_compute.py b/tests/providers/google/cloud/hooks/test_compute.py index 73c06f2e1f587..61874a07263e2 100644 --- a/tests/providers/google/cloud/hooks/test_compute.py +++ b/tests/providers/google/cloud/hooks/test_compute.py @@ -40,7 +40,7 @@ class TestGcpComputeHookNoDefaultProjectId(unittest.TestCase): def setUp(self): - with mock.patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + with mock.patch('airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_no_default_project_id): self.gce_hook_no_project_id = ComputeEngineHook(gcp_conn_id='test') @@ -74,7 +74,7 @@ def test_start_instance_overridden_project_id(self, wait_for_operation_to_comple zone='zone') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -118,7 +118,7 @@ def test_stop_instance_overridden_project_id(self, wait_for_operation_to_complet zone='zone') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -164,7 +164,7 @@ def test_set_machine_type_overridden_project_id(self, wait_for_operation_to_comp zone='zone') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -207,7 +207,7 @@ def test_get_instance_template_overridden_project_id(self, wait_for_operation_to wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -253,7 +253,7 @@ def test_insert_instance_template_overridden_project_id(self, wait_for_operation operation_name='operation_id') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -301,7 +301,7 @@ def test_get_instance_group_manager_overridden_project_id(self, wait_for_operati wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -358,7 +358,7 @@ def test_patch_instance_group_manager_overridden_project_id(self, zone='zone') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -389,12 +389,12 @@ def test_patch_instance_group_manager_no_project_id( class TestGcpComputeHookDefaultProjectId(unittest.TestCase): def setUp(self): - with mock.patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + with mock.patch('airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_default_project_id): self.gce_hook = ComputeEngineHook(gcp_conn_id='test') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -438,7 +438,7 @@ def test_start_instance_overridden_project_id(self, wait_for_operation_to_comple zone='zone') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -482,7 +482,7 @@ def test_stop_instance_overridden_project_id(self, wait_for_operation_to_complet zone='zone') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -524,7 +524,7 @@ def test_set_machine_type_instance_overridden_project_id(self, wait_for_operatio zone='zone') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -562,7 +562,7 @@ def test_get_instance_template_overridden_project_id(self, wait_for_operation_to wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -606,7 +606,7 @@ def test_insert_instance_template_overridden_project_id(self, wait_for_operation operation_name='operation_id') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -652,7 +652,7 @@ def test_get_instance_group_manager_overridden_project_id(self, wait_for_operati wait_for_operation_to_complete.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) diff --git a/tests/providers/google/cloud/hooks/test_datacatalog.py b/tests/providers/google/cloud/hooks/test_datacatalog.py index 615308e103de8..e4d66a2775bef 100644 --- a/tests/providers/google/cloud/hooks/test_datacatalog.py +++ b/tests/providers/google/cloud/hooks/test_datacatalog.py @@ -86,7 +86,7 @@ def setUp(self,) -> None: self.hook = CloudDataCatalogHook(gcp_conn_id="test") @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -107,7 +107,7 @@ def test_lookup_entry_with_linked_resource(self, mock_get_conn, mock_get_creds_a ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -122,7 +122,7 @@ def test_lookup_entry_with_sql_resource(self, mock_get_conn, mock_get_creds_and_ ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -135,7 +135,7 @@ def test_lookup_entry_without_resource(self, mock_get_conn, mock_get_creds_and_p self.hook.lookup_entry(retry=TEST_RETRY, timeout=TEST_TIMEOUT, metadata=TEST_METADATA) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -171,7 +171,7 @@ def setUp(self,) -> None: self.hook = CloudDataCatalogHook(gcp_conn_id="test") @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -197,7 +197,7 @@ def test_create_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> Non ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -222,7 +222,7 @@ def test_create_entry_group(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -248,7 +248,7 @@ def test_create_tag(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -274,7 +274,7 @@ def test_create_tag_protobuff(self, mock_get_conn, mock_get_creds_and_project_id ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -299,7 +299,7 @@ def test_create_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -325,7 +325,7 @@ def test_create_tag_template_field(self, mock_get_conn, mock_get_creds_and_proje ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -348,7 +348,7 @@ def test_delete_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> Non ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -370,7 +370,7 @@ def test_delete_entry_group(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -394,7 +394,7 @@ def test_delete_tag(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -418,7 +418,7 @@ def test_delete_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -443,7 +443,7 @@ def test_delete_tag_template_field(self, mock_get_conn, mock_get_creds_and_proje ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -466,7 +466,7 @@ def test_get_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -490,7 +490,7 @@ def test_get_entry_group(self, mock_get_conn, mock_get_creds_and_project_id) -> ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -512,7 +512,7 @@ def test_get_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) -> ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -537,7 +537,7 @@ def test_list_tags(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -567,7 +567,7 @@ def test_get_tag_for_template_name(self, mock_get_conn, mock_get_creds_and_proje self.assertEqual(result, tag_2) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -592,7 +592,7 @@ def test_rename_tag_template_field(self, mock_get_conn, mock_get_creds_and_proje ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -618,7 +618,7 @@ def test_update_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> Non ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -645,7 +645,7 @@ def test_update_tag(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -670,7 +670,7 @@ def test_update_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, TEST_PROJECT_ID_1), ) @mock.patch( # type: ignore @@ -706,7 +706,7 @@ def setUp(self,) -> None: self.hook = CloudDataCatalogHook(gcp_conn_id="test") @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -733,7 +733,7 @@ def test_create_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> Non ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -759,7 +759,7 @@ def test_create_entry_group(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -786,7 +786,7 @@ def test_create_tag(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -813,7 +813,7 @@ def test_create_tag_protobuff(self, mock_get_conn, mock_get_creds_and_project_id ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -839,7 +839,7 @@ def test_create_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -866,7 +866,7 @@ def test_create_tag_template_field(self, mock_get_conn, mock_get_creds_and_proje ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -890,7 +890,7 @@ def test_delete_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> Non ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -913,7 +913,7 @@ def test_delete_entry_group(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -938,7 +938,7 @@ def test_delete_tag(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -963,7 +963,7 @@ def test_delete_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -989,7 +989,7 @@ def test_delete_tag_template_field(self, mock_get_conn, mock_get_creds_and_proje ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1013,7 +1013,7 @@ def test_get_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1038,7 +1038,7 @@ def test_get_entry_group(self, mock_get_conn, mock_get_creds_and_project_id) -> ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1061,7 +1061,7 @@ def test_get_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) -> ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1087,7 +1087,7 @@ def test_list_tags(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1118,7 +1118,7 @@ def test_get_tag_for_template_name(self, mock_get_conn, mock_get_creds_and_proje self.assertEqual(result, tag_2) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1144,7 +1144,7 @@ def test_rename_tag_template_field(self, mock_get_conn, mock_get_creds_and_proje ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1171,7 +1171,7 @@ def test_update_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> Non ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1199,7 +1199,7 @@ def test_update_tag(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1225,7 +1225,7 @@ def test_update_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1268,7 +1268,7 @@ def setUp(self,) -> None: self.hook = CloudDataCatalogHook(gcp_conn_id="test") @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1287,7 +1287,7 @@ def test_create_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> Non ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1305,7 +1305,7 @@ def test_create_entry_group(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1326,7 +1326,7 @@ def test_create_tag(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1347,7 +1347,7 @@ def test_create_tag_protobuff(self, mock_get_conn, mock_get_creds_and_project_id ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1366,7 +1366,7 @@ def test_create_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1386,7 +1386,7 @@ def test_create_tag_template_field(self, mock_get_conn, mock_get_creds_and_proje ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1405,7 +1405,7 @@ def test_delete_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> Non ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1422,7 +1422,7 @@ def test_delete_entry_group(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1441,7 +1441,7 @@ def test_delete_tag(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1459,7 +1459,7 @@ def test_delete_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1478,7 +1478,7 @@ def test_delete_tag_template_field(self, mock_get_conn, mock_get_creds_and_proje ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1496,7 +1496,7 @@ def test_get_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1514,7 +1514,7 @@ def test_get_entry_group(self, mock_get_conn, mock_get_creds_and_project_id) -> ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1531,7 +1531,7 @@ def test_get_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) -> ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1550,7 +1550,7 @@ def test_list_tags(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1573,7 +1573,7 @@ def test_get_tag_for_template_name(self, mock_get_conn, mock_get_creds_and_proje ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1592,7 +1592,7 @@ def test_rename_tag_template_field(self, mock_get_conn, mock_get_creds_and_proje ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1612,7 +1612,7 @@ def test_update_entry(self, mock_get_conn, mock_get_creds_and_project_id) -> Non ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1633,7 +1633,7 @@ def test_update_tag(self, mock_get_conn, mock_get_creds_and_project_id) -> None: ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore @@ -1652,7 +1652,7 @@ def test_update_tag_template(self, mock_get_conn, mock_get_creds_and_project_id) ) @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id", return_value=(TEST_CREDENTIALS, None), ) @mock.patch( # type: ignore diff --git a/tests/providers/google/cloud/hooks/test_dataflow.py b/tests/providers/google/cloud/hooks/test_dataflow.py index 9eda13235abb6..18225b2271197 100644 --- a/tests/providers/google/cloud/hooks/test_dataflow.py +++ b/tests/providers/google/cloud/hooks/test_dataflow.py @@ -72,7 +72,7 @@ 'count': '3' } } -BASE_STRING = 'airflow.providers.google.cloud.hooks.base.{}' +BASE_STRING = 'airflow.providers.google.common.hooks.base_google.{}' DATAFLOW_STRING = 'airflow.providers.google.cloud.hooks.dataflow.{}' MOCK_UUID = '12345678' TEST_PROJECT = 'test-project' @@ -145,7 +145,7 @@ def mock_init(self, gcp_conn_id, delegate_to=None): # pylint: disable=unused-ar class TestDataflowHook(unittest.TestCase): def setUp(self): - with mock.patch(BASE_STRING.format('CloudBaseHook.__init__'), + with mock.patch(BASE_STRING.format('GoogleBaseHook.__init__'), new=mock_init): self.dataflow_hook = DataflowHook(gcp_conn_id='test') @@ -297,7 +297,7 @@ def test_build_dataflow_job_name_with_invalid_value(self, job_name): class TestDataflowTemplateHook(unittest.TestCase): def setUp(self): - with mock.patch(BASE_STRING.format('CloudBaseHook.__init__'), + with mock.patch(BASE_STRING.format('GoogleBaseHook.__init__'), new=mock_init): self.dataflow_hook = DataflowHook(gcp_conn_id='test') diff --git a/tests/providers/google/cloud/hooks/test_datafusion.py b/tests/providers/google/cloud/hooks/test_datafusion.py index b22783ca46f35..a214a0a564859 100644 --- a/tests/providers/google/cloud/hooks/test_datafusion.py +++ b/tests/providers/google/cloud/hooks/test_datafusion.py @@ -40,7 +40,7 @@ @pytest.fixture def hook(): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_default_project_id, ): yield DataFusionHook(gcp_conn_id=GCP_CONN_ID) diff --git a/tests/providers/google/cloud/hooks/test_dataproc.py b/tests/providers/google/cloud/hooks/test_dataproc.py index b8faa6663447c..282722a08011a 100644 --- a/tests/providers/google/cloud/hooks/test_dataproc.py +++ b/tests/providers/google/cloud/hooks/test_dataproc.py @@ -37,7 +37,7 @@ PARENT = "parent" NAME = "name" -BASE_STRING = "airflow.providers.google.cloud.hooks.base.{}" +BASE_STRING = "airflow.providers.google.common.hooks.base_google.{}" DATAPROC_STRING = "airflow.providers.google.cloud.hooks.dataproc.{}" @@ -48,7 +48,7 @@ def mock_init(*args, **kwargs): class TestDataprocHook(unittest.TestCase): def setUp(self): with mock.patch( - BASE_STRING.format("CloudBaseHook.__init__"), new=mock_init + BASE_STRING.format("GoogleBaseHook.__init__"), new=mock_init ): self.hook = DataprocHook(gcp_conn_id="test") diff --git a/tests/providers/google/cloud/hooks/test_datastore.py b/tests/providers/google/cloud/hooks/test_datastore.py index 73b5383e1bcf0..073332c28a398 100644 --- a/tests/providers/google/cloud/hooks/test_datastore.py +++ b/tests/providers/google/cloud/hooks/test_datastore.py @@ -34,7 +34,9 @@ def mock_init(self, gcp_conn_id, delegate_to=None): # pylint: disable=unused-ar class TestDatastoreHook(unittest.TestCase): def setUp(self): - with patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', new=mock_init): + with patch( + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_init + ): self.datastore_hook = DatastoreHook() @patch('airflow.providers.google.cloud.hooks.datastore.DatastoreHook._authorize') diff --git a/tests/providers/google/cloud/hooks/test_dlp.py b/tests/providers/google/cloud/hooks/test_dlp.py index 3350dfd865fd3..b8e6fa5c265f3 100644 --- a/tests/providers/google/cloud/hooks/test_dlp.py +++ b/tests/providers/google/cloud/hooks/test_dlp.py @@ -67,7 +67,7 @@ class TestCloudDLPHook(unittest.TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_no_default_project_id, ): self.hook = CloudDLPHook(gcp_conn_id="test") @@ -101,7 +101,7 @@ def test_cancel_dlp_job_without_dlp_job_id(self, _): self.hook.cancel_dlp_job(dlp_job_id=None, project_id=PROJECT_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -111,7 +111,7 @@ def test_cancel_dlp_job_without_parent(self, _, mock_project_id): self.hook.cancel_dlp_job(dlp_job_id=DLP_JOB_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -146,7 +146,7 @@ def test_create_deidentify_template_with_project_id(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -174,7 +174,7 @@ def test_create_dlp_job(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -197,7 +197,7 @@ def test_create_dlp_job_with_wait_until_finished(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -232,7 +232,7 @@ def test_create_inspect_template_with_project_id(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -257,7 +257,7 @@ def test_create_job_trigger(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -269,7 +269,7 @@ def test_create_job_trigger_without_parent(self, mock_get_conn, mock_project_id) self.hook.create_job_trigger() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -304,7 +304,7 @@ def test_create_stored_info_type_with_project_id(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -334,7 +334,7 @@ def test_deidentify_content(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -346,7 +346,7 @@ def test_deidentify_content_without_parent(self, mock_get_conn, mock_project_id) self.hook.deidentify_content() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -384,7 +384,7 @@ def test_delete_deidentify_template_without_template_id(self, _): self.hook.delete_deidentify_template(template_id=None) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -407,7 +407,7 @@ def test_delete_dlp_job_without_dlp_job_id(self, _): self.hook.delete_dlp_job(dlp_job_id=None, project_id=PROJECT_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -417,7 +417,7 @@ def test_delete_dlp_job_without_parent(self, mock_get_conn, mock_project_id): self.hook.delete_dlp_job(dlp_job_id=DLP_JOB_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -453,7 +453,7 @@ def test_delete_inspect_template_without_template_id(self, _): self.hook.delete_inspect_template(template_id=None) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -476,7 +476,7 @@ def test_delete_job_trigger_without_trigger_id(self, _): self.hook.delete_job_trigger(job_trigger_id=None, project_id=PROJECT_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -486,7 +486,7 @@ def test_delete_job_trigger_without_parent(self, mock_get_conn, mock_project_id) self.hook.delete_job_trigger(job_trigger_id=TRIGGER_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -522,7 +522,7 @@ def test_delete_stored_info_type_without_stored_info_type_id(self, _): self.hook.delete_stored_info_type(stored_info_type_id=None) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -532,7 +532,7 @@ def test_delete_stored_info_type_without_parent(self, mock_get_conn, mock_projec self.hook.delete_stored_info_type(stored_info_type_id=STORED_INFO_TYPE_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -572,7 +572,7 @@ def test_get_deidentify_template_without_template_id(self, _): self.hook.get_deidentify_template(template_id=None) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -597,7 +597,7 @@ def test_get_dlp_job_without_dlp_job_id(self, _): self.hook.get_dlp_job(dlp_job_id=None, project_id=PROJECT_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -607,7 +607,7 @@ def test_get_dlp_job_without_parent(self, mock_get_conn, mock_project_id): self.hook.get_dlp_job(dlp_job_id=DLP_JOB_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -647,7 +647,7 @@ def test_get_inspect_template_without_template_id(self, _): self.hook.get_inspect_template(template_id=None) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -674,7 +674,7 @@ def test_get_job_trigger_without_trigger_id(self, _): self.hook.get_job_trigger(job_trigger_id=None, project_id=PROJECT_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -684,7 +684,7 @@ def test_get_job_trigger_without_parent(self, mock_get_conn, mock_project_id): self.hook.get_job_trigger(job_trigger_id=TRIGGER_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -724,7 +724,7 @@ def test_get_stored_info_type_without_stored_info_type_id(self, _): self.hook.get_stored_info_type(stored_info_type_id=None) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -750,7 +750,7 @@ def test_inspect_content(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -760,7 +760,7 @@ def test_inspect_content_without_parent(self, mock_get_conn, mock_project_id): self.hook.inspect_content() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -793,7 +793,7 @@ def test_list_deidentify_templates_with_project_id(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -819,7 +819,7 @@ def test_list_dlp_jobs(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -839,7 +839,7 @@ def test_list_info_types(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -872,7 +872,7 @@ def test_list_inspect_templates_with_project_id(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -897,7 +897,7 @@ def test_list_job_triggers(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -907,7 +907,7 @@ def test_list_job_triggers_without_parent(self, mock_get_conn, mock_project_id): self.hook.list_job_triggers() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -940,7 +940,7 @@ def test_list_stored_info_types_with_project_id(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -967,7 +967,7 @@ def test_redact_image(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -995,7 +995,7 @@ def test_reidentify_content(self, get_conn): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1007,7 +1007,7 @@ def test_reidentify_content_without_parent(self, mock_get_conn, mock_project_id) self.hook.reidentify_content() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1053,7 +1053,7 @@ def test_update_deidentify_template_without_template_id(self, _): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1063,7 +1063,7 @@ def test_update_deidentify_template_without_parent(self, mock_get_conn, mock_pro self.hook.update_deidentify_template(template_id=TEMPLATE_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1109,7 +1109,7 @@ def test_update_inspect_template_without_template_id(self, _): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1141,7 +1141,7 @@ def test_update_job_trigger_without_job_trigger_id(self, _): self.hook.update_job_trigger(job_trigger_id=None, project_id=PROJECT_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1151,7 +1151,7 @@ def test_update_job_trigger_without_parent(self, mock_get_conn, mock_project_id) self.hook.update_job_trigger(job_trigger_id=TRIGGER_ID) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1199,7 +1199,7 @@ def test_update_stored_info_type_without_stored_info_type_id(self, _): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) diff --git a/tests/providers/google/cloud/hooks/test_functions.py b/tests/providers/google/cloud/hooks/test_functions.py index a1e5423bd58aa..bdcf52fcd4749 100644 --- a/tests/providers/google/cloud/hooks/test_functions.py +++ b/tests/providers/google/cloud/hooks/test_functions.py @@ -35,7 +35,7 @@ class TestFunctionHookNoDefaultProjectId(unittest.TestCase): def setUp(self): - with mock.patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + with mock.patch('airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_no_default_project_id): self.gcf_function_hook_no_project_id = CloudFunctionsHook(gcp_conn_id='test', api_version='v1') @@ -50,7 +50,7 @@ def test_gcf_client_creation(self, mock_build, mock_authorize): self.assertEqual(self.gcf_function_hook_no_project_id._conn, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -99,7 +99,7 @@ def test_create_new_function_overridden_project_id(self, wait_for_operation_to_c wait_for_operation_to_complete.assert_called_once_with(operation_name='operation_id') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -155,7 +155,7 @@ def test_upload_function_zip_overridden_project_id(self, get_conn, requests_put) class TestFunctionHookDefaultProjectId(unittest.TestCase): def setUp(self): - with mock.patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + with mock.patch('airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_default_project_id): self.gcf_function_hook = CloudFunctionsHook(gcp_conn_id='test', api_version='v1') @@ -170,7 +170,7 @@ def test_gcf_client_creation(self, mock_build, mock_authorize): self.assertEqual(self.gcf_function_hook._conn, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -271,7 +271,7 @@ def test_update_function(self, wait_for_operation_to_complete, get_conn): wait_for_operation_to_complete.assert_called_once_with(operation_name='operation_id') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) diff --git a/tests/providers/google/cloud/hooks/test_gcs.py b/tests/providers/google/cloud/hooks/test_gcs.py index b614767ea5a59..5bd2c25bc08e5 100644 --- a/tests/providers/google/cloud/hooks/test_gcs.py +++ b/tests/providers/google/cloud/hooks/test_gcs.py @@ -33,7 +33,7 @@ from airflow.version import version from tests.providers.google.cloud.utils.base_gcp_mock import mock_base_gcp_hook_default_project_id -BASE_STRING = 'airflow.providers.google.cloud.hooks.base.{}' +BASE_STRING = 'airflow.providers.google.common.hooks.base_google.{}' GCS_STRING = 'airflow.providers.google.cloud.hooks.gcs.{}' EMPTY_CONTENT = b'' @@ -67,22 +67,22 @@ def test_parse_gcs_url(self): class TestGCSHook(unittest.TestCase): def setUp(self): with mock.patch( - GCS_STRING.format('CloudBaseHook.__init__'), + GCS_STRING.format('GoogleBaseHook.__init__'), new=mock_base_gcp_hook_default_project_id, ): self.gcs_hook = gcs.GCSHook( gcp_conn_id='test') @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.client_info', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.client_info', new_callable=mock.PropertyMock, return_value="CLIENT_INFO" ) @mock.patch( - BASE_STRING.format("CloudBaseHook._get_credentials_and_project_id"), + BASE_STRING.format("GoogleBaseHook._get_credentials_and_project_id"), return_value=("CREDENTIALS", "PROJECT_ID") ) - @mock.patch(GCS_STRING.format('CloudBaseHook.get_connection')) + @mock.patch(GCS_STRING.format('GoogleBaseHook.get_connection')) @mock.patch('google.cloud.storage.Client') def test_storage_client_creation(self, mock_client, @@ -661,7 +661,7 @@ def test_download_to_file(self, mock_service): class TestGCSHookUpload(unittest.TestCase): def setUp(self): - with mock.patch(BASE_STRING.format('CloudBaseHook.__init__')): + with mock.patch(BASE_STRING.format('GoogleBaseHook.__init__')): self.gcs_hook = gcs.GCSHook( gcp_conn_id='test' ) @@ -805,7 +805,7 @@ def test_upload_exceptions(self, mock_service): class TestSyncGcsHook(unittest.TestCase): def setUp(self): with mock.patch( - GCS_STRING.format("CloudBaseHook.__init__"), new=mock_base_gcp_hook_default_project_id + GCS_STRING.format("GoogleBaseHook.__init__"), new=mock_base_gcp_hook_default_project_id ): self.gcs_hook = gcs.GCSHook(gcp_conn_id="test") diff --git a/tests/providers/google/cloud/hooks/test_kms.py b/tests/providers/google/cloud/hooks/test_kms.py index 743904598102f..525839d44c119 100644 --- a/tests/providers/google/cloud/hooks/test_kms.py +++ b/tests/providers/google/cloud/hooks/test_kms.py @@ -52,7 +52,7 @@ def mock_init(self, gcp_conn_id, delegate_to=None): # pylint: disable=unused-ar class TestCloudKMSHook(unittest.TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_init, ): self.kms_hook = CloudKMSHook(gcp_conn_id="test") diff --git a/tests/providers/google/cloud/hooks/test_kubernetes_engine.py b/tests/providers/google/cloud/hooks/test_kubernetes_engine.py index d5fcb699b73d4..59d52f0ff4d3c 100644 --- a/tests/providers/google/cloud/hooks/test_kubernetes_engine.py +++ b/tests/providers/google/cloud/hooks/test_kubernetes_engine.py @@ -58,7 +58,7 @@ def setUp(self): self.gke_hook._client = mock.Mock() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -83,7 +83,7 @@ def test_delete_cluster(self, wait_mock, convert_mock, mock_project_id): convert_mock.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -104,7 +104,7 @@ def test_delete_cluster_not_found(self, wait_mock, convert_mock, log_mock, mock_ log_mock.info.assert_any_call("Assuming Success: %s", message) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -127,7 +127,7 @@ def setUp(self): self.gke_hook._client = mock.Mock() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -155,7 +155,7 @@ def test_create_cluster_proto(self, wait_mock, convert_mock, mock_project_id): convert_mock.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -246,7 +246,7 @@ def setUp(self): @mock.patch('airflow.providers.google.cloud.hooks.kubernetes_engine.container_v1.' 'ClusterManagerClient') - @mock.patch('airflow.providers.google.cloud.hooks.base.ClientInfo') + @mock.patch('airflow.providers.google.common.hooks.base_google.ClientInfo') @mock.patch('airflow.providers.google.cloud.hooks.kubernetes_engine.GKEHook._get_credentials') def test_get_client(self, mock_get_credentials, mock_client_info, mock_client): self.gke_hook._client = None diff --git a/tests/providers/google/cloud/hooks/test_mlengine.py b/tests/providers/google/cloud/hooks/test_mlengine.py index 9774b5e4338ee..27323baeaa995 100644 --- a/tests/providers/google/cloud/hooks/test_mlengine.py +++ b/tests/providers/google/cloud/hooks/test_mlengine.py @@ -843,7 +843,7 @@ def setUp(self) -> None: self.hook = hook.MLEngineHook() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -885,7 +885,7 @@ def test_create_version(self, mock_get_conn, mock_project_id): ], any_order=True) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -920,7 +920,7 @@ def test_set_default_version(self, mock_get_conn, mock_project_id): ], any_order=True) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -963,7 +963,7 @@ def test_list_versions(self, mock_get_conn, mock_sleep, mock_project_id): ], any_order=True) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -1009,7 +1009,7 @@ def test_delete_version(self, mock_get_conn, mock_project_id): ], any_order=True) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -1038,7 +1038,7 @@ def test_create_model(self, mock_get_conn, mock_project_id): ]) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -1065,7 +1065,7 @@ def test_get_model(self, mock_get_conn, mock_project_id): ]) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -1090,7 +1090,7 @@ def test_delete_model(self, mock_get_conn, mock_project_id): ]) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -1138,7 +1138,7 @@ def test_create_mlengine_job(self, mock_get_conn, mock_sleep, mock_project_id): ], any_order=True) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -1175,7 +1175,7 @@ def setUp(self) -> None: self.hook = hook.MLEngineHook() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1192,7 +1192,7 @@ def test_create_version(self, mock_get_conn, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1208,7 +1208,7 @@ def test_set_default_version(self, mock_get_conn, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1221,7 +1221,7 @@ def test_list_versions(self, mock_get_conn, mock_sleep, mock_project_id): self.hook.list_versions(model_name=model_name) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1234,7 +1234,7 @@ def test_delete_version(self, mock_get_conn, mock_project_id): self.hook.delete_version(model_name=model_name, version_name=version_name) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1249,7 +1249,7 @@ def test_create_model(self, mock_get_conn, mock_project_id): self.hook.create_model(model=model) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1260,7 +1260,7 @@ def test_get_model(self, mock_get_conn, mock_project_id): self.hook.get_model(model_name=model_name) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1272,7 +1272,7 @@ def test_delete_model(self, mock_get_conn, mock_project_id): self.hook.delete_model(model_name=model_name) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -1289,7 +1289,7 @@ def test_create_mlengine_job(self, mock_get_conn, mock_sleep, mock_project_id): self.hook.create_job(job=new_job) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) diff --git a/tests/providers/google/cloud/hooks/test_natural_language.py b/tests/providers/google/cloud/hooks/test_natural_language.py index b8d8b508b622b..d4f7239f3da88 100644 --- a/tests/providers/google/cloud/hooks/test_natural_language.py +++ b/tests/providers/google/cloud/hooks/test_natural_language.py @@ -35,7 +35,7 @@ class TestCloudNaturalLanguageHook(unittest.TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_no_default_project_id, ): self.hook = CloudNaturalLanguageHook(gcp_conn_id="test") diff --git a/tests/providers/google/cloud/hooks/test_pubsub.py b/tests/providers/google/cloud/hooks/test_pubsub.py index a760f4a618c63..0d3b992119333 100644 --- a/tests/providers/google/cloud/hooks/test_pubsub.py +++ b/tests/providers/google/cloud/hooks/test_pubsub.py @@ -30,7 +30,7 @@ from airflow.providers.google.cloud.hooks.pubsub import PubSubException, PubSubHook from airflow.version import version -BASE_STRING = 'airflow.providers.google.cloud.hooks.base.{}' +BASE_STRING = 'airflow.providers.google.common.hooks.base_google.{}' PUBSUB_STRING = 'airflow.providers.google.cloud.hooks.pubsub.{}' EMPTY_CONTENT = b'' @@ -57,7 +57,7 @@ def mock_init(self, gcp_conn_id, delegate_to=None): # pylint: disable=unused-ar class TestPubSubHook(unittest.TestCase): def setUp(self): - with mock.patch(BASE_STRING.format('CloudBaseHook.__init__'), + with mock.patch(BASE_STRING.format('GoogleBaseHook.__init__'), new=mock_init): self.pubsub_hook = PubSubHook(gcp_conn_id='test') diff --git a/tests/providers/google/cloud/hooks/test_spanner.py b/tests/providers/google/cloud/hooks/test_spanner.py index 4c9eca12b752c..eb5f642059a22 100644 --- a/tests/providers/google/cloud/hooks/test_spanner.py +++ b/tests/providers/google/cloud/hooks/test_spanner.py @@ -36,7 +36,7 @@ class TestGcpSpannerHookDefaultProjectId(unittest.TestCase): def setUp(self): - with mock.patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + with mock.patch('airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_default_project_id): self.spanner_hook_default_project_id = SpannerHook(gcp_conn_id='test') @@ -79,7 +79,7 @@ def test_get_existing_instance_overridden_project_id(self, get_client): self.assertIsNotNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -121,7 +121,7 @@ def test_create_instance_overridden_project_id(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -165,7 +165,7 @@ def test_update_instance_overridden_project_id(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -201,7 +201,7 @@ def test_delete_instance_overridden_project_id(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -241,7 +241,7 @@ def test_get_database_overridden_project_id(self, get_client): self.assertIsNotNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -281,7 +281,7 @@ def test_create_database_overridden_project_id(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -321,7 +321,7 @@ def test_update_database_overridden_project_id(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -365,7 +365,7 @@ def test_delete_database_overridden_project_id(self, get_client): self.assertTrue(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -408,7 +408,7 @@ def test_execute_dml_overridden_project_id(self, get_client): class TestGcpSpannerHookNoDefaultProjectID(unittest.TestCase): def setUp(self): - with mock.patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + with mock.patch('airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_no_default_project_id): self.spanner_hook_no_default_project_id = SpannerHook(gcp_conn_id='test') @@ -432,7 +432,7 @@ def test_spanner_client_creation(self, mock_client, mock_get_creds, mock_client_ self.assertEqual(self.spanner_hook_no_default_project_id._client, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -472,7 +472,7 @@ def test_get_non_existing_instance(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -514,7 +514,7 @@ def test_create_instance_overridden_project_id(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -558,7 +558,7 @@ def test_update_instance_overridden_project_id(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -595,7 +595,7 @@ def test_delete_instance_overridden_project_id(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -636,7 +636,7 @@ def test_get_database_overridden_project_id(self, get_client): self.assertIsNotNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -678,7 +678,7 @@ def test_create_database_overridden_project_id(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -739,7 +739,7 @@ def test_update_database_overridden_project_id_and_operation(self, get_client): self.assertIsNone(res) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) @@ -804,7 +804,7 @@ def test_delete_database_missing_database(self, get_client): database_drop_method.assert_not_called() @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) diff --git a/tests/providers/google/cloud/hooks/test_speech_to_text.py b/tests/providers/google/cloud/hooks/test_speech_to_text.py index dea92e864c04f..aa5737c99794f 100644 --- a/tests/providers/google/cloud/hooks/test_speech_to_text.py +++ b/tests/providers/google/cloud/hooks/test_speech_to_text.py @@ -32,7 +32,7 @@ class TestTextToSpeechOperator(unittest.TestCase): def setUp(self): with patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_default_project_id, ): self.gcp_speech_to_text_hook = CloudSpeechToTextHook(gcp_conn_id="test") diff --git a/tests/providers/google/cloud/hooks/test_stackdriver.py b/tests/providers/google/cloud/hooks/test_stackdriver.py index 5c08db0076e55..8408b9191f421 100644 --- a/tests/providers/google/cloud/hooks/test_stackdriver.py +++ b/tests/providers/google/cloud/hooks/test_stackdriver.py @@ -106,7 +106,7 @@ class TestStackdriverHookMethods(unittest.TestCase): @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch('airflow.providers.google.cloud.hooks.stackdriver.StackdriverHook._get_policy_client') @@ -127,7 +127,7 @@ def test_stackdriver_list_alert_policies(self, mock_policy_client, mock_get_cred ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch('airflow.providers.google.cloud.hooks.stackdriver.StackdriverHook._get_policy_client') @@ -164,7 +164,7 @@ def test_stackdriver_enable_alert_policy(self, mock_policy_client, mock_get_cred ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID), ) @mock.patch('airflow.providers.google.cloud.hooks.stackdriver.StackdriverHook._get_policy_client') @@ -201,7 +201,7 @@ def test_stackdriver_disable_alert_policy(self, mock_policy_client, mock_get_cre ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID), ) @mock.patch('airflow.providers.google.cloud.hooks.stackdriver.StackdriverHook._get_policy_client') @@ -257,7 +257,7 @@ def test_stackdriver_upsert_alert_policy(self, mock_channel_client, mock_policy_ ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID), ) @mock.patch('airflow.providers.google.cloud.hooks.stackdriver.StackdriverHook._get_policy_client') @@ -274,7 +274,7 @@ def test_stackdriver_delete_alert_policy(self, mock_policy_client, mock_get_cred ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID), ) @mock.patch('airflow.providers.google.cloud.hooks.stackdriver.StackdriverHook._get_channel_client') @@ -294,7 +294,7 @@ def test_stackdriver_list_notification_channel(self, mock_channel_client, mock_g ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch('airflow.providers.google.cloud.hooks.stackdriver.StackdriverHook._get_channel_client') @@ -326,7 +326,7 @@ def test_stackdriver_enable_notification_channel(self, mock_channel_client, ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch('airflow.providers.google.cloud.hooks.stackdriver.StackdriverHook._get_channel_client') @@ -358,7 +358,7 @@ def test_stackdriver_disable_notification_channel(self, mock_channel_client, ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch('airflow.providers.google.cloud.hooks.stackdriver.StackdriverHook._get_channel_client') @@ -401,7 +401,7 @@ def test_stackdriver_upsert_channel(self, mock_channel_client, mock_get_creds_an ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials_and_project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials_and_project_id', return_value=(CREDENTIALS, PROJECT_ID) ) @mock.patch('airflow.providers.google.cloud.hooks.stackdriver.StackdriverHook._get_channel_client') diff --git a/tests/providers/google/cloud/hooks/test_tasks.py b/tests/providers/google/cloud/hooks/test_tasks.py index aae253b04aa23..dce989f4b613f 100644 --- a/tests/providers/google/cloud/hooks/test_tasks.py +++ b/tests/providers/google/cloud/hooks/test_tasks.py @@ -40,7 +40,7 @@ class TestCloudTasksHook(unittest.TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_no_default_project_id, ): self.hook = CloudTasksHook(gcp_conn_id="test") diff --git a/tests/providers/google/cloud/hooks/test_text_to_speech.py b/tests/providers/google/cloud/hooks/test_text_to_speech.py index 4e0c11d6fd482..b741e44915769 100644 --- a/tests/providers/google/cloud/hooks/test_text_to_speech.py +++ b/tests/providers/google/cloud/hooks/test_text_to_speech.py @@ -32,7 +32,7 @@ class TestTextToSpeechHook(unittest.TestCase): def setUp(self): with patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_default_project_id, ): self.gcp_text_to_speech_hook = CloudTextToSpeechHook(gcp_conn_id="test") diff --git a/tests/providers/google/cloud/operators/test_kubernetes_engine.py b/tests/providers/google/cloud/operators/test_kubernetes_engine.py index af533ceb28bd4..99e2490671fc6 100644 --- a/tests/providers/google/cloud/operators/test_kubernetes_engine.py +++ b/tests/providers/google/cloud/operators/test_kubernetes_engine.py @@ -162,7 +162,7 @@ def test_template_fields(self): @mock.patch( 'airflow.providers.cncf.kubernetes.operators.kubernetes_pod.KubernetesPodOperator.execute') @mock.patch( - 'airflow.providers.google.cloud.operators.kubernetes_engine.CloudBaseHook') + 'airflow.providers.google.cloud.operators.kubernetes_engine.GoogleBaseHook') @mock.patch( 'airflow.providers.google.cloud.operators.kubernetes_engine.execute_in_subprocess') @mock.patch('tempfile.NamedTemporaryFile') diff --git a/tests/providers/google/common/__init__.py b/tests/providers/google/common/__init__.py new file mode 100644 index 0000000000000..13a83393a9124 --- /dev/null +++ b/tests/providers/google/common/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/tests/providers/google/common/hooks/__init__.py b/tests/providers/google/common/hooks/__init__.py new file mode 100644 index 0000000000000..13a83393a9124 --- /dev/null +++ b/tests/providers/google/common/hooks/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/tests/providers/google/cloud/hooks/test_base.py b/tests/providers/google/common/hooks/test_base_google.py similarity index 93% rename from tests/providers/google/cloud/hooks/test_base.py rename to tests/providers/google/common/hooks/test_base_google.py index 1cb5d41910503..4b3f73d9f50f6 100644 --- a/tests/providers/google/cloud/hooks/test_base.py +++ b/tests/providers/google/common/hooks/test_base_google.py @@ -31,8 +31,8 @@ from airflow import version from airflow.exceptions import AirflowException -from airflow.providers.google.cloud.hooks import base as hook from airflow.providers.google.cloud.utils.credentials_provider import _DEFAULT_SCOPES +from airflow.providers.google.common.hooks import base_google as hook from tests.providers.google.cloud.utils.base_gcp_mock import mock_base_gcp_hook_default_project_id default_creds_available = True @@ -42,7 +42,7 @@ except GoogleAuthError: default_creds_available = False -MODULE_NAME = "airflow.providers.google.cloud.hooks.base" +MODULE_NAME = "airflow.providers.google.common.hooks.base_google" class NoForbiddenAfterCount: @@ -64,7 +64,7 @@ def __call__(self): return True -@hook.CloudBaseHook.quota_retry(wait=tenacity.wait_none()) +@hook.GoogleBaseHook.quota_retry(wait=tenacity.wait_none()) def _retryable_test_with_temporary_quota_retry(thing): return thing() @@ -104,7 +104,7 @@ def __init__(self, project_id): self.mock = mock.Mock() self.fixture_project_id = project_id - @hook.CloudBaseHook.fallback_to_default_project_id + @hook.GoogleBaseHook.fallback_to_default_project_id def method(self, project_id=None): self.mock(project_id=project_id) @@ -154,10 +154,10 @@ def test_restrict_positional_arguments(self): class TestProvideGcpCredentialFile(unittest.TestCase): def setUp(self): with mock.patch( - MODULE_NAME + '.CloudBaseHook.__init__', + MODULE_NAME + '.GoogleBaseHook.__init__', new=mock_base_gcp_hook_default_project_id, ): - self.instance = hook.CloudBaseHook(gcp_conn_id="google-cloud-default") + self.instance = hook.GoogleBaseHook(gcp_conn_id="google-cloud-default") def test_provide_gcp_credential_file_decorator_key_path_and_keyfile_dict(self): key_path = '/test/key-path' @@ -166,7 +166,7 @@ def test_provide_gcp_credential_file_decorator_key_path_and_keyfile_dict(self): 'extra__google_cloud_platform__keyfile_dict': '{"foo": "bar"}' } - @hook.CloudBaseHook.provide_gcp_credential_file + @hook.GoogleBaseHook.provide_gcp_credential_file def assert_gcp_credential_file_in_env(_): self.assertEqual(os.environ[CREDENTIALS], key_path) @@ -181,7 +181,7 @@ def test_provide_gcp_credential_file_decorator_key_path(self): key_path = '/test/key-path' self.instance.extras = {'extra__google_cloud_platform__key_path': key_path} - @hook.CloudBaseHook.provide_gcp_credential_file + @hook.GoogleBaseHook.provide_gcp_credential_file def assert_gcp_credential_file_in_env(_): self.assertEqual(os.environ[CREDENTIALS], key_path) @@ -197,7 +197,7 @@ def test_provide_gcp_credential_file_decorator_key_content(self, mock_file): mock_file_handler.name = file_name mock_file_handler.write = string_file.write - @hook.CloudBaseHook.provide_gcp_credential_file + @hook.GoogleBaseHook.provide_gcp_credential_file def assert_gcp_credential_file_in_env(_): self.assertEqual(os.environ[CREDENTIALS], file_name) self.assertEqual(file_content, string_file.getvalue()) @@ -209,7 +209,7 @@ def test_provide_gcp_credential_keep_environment(self): key_path = '/test/key-path' self.instance.extras = {'extra__google_cloud_platform__key_path': key_path} - @hook.CloudBaseHook.provide_gcp_credential_file + @hook.GoogleBaseHook.provide_gcp_credential_file def assert_gcp_credential_file_in_env(_): self.assertEqual(os.environ[CREDENTIALS], key_path) @@ -221,7 +221,7 @@ def test_provide_gcp_credential_keep_environment_when_exception(self): key_path = '/test/key-path' self.instance.extras = {'extra__google_cloud_platform__key_path': key_path} - @hook.CloudBaseHook.provide_gcp_credential_file + @hook.GoogleBaseHook.provide_gcp_credential_file def assert_gcp_credential_file_in_env(_): raise Exception() @@ -235,7 +235,7 @@ def test_provide_gcp_credential_keep_clear_environment(self): key_path = '/test/key-path' self.instance.extras = {'extra__google_cloud_platform__key_path': key_path} - @hook.CloudBaseHook.provide_gcp_credential_file + @hook.GoogleBaseHook.provide_gcp_credential_file def assert_gcp_credential_file_in_env(_): self.assertEqual(os.environ[CREDENTIALS], key_path) @@ -247,7 +247,7 @@ def test_provide_gcp_credential_keep_clear_environment_when_exception(self): key_path = '/test/key-path' self.instance.extras = {'extra__google_cloud_platform__key_path': key_path} - @hook.CloudBaseHook.provide_gcp_credential_file + @hook.GoogleBaseHook.provide_gcp_credential_file def assert_gcp_credential_file_in_env(_): raise Exception() @@ -260,10 +260,10 @@ def assert_gcp_credential_file_in_env(_): class TestProvideGcpCredentialFileAsContext(unittest.TestCase): def setUp(self): with mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_default_project_id, ): - self.instance = hook.CloudBaseHook(gcp_conn_id="google-cloud-default") + self.instance = hook.GoogleBaseHook(gcp_conn_id="google-cloud-default") def test_provide_gcp_credential_file_decorator_key_path(self): key_path = '/test/key-path' @@ -329,9 +329,9 @@ def test_provide_gcp_credential_keep_clear_environment_when_exception(self): self.assertNotIn(CREDENTIALS, os.environ) -class TestGoogleCloudBaseHook(unittest.TestCase): +class TestGoogleBaseHook(unittest.TestCase): def setUp(self): - self.instance = hook.CloudBaseHook() + self.instance = hook.GoogleBaseHook() @mock.patch(MODULE_NAME + '.get_credentials_and_project_id', return_value=("CREDENTIALS", "PROJECT_ID")) def test_get_credentials_and_project_id_with_default_auth(self, mock_get_creds_and_proj_id): @@ -513,7 +513,7 @@ def test_provide_gcp_credential_file_decorator_key_path(self): key_path = '/test/key-path' self.instance.extras = {'extra__google_cloud_platform__key_path': key_path} - @hook.CloudBaseHook.provide_gcp_credential_file + @hook.GoogleBaseHook.provide_gcp_credential_file def assert_gcp_credential_file_in_env(hook_instance): # pylint: disable=unused-argument self.assertEqual(os.environ[CREDENTIALS], key_path) @@ -532,7 +532,7 @@ def test_provide_gcp_credential_file_decorator_key_content(self, mock_file): mock_file_handler.name = file_name mock_file_handler.write = string_file.write - @hook.CloudBaseHook.provide_gcp_credential_file + @hook.GoogleBaseHook.provide_gcp_credential_file def assert_gcp_credential_file_in_env(hook_instance): # pylint: disable=unused-argument self.assertEqual(os.environ[CREDENTIALS], file_name) @@ -566,7 +566,7 @@ def test_default_scopes(self): self.assertEqual(self.instance.scopes, ('https://www.googleapis.com/auth/cloud-platform',)) - @mock.patch("airflow.providers.google.cloud.hooks.base.CloudBaseHook.get_connection") + @mock.patch("airflow.providers.google.common.hooks.base_google.GoogleBaseHook.get_connection") def test_num_retries_is_not_none_by_default(self, get_con_mock): """ Verify that if 'num_retries' in extras is not set, the default value @@ -577,8 +577,8 @@ def test_num_retries_is_not_none_by_default(self, get_con_mock): } self.assertEqual(self.instance.num_retries, 5) - @mock.patch("airflow.providers.google.cloud.hooks.base.httplib2.Http") - @mock.patch("airflow.providers.google.cloud.hooks.base.CloudBaseHook._get_credentials") + @mock.patch("airflow.providers.google.common.hooks.base_google.httplib2.Http") + @mock.patch("airflow.providers.google.common.hooks.base_google.GoogleBaseHook._get_credentials") def test_authorize_assert_user_agent_is_sent(self, mock_get_credentials, mock_http): """ Verify that if 'num_retires' in extras is not set, the default value @@ -606,13 +606,13 @@ def test_authorize_assert_user_agent_is_sent(self, mock_get_credentials, mock_ht class TestProvideAuthorizedGcloud(unittest.TestCase): def setUp(self): with mock.patch( - MODULE_NAME + '.CloudBaseHook.__init__', + MODULE_NAME + '.GoogleBaseHook.__init__', new=mock_base_gcp_hook_default_project_id, ): - self.instance = hook.CloudBaseHook(gcp_conn_id="google-cloud-default") + self.instance = hook.GoogleBaseHook(gcp_conn_id="google-cloud-default") @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=mock.PropertyMock, return_value="PROJECT_ID" ) @@ -635,7 +635,7 @@ def test_provide_authorized_gcloud_key_path_and_keyfile_dict( self.assertEqual(os.environ[CREDENTIALS], key_path) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=mock.PropertyMock, return_value="PROJECT_ID" ) @@ -653,7 +653,7 @@ def test_provide_authorized_gcloud_key_path(self, mock_check_output, mock_projec ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=mock.PropertyMock, return_value="PROJECT_ID" ) @@ -677,7 +677,7 @@ def test_provide_authorized_gcloud_keyfile_dict(self, mock_file, mock_check_outp ]) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=mock.PropertyMock, return_value="PROJECT_ID" ) diff --git a/tests/providers/google/cloud/hooks/test_discovery_api.py b/tests/providers/google/common/hooks/test_discovery_api.py similarity index 89% rename from tests/providers/google/cloud/hooks/test_discovery_api.py rename to tests/providers/google/common/hooks/test_discovery_api.py index 64b6ab4af10f6..b8f0514bd3167 100644 --- a/tests/providers/google/cloud/hooks/test_discovery_api.py +++ b/tests/providers/google/common/hooks/test_discovery_api.py @@ -21,7 +21,7 @@ from airflow import models from airflow.configuration import load_test_config -from airflow.providers.google.cloud.hooks.discovery_api import GoogleDiscoveryApiHook +from airflow.providers.google.common.hooks.discovery_api import GoogleDiscoveryApiHook from airflow.utils import db @@ -40,8 +40,8 @@ def setUp(self): ) ) - @patch('airflow.providers.google.cloud.hooks.discovery_api.build') - @patch('airflow.providers.google.cloud.hooks.discovery_api.GoogleDiscoveryApiHook._authorize') + @patch('airflow.providers.google.common.hooks.discovery_api.build') + @patch('airflow.providers.google.common.hooks.discovery_api.GoogleDiscoveryApiHook._authorize') def test_get_conn(self, mock_authorize, mock_build): google_discovery_api_hook = GoogleDiscoveryApiHook( gcp_conn_id='google_test', @@ -58,8 +58,8 @@ def test_get_conn(self, mock_authorize, mock_build): cache_discovery=False ) - @patch('airflow.providers.google.cloud.hooks.discovery_api.getattr') - @patch('airflow.providers.google.cloud.hooks.discovery_api.GoogleDiscoveryApiHook.get_conn') + @patch('airflow.providers.google.common.hooks.discovery_api.getattr') + @patch('airflow.providers.google.common.hooks.discovery_api.GoogleDiscoveryApiHook.get_conn') def test_query(self, mock_get_conn, mock_getattr): google_discovery_api_hook = GoogleDiscoveryApiHook( gcp_conn_id='google_test', @@ -90,8 +90,8 @@ def test_query(self, mock_get_conn, mock_getattr): call()().execute(num_retries=num_retries) ]) - @patch('airflow.providers.google.cloud.hooks.discovery_api.getattr') - @patch('airflow.providers.google.cloud.hooks.discovery_api.GoogleDiscoveryApiHook.get_conn') + @patch('airflow.providers.google.common.hooks.discovery_api.getattr') + @patch('airflow.providers.google.common.hooks.discovery_api.GoogleDiscoveryApiHook.get_conn') def test_query_with_pagination(self, mock_get_conn, mock_getattr): google_api_conn_client_sub_call = mock_getattr.return_value.return_value mock_getattr.return_value.side_effect = [ diff --git a/tests/providers/google/firebase/hooks/test_firestore.py b/tests/providers/google/firebase/hooks/test_firestore.py index 9b929256d62f0..18bfcae095497 100644 --- a/tests/providers/google/firebase/hooks/test_firestore.py +++ b/tests/providers/google/firebase/hooks/test_firestore.py @@ -48,7 +48,7 @@ class TestCloudFirestoreHookWithPassedProjectId(unittest.TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_default_project_id, ): self.hook = CloudFirestoreHook(gcp_conn_id="test") @@ -140,7 +140,7 @@ class TestCloudFirestoreHookWithDefaultProjectIdFromConnection(unittest.TestCase def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_default_project_id, ): self.hook = CloudFirestoreHook(gcp_conn_id="test") @@ -160,7 +160,7 @@ def test_client_creation(self, mock_build_from_document, mock_build, mock_author self.assertEqual(self.hook._conn, result) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -186,7 +186,7 @@ def test_immediately_complete(self, get_conn_mock, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -216,7 +216,7 @@ def test_waiting_operation(self, _, get_conn_mock, mock_project_id): ) @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=GCP_PROJECT_ID_HOOK_UNIT_TEST ) @@ -245,13 +245,13 @@ class TestCloudFirestoreHookWithoutProjectId(unittest.TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_no_default_project_id, ): self.hook = CloudFirestoreHook(gcp_conn_id="test") @mock.patch( - 'airflow.providers.google.cloud.hooks.base.CloudBaseHook.project_id', + 'airflow.providers.google.common.hooks.base_google.GoogleBaseHook.project_id', new_callable=PropertyMock, return_value=None ) diff --git a/tests/providers/google/marketing_platform/hooks/test_analytics.py b/tests/providers/google/marketing_platform/hooks/test_analytics.py index cab6200853fe4..5fc518823a0d5 100644 --- a/tests/providers/google/marketing_platform/hooks/test_analytics.py +++ b/tests/providers/google/marketing_platform/hooks/test_analytics.py @@ -32,7 +32,7 @@ class TestGoogleAnalyticsHook(unittest.TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_default_project_id, ): self.hook = GoogleAnalyticsHook(API_VERSION, GCP_CONN_ID) diff --git a/tests/providers/google/marketing_platform/hooks/test_campaign_manager.py b/tests/providers/google/marketing_platform/hooks/test_campaign_manager.py index d645ccdd91701..0ab28638b6a06 100644 --- a/tests/providers/google/marketing_platform/hooks/test_campaign_manager.py +++ b/tests/providers/google/marketing_platform/hooks/test_campaign_manager.py @@ -33,7 +33,7 @@ class TestGoogleCampaignManagerHook(TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_default_project_id, ): self.hook = GoogleCampaignManagerHook( diff --git a/tests/providers/google/marketing_platform/hooks/test_display_video.py b/tests/providers/google/marketing_platform/hooks/test_display_video.py index d0d32806d8a08..97501fee54319 100644 --- a/tests/providers/google/marketing_platform/hooks/test_display_video.py +++ b/tests/providers/google/marketing_platform/hooks/test_display_video.py @@ -27,7 +27,7 @@ class TestGoogleDisplayVideo360Hook(TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__", new=mock_base_gcp_hook_default_project_id, ): self.hook = GoogleDisplayVideo360Hook(gcp_conn_id=GCP_CONN_ID) diff --git a/tests/providers/google/marketing_platform/hooks/test_search_ads.py b/tests/providers/google/marketing_platform/hooks/test_search_ads.py index f52444422d784..babb5f19ef349 100644 --- a/tests/providers/google/marketing_platform/hooks/test_search_ads.py +++ b/tests/providers/google/marketing_platform/hooks/test_search_ads.py @@ -27,7 +27,7 @@ class TestSearchAdsHook(TestCase): def setUp(self): with mock.patch( - "airflow.providers.google.marketing_platform.hooks.search_ads.CloudBaseHook.__init__", + "airflow.providers.google.marketing_platform.hooks.search_ads.GoogleBaseHook.__init__", new=mock_base_gcp_hook_default_project_id, ): self.hook = GoogleSearchAdsHook(gcp_conn_id=GCP_CONN_ID) diff --git a/tests/providers/google/suite/hooks/test_drive.py b/tests/providers/google/suite/hooks/test_drive.py index 80922d1e696b0..6c85b837d581a 100644 --- a/tests/providers/google/suite/hooks/test_drive.py +++ b/tests/providers/google/suite/hooks/test_drive.py @@ -36,7 +36,8 @@ def tearDown(self) -> None: self.patcher_get_connections.stop() @mock.patch( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook._authorize", return_value="AUTHORIZE" + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook._authorize", + return_value="AUTHORIZE" ) @mock.patch("airflow.providers.google.suite.hooks.drive.build") def test_get_conn(self, mock_discovery_build, mock_authorize): diff --git a/tests/providers/google/suite/hooks/test_sheets.py b/tests/providers/google/suite/hooks/test_sheets.py index 93b77e388efbb..00615c22c95d0 100644 --- a/tests/providers/google/suite/hooks/test_sheets.py +++ b/tests/providers/google/suite/hooks/test_sheets.py @@ -46,7 +46,7 @@ class TestGSheetsHook(unittest.TestCase): def setUp(self): - with mock.patch('airflow.providers.google.cloud.hooks.base.CloudBaseHook.__init__', + with mock.patch('airflow.providers.google.common.hooks.base_google.GoogleBaseHook.__init__', new=mock_base_gcp_hook_default_project_id): self.hook = GSheetsHook(gcp_conn_id=GCP_CONN_ID) diff --git a/tests/test_core_to_contrib.py b/tests/test_core_to_contrib.py index 93ce31e9ed549..5f89c97848a42 100644 --- a/tests/test_core_to_contrib.py +++ b/tests/test_core_to_contrib.py @@ -29,8 +29,8 @@ "airflow.contrib.hooks.gcp_compute_hook.GceHook", ), ( - "airflow.providers.google.cloud.hooks.base.CloudBaseHook", - "airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook", + "airflow.providers.google.common.hooks.base_google.GoogleBaseHook", + "airflow.contrib.hooks.gcp_api_base_hook.GoogleBaseHook", ), ( "airflow.providers.google.cloud.hooks.dataflow.DataflowHook", diff --git a/tests/utils/log/test_stackdriver_task_handler.py b/tests/utils/log/test_stackdriver_task_handler.py index 4062af53ab5c9..f958471a43639 100644 --- a/tests/utils/log/test_stackdriver_task_handler.py +++ b/tests/utils/log/test_stackdriver_task_handler.py @@ -259,7 +259,7 @@ def test_should_fallback_to_adc(self, mock_client): mock_client.assert_called_once_with(credentials=None, client_info=mock.ANY) self.assertEqual(mock_client.return_value, client) - @mock.patch("airflow.providers.google.cloud.hooks.base.CloudBaseHook") + @mock.patch("airflow.providers.google.common.hooks.base_google.GoogleBaseHook") @mock.patch('airflow.utils.log.stackdriver_task_handler.gcp_logging.Client') def test_should_support_gcp_conn_id(self, mock_client, mock_hook): stackdriver_task_handler = StackdriverTaskHandler(