@@ -29,26 +29,29 @@ mod tests {
2929 use crate :: TiledQuery ;
3030 use crate :: clients:: TiledClient ;
3131
32+ fn build_schema ( server : & MockServer ) -> Schema < TiledQuery , EmptyMutation , EmptySubscription > {
33+ Schema :: build (
34+ TiledQuery ( TiledClient {
35+ address : Url :: parse ( & server. base_url ( ) ) . unwrap ( ) ,
36+ } ) ,
37+ EmptyMutation ,
38+ EmptySubscription ,
39+ )
40+ . finish ( )
41+ }
42+
3243 #[ tokio:: test]
3344 async fn test_api_version_query ( ) {
34- let mock_server = MockServer :: start ( ) ;
35- let mock = mock_server
45+ let server = MockServer :: start ( ) ;
46+ let mock = server
3647 . mock_async ( |when, then| {
3748 when. method ( "GET" ) . path ( "/api/v1/" ) ;
3849 then. status ( 200 )
3950 . body_from_file ( "resources/tiled_metadata.json" ) ;
4051 } )
4152 . await ;
4253
43- let schema = Schema :: build (
44- TiledQuery ( TiledClient {
45- address : Url :: parse ( & mock_server. base_url ( ) ) . unwrap ( ) ,
46- } ) ,
47- EmptyMutation ,
48- EmptySubscription ,
49- )
50- . finish ( ) ;
51-
54+ let schema = build_schema ( & server) ;
5255 let response = schema. execute ( "{appMetadata { apiVersion } }" ) . await ;
5356
5457 assert_eq ! ( response. data, value! { { "appMetadata" : { "apiVersion" : 0 } } } ) ;
@@ -78,27 +81,20 @@ mod tests {
7881
7982 #[ tokio:: test]
8083 async fn test_internal_tiled_error ( ) {
81- let mock_server = MockServer :: start ( ) ;
82- let mock = mock_server
84+ let server = MockServer :: start ( ) ;
85+ let mock = server
8386 . mock_async ( |when, then| {
8487 when. method ( "GET" ) . path ( "/api/v1/" ) ;
8588 then. status ( 503 ) ;
8689 } )
8790 . await ;
8891
89- let schema = Schema :: build (
90- TiledQuery ( TiledClient {
91- address : Url :: parse ( & mock_server. base_url ( ) ) . unwrap ( ) ,
92- } ) ,
93- EmptyMutation ,
94- EmptySubscription ,
95- )
96- . finish ( ) ;
97-
92+ let schema = build_schema ( & server) ;
9893 let response = schema. execute ( "{appMetadata { apiVersion } }" ) . await ;
9994 let actual = & response. errors [ 0 ] . message ;
10095 let expected =
10196 "Tiled server error: HTTP status server error (503 Service Unavailable) for url" ;
97+
10298 assert_eq ! ( response. data, Value :: Null ) ;
10399 assert ! (
104100 actual. starts_with( expected) ,
@@ -110,24 +106,17 @@ mod tests {
110106
111107 #[ tokio:: test]
112108 async fn test_invalid_server_response ( ) {
113- let mock_server = MockServer :: start ( ) ;
114- let mock = mock_server
109+ let server = MockServer :: start ( ) ;
110+ let mock = server
115111 . mock_async ( |when, then| {
116112 when. method ( "GET" ) . path ( "/api/v1/" ) ;
117113 then. status ( 200 ) . body ( "{}" ) ;
118114 } )
119115 . await ;
120116
121- let schema = Schema :: build (
122- TiledQuery ( TiledClient {
123- address : Url :: parse ( & mock_server. base_url ( ) ) . unwrap ( ) ,
124- } ) ,
125- EmptyMutation ,
126- EmptySubscription ,
127- )
128- . finish ( ) ;
129-
117+ let schema = build_schema ( & server) ;
130118 let response = schema. execute ( "{appMetadata { apiVersion } }" ) . await ;
119+
131120 assert_eq ! ( response. data, Value :: Null ) ;
132121 assert_eq ! ( response. errors. len( ) , 1 ) ;
133122 assert_eq ! (
@@ -140,34 +129,24 @@ mod tests {
140129 #[ tokio:: test]
141130 async fn test_run_metadata_query ( ) {
142131 let id = Uuid :: parse_str ( "5d8f5c3e-0e00-4c5c-816d-70b4b0f41498" ) . unwrap ( ) ;
143- let mock_server = MockServer :: start ( ) ;
144- let mock = mock_server
132+ let server = MockServer :: start ( ) ;
133+ let mock = server
145134 . mock_async ( |when, then| {
146135 when. method ( "GET" ) . path ( format ! ( "/api/v1/metadata/{id}" ) ) ;
147136 then. status ( 200 )
148137 . body_from_file ( "resources/run_metadata.json" ) ;
149138 } )
150139 . await ;
151140
152- let schema = Schema :: build (
153- TiledQuery ( TiledClient {
154- address : Url :: parse ( & mock_server. base_url ( ) ) . unwrap ( ) ,
155- } ) ,
156- EmptyMutation ,
157- EmptySubscription ,
158- )
159- . finish ( ) ;
160-
141+ let schema = build_schema ( & server) ;
161142 let query = r#"{ runMetadata(id: "5d8f5c3e-0e00-4c5c-816d-70b4b0f41498") {data {id}}}"# ;
162-
163143 let response = schema. execute ( query) . await ;
164-
165144 let exp = value ! ( {
166145 "runMetadata" : { "data" : { "id" : "5d8f5c3e-0e00-4c5c-816d-70b4b0f41498" } }
167146 } ) ;
168147
169- mock. assert ( ) ;
170148 assert_eq ! ( response. data, exp) ;
171149 assert_eq ! ( response. errors, & [ ] ) ;
150+ mock. assert ( ) ;
172151 }
173152}
0 commit comments