Skip to content

Commit a0429a4

Browse files
committed
bigquery cleaner is singleton (#59149)
1 parent a8f0946 commit a0429a4

File tree

3 files changed

+34
-21
lines changed

3 files changed

+34
-21
lines changed

airbyte-integrations/connectors/destination-bigquery/src/test-integration/kotlin/io/airbyte/integrations/destination/bigquery/BigQueryDestinationTestUtils.kt

+14-3
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,30 @@ import io.airbyte.integrations.destination.bigquery.spec.BigqueryConfiguration
1616
import io.airbyte.integrations.destination.bigquery.spec.BigqueryConfigurationFactory
1717
import io.airbyte.integrations.destination.bigquery.spec.BigquerySpecification
1818
import io.airbyte.integrations.destination.bigquery.util.BigqueryClientFactory
19-
import io.github.oshai.kotlinlogging.KotlinLogging
2019
import java.io.IOException
2120
import java.nio.file.Files
2221
import java.nio.file.Path
2322
import java.util.*
2423
import org.slf4j.Logger
2524
import org.slf4j.LoggerFactory
2625

27-
private val logger = KotlinLogging.logger {}
28-
2926
object BigQueryDestinationTestUtils {
3027
private val LOGGER: Logger = LoggerFactory.getLogger(BigQueryDestinationTestUtils::class.java)
3128

29+
val standardInsertRawOverrideConfig =
30+
createConfig(
31+
configFile = Path.of("secrets/credentials-1s1t-standard-raw-override.json"),
32+
datasetId = DEFAULT_NAMESPACE_PLACEHOLDER,
33+
stagingPath = "test_path/$DEFAULT_NAMESPACE_PLACEHOLDER",
34+
rawDatasetId = "${DEFAULT_NAMESPACE_PLACEHOLDER}_raw_dataset",
35+
)
36+
val standardInsertConfig =
37+
createConfig(
38+
configFile = Path.of("secrets/credentials-1s1t-standard.json"),
39+
datasetId = DEFAULT_NAMESPACE_PLACEHOLDER,
40+
stagingPath = "test_path/$DEFAULT_NAMESPACE_PLACEHOLDER",
41+
)
42+
3243
/**
3344
* Parse the config file and replace dataset with rawNamespace and stagingPath randomly
3445
* generated by the test.

airbyte-integrations/connectors/destination-bigquery/src/test-integration/kotlin/io/airbyte/integrations/destination/bigquery/BigqueryDestinationCleaner.kt

+17-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,23 @@ import kotlinx.coroutines.runBlocking
1818

1919
private val logger = KotlinLogging.logger {}
2020

21-
class BigqueryDestinationCleaner(private val configJson: JsonNode) : DestinationCleaner {
21+
object BigqueryDestinationCleaner : DestinationCleaner {
22+
private val actualCleaner =
23+
BigqueryDestinationCleanerInstance(
24+
BigQueryDestinationTestUtils.standardInsertRawOverrideConfig
25+
)
26+
.compose(
27+
BigqueryDestinationCleanerInstance(
28+
BigQueryDestinationTestUtils.standardInsertConfig
29+
)
30+
)
31+
32+
override fun cleanup() {
33+
actualCleaner.cleanup()
34+
}
35+
}
36+
37+
class BigqueryDestinationCleanerInstance(private val configJson: JsonNode) : DestinationCleaner {
2238
override fun cleanup() {
2339
val config = BigQueryDestinationTestUtils.parseConfig(configJson)
2440
val bigquery = BigqueryClientFactory(config).make()

airbyte-integrations/connectors/destination-bigquery/src/test-integration/kotlin/io/airbyte/integrations/destination/bigquery/BigqueryWriteTest.kt

+3-17
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import io.airbyte.cdk.load.test.util.DestinationDataDumper
88
import io.airbyte.cdk.load.test.util.ExpectedRecordMapper
99
import io.airbyte.cdk.load.test.util.UncoercedExpectedRecordMapper
1010
import io.airbyte.cdk.load.toolkits.load.db.orchestration.ColumnNameModifyingMapper
11-
import io.airbyte.cdk.load.util.deserializeToNode
1211
import io.airbyte.cdk.load.util.serializeToString
1312
import io.airbyte.cdk.load.write.AllTypesBehavior
1413
import io.airbyte.cdk.load.write.BasicFunctionalityIntegrationTest
@@ -35,7 +34,7 @@ abstract class BigqueryWriteTest(
3534
configContents = configContents,
3635
BigquerySpecification::class.java,
3736
dataDumper,
38-
BigqueryDestinationCleaner(configContents.deserializeToNode()),
37+
BigqueryDestinationCleaner,
3938
recordMangler = expectedRecordMapper,
4039
isStreamSchemaRetroactive = isStreamSchemaRetroactive,
4140
supportsDedup = supportsDedup,
@@ -110,13 +109,7 @@ class StandardInsertRawOverrideDisableTd :
110109

111110
class StandardInsertRawOverride :
112111
BigqueryTDWriteTest(
113-
BigQueryDestinationTestUtils.createConfig(
114-
configFile = Path.of("secrets/credentials-1s1t-standard-raw-override.json"),
115-
datasetId = DEFAULT_NAMESPACE_PLACEHOLDER,
116-
stagingPath = "test_path/$DEFAULT_NAMESPACE_PLACEHOLDER",
117-
rawDatasetId = "${DEFAULT_NAMESPACE_PLACEHOLDER}_raw_dataset",
118-
)
119-
.serializeToString(),
112+
BigQueryDestinationTestUtils.standardInsertRawOverrideConfig.serializeToString()
120113
) {
121114
@Test
122115
override fun testBasicWrite() {
@@ -129,14 +122,7 @@ class StandardInsertRawOverride :
129122
}
130123

131124
class StandardInsert :
132-
BigqueryTDWriteTest(
133-
BigQueryDestinationTestUtils.createConfig(
134-
configFile = Path.of("secrets/credentials-1s1t-standard.json"),
135-
datasetId = DEFAULT_NAMESPACE_PLACEHOLDER,
136-
stagingPath = "test_path/$DEFAULT_NAMESPACE_PLACEHOLDER",
137-
)
138-
.serializeToString(),
139-
) {
125+
BigqueryTDWriteTest(BigQueryDestinationTestUtils.standardInsertConfig.serializeToString()) {
140126
@Test
141127
override fun testBasicWrite() {
142128
super.testBasicWrite()

0 commit comments

Comments
 (0)