@@ -13,7 +13,7 @@ import kotlin.test.*
13
13
class HeadersTest : ClientLoader () {
14
14
15
15
@Test
16
- fun headersReturnNullWhenMissing (): Unit = clientTests {
16
+ fun headersReturnNullWhenMissing () = clientTests {
17
17
config {}
18
18
test { client ->
19
19
client.get<HttpResponse >(" $TEST_SERVER /headers/" ).let {
@@ -25,4 +25,41 @@ class HeadersTest : ClientLoader() {
25
25
}
26
26
}
27
27
}
28
+
29
+ @Test
30
+ fun headersMergeTest () = clientTests(listOf (" Js" )) {
31
+ config {}
32
+ test { client ->
33
+ client.get<HttpResponse >(" $TEST_SERVER /headers-merge/" ) {
34
+ accept(ContentType .Text .Html )
35
+ accept(ContentType .Application .Json )
36
+ }.let {
37
+ assertEquals(HttpStatusCode .OK , it.status)
38
+ assertEquals(" JSON" , it.readText())
39
+ assertEquals(" application/json; charset=UTF-8" , it.headers[HttpHeaders .ContentType ])
40
+ }
41
+
42
+ client.get<HttpResponse >(" $TEST_SERVER /headers-merge/" ) {
43
+ accept(ContentType .Text .Html )
44
+ accept(ContentType .Application .Xml )
45
+ }.let {
46
+ assertEquals(" XML" , it.readText())
47
+ assertEquals(" application/xml; charset=UTF-8" , it.headers[HttpHeaders .ContentType ])
48
+ }
49
+ }
50
+ }
51
+
52
+ @Test
53
+ fun testTest () = clientTests(listOf (" Js" )) {
54
+ config {}
55
+ test { client ->
56
+ val lines = client.get<String >(" $HTTP_PROXY_SERVER /headers-merge" ) {
57
+ accept(ContentType .Application .Xml )
58
+ accept(ContentType .Application .Json )
59
+ }.split(" \n " )
60
+
61
+ val acceptHeaderLine = lines.first { it.startsWith(" Accept:" ) }
62
+ assertEquals(" Accept: application/xml,application/json" , acceptHeaderLine)
63
+ }
64
+ }
28
65
}
0 commit comments