Skip to content

Commit 253cf7f

Browse files
fix(client): mark some request bodies as optional (#495)
chore(internal): use `assertNotNull` in tests for type narrowing chore(internal): remove unnecessary non-null asserts in tests
1 parent 6273644 commit 253cf7f

60 files changed

Lines changed: 158 additions & 165 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

lithic-java-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountCreateParams.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,18 @@ import kotlin.jvm.optionals.getOrNull
3737
/** Creates an external bank account within a program or Lithic account. */
3838
class ExternalBankAccountCreateParams
3939
private constructor(
40-
private val body: Body,
40+
private val body: Body?,
4141
private val additionalHeaders: Headers,
4242
private val additionalQueryParams: QueryParams,
4343
) : Params {
4444

45-
fun body(): Body = body
45+
fun body(): Optional<Body> = Optional.ofNullable(body)
4646

4747
fun _additionalHeaders(): Headers = additionalHeaders
4848

4949
fun _additionalQueryParams(): QueryParams = additionalQueryParams
5050

51-
@JvmSynthetic internal fun _body(): Body = body
51+
@JvmSynthetic internal fun _body(): Optional<Body> = Optional.ofNullable(body)
5252

5353
override fun _headers(): Headers = additionalHeaders
5454

@@ -1924,7 +1924,9 @@ private constructor(
19241924
externalBankAccountCreateParams.additionalQueryParams.toBuilder()
19251925
}
19261926

1927-
fun body(body: Body) = apply { this.body = body }
1927+
fun body(body: Body?) = apply { this.body = body }
1928+
1929+
fun body(body: Optional<Body>) = body(body.orElse(null))
19281930

19291931
fun body(
19301932
bankVerifiedCreateBankAccountApiRequest: Body.BankVerifiedCreateBankAccountApiRequest
@@ -2048,7 +2050,7 @@ private constructor(
20482050

20492051
fun build(): ExternalBankAccountCreateParams =
20502052
ExternalBankAccountCreateParams(
2051-
checkRequired("body", body),
2053+
body,
20522054
additionalHeaders.build(),
20532055
additionalQueryParams.build(),
20542056
)

lithic-java-core/src/main/kotlin/com/lithic/api/services/async/ExternalBankAccountServiceAsyncImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ internal constructor(private val clientOptions: ClientOptions) : ExternalBankAcc
5353
HttpRequest.builder()
5454
.method(HttpMethod.POST)
5555
.addPathSegments("v1", "external_bank_accounts")
56-
.body(json(clientOptions.jsonMapper, params._body()))
56+
.apply { params._body().ifPresent { body(json(clientOptions.jsonMapper, it)) } }
5757
.build()
5858
.prepareAsync(clientOptions, params)
5959
return request

lithic-java-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalBankAccountServiceImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ internal constructor(private val clientOptions: ClientOptions) : ExternalBankAcc
5252
HttpRequest.builder()
5353
.method(HttpMethod.POST)
5454
.addPathSegments("v1", "external_bank_accounts")
55-
.body(json(clientOptions.jsonMapper, params._body()))
55+
.apply { params._body().ifPresent { body(json(clientOptions.jsonMapper, it)) } }
5656
.build()
5757
.prepare(clientOptions, params)
5858
val response = clientOptions.httpClient.execute(request, requestOptions)

lithic-java-core/src/test/kotlin/com/lithic/api/models/AccountHolderCreateParamsTest.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,6 @@ class AccountHolderCreateParamsTest {
201201

202202
val body = params._body()
203203

204-
assertThat(body).isNotNull
205204
assertThat(body)
206205
.isEqualTo(
207206
AccountHolderCreateParams.Body.ofKyb(
@@ -382,7 +381,6 @@ class AccountHolderCreateParamsTest {
382381

383382
val body = params._body()
384383

385-
assertThat(body).isNotNull
386384
assertThat(body)
387385
.isEqualTo(
388386
AccountHolderCreateParams.Body.ofKyb(

lithic-java-core/src/test/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentDocumentReviewParamsTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
package com.lithic.api.models
44

5+
import kotlin.test.assertNotNull
56
import org.assertj.core.api.Assertions.assertThat
67
import org.junit.jupiter.api.Test
78

@@ -35,7 +36,7 @@ class AccountHolderSimulateEnrollmentDocumentReviewParamsTest {
3536

3637
val body = params._body()
3738

38-
assertThat(body).isNotNull
39+
assertNotNull(body)
3940
assertThat(body.documentUploadToken()).isEqualTo("document_upload_token")
4041
assertThat(body.status())
4142
.isEqualTo(AccountHolderSimulateEnrollmentDocumentReviewParams.Status.UPLOADED)
@@ -57,7 +58,7 @@ class AccountHolderSimulateEnrollmentDocumentReviewParamsTest {
5758

5859
val body = params._body()
5960

60-
assertThat(body).isNotNull
61+
assertNotNull(body)
6162
assertThat(body.documentUploadToken()).isEqualTo("document_upload_token")
6263
assertThat(body.status())
6364
.isEqualTo(AccountHolderSimulateEnrollmentDocumentReviewParams.Status.UPLOADED)

lithic-java-core/src/test/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentReviewParamsTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
package com.lithic.api.models
44

5+
import kotlin.test.assertNotNull
56
import org.assertj.core.api.Assertions.assertThat
67
import org.junit.jupiter.api.Test
78

@@ -33,7 +34,7 @@ class AccountHolderSimulateEnrollmentReviewParamsTest {
3334

3435
val body = params._body()
3536

36-
assertThat(body).isNotNull
37+
assertNotNull(body)
3738
assertThat(body.accountHolderToken()).contains("account_holder_token")
3839
assertThat(body.status())
3940
.contains(AccountHolderSimulateEnrollmentReviewParams.Status.ACCEPTED)
@@ -52,6 +53,6 @@ class AccountHolderSimulateEnrollmentReviewParamsTest {
5253

5354
val body = params._body()
5455

55-
assertThat(body).isNotNull
56+
assertNotNull(body)
5657
}
5758
}

lithic-java-core/src/test/kotlin/com/lithic/api/models/AccountHolderUpdateParamsTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
package com.lithic.api.models
44

5+
import kotlin.test.assertNotNull
56
import org.assertj.core.api.Assertions.assertThat
67
import org.junit.jupiter.api.Test
78

@@ -29,7 +30,7 @@ class AccountHolderUpdateParamsTest {
2930

3031
val body = params._body()
3132

32-
assertThat(body).isNotNull
33+
assertNotNull(body)
3334
assertThat(body.businessAccountToken()).contains("business_account_token")
3435
assertThat(body.email()).contains("email")
3536
assertThat(body.phoneNumber()).contains("phone_number")
@@ -44,7 +45,7 @@ class AccountHolderUpdateParamsTest {
4445

4546
val body = params._body()
4647

47-
assertThat(body).isNotNull
48+
assertNotNull(body)
4849
}
4950

5051
@Test

lithic-java-core/src/test/kotlin/com/lithic/api/models/AccountHolderUploadDocumentParamsTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
package com.lithic.api.models
44

5+
import kotlin.test.assertNotNull
56
import org.assertj.core.api.Assertions.assertThat
67
import org.junit.jupiter.api.Test
78

@@ -27,7 +28,7 @@ class AccountHolderUploadDocumentParamsTest {
2728

2829
val body = params._body()
2930

30-
assertThat(body).isNotNull
31+
assertNotNull(body)
3132
assertThat(body.documentType())
3233
.isEqualTo(AccountHolderUploadDocumentParams.DocumentType.EIN_LETTER)
3334
assertThat(body.entityToken()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
@@ -44,7 +45,7 @@ class AccountHolderUploadDocumentParamsTest {
4445

4546
val body = params._body()
4647

47-
assertThat(body).isNotNull
48+
assertNotNull(body)
4849
assertThat(body.documentType())
4950
.isEqualTo(AccountHolderUploadDocumentParams.DocumentType.EIN_LETTER)
5051
assertThat(body.entityToken()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

lithic-java-core/src/test/kotlin/com/lithic/api/models/AccountUpdateParamsTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
package com.lithic.api.models
44

5+
import kotlin.test.assertNotNull
56
import org.assertj.core.api.Assertions.assertThat
67
import org.junit.jupiter.api.Test
78

@@ -51,7 +52,7 @@ class AccountUpdateParamsTest {
5152

5253
val body = params._body()
5354

54-
assertThat(body).isNotNull
55+
assertNotNull(body)
5556
assertThat(body.dailySpendLimit()).contains(0L)
5657
assertThat(body.lifetimeSpendLimit()).contains(0L)
5758
assertThat(body.monthlySpendLimit()).contains(0L)
@@ -78,7 +79,7 @@ class AccountUpdateParamsTest {
7879

7980
val body = params._body()
8081

81-
assertThat(body).isNotNull
82+
assertNotNull(body)
8283
}
8384

8485
@Test

lithic-java-core/src/test/kotlin/com/lithic/api/models/AuthRuleV2ApplyParamsTest.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ class AuthRuleV2ApplyParamsTest {
3333

3434
val body = params._body()
3535

36-
assertThat(body).isNotNull
3736
assertThat(body)
3837
.isEqualTo(
3938
AuthRuleV2ApplyParams.Body.ofApplyAuthRuleRequestAccountTokens(
@@ -58,7 +57,6 @@ class AuthRuleV2ApplyParamsTest {
5857

5958
val body = params._body()
6059

61-
assertThat(body).isNotNull
6260
assertThat(body)
6361
.isEqualTo(
6462
AuthRuleV2ApplyParams.Body.ofApplyAuthRuleRequestAccountTokens(

0 commit comments

Comments
 (0)