示例#1
0
def gbq_dataset(load_args, save_args, mock_bigquery_client):  # pylint: disable=unused-argument
    return GBQTableDataSet(
        dataset=DATASET,
        table_name=TABLE_NAME,
        project=PROJECT,
        credentials=None,
        load_args=load_args,
        save_args=save_args,
    )
示例#2
0
 def test_invalid_location(self, save_args, load_args):
     """Check the error when initializing instance if save_args and load_args
     `location` are different."""
     pattern = (
         r"`load_args\['location'\]` is different from `save_args\['location'\]`."
     )
     with pytest.raises(DataSetError, match=pattern):
         GBQTableDataSet(
             dataset=DATASET,
             table_name=TABLE_NAME,
             project=PROJECT,
             credentials=None,
             load_args=load_args,
             save_args=save_args,
         )
示例#3
0
    def test_credentials_propagation(self, mocker):
        credentials = {"token": "my_token"}
        credentials_obj = "credentials"
        mocked_credentials = mocker.patch(
            "kedro.extras.datasets.pandas.gbq_dataset.Credentials",
            return_value=credentials_obj,
        )
        mocked_bigquery = mocker.patch(
            "kedro.extras.datasets.pandas.gbq_dataset.bigquery")

        data_set = GBQTableDataSet(
            dataset=DATASET,
            table_name=TABLE_NAME,
            credentials=credentials,
            project=PROJECT,
        )

        assert data_set._credentials == credentials_obj
        mocked_credentials.assert_called_once_with(**credentials)
        mocked_bigquery.Client.assert_called_once_with(
            project=PROJECT, credentials=credentials_obj, location=None)
示例#4
0
 def test_validation_of_dataset_and_table_name(self, dataset, table_name):
     pattern = "Neither white-space nor semicolon are allowed.*"
     with pytest.raises(DataSetError, match=pattern):
         GBQTableDataSet(dataset=dataset, table_name=table_name)