def test_get_destination_uri_empty_runtime_vp(self): with self.assertRaisesRegex(ValueError, '^ReadFromBigQuery requires a GCS ' 'location to be provided'): # Don't provide any runtime values. RuntimeValueProvider.set_runtime_options({}) options = self.UserDefinedOptions() ReadFromBigQuery.get_destination_uri( options.gcs_location, None, uuid.uuid4().hex)
def test_get_destination_uri_fallback_temp_location(self): # Don't provide any runtime values. RuntimeValueProvider.set_runtime_options({}) options = self.UserDefinedOptions() with self.assertLogs('apache_beam.io.gcp.bigquery', level='DEBUG') as context: ReadFromBigQuery.get_destination_uri( options.gcs_location, 'gs://bucket', uuid.uuid4().hex) self.assertEqual( context.output, [ 'DEBUG:apache_beam.io.gcp.bigquery:gcs_location is empty, ' 'using temp_location instead' ])
def test_get_destination_uri_runtime_vp(self): # Provide values at job-execution time. RuntimeValueProvider.set_runtime_options({'gcs_location': 'gs://bucket'}) options = self.UserDefinedOptions() unique_id = uuid.uuid4().hex uri = ReadFromBigQuery.get_destination_uri( options.gcs_location, None, unique_id) self.assertEqual( uri, 'gs://bucket/' + unique_id + '/bigquery-table-dump-*.json')
def test_get_destination_uri_static_vp(self): unique_id = uuid.uuid4().hex uri = ReadFromBigQuery.get_destination_uri( StaticValueProvider(str, 'gs://bucket'), None, unique_id) self.assertEqual( uri, 'gs://bucket/' + unique_id + '/bigquery-table-dump-*.json')
def test_get_destination_uri_none(self): with self.assertRaisesRegex(ValueError, '^ReadFromBigQuery requires a GCS ' 'location to be provided'): ReadFromBigQuery.get_destination_uri(None, None, uuid.uuid4().hex)