Не подтверждена Коммит 222643a7 создал по автору Rustam's avatar Rustam Зафиксировано автором GitHub
Просмотр файлов

KTOR-1629 Fix failing and not compiling tests (#2517)

владелец c1bf3ffd
......@@ -11,9 +11,9 @@ import io.ktor.client.tests.utils.*
import io.ktor.http.cio.websocket.*
import io.ktor.util.*
import kotlinx.coroutines.*
import kotlinx.coroutines.channels.*
import kotlinx.serialization.*
import kotlinx.serialization.json.*
import kotlinx.coroutines.channels.*
import kotlin.test.*
internal val ENGINES_WITHOUT_WEBSOCKETS = listOf("Apache", "Android", "iOS", "Curl", "native:CIO")
......@@ -97,51 +97,49 @@ class WebSocketTest : ClientLoader() {
}
@Test
fun testWsHandshakeHeaders() =
clientTests(ENGINES_WITHOUT_WEBSOCKETS + "native:CIO") {
if (PlatformUtils.IS_BROWSER) return@clientTests // browser websocket client does not support custom headers so the test gets ignored
config {
install(WebSockets)
}
test { client ->
val session = client.webSocketSession {
url("$TEST_WEBSOCKET_SERVER/websockets/headers")
header(CUSTOM_HEADER, CUSTOM_HEADER_VALUE)
}
fun testWsHandshakeHeaders() = clientTests(ENGINES_WITHOUT_WEBSOCKETS + "native:CIO") {
// browser websocket client does not support custom headers so the test gets ignored
if (PlatformUtils.IS_BROWSER) return@clientTests
config {
install(WebSockets)
}
val frame = session.incoming.receive()
assertTrue(frame is Frame.Text)
val headers =
Json.decodeFromString<Map<String, List<String>>>(frame.readText())
val header = headers[CUSTOM_HEADER]?.first()
assertEquals(CUSTOM_HEADER_VALUE, header)
test { client ->
val session = client.webSocketSession {
url("$TEST_WEBSOCKET_SERVER/websockets/headers")
header(CUSTOM_HEADER, CUSTOM_HEADER_VALUE)
}
val frame = session.incoming.receive()
assertTrue(frame is Frame.Text)
val headers =
Json.decodeFromString<Map<String, List<String>>>(frame.readText())
val header = headers[CUSTOM_HEADER]?.first()
assertEquals(CUSTOM_HEADER_VALUE, header)
}
}
@Test
fun testWsHandshakeHeadersWithMultipleValues() =
clientTests(ENGINES_WITHOUT_WEBSOCKETS + "native:CIO") {
if (PlatformUtils.IS_BROWSER) return@clientTests // browser websocket client does not support custom headers so the test gets ignored
config {
install(WebSockets)
}
test { client ->
val session = client.webSocketSession {
url("$TEST_WEBSOCKET_SERVER/websockets/headers")
header(CUSTOM_HEADER, CUSTOM_HEADER_VALUE)
header(CUSTOM_HEADER, CUSTOM_HEADER_VALUE)
}
fun testWsHandshakeHeadersWithMultipleValues() = clientTests(ENGINES_WITHOUT_WEBSOCKETS + "native:CIO") {
// browser websocket client does not support custom headers so the test gets ignored
if (PlatformUtils.IS_BROWSER) return@clientTests
config {
install(WebSockets)
}
val frame = session.incoming.receive()
assertTrue(frame is Frame.Text)
val headers =
Json.decodeFromString<Map<String, List<String>>>(frame.readText())
val header = headers[CUSTOM_HEADER]
assertEquals(listOf(CUSTOM_HEADER_VALUE, CUSTOM_HEADER_VALUE), header)
test { client ->
val session = client.webSocketSession {
url("$TEST_WEBSOCKET_SERVER/websockets/headers")
header(CUSTOM_HEADER, CUSTOM_HEADER_VALUE)
header(CUSTOM_HEADER, CUSTOM_HEADER_VALUE)
}
val frame = session.incoming.receive()
assertTrue(frame is Frame.Text)
val frameText = frame.readText()
val headers = Json.decodeFromString<Map<String, List<String>>>(frameText)
val header = headers[CUSTOM_HEADER]?.first()
assertEquals("$CUSTOM_HEADER_VALUE,$CUSTOM_HEADER_VALUE", header)
}
}
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать