From 606fc9e84ee6d4af194e86106f94961d5a3fdd31 Mon Sep 17 00:00:00 2001 From: Dzmitry Rymarau Date: Wed, 27 Mar 2024 19:03:40 +0300 Subject: [PATCH] fixup! feat(api): migrate to okhttp 5.0.0-alpha.12 --- .../sdk/api/infinity/ConferenceStepTest.kt | 2 +- .../sdk/api/infinity/RegistrationStepTest.kt | 5 ++- .../kotlin/com/pexip/sdk/api/infinity/Util.kt | 41 ++++++------------- 3 files changed, 18 insertions(+), 30 deletions(-) diff --git a/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/ConferenceStepTest.kt b/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/ConferenceStepTest.kt index 5f9e1843b..d6a6c7833 100644 --- a/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/ConferenceStepTest.kt +++ b/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/ConferenceStepTest.kt @@ -1008,7 +1008,7 @@ internal class ConferenceStepTest { addPathSegment(conferenceAlias) addPathSegment("request_token") } - assertPin(pin) + assertThatHeader("pin").isEqualTo(pin?.let { if (it.isBlank()) "none" else it.trim() }) assertPost(json, request) } diff --git a/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/RegistrationStepTest.kt b/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/RegistrationStepTest.kt index 6e2c806cc..a976f08b9 100644 --- a/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/RegistrationStepTest.kt +++ b/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/RegistrationStepTest.kt @@ -15,11 +15,13 @@ */ package com.pexip.sdk.api.infinity +import assertk.assertions.isEqualTo import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import mockwebserver3.MockWebServer import mockwebserver3.junit4.MockWebServerRule import okhttp3.OkHttpClient +import okio.ByteString.Companion.encodeUtf8 import org.junit.Rule import java.net.URL import java.util.UUID @@ -267,7 +269,8 @@ internal class RegistrationStepTest { addPathSegment(deviceAlias) addPathSegment("request_token") } - assertAuthorization(username, password) + val base64 = "$username:$password".encodeUtf8().base64Url() + assertThatHeader("Authorization").isEqualTo("x-pexip-basic $base64") assertPostEmptyBody() } diff --git a/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/Util.kt b/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/Util.kt index 72d491c54..3faf1556e 100644 --- a/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/Util.kt +++ b/sdk-api/src/test/kotlin/com/pexip/sdk/api/infinity/Util.kt @@ -15,9 +15,9 @@ */ package com.pexip.sdk.api.infinity -import assertk.Assert import assertk.assertThat import assertk.assertions.isEqualTo +import assertk.assertions.isNull import assertk.assertions.isZero import assertk.assertions.prop import kotlinx.serialization.DeserializationStrategy @@ -25,11 +25,9 @@ import kotlinx.serialization.json.Json import mockwebserver3.MockResponse import mockwebserver3.MockWebServer import mockwebserver3.RecordedRequest -import okhttp3.Headers import okhttp3.HttpUrl import okhttp3.HttpUrl.Companion.toHttpUrl import okio.BufferedSource -import okio.ByteString.Companion.encodeUtf8 import okio.FileSystem import okio.Path import okio.Path.Companion.toPath @@ -70,17 +68,17 @@ internal inline fun MockWebServer.enqueue(block: MockResponse.Builder.() -> Unit internal inline fun MockWebServer.takeRequest(block: RecordedRequest.() -> Unit) = with(takeRequest(), block) -internal fun RecordedRequest.assertGet() = assertMethod("GET") +internal fun RecordedRequest.assertGet() = assertThatMethod().isEqualTo("GET") internal fun RecordedRequest.assertPostEmptyBody() { - assertMethod("POST") - assertContentType(null) + assertThatMethod().isEqualTo("POST") + assertThatHeader("Content-Type").isNull() assertThat(::bodySize).isZero() } internal inline fun RecordedRequest.assertPost(json: Json, request: T) { - assertMethod("POST") - assertContentType("application/json; charset=utf-8") + assertThatMethod().isEqualTo("POST") + assertThatHeader("Content-Type").isEqualTo("application/json; charset=utf-8") assertThat(json.decodeFromString(body.readUtf8()), "body").isEqualTo(request) } @@ -89,8 +87,8 @@ internal fun RecordedRequest.assertPost( serializer: DeserializationStrategy, request: T, ) { - assertMethod("POST") - assertContentType("application/json; charset=utf-8") + assertThatMethod().isEqualTo("POST") + assertThatHeader("Content-Type").isEqualTo("application/json; charset=utf-8") assertThat(json.decodeFromString(serializer, body.readUtf8()), "body").isEqualTo(request) } @@ -100,25 +98,12 @@ internal fun RecordedRequest.assertRequestUrl(url: URL, block: HttpUrl.Builder.( internal fun RecordedRequest.assertRequestUrl(url: HttpUrl, block: HttpUrl.Builder.() -> Unit) = assertThat(::requestUrl).isEqualTo(url.newBuilder().apply(block).build()) -internal fun RecordedRequest.assertToken(token: Token?) = assertThat(::headers) - .header("token") - .isEqualTo(token?.token) +internal fun RecordedRequest.assertToken(token: Token?) = + assertThatHeader("token").isEqualTo(token?.token) -internal fun RecordedRequest.assertMethod(method: String) = assertThat(::method).isEqualTo(method) +internal fun RecordedRequest.assertThatMethod() = assertThat(::method) -internal fun RecordedRequest.assertAuthorization(username: String, password: String) { - val base64 = "$username:$password".encodeUtf8().base64Url() - assertThat(::headers).header("Authorization").isEqualTo("x-pexip-basic $base64") -} - -internal fun RecordedRequest.assertPin(pin: String?) = assertThat(::headers) - .header("pin") - .isEqualTo(pin?.let { if (it.isBlank()) "none" else it.trim() }) - -private fun RecordedRequest.assertContentType(contentType: String?) = assertThat(::headers) - .header("Content-Type") - .isEqualTo(contentType) +internal fun RecordedRequest.assertThatHeader(name: String) = + assertThat(::headers).prop(name) { it[name] } private fun Random.nextUuid() = UUID.randomUUID().toString() - -private fun Assert.header(name: String) = prop(name) { it[name] }