Открыть боковую панель
Aurora OS
Kotlin Multiplatform
Libraries
ktor
Коммиты
222643a7
Не подтверждена
Коммит
222643a7
создал
Июн 16, 2021
по автору
Rustam
Зафиксировано автором
GitHub
Июн 16, 2021
Просмотр файлов
KTOR-1629 Fix failing and not compiling tests (#2517)
владелец
c1bf3ffd
Изменения
1
Скрыть пробелы
Построчно
Рядом
ktor-client/ktor-client-tests/common/test/io/ktor/client/tests/WebSocketTest.kt
Просмотр файла @
222643a7
...
...
@@ -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.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать