def test_create_udf(self, udf_path):
        client = self._client
        bq_test_dataset = utils.get_target_bq_dataset(udf_path)

        job_config = QueryJobConfig()
        job_config.default_dataset = (f'{client.project}.{bq_test_dataset}')
        try:
            udf_sql = utils.replace_with_test_datasets(udf_path,
                                                       client.project)
            udf_creation_result = client.query(udf_sql,
                                               job_config=job_config).result()
            self.assertIsInstance(udf_creation_result, _EmptyRowIterator)
        except GoogleAPICallError as e:
            self.fail(e.message)
    def test_create_udf_signature(self, udf_path):
        client = self._client
        bq_test_dataset = utils.get_target_bq_dataset(udf_path)

        job_config = QueryJobConfig()
        job_config.default_dataset = (f'{client.project}.{bq_test_dataset}')
        udf_signature = utils.extract_udf_signature(udf_path)
        udf_sql = utils.replace_with_test_datasets(
            project_id=client.project,
            udf_sql=f'CREATE OR REPLACE FUNCTION {udf_signature} AS (NULL)')
        try:
            udf_creation_result = client.query(udf_sql,
                                               job_config=job_config).result()
            self.assertIsInstance(udf_creation_result, _EmptyRowIterator)
        except GoogleAPICallError as e:
            self.fail(e.message)
    def test_create_udf(self, udf_path):
        client = bigquery.Client()
        bq_test_dataset = Utils.get_target_bq_dataset(udf_path)
        client.create_dataset(bq_test_dataset, exists_ok=True)

        job_config = QueryJobConfig()
        job_config.default_dataset = (f'{client.project}.{bq_test_dataset}')
        with open(udf_path) as udf_file:
            try:
                udf_sql = Utils.replace_with_test_datasets(
                    udf_path, client.project)
                udf_creation_result = client.query(
                    udf_sql, job_config=job_config).result()
                self.assertIsInstance(udf_creation_result, _EmptyRowIterator)
            except GoogleAPICallError as e:
                self.fail(e.message)