Skip to content

Commit 07de777

Browse files
committed
Use wrapper WorkloadApiClient (#9845)
1 parent 6b2cd8a commit 07de777

File tree

4 files changed

+37
-6
lines changed

4 files changed

+37
-6
lines changed

airbyte-api/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,8 @@ dependencies {
297297
compileOnly libs.v3.swagger.annotations
298298
kapt libs.v3.swagger.annotations
299299

300+
implementation platform(libs.micronaut.bom)
301+
implementation libs.bundles.micronaut
300302
implementation libs.commons.io
301303
implementation libs.failsafe.okhttp
302304
implementation libs.guava
@@ -315,10 +317,8 @@ dependencies {
315317
testImplementation libs.bundles.junit
316318
testImplementation libs.assertj.core
317319
testImplementation libs.junit.pioneer
318-
319-
implementation platform(libs.micronaut.bom)
320-
implementation libs.bundles.micronaut
321-
320+
testImplementation libs.mockk
321+
testImplementation libs.kotlin.test.runner.junit5
322322
}
323323

324324
sourceSets {

airbyte-api/src/main/kotlin/WorkloadApiClient.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,14 @@ import okhttp3.Response
3232
*/
3333
@SuppressWarnings("Parameter")
3434
class WorkloadApiClient {
35+
var workloadApi: WorkloadApi
36+
3537
@JvmOverloads
3638
constructor(
3739
basePath: String,
3840
policy: RetryPolicy<Response> = RetryPolicy.ofDefaults(),
3941
httpClient: OkHttpClient = OkHttpClient(),
4042
) {
41-
val workloadApi = WorkloadApi()
43+
workloadApi = WorkloadApi(basePath = basePath, client = httpClient, policy = policy)
4244
}
4345
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/*
2+
* Copyright (c) 2023 Airbyte, Inc., all rights reserved.
3+
*/
4+
5+
package io.airbyte.api.client
6+
7+
import dev.failsafe.RetryPolicy
8+
import io.mockk.mockk
9+
import okhttp3.OkHttpClient
10+
import okhttp3.Response
11+
import org.junit.jupiter.api.Assertions.assertEquals
12+
import org.junit.jupiter.api.Assertions.assertNotNull
13+
import org.junit.jupiter.api.Test
14+
15+
class WorkloadApiClientTest {
16+
@Test
17+
fun `test that the workload API client creates the underlying Workload API object with the provided configuration`() {
18+
val basePath = "base-path"
19+
val client: OkHttpClient = mockk()
20+
val policy: RetryPolicy<Response> = mockk()
21+
22+
val workloadApiClient = WorkloadApiClient(basePath, policy, client)
23+
assertNotNull(workloadApiClient.workloadApi)
24+
assertEquals(client, workloadApiClient.workloadApi.client)
25+
assertEquals(policy, workloadApiClient.workloadApi.policy)
26+
assertEquals(basePath, workloadApiClient.workloadApi.baseUrl)
27+
}
28+
}

airbyte-commons-worker/src/main/kotlin/io/airbyte/workers/config/WorkloadApiClientFactory.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package io.airbyte.workers.config
66

77
import dev.failsafe.RetryPolicy
8+
import io.airbyte.api.client.WorkloadApiClient
89
import io.airbyte.workload.api.client2.generated.WorkloadApi
910
import io.github.oshai.kotlinlogging.KotlinLogging
1011
import io.micronaut.context.annotation.Factory
@@ -56,6 +57,6 @@ class WorkloadApiClientFactory {
5657
.withMaxRetries(maxRetries)
5758
.build()
5859

59-
return WorkloadApi("$internalApiScheme://$workloadApiBasePath", okHttpClient, retryPolicy)
60+
return WorkloadApiClient("$internalApiScheme://$workloadApiBasePath", retryPolicy, okHttpClient).workloadApi
6061
}
6162
}

0 commit comments

Comments
 (0)