mirror of
https://github.com/trailbaseio/trailbase
synced 2026-04-21 13:37:44 +00:00
Kotlin client: fix loop and pre-commit tests.
This commit is contained in:
parent
970c9e0cbd
commit
57ab485d33
3 changed files with 23 additions and 7 deletions
|
|
@ -169,7 +169,7 @@ repos:
|
|||
entry: sh -c 'DIFF=$(gofmt -d -e client/go/trailbase/) && echo "${DIFF}" && test -z "${DIFF}"'
|
||||
language: system
|
||||
types: [go]
|
||||
files: .*\.(go)$
|
||||
# files: .*\.(go)$
|
||||
pass_filenames: false
|
||||
|
||||
- id: go_test
|
||||
|
|
@ -182,7 +182,7 @@ repos:
|
|||
# Kotlin test
|
||||
- id: kotlin_test
|
||||
name: Kotlin test
|
||||
entry: sh -c 'cd client/kotlin && ./gradlew test'
|
||||
entry: sh -c 'cd client/kotlin && ./gradlew allTests'
|
||||
language: system
|
||||
types: [kotlin]
|
||||
pass_filenames: false
|
||||
|
|
|
|||
|
|
@ -484,7 +484,7 @@ class Client(
|
|||
suspend fun refreshAuthToken() {
|
||||
val refreshToken = tokenState.shouldRefresh()
|
||||
if (refreshToken != null) {
|
||||
tokenState = refreshTokensImpl(refreshToken)
|
||||
tokenState = refreshTokensImpl(transport, refreshToken)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -497,7 +497,7 @@ class Client(
|
|||
): HttpResponse {
|
||||
val refreshToken = tokenState.shouldRefresh()
|
||||
if (refreshToken != null) {
|
||||
tokenState = refreshTokensImpl(refreshToken)
|
||||
tokenState = refreshTokensImpl(transport, refreshToken)
|
||||
}
|
||||
|
||||
val response = transport.fetch(path, method, tokenState.headers, params, body)
|
||||
|
|
@ -507,12 +507,24 @@ class Client(
|
|||
|
||||
return response
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun refreshTokensImpl(refreshToken: String): TokenState {
|
||||
@Serializable data class Body(val refresh_token: String)
|
||||
private suspend fun refreshTokensImpl(transport: Transport, refreshToken: String): TokenState {
|
||||
@Serializable data class Body(val refresh_token: String)
|
||||
|
||||
return TokenState.build(fetch("${AUTH_API}/refresh", Method.post, refreshToken).body())
|
||||
val response =
|
||||
transport.fetch(
|
||||
"${AUTH_API}/refresh",
|
||||
Method.post,
|
||||
/*headers=*/ null,
|
||||
/*params=*/ null,
|
||||
Body(refreshToken),
|
||||
)
|
||||
if (!response.status.isSuccess()) {
|
||||
throw HttpException(response.status.value, response.body())
|
||||
}
|
||||
|
||||
return TokenState.build(response.body())
|
||||
}
|
||||
|
||||
private fun initClient(): HttpClient {
|
||||
|
|
|
|||
|
|
@ -143,8 +143,12 @@ class ClientTest {
|
|||
assertNotNull(client.tokens())
|
||||
assertEquals("admin@localhost", client.user()?.email)
|
||||
|
||||
client.refreshAuthToken()
|
||||
assertNotNull(client.tokens())
|
||||
|
||||
client.logout()
|
||||
assertNull(client.tokens())
|
||||
client.refreshAuthToken()
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Reference in a new issue