@@ -1010,11 +1010,11 @@ mod test {
10101010 use serde_json:: json;
10111011 use wiremock:: {
10121012 matchers:: { header, method, path} ,
1013- Mock , MockGuard , MockServer , ResponseTemplate ,
1013+ Mock , MockServer , ResponseTemplate ,
10141014 } ;
10151015
10161016 use super :: * ;
1017- use crate :: test_utils:: logged_in_client;
1017+ use crate :: test_utils:: { logged_in_client, mocks :: MatrixMockServer } ;
10181018
10191019 fn room_key ( ) -> ExportedRoomKey {
10201020 let json = json ! ( {
@@ -1120,10 +1120,10 @@ mod test {
11201120
11211121 #[ async_test]
11221122 async fn test_when_a_backup_exists_then_exists_on_server_returns_true ( ) {
1123- let server = MockServer :: start ( ) . await ;
1124- let client = logged_in_client ( Some ( server. uri ( ) ) ) . await ;
1123+ let server = MatrixMockServer :: new ( ) . await ;
1124+ let client = server. client_builder ( ) . build ( ) . await ;
11251125
1126- let _scope = mock_backup_exists ( & server) . await ;
1126+ server. mock_room_keys_version ( ) . exists ( ) . expect ( 1 ) . mount ( ) . await ;
11271127
11281128 let exists = client
11291129 . encryption ( )
@@ -1133,16 +1133,14 @@ mod test {
11331133 . expect ( "We should be able to check if backups exist on the server" ) ;
11341134
11351135 assert ! ( exists, "We should deduce that a backup exists on the server" ) ;
1136-
1137- server. verify ( ) . await ;
11381136 }
11391137
11401138 #[ async_test]
11411139 async fn test_when_no_backup_exists_then_exists_on_server_returns_false ( ) {
1142- let server = MockServer :: start ( ) . await ;
1143- let client = logged_in_client ( Some ( server. uri ( ) ) ) . await ;
1140+ let server = MatrixMockServer :: new ( ) . await ;
1141+ let client = server. client_builder ( ) . build ( ) . await ;
11441142
1145- let _scope = mock_backup_none ( & server) . await ;
1143+ server. mock_room_keys_version ( ) . none ( ) . expect ( 1 ) . mount ( ) . await ;
11461144
11471145 let exists = client
11481146 . encryption ( )
@@ -1152,32 +1150,30 @@ mod test {
11521150 . expect ( "We should be able to check if backups exist on the server" ) ;
11531151
11541152 assert ! ( !exists, "We should deduce that no backup exists on the server" ) ;
1155-
1156- server. verify ( ) . await ;
11571153 }
11581154
11591155 #[ async_test]
11601156 async fn test_when_server_returns_an_error_then_exists_on_server_returns_an_error ( ) {
1161- let server = MockServer :: start ( ) . await ;
1162- let client = logged_in_client ( Some ( server. uri ( ) ) ) . await ;
1157+ let server = MatrixMockServer :: new ( ) . await ;
1158+ let client = server. client_builder ( ) . build ( ) . await ;
11631159
11641160 {
1165- let _scope = mock_backup_too_many_requests ( & server) . await ;
1161+ let _scope =
1162+ server. mock_room_keys_version ( ) . error429 ( ) . expect ( 1 ) . mount_as_scoped ( ) . await ;
11661163
11671164 client. encryption ( ) . backups ( ) . exists_on_server ( ) . await . expect_err (
11681165 "If the /version endpoint returns a non 404 error we should throw an error" ,
11691166 ) ;
11701167 }
11711168
11721169 {
1173- let _scope = mock_backup_404 ( & server) ;
1170+ let _scope =
1171+ server. mock_room_keys_version ( ) . error404 ( ) . expect ( 1 ) . mount_as_scoped ( ) . await ;
11741172
11751173 client. encryption ( ) . backups ( ) . exists_on_server ( ) . await . expect_err (
11761174 "If the /version endpoint returns a non-Matrix 404 error we should throw an error" ,
11771175 ) ;
11781176 }
1179-
1180- server. verify ( ) . await ;
11811177 }
11821178
11831179 #[ async_test]
@@ -1254,60 +1250,4 @@ mod test {
12541250
12551251 server. verify ( ) . await ;
12561252 }
1257-
1258- async fn mock_backup_exists ( server : & MockServer ) -> MockGuard {
1259- Mock :: given ( method ( "GET" ) )
1260- . and ( path ( "_matrix/client/r0/room_keys/version" ) )
1261- . and ( header ( "authorization" , "Bearer 1234" ) )
1262- . respond_with ( ResponseTemplate :: new ( 200 ) . set_body_json ( json ! ( {
1263- "algorithm" : "m.megolm_backup.v1.curve25519-aes-sha2" ,
1264- "auth_data" : {
1265- "public_key" : "abcdefg" ,
1266- "signatures" : { } ,
1267- } ,
1268- "count" : 42 ,
1269- "etag" : "anopaquestring" ,
1270- "version" : "1" ,
1271- } ) ) )
1272- . expect ( 1 )
1273- . mount_as_scoped ( server)
1274- . await
1275- }
1276-
1277- async fn mock_backup_none ( server : & MockServer ) -> MockGuard {
1278- Mock :: given ( method ( "GET" ) )
1279- . and ( path ( "_matrix/client/r0/room_keys/version" ) )
1280- . and ( header ( "authorization" , "Bearer 1234" ) )
1281- . respond_with ( ResponseTemplate :: new ( 404 ) . set_body_json ( json ! ( {
1282- "errcode" : "M_NOT_FOUND" ,
1283- "error" : "No current backup version"
1284- } ) ) )
1285- . expect ( 1 )
1286- . mount_as_scoped ( server)
1287- . await
1288- }
1289-
1290- async fn mock_backup_too_many_requests ( server : & MockServer ) -> MockGuard {
1291- Mock :: given ( method ( "GET" ) )
1292- . and ( path ( "_matrix/client/r0/room_keys/version" ) )
1293- . and ( header ( "authorization" , "Bearer 1234" ) )
1294- . respond_with ( ResponseTemplate :: new ( 429 ) . set_body_json ( json ! ( {
1295- "errcode" : "M_LIMIT_EXCEEDED" ,
1296- "error" : "Too many requests" ,
1297- "retry_after_ms" : 2000
1298- } ) ) )
1299- . expect ( 1 )
1300- . mount_as_scoped ( server)
1301- . await
1302- }
1303-
1304- async fn mock_backup_404 ( server : & MockServer ) -> MockGuard {
1305- Mock :: given ( method ( "GET" ) )
1306- . and ( path ( "_matrix/client/r0/room_keys/version" ) )
1307- . and ( header ( "authorization" , "Bearer 1234" ) )
1308- . respond_with ( ResponseTemplate :: new ( 404 ) )
1309- . expect ( 1 )
1310- . mount_as_scoped ( server)
1311- . await
1312- }
13131253}
0 commit comments