1
1
use crate :: common:: fixture_path;
2
2
use async_h1:: client;
3
3
use async_std:: fs:: File ;
4
- use async_std:: io:: SeekFrom ;
5
- use async_std:: prelude:: * ;
6
4
use http_types:: { headers, Method , Request , StatusCode } ;
7
5
use url:: Url ;
8
6
@@ -12,7 +10,11 @@ use common::TestCase;
12
10
13
11
#[ async_std:: test]
14
12
async fn test_encode_request_add_date ( ) {
15
- let case = TestCase :: new_client ( "fixtures/request1.txt" , "fixtures/response1.txt" ) . await ;
13
+ let case = TestCase :: new_client (
14
+ "fixtures/request-add-date.txt" ,
15
+ "fixtures/response-add-date.txt" ,
16
+ )
17
+ . await ;
16
18
17
19
let url = Url :: parse ( "http://localhost:8080" ) . unwrap ( ) ;
18
20
let mut req = Request :: new ( Method :: Post , url) ;
@@ -26,12 +28,22 @@ async fn test_encode_request_add_date() {
26
28
27
29
#[ async_std:: test]
28
30
async fn test_response_no_date ( ) {
29
- let mut response_fixture = File :: open ( fixture_path ( "fixtures/response-no-date.txt" ) )
31
+ let response_fixture = File :: open ( fixture_path ( "fixtures/response-no-date.txt" ) )
30
32
. await
31
33
. unwrap ( ) ;
32
- response_fixture. seek ( SeekFrom :: Start ( 0 ) ) . await . unwrap ( ) ;
33
34
34
35
let res = client:: decode ( response_fixture) . await . unwrap ( ) ;
35
36
36
37
pretty_assertions:: assert_eq!( res. header( & headers:: DATE ) . is_some( ) , true ) ;
37
38
}
39
+
40
+ #[ async_std:: test]
41
+ async fn test_multiple_header_values_for_same_header_name ( ) {
42
+ let response_fixture = File :: open ( fixture_path ( "fixtures/response-multiple-cookies.txt" ) )
43
+ . await
44
+ . unwrap ( ) ;
45
+
46
+ let res = client:: decode ( response_fixture) . await . unwrap ( ) ;
47
+
48
+ pretty_assertions:: assert_eq!( res. header( & headers:: SET_COOKIE ) . unwrap( ) . len( ) , 2 ) ;
49
+ }
0 commit comments