matrix_sdk_test/test_json/
sync.rs

1//! Complete sync responses.
2
3use once_cell::sync::Lazy;
4use ruma::{RoomId, room_id};
5use serde_json::{Value as JsonValue, json};
6
7use crate::DEFAULT_TEST_ROOM_ID;
8
9pub static SYNC: Lazy<JsonValue> = Lazy::new(|| {
10    json!({
11        "device_one_time_keys_count": {},
12        "next_batch": "s526_47314_0_7_1_1_1_11444_1",
13        "device_lists": {
14            "changed": [
15                "@example:example.org"
16            ],
17            "left": []
18        },
19        "account_data": {
20            "events": [
21                {
22                    "content": {
23                        "ignored_users": {
24                            "@someone:example.org": {}
25                        }
26                    },
27                    "type": "m.ignored_user_list"
28                }
29            ]
30        },
31        "rooms": {
32            "invite": {},
33            "join": {
34                *DEFAULT_TEST_ROOM_ID: {
35                    "summary": {},
36                    "account_data": {
37                        "events": [
38                            {
39                                "content": {
40                                    "event_id": "$someplace:example.org"
41                                },
42                                "room_id": "!roomid:room.com",
43                                "type": "m.fully_read"
44                            }
45                        ]
46                    },
47                    "ephemeral": {
48                        "events": [
49                            {
50                                "content": {
51                                    "$151680659217152dPKjd:localhost": {
52                                        "m.read": {
53                                            "@example:localhost": {
54                                                "ts": 151680989
55                                            }
56                                        }
57                                    }
58                                },
59                                "room_id": *DEFAULT_TEST_ROOM_ID,
60                                "type": "m.receipt"
61                            },
62                        ]
63                    },
64                    "state": {
65                        "events": [
66                            {
67                                "content": {
68                                    "join_rule": "public"
69                                },
70                                "event_id": "$15139375514WsgmR:localhost",
71                                "origin_server_ts": 151393755000000_u64,
72                                "sender": "@example:localhost",
73                                "state_key": "",
74                                "type": "m.room.join_rules",
75                                "unsigned": {
76                                    "age": 7034220
77                                }
78                            },
79                            {
80                                "content": {
81                                    "avatar_url": null,
82                                    "displayname": "example",
83                                    "membership": "join"
84                                },
85                                "event_id": "$151800140517rfvjc:localhost",
86                                "membership": "join",
87                                "origin_server_ts": 151800140000000_u64,
88                                "sender": "@example:localhost",
89                                "state_key": "@example:localhost",
90                                "type": "m.room.member",
91                                "unsigned": {
92                                    "age": 2970366,
93                                    "replaces_state": "$151800111315tsynI:localhost"
94                                }
95                            },
96                            {
97                                "content": {
98                                    "history_visibility": "shared"
99                                },
100                                "event_id": "$15139375515VaJEY:localhost",
101                                "origin_server_ts": 151393755000000_u64,
102                                "sender": "@example:localhost",
103                                "state_key": "",
104                                "type": "m.room.history_visibility",
105                                "unsigned": {
106                                    "age": 7034220
107                                }
108                            },
109                            {
110                                "content": {
111                                    "creator": "@example:localhost"
112                                },
113                                "event_id": "$15139375510KUZHi:localhost",
114                                "origin_server_ts": 151393755000000_u64,
115                                "sender": "@example:localhost",
116                                "state_key": "",
117                                "type": "m.room.create",
118                                "unsigned": {
119                                    "age": 703422
120                                }
121                            },
122                            {
123                                "content": {
124                                    "aliases": [
125                                        "#tutorial:localhost"
126                                    ]
127                                },
128                                "event_id": "$15139375516NUgtD:localhost",
129                                "origin_server_ts": 151393755000000_u64,
130                                "sender": "@example:localhost",
131                                "state_key": "localhost",
132                                "type": "m.room.aliases",
133                                "unsigned": {
134                                    "age": 703422
135                                }
136                            },
137                            {
138                                "content": {
139                                    "topic": "room topic"
140                                },
141                                "event_id": "$151957878228ssqrJ:localhost",
142                                "origin_server_ts": 151957878000000_u64,
143                                "sender": "@example:localhost",
144                                "state_key": "",
145                                "type": "m.room.topic",
146                                "unsigned": {
147                                    "age": 1392989709,
148                                    "prev_content": {
149                                        "topic": "test"
150                                    },
151                                    "prev_sender": "@example:localhost",
152                                    "replaces_state": "$151957069225EVYKm:localhost"
153                                }
154                            },
155                            {
156                                "content": {
157                                    "ban": 50,
158                                    "events": {
159                                        "m.room.avatar": 50,
160                                        "m.room.canonical_alias": 50,
161                                        "m.room.history_visibility": 100,
162                                        "m.room.name": 50,
163                                        "m.room.power_levels": 100
164                                    },
165                                    "events_default": 0,
166                                    "invite": 0,
167                                    "kick": 50,
168                                    "redact": 50,
169                                    "state_default": 50,
170                                    "users": {
171                                        "@example:localhost": 100
172                                    },
173                                    "users_default": 0
174                                },
175                                "event_id": "$15139375512JaHAW:localhost",
176                                "origin_server_ts": 151393755000000_u64,
177                                "sender": "@example:localhost",
178                                "state_key": "",
179                                "type": "m.room.power_levels",
180                                "unsigned": {
181                                    "age": 703422
182                                }
183                            },
184                            {
185                                "content": {
186                                    "alias": "#tutorial:localhost"
187                                },
188                                "event_id": "$15139375513VdeRF:localhost",
189                                "origin_server_ts": 151393755000000_u64,
190                                "sender": "@example:localhost",
191                                "state_key": "",
192                                "type": "m.room.canonical_alias",
193                                "unsigned": {
194                                    "age": 703422
195                                }
196                            },
197                            {
198                                "content": {
199                                    "avatar_url": null,
200                                    "displayname": "example2",
201                                    "membership": "join"
202                                },
203                                "event_id": "$152034824468gOeNB:localhost",
204                                "membership": "join",
205                                "origin_server_ts": 152034824000000_u64,
206                                "sender": "@example2:localhost",
207                                "state_key": "@example2:localhost",
208                                "type": "m.room.member",
209                                "unsigned": {
210                                    "age": 623527289,
211                                    "prev_content": {
212                                        "membership": "leave"
213                                    },
214                                    "prev_sender": "@example:localhost",
215                                    "replaces_state": "$152034819067QWJxM:localhost"
216                                }
217                            },
218                        ]
219                    },
220                    "timeline": {
221                        "events": [
222                            {
223                                "content": {
224                                    "body": "baba",
225                                    "format": "org.matrix.custom.html",
226                                    "formatted_body": "<strong>baba</strong>",
227                                    "msgtype": "m.text"
228                                },
229                                "event_id": "$152037280074GZeOm:localhost",
230                                "origin_server_ts": 152037280000000_u64,
231                                "sender": "@example:localhost",
232                                "type": "m.room.message",
233                                "unsigned": {
234                                    "age": 598971425
235                                }
236                            }
237                        ],
238                        "limited": true,
239                        "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
240                    },
241                    "unread_notifications": {
242                        "highlight_count": 0,
243                        "notification_count": 11
244                    }
245                }
246            },
247            "leave": {}
248        },
249        "to_device": {
250            "events": []
251        },
252        "presence": {
253            "events": [
254                {
255                    "content": {
256                        "avatar_url": "mxc://localhost/wefuiwegh8742w",
257                        "currently_active": false,
258                        "last_active_ago": 1,
259                        "presence": "online",
260                        "status_msg": "Making cupcakes"
261                    },
262                    "sender": "@example:localhost",
263                    "type": "m.presence"
264                }
265            ]
266        }
267    })
268});
269
270pub static DEFAULT_SYNC_SUMMARY: Lazy<JsonValue> = Lazy::new(|| {
271    json!({
272        "device_one_time_keys_count": {},
273        "next_batch": "s526_47314_0_7_1_1_1_11444_1",
274        "device_lists": {
275            "changed": [
276                "@example:example.org"
277            ],
278            "left": []
279        },
280        "rooms": {
281            "invite": {},
282            "join": {
283                *DEFAULT_TEST_ROOM_ID: {
284                    "summary": {
285                        "m.heroes": [
286                          "@example2:localhost"
287                        ],
288                        "m.joined_member_count": 2,
289                        "m.invited_member_count": 0
290                      },
291                    "account_data": {
292                        "events": [
293                            {
294                                "content": {
295                                    "ignored_users": {
296                                        "@someone:example.org": {}
297                                    }
298                                },
299                                "type": "m.ignored_user_list"
300                            }
301                        ]
302                    },
303                    "ephemeral": {
304                        "events": [
305                            {
306                                "content": {
307                                    "$151680659217152dPKjd:localhost": {
308                                        "m.read": {
309                                            "@example:localhost": {
310                                                "ts": 151680989
311                                            }
312                                        }
313                                    }
314                                },
315                                "type": "m.receipt"
316                            },
317                            {
318                                "content": {
319                                    "event_id": "$someplace:example.org"
320                                },
321                                "room_id": "!roomid:room.com",
322                                "type": "m.fully_read"
323                            }
324                        ]
325                    },
326                    "state": {
327                        "events": [
328                            {
329                                "content": {
330                                    "join_rule": "public"
331                                },
332                                "event_id": "$15139375514WsgmR:localhost",
333                                "origin_server_ts": 151393755000000_u64,
334                                "sender": "@example:localhost",
335                                "state_key": "",
336                                "type": "m.room.join_rules",
337                                "unsigned": {
338                                    "age": 7034220
339                                }
340                            },
341                            {
342                                "content": {
343                                    "avatar_url": null,
344                                    "displayname": "example",
345                                    "membership": "join"
346                                },
347                                "event_id": "$151800140517rfvjc:localhost",
348                                "membership": "join",
349                                "origin_server_ts": 151800140000000_u64,
350                                "sender": "@example:localhost",
351                                "state_key": "@example:localhost",
352                                "type": "m.room.member",
353                                "unsigned": {
354                                    "age": 297036,
355                                    "replaces_state": "$151800111315tsynI:localhost"
356                                }
357                            },
358                            {
359                                "content": {
360                                    "history_visibility": "shared"
361                                },
362                                "event_id": "$15139375515VaJEY:localhost",
363                                "origin_server_ts": 151393755000000_u64,
364                                "sender": "@example:localhost",
365                                "state_key": "",
366                                "type": "m.room.history_visibility",
367                                "unsigned": {
368                                    "age": 703422
369                                }
370                            },
371                            {
372                                "content": {
373                                    "creator": "@example:localhost"
374                                },
375                                "event_id": "$15139375510KUZHi:localhost",
376                                "origin_server_ts": 151393755000000_u64,
377                                "sender": "@example:localhost",
378                                "state_key": "",
379                                "type": "m.room.create",
380                                "unsigned": {
381                                    "age": 703422
382                                }
383                            },
384                            {
385                                "content": {
386                                    "topic": "room topic"
387                                },
388                                "event_id": "$151957878228ssqrJ:localhost",
389                                "origin_server_ts": 151957878000000_u64,
390                                "sender": "@example:localhost",
391                                "state_key": "",
392                                "type": "m.room.topic",
393                                "unsigned": {
394                                    "age": 1392989709,
395                                    "prev_content": {
396                                        "topic": "test"
397                                    },
398                                    "prev_sender": "@example:localhost",
399                                    "replaces_state": "$151957069225EVYKm:localhost"
400                                }
401                            },
402                            {
403                                "content": {
404                                    "ban": 50,
405                                    "events": {
406                                        "m.room.avatar": 50,
407                                        "m.room.canonical_alias": 50,
408                                        "m.room.history_visibility": 100,
409                                        "m.room.name": 50,
410                                        "m.room.power_levels": 100
411                                    },
412                                    "events_default": 0,
413                                    "invite": 0,
414                                    "kick": 50,
415                                    "redact": 50,
416                                    "state_default": 50,
417                                    "users": {
418                                        "@example:localhost": 100
419                                    },
420                                    "users_default": 0
421                                },
422                                "event_id": "$15139375512JaHAW:localhost",
423                                "origin_server_ts": 151393755000000_u64,
424                                "sender": "@example:localhost",
425                                "state_key": "",
426                                "type": "m.room.power_levels",
427                                "unsigned": {
428                                    "age": 703422
429                                }
430                            },
431                            {
432                                "content": {
433                                    "avatar_url": null,
434                                    "displayname": "example2",
435                                    "membership": "join"
436                                },
437                                "event_id": "$152034824468gOeNB:localhost",
438                                "membership": "join",
439                                "origin_server_ts": 152034824000000_u64,
440                                "sender": "@example2:localhost",
441                                "state_key": "@example2:localhost",
442                                "type": "m.room.member",
443                                "unsigned": {
444                                    "age": 623527289,
445                                    "prev_content": {
446                                        "membership": "leave"
447                                    },
448                                    "prev_sender": "@example:localhost",
449                                    "replaces_state": "$152034819067QWJxM:localhost"
450                                }
451                            },
452                            {
453                                "content": {
454                                  "membership": "leave",
455                                  "reason": "offline",
456                                  "avatar_url": "avatar.com",
457                                  "displayname": "example"
458                                },
459                                "event_id": "$1585345508297748AIUBh:matrix.org",
460                                "origin_server_ts": 158534550000000_u64,
461                                "sender": "@example:localhost",
462                                "state_key": "@example:localhost",
463                                "type": "m.room.member",
464                                "unsigned": {
465                                  "replaces_state": "$1585345354296486IGZfp:localhost",
466                                  "prev_content": {
467                                    "avatar_url": "avatar.com",
468                                    "displayname": "example",
469                                    "membership": "join"
470                                  },
471                                  "prev_sender": "@example2:localhost",
472                                  "age": 6992
473                                },
474                                "room_id": "!roomid:room.com"
475                              }
476                        ]
477                    },
478                    "timeline": {
479                        "events": [
480                            {
481                                "content": {
482                                    "body": "baba",
483                                    "format": "org.matrix.custom.html",
484                                    "formatted_body": "<strong>baba</strong>",
485                                    "msgtype": "m.text"
486                                },
487                                "event_id": "$152037280074GZeOm:localhost",
488                                "origin_server_ts": 152037280000000_u64,
489                                "sender": "@example:localhost",
490                                "type": "m.room.message",
491                                "unsigned": {
492                                    "age": 598971425
493                                }
494                            }
495                        ],
496                        "limited": true,
497                        "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
498                    },
499                    "unread_notifications": {
500                        "highlight_count": 0,
501                        "notification_count": 11
502                    }
503                }
504            },
505            "leave": {}
506        },
507        "to_device": {
508            "events": []
509        },
510        "presence": {
511            "events": [
512                {
513                    "content": {
514                        "avatar_url": "mxc://localhost/wefuiwegh8742w",
515                        "currently_active": false,
516                        "last_active_ago": 1,
517                        "presence": "online",
518                        "status_msg": "Making cupcakes"
519                    },
520                    "sender": "@example:localhost",
521                    "type": "m.presence"
522                }
523            ]
524        }
525    })
526});
527
528pub static MORE_SYNC: Lazy<JsonValue> = Lazy::new(|| {
529    json!({
530        "device_one_time_keys_count": {},
531        "next_batch": "s526_47314_0_7_1_1_1_11444_2",
532        "device_lists": {
533            "changed": [
534                "@example:example.org"
535            ],
536            "left": []
537        },
538        "rooms": {
539            "invite": {},
540            "join": {
541                *DEFAULT_TEST_ROOM_ID: {
542                    "summary": {},
543                    "account_data": {
544                        "events": []
545                    },
546                    "ephemeral": {
547                        "events": [
548                            {
549                                "content": {
550                                    "$151680659217152dPKjd:localhost": {
551                                        "m.read": {
552                                            "@example:localhost": {
553                                                "ts": 151680989
554                                            }
555                                        }
556                                    }
557                                },
558                                "room_id": "!jEsUZKDJdhlrceRyVU:example.org",
559                                "type": "m.receipt"
560                            },
561                            {
562                                "content": {
563                                    "user_ids": [
564                                        "@alice:matrix.org",
565                                        "@bob:example.com"
566                                    ]
567                                },
568                                "room_id": "!jEsUZKDJdhlrceRyVU:example.org",
569                                "type": "m.typing"
570                            }
571                        ]
572                    },
573                    "state": {
574                        "events": []
575                    },
576                    "timeline": {
577                        "events": [
578                            {
579                                "content": {
580                                    "body": "baba",
581                                    "format": "org.matrix.custom.html",
582                                    "formatted_body": "<strong>baba</strong>",
583                                    "msgtype": "m.text"
584                                },
585                                "event_id": "$152037280074GZeOm:localhost",
586                                "origin_server_ts": 152037280000000_u64,
587                                "sender": "@example:localhost",
588                                "type": "m.room.message",
589                                "unsigned": {
590                                    "age": 598971425
591                                }
592                            },
593                            {
594                                "content": {
595                                    "body": " * edited message",
596                                    "m.new_content": {
597                                        "body": "edited message",
598                                        "msgtype": "m.text"
599                                    },
600                                    "m.relates_to": {
601                                        "event_id": "$someeventid:localhost",
602                                        "rel_type": "m.replace"
603                                    },
604                                    "msgtype": "m.text"
605                                },
606                                "event_id": "$editevid:localhost",
607                                "origin_server_ts": 159026265000000_u64,
608                                "sender": "@alice:matrix.org",
609                                "type": "m.room.message",
610                                "unsigned": {
611                                    "age": 85
612                                }
613                            },
614                            {
615                                "content": {
616                                    "reason": "😀"
617                                },
618                                "event_id": "$151957878228ssqrJ:localhost",
619                                "origin_server_ts": 151957878000000_u64,
620                                "sender": "@example:localhost",
621                                "type": "m.room.redaction",
622                                "redacts": "$151957878228ssqrj:localhost",
623                                "unsigned": {
624                                    "age": 85
625                                }
626                            },
627                            {
628                                "content": {},
629                                "event_id": "$15275046980maRLj:localhost",
630                                "origin_server_ts": 152750469000000_u64,
631                                "sender": "@example:localhost",
632                                "type": "m.room.message",
633                                "unsigned": {
634                                    "age": 19334,
635                                    "redacted_because": {
636                                        "content": {},
637                                        "event_id": "$15275047031IXQRi:localhost",
638                                        "origin_server_ts": 152750470000000_u64,
639                                        "redacts": "$15275046980maRLj:localhost",
640                                        "sender": "@example:localhost",
641                                        "type": "m.room.redaction",
642                                        "unsigned": {
643                                            "age": 14523
644                                        }
645                                    },
646                                    "redacted_by": "$15275047031IXQRi:localhost"
647                                }
648                            },
649                            {
650                                "content": {
651                                    "m.relates_to": {
652                                        "event_id": "$15275047031IXQRi:localhost",
653                                        "key": "👍",
654                                        "rel_type": "m.annotation"
655                                    }
656                                },
657                                "event_id": "$15275047031IXQRi:localhost",
658                                "origin_server_ts": 159027581000000_u64,
659                                "sender": "@alice:matrix.org",
660                                "type": "m.reaction",
661                                "unsigned": {
662                                    "age": 85
663                                }
664                            },
665                            {
666                                "content": {
667                                    "body": "This is a notice",
668                                    "format": "org.matrix.custom.html",
669                                    "formatted_body": "<em>This is a notice</em>",
670                                    "msgtype": "m.notice"
671                                },
672                                "event_id": "$098237280074GZeOm:localhost",
673                                "origin_server_ts": 162037280000000_u64,
674                                "sender": "@bot:localhost",
675                                "type": "m.room.message",
676                                "unsigned": {
677                                    "age": 25
678                                }
679                            },
680                        ],
681                        "limited": false,
682                        "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
683                    },
684                    "unread_notifications": {
685                        "highlight_count": 0,
686                        "notification_count": 11
687                    }
688                }
689            },
690            "leave": {}
691        },
692        "to_device": {
693            "events": []
694        },
695        "presence": {
696            "events": []
697        }
698    })
699});
700
701pub static MORE_SYNC_2: Lazy<JsonValue> = Lazy::new(|| {
702    json!({
703        "next_batch": "s526_47314_0_7_1_1_1_11444_3",
704        "rooms": {
705            "join": {
706                *DEFAULT_TEST_ROOM_ID: {
707                    "timeline": {
708                        "events": [
709                            {
710                                "content": {
711                                    "body": "baba",
712                                    "format": "org.matrix.custom.html",
713                                    "formatted_body": "<strong>baba</strong>",
714                                    "msgtype": "m.text"
715                                },
716                                "event_id": "$152037280074GZeOm2:localhost",
717                                "origin_server_ts": 152037280000000_u64,
718                                "sender": "@example:localhost",
719                                "type": "m.room.message",
720                                "unsigned": {
721                                    "age": 598971425
722                                }
723                            },
724                            {
725                                "content": {
726                                    "body": " * edited message",
727                                    "m.new_content": {
728                                        "body": "edited message",
729                                        "msgtype": "m.text"
730                                    },
731                                    "m.relates_to": {
732                                        "event_id": "$someeventid:localhost",
733                                        "rel_type": "m.replace"
734                                    },
735                                    "msgtype": "m.text"
736                                },
737                                "event_id": "$editevid2:localhost",
738                                "origin_server_ts": 159026265000000_u64,
739                                "sender": "@alice:matrix.org",
740                                "type": "m.room.message",
741                                "unsigned": {
742                                    "age": 85
743                                }
744                            },
745                            {
746                                "content": {
747                                    "reason": "😀"
748                                },
749                                "event_id": "$151957878228ssqrJ2:localhost",
750                                "origin_server_ts": 151957878000000_u64,
751                                "sender": "@example:localhost",
752                                "type": "m.room.redaction",
753                                "redacts": "$151957878228ssqrj:localhost",
754                                "unsigned": {
755                                    "age": 85
756                                }
757                            },
758                            {
759                                "content": {},
760                                "event_id": "$15275046980maRLj2:localhost",
761                                "origin_server_ts": 152750469000000_u64,
762                                "sender": "@example:localhost",
763                                "type": "m.room.message",
764                                "unsigned": {
765                                    "age": 19334,
766                                    "redacted_because": {
767                                        "content": {},
768                                        "event_id": "$15275047031IXQRi:localhost",
769                                        "origin_server_ts": 152750470000000_u64,
770                                        "redacts": "$15275046980maRLj:localhost",
771                                        "sender": "@example:localhost",
772                                        "type": "m.room.redaction",
773                                        "unsigned": {
774                                            "age": 14523
775                                        }
776                                    },
777                                    "redacted_by": "$15275047031IXQRi:localhost"
778                                }
779                            },
780                            {
781                                "content": {
782                                    "m.relates_to": {
783                                        "event_id": "$15275047031IXQRi:localhost",
784                                        "key": "👍",
785                                        "rel_type": "m.annotation"
786                                    }
787                                },
788                                "event_id": "$15275047031IXQRi2:localhost",
789                                "origin_server_ts": 159027581000000_u64,
790                                "sender": "@alice:matrix.org",
791                                "type": "m.reaction",
792                                "unsigned": {
793                                    "age": 85
794                                }
795                            },
796                            {
797                                "content": {
798                                    "body": "This is a notice",
799                                    "format": "org.matrix.custom.html",
800                                    "formatted_body": "<em>This is a notice</em>",
801                                    "msgtype": "m.notice"
802                                },
803                                "event_id": "$098237280074GZeOm2:localhost",
804                                "origin_server_ts": 162037280000000_u64,
805                                "sender": "@bot:localhost",
806                                "type": "m.room.message",
807                                "unsigned": {
808                                    "age": 25
809                                }
810                            },
811                        ],
812                        "limited": false,
813                        "prev_batch": "s526_47314_0_7_1_1_1_11444_2"
814                    },
815                    "unread_notifications": {
816                        "highlight_count": 0,
817                        "notification_count": 11
818                    }
819                }
820            },
821        },
822    })
823});
824
825pub static INVITE_SYNC: Lazy<JsonValue> = Lazy::new(|| {
826    json!({
827        "device_one_time_keys_count": {},
828        "next_batch": "s526_47314_0_7_1_1_1_11444_2",
829        "device_lists": {
830            "changed": [
831                "@example:example.org"
832            ],
833            "left": []
834        },
835        "rooms": {
836            "invite": {
837                "!696r7674:example.com": {
838                  "invite_state": {
839                    "events": [
840                      {
841                        "sender": "@alice:example.com",
842                        "type": "m.room.name",
843                        "state_key": "",
844                        "content": {
845                          "name": "My Room Name"
846                        }
847                      },
848                      {
849                        "sender": "@alice:example.com",
850                        "type": "m.room.member",
851                        "state_key": "@bob:example.com",
852                        "content": {
853                          "membership": "invite"
854                        }
855                      }
856                    ]
857                  }
858                }
859              },
860            "join": {},
861            "leave": {}
862        },
863        "to_device": {
864            "events": []
865        },
866        "presence": {
867            "events": [
868                {
869                    "content": {
870                        "avatar_url": "mxc://localhost/wefuiwegh8742w",
871                        "currently_active": false,
872                        "last_active_ago": 1,
873                        "presence": "online",
874                        "status_msg": "Making cupcakes"
875                    },
876                    "sender": "@example:localhost",
877                    "type": "m.presence"
878                }
879            ]
880        }
881    })
882});
883
884pub static LEAVE_SYNC: Lazy<JsonValue> = Lazy::new(|| {
885    json!({
886        "device_one_time_keys_count": {},
887        "next_batch": "s526_47314_0_7_1_1_1_11444_1",
888        "device_lists": {
889            "changed": [
890                "@example:example.org"
891            ],
892            "left": []
893        },
894        "account_data": {
895            "events": [
896                {
897                    "content": {
898                        "ignored_users": {
899                            "@someone:example.org": {}
900                        }
901                    },
902                    "type": "m.ignored_user_list"
903                }
904            ]
905        },
906        "rooms": {
907            "invite": {},
908            "join": {},
909            "leave": {
910                *DEFAULT_TEST_ROOM_ID: {
911                    "summary": {},
912                    "account_data": {
913                        "events": []
914                    },
915                    "ephemeral": {
916                        "events": [
917                            {
918                                "content": {
919                                    "$151680659217152dPKjd:localhost": {
920                                        "m.read": {
921                                            "@example:localhost": {
922                                                "ts": 151680989
923                                            }
924                                        }
925                                    }
926                                },
927                                "type": "m.receipt"
928                            },
929                            {
930                                "content": {
931                                    "event_id": "$someplace:example.org"
932                                },
933                                "room_id": "!roomid:room.com",
934                                "type": "m.fully_read"
935                            }
936                        ]
937                    },
938                    "state": {
939                        "events": [
940                            {
941                                "content": {
942                                    "join_rule": "public"
943                                },
944                                "event_id": "$15139375514WsgmR:localhost",
945                                "origin_server_ts": 151393755000000_u64,
946                                "sender": "@example:localhost",
947                                "state_key": "",
948                                "type": "m.room.join_rules",
949                                "unsigned": {
950                                    "age": 703422
951                                }
952                            },
953                            {
954                                "content": {
955                                    "avatar_url": null,
956                                    "displayname": "example",
957                                    "membership": "join"
958                                },
959                                "event_id": "$151800140517rfvjc:localhost",
960                                "membership": "join",
961                                "origin_server_ts": 151800140000000_u64,
962                                "sender": "@example:localhost",
963                                "state_key": "@example:localhost",
964                                "type": "m.room.member",
965                                "unsigned": {
966                                    "age": 297036,
967                                    "replaces_state": "$151800111315tsynI:localhost"
968                                }
969                            },
970                            {
971                                "content": {
972                                    "history_visibility": "shared"
973                                },
974                                "event_id": "$15139375515VaJEY:localhost",
975                                "origin_server_ts": 151393755000000_u64,
976                                "sender": "@example:localhost",
977                                "state_key": "",
978                                "type": "m.room.history_visibility",
979                                "unsigned": {
980                                    "age": 703422
981                                }
982                            },
983                            {
984                                "content": {
985                                    "creator": "@example:localhost"
986                                },
987                                "event_id": "$15139375510KUZHi:localhost",
988                                "origin_server_ts": 151393755000000_u64,
989                                "sender": "@example:localhost",
990                                "state_key": "",
991                                "type": "m.room.create",
992                                "unsigned": {
993                                    "age": 703422
994                                }
995                            },
996                            {
997                                "content": {
998                                    "aliases": [
999                                        "#tutorial:localhost"
1000                                    ]
1001                                },
1002                                "event_id": "$15139375516NUgtD:localhost",
1003                                "origin_server_ts": 151393755000000_u64,
1004                                "sender": "@example:localhost",
1005                                "state_key": "localhost",
1006                                "type": "m.room.aliases",
1007                                "unsigned": {
1008                                    "age": 703422
1009                                }
1010                            },
1011                            {
1012                                "content": {
1013                                    "topic": "room topic"
1014                                },
1015                                "event_id": "$151957878228ssqrJ:localhost",
1016                                "origin_server_ts": 151957878000000_u64,
1017                                "sender": "@example:localhost",
1018                                "state_key": "",
1019                                "type": "m.room.topic",
1020                                "unsigned": {
1021                                    "age": 1392989709,
1022                                    "prev_content": {
1023                                        "topic": "test"
1024                                    },
1025                                    "prev_sender": "@example:localhost",
1026                                    "replaces_state": "$151957069225EVYKm:localhost"
1027                                }
1028                            },
1029                            {
1030                                "content": {
1031                                    "ban": 50,
1032                                    "events": {
1033                                        "m.room.avatar": 50,
1034                                        "m.room.canonical_alias": 50,
1035                                        "m.room.history_visibility": 100,
1036                                        "m.room.name": 50,
1037                                        "m.room.power_levels": 100
1038                                    },
1039                                    "events_default": 0,
1040                                    "invite": 0,
1041                                    "kick": 50,
1042                                    "redact": 50,
1043                                    "state_default": 50,
1044                                    "users": {
1045                                        "@example:localhost": 100
1046                                    },
1047                                    "users_default": 0
1048                                },
1049                                "event_id": "$15139375512JaHAW:localhost",
1050                                "origin_server_ts": 151393755000000_u64,
1051                                "sender": "@example:localhost",
1052                                "state_key": "",
1053                                "type": "m.room.power_levels",
1054                                "unsigned": {
1055                                    "age": 703422
1056                                }
1057                            },
1058                            {
1059                                "content": {
1060                                    "alias": "#tutorial:localhost"
1061                                },
1062                                "event_id": "$15139375513VdeRF:localhost",
1063                                "origin_server_ts": 151393755000000_u64,
1064                                "sender": "@example:localhost",
1065                                "state_key": "",
1066                                "type": "m.room.canonical_alias",
1067                                "unsigned": {
1068                                    "age": 703422
1069                                }
1070                            },
1071                            {
1072                                "content": {
1073                                    "avatar_url": null,
1074                                    "displayname": "example2",
1075                                    "membership": "join"
1076                                },
1077                                "event_id": "$152034824468gOeNB:localhost",
1078                                "membership": "join",
1079                                "origin_server_ts": 152034824000000_u64,
1080                                "sender": "@example2:localhost",
1081                                "state_key": "@example2:localhost",
1082                                "type": "m.room.member",
1083                                "unsigned": {
1084                                    "age": 623527289,
1085                                    "prev_content": {
1086                                        "membership": "leave"
1087                                    },
1088                                    "prev_sender": "@example:localhost",
1089                                    "replaces_state": "$152034819067QWJxM:localhost"
1090                                }
1091                            },
1092                            {
1093                                "content": {
1094                                  "membership": "leave",
1095                                  "reason": "offline",
1096                                  "avatar_url": "mxc://avatar.com/ursn982srs2S",
1097                                  "displayname": "example"
1098                                },
1099                                "event_id": "$1585345508297748AIUBh:matrix.org",
1100                                "origin_server_ts": 158534550000000_u64,
1101                                "sender": "@example:localhost",
1102                                "state_key": "@example:localhost",
1103                                "type": "m.room.member",
1104                                "unsigned": {
1105                                  "replaces_state": "$1585345354296486IGZfp:localhost",
1106                                  "prev_content": {
1107                                    "avatar_url": "mxc://avatar.com/ursn982srs2S",
1108                                    "displayname": "example",
1109                                    "membership": "join"
1110                                  },
1111                                  "prev_sender": "@example2:localhost",
1112                                  "age": 6992
1113                                },
1114                                "room_id": "!roomid:room.com"
1115                              }
1116                        ]
1117                    },
1118                    "timeline": {
1119                        "events": [
1120                            {
1121                                "content": {
1122                                    "body": "baba",
1123                                    "format": "org.matrix.custom.html",
1124                                    "formatted_body": "<strong>baba</strong>",
1125                                    "msgtype": "m.text"
1126                                },
1127                                "event_id": "$152037280074GZeOm:localhost",
1128                                "origin_server_ts": 152037280000000_u64,
1129                                "sender": "@example:localhost",
1130                                "type": "m.room.message",
1131                                "unsigned": {
1132                                    "age": 598971425
1133                                }
1134                            }
1135                        ],
1136                        "limited": true,
1137                        "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1138                    },
1139                    "unread_notifications": {
1140                        "highlight_count": 0,
1141                        "notification_count": 11
1142                    }
1143                }
1144            }
1145        },
1146        "to_device": {
1147            "events": []
1148        },
1149        "presence": {
1150            "events": [
1151                {
1152                    "content": {
1153                        "avatar_url": "mxc://localhost/wefuiwegh8742w",
1154                        "currently_active": false,
1155                        "last_active_ago": 1,
1156                        "presence": "online",
1157                        "status_msg": "Making cupcakes"
1158                    },
1159                    "sender": "@example:localhost",
1160                    "type": "m.presence"
1161                }
1162            ]
1163        }
1164    })
1165});
1166
1167pub static LEAVE_SYNC_EVENT: Lazy<JsonValue> = Lazy::new(|| {
1168    json!({
1169        "account_data": {
1170            "events": []
1171        },
1172        "to_device": {
1173            "events": []
1174        },
1175        "device_lists": {
1176            "changed": [],
1177            "left": []
1178        },
1179        "presence": {
1180            "events": []
1181        },
1182        "rooms": {
1183            "join": {},
1184            "invite": {},
1185            "leave": {
1186                *DEFAULT_TEST_ROOM_ID: {
1187                    "timeline": {
1188                        "events": [
1189                            {
1190                                "content": {
1191                                    "membership": "leave"
1192                                },
1193                                "origin_server_ts": 158957809000000_u64,
1194                                "sender": "@example:localhost",
1195                                "state_key": "@example:localhost",
1196                                "type": "m.room.member",
1197                                "unsigned": {
1198                                    "replaces_state": "$blahblah",
1199                                    "prev_content": {
1200                                        "avatar_url": null,
1201                                        "displayname": "me",
1202                                        "membership": "invite"
1203                                    },
1204                                    "prev_sender": "@2example:localhost",
1205                                    "age": 1757
1206                                },
1207                                "event_id": "$lQQ116Y-XqcjpSUGpuz36rNntUvOSpTjuaIvmtQ2AwA"
1208                            }
1209                        ],
1210                        "prev_batch": "tokenTOKEN",
1211                        "limited": false
1212                    },
1213                    "state": {
1214                        "events": []
1215                    },
1216                    "account_data": {
1217                        "events": []
1218                    }
1219                }
1220            }
1221        },
1222        "groups": {
1223            "join": {},
1224            "invite": {},
1225            "leave": {}
1226        },
1227        "device_one_time_keys_count": {
1228            "signed_curve25519": 50
1229        },
1230        "next_batch": "s1380317562_757269739_1655566_503953763_334052043_1209862_55290918_65705002_101146"
1231    })
1232});
1233
1234pub static JOIN_SPACE_SYNC: Lazy<JsonValue> = Lazy::new(|| {
1235    json!({
1236        "device_one_time_keys_count": {},
1237        "next_batch": "s526_47314_0_7_1_1_1_11444_1",
1238        "device_lists": {
1239            "changed": [
1240                "@example:example.org"
1241            ],
1242            "left": []
1243        },
1244        "account_data": {
1245            "events": [
1246                {
1247                    "content": {
1248                        "ignored_users": {
1249                            "@someone:example.org": {}
1250                        }
1251                    },
1252                    "type": "m.ignored_user_list"
1253                }
1254            ]
1255        },
1256        "rooms": {
1257            "invite": {},
1258            "join": {
1259                *DEFAULT_TEST_ROOM_ID: {
1260                    "summary": {},
1261                    "account_data": {
1262                        "events": [
1263                            {
1264                                "content": {
1265                                    "event_id": "$someplace:example.org"
1266                                },
1267                                "room_id": "!roomid:room.com",
1268                                "type": "m.fully_read"
1269                            }
1270                        ]
1271                    },
1272                    "ephemeral": {
1273                        "events": [
1274                            {
1275                                "content": {
1276                                    "$151680659217152dPKjd:localhost": {
1277                                        "m.read": {
1278                                            "@example:localhost": {
1279                                                "ts": 151680989
1280                                            }
1281                                        }
1282                                    }
1283                                },
1284                                "room_id": *DEFAULT_TEST_ROOM_ID,
1285                                "type": "m.receipt"
1286                            },
1287                        ]
1288                    },
1289                    "state": {
1290                        "events": [
1291                            {
1292                                "content": {
1293                                    "join_rule": "public"
1294                                },
1295                                "event_id": "$15139375514WsgmR:localhost",
1296                                "origin_server_ts": 151393755000000_u64,
1297                                "sender": "@example:localhost",
1298                                "state_key": "",
1299                                "type": "m.room.join_rules",
1300                                "unsigned": {
1301                                    "age": 7034220
1302                                }
1303                            },
1304                            {
1305                                "content": {
1306                                    "avatar_url": null,
1307                                    "displayname": "example",
1308                                    "membership": "join"
1309                                },
1310                                "event_id": "$151800140517rfvjc:localhost",
1311                                "membership": "join",
1312                                "origin_server_ts": 151800140000000_u64,
1313                                "sender": "@example:localhost",
1314                                "state_key": "@example:localhost",
1315                                "type": "m.room.member",
1316                                "unsigned": {
1317                                    "age": 2970366,
1318                                    "replaces_state": "$151800111315tsynI:localhost"
1319                                }
1320                            },
1321                            {
1322                                "content": {
1323                                    "history_visibility": "shared"
1324                                },
1325                                "event_id": "$15139375515VaJEY:localhost",
1326                                "origin_server_ts": 151393755000000_u64,
1327                                "sender": "@example:localhost",
1328                                "state_key": "",
1329                                "type": "m.room.history_visibility",
1330                                "unsigned": {
1331                                    "age": 7034220
1332                                }
1333                            },
1334                            {
1335                                "content": {
1336                                    "creator": "@example:localhost",
1337                                    "type": "m.space"
1338                                },
1339                                "event_id": "$15139375510KUZHi:localhost",
1340                                "origin_server_ts": 151393755000000_u64,
1341                                "sender": "@example:localhost",
1342                                "state_key": "",
1343                                "type": "m.room.create",
1344                                "unsigned": {
1345                                    "age": 703422
1346                                }
1347                            },
1348                            {
1349                                "content": {
1350                                    "aliases": [
1351                                        "#tutorial:localhost"
1352                                    ]
1353                                },
1354                                "event_id": "$15139375516NUgtD:localhost",
1355                                "origin_server_ts": 151393755000000_u64,
1356                                "sender": "@example:localhost",
1357                                "state_key": "localhost",
1358                                "type": "m.room.aliases",
1359                                "unsigned": {
1360                                    "age": 703422
1361                                }
1362                            },
1363                            {
1364                                "content": {
1365                                    "topic": "room topic"
1366                                },
1367                                "event_id": "$151957878228ssqrJ:localhost",
1368                                "origin_server_ts": 151957878000000_u64,
1369                                "sender": "@example:localhost",
1370                                "state_key": "",
1371                                "type": "m.room.topic",
1372                                "unsigned": {
1373                                    "age": 1392989709,
1374                                    "prev_content": {
1375                                        "topic": "test"
1376                                    },
1377                                    "prev_sender": "@example:localhost",
1378                                    "replaces_state": "$151957069225EVYKm:localhost"
1379                                }
1380                            },
1381                            {
1382                                "content": {
1383                                    "ban": 50,
1384                                    "events": {
1385                                        "m.room.avatar": 50,
1386                                        "m.room.canonical_alias": 50,
1387                                        "m.room.history_visibility": 100,
1388                                        "m.room.name": 50,
1389                                        "m.room.power_levels": 100
1390                                    },
1391                                    "events_default": 0,
1392                                    "invite": 0,
1393                                    "kick": 50,
1394                                    "redact": 50,
1395                                    "state_default": 50,
1396                                    "users": {
1397                                        "@example:localhost": 100
1398                                    },
1399                                    "users_default": 0
1400                                },
1401                                "event_id": "$15139375512JaHAW:localhost",
1402                                "origin_server_ts": 151393755000000_u64,
1403                                "sender": "@example:localhost",
1404                                "state_key": "",
1405                                "type": "m.room.power_levels",
1406                                "unsigned": {
1407                                    "age": 703422
1408                                }
1409                            },
1410                            {
1411                                "content": {
1412                                    "alias": "#tutorial:localhost"
1413                                },
1414                                "event_id": "$15139375513VdeRF:localhost",
1415                                "origin_server_ts": 151393755000000_u64,
1416                                "sender": "@example:localhost",
1417                                "state_key": "",
1418                                "type": "m.room.canonical_alias",
1419                                "unsigned": {
1420                                    "age": 703422
1421                                }
1422                            },
1423                            {
1424                                "content": {
1425                                    "avatar_url": null,
1426                                    "displayname": "example2",
1427                                    "membership": "join"
1428                                },
1429                                "event_id": "$152034824468gOeNB:localhost",
1430                                "membership": "join",
1431                                "origin_server_ts": 152034824000000_u64,
1432                                "sender": "@example2:localhost",
1433                                "state_key": "@example2:localhost",
1434                                "type": "m.room.member",
1435                                "unsigned": {
1436                                    "age": 623527289,
1437                                    "prev_content": {
1438                                        "membership": "leave"
1439                                    },
1440                                    "prev_sender": "@example:localhost",
1441                                    "replaces_state": "$152034819067QWJxM:localhost"
1442                                }
1443                            },
1444                        ]
1445                    },
1446                    "timeline": {
1447                        "events": [
1448                            {
1449                                "content": {
1450                                    "body": "baba",
1451                                    "format": "org.matrix.custom.html",
1452                                    "formatted_body": "<strong>baba</strong>",
1453                                    "msgtype": "m.text"
1454                                },
1455                                "event_id": "$152037280074GZeOm:localhost",
1456                                "origin_server_ts": 152037280000000_u64,
1457                                "sender": "@example:localhost",
1458                                "type": "m.room.message",
1459                                "unsigned": {
1460                                    "age": 598971425
1461                                }
1462                            }
1463                        ],
1464                        "limited": true,
1465                        "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1466                    },
1467                    "unread_notifications": {
1468                        "highlight_count": 0,
1469                        "notification_count": 11
1470                    }
1471                }
1472            },
1473            "leave": {}
1474        },
1475        "to_device": {
1476            "events": []
1477        },
1478        "presence": {
1479            "events": [
1480                {
1481                    "content": {
1482                        "avatar_url": "mxc://localhost/wefuiwegh8742w",
1483                        "currently_active": false,
1484                        "last_active_ago": 1,
1485                        "presence": "online",
1486                        "status_msg": "Making cupcakes"
1487                    },
1488                    "sender": "@example:localhost",
1489                    "type": "m.presence"
1490                }
1491            ]
1492        }
1493    })
1494});
1495
1496/// In the [`MIXED_SYNC`], the room id of the joined room.
1497pub static MIXED_JOINED_ROOM_ID: Lazy<&RoomId> =
1498    Lazy::new(|| room_id!("!SVkFJHzfwvuaIEawgC:localhost"));
1499/// In the [`MIXED_SYNC`], the room id of the left room.
1500pub static MIXED_LEFT_ROOM_ID: Lazy<&RoomId> =
1501    Lazy::new(|| room_id!("!SVkFJHzfwvuaIEawgD:localhost"));
1502/// In the [`MIXED_SYNC`], the room id of the invited room.
1503pub static MIXED_INVITED_ROOM_ID: Lazy<&RoomId> =
1504    Lazy::new(|| room_id!("!SVkFJHzfwvuaIEawgE:localhost"));
1505/// In the [`MIXED_SYNC`], the room id of the knocked room.
1506pub static MIXED_KNOCKED_ROOM_ID: Lazy<&RoomId> =
1507    Lazy::new(|| room_id!("!SVkFJHzfwvuaIEawgF:localhost"));
1508
1509/// A sync that contains updates to joined/invited/knocked/left rooms.
1510pub static MIXED_SYNC: Lazy<JsonValue> = Lazy::new(|| {
1511    json!({
1512        "account_data": {
1513            "events": []
1514        },
1515        "to_device": {
1516            "events": []
1517        },
1518        "device_lists": {
1519            "changed": [],
1520            "left": []
1521        },
1522        "presence": {
1523            "events": []
1524        },
1525        "rooms": {
1526            "join": {
1527                *MIXED_JOINED_ROOM_ID: {
1528                    "summary": {},
1529                    "account_data": {
1530                        "events": [
1531                            {
1532                                "content": {
1533                                    "event_id": "$someplace:example.org"
1534                                },
1535                                "room_id": "!roomid:room.com",
1536                                "type": "m.fully_read"
1537                            }
1538                        ]
1539                    },
1540                    "ephemeral": {
1541                        "events": [
1542                            {
1543                                "content": {
1544                                    "$151680659217152dPKjd:localhost": {
1545                                        "m.read": {
1546                                            "@example:localhost": {
1547                                                "ts": 151680989
1548                                            }
1549                                        }
1550                                    }
1551                                },
1552                                "room_id": *MIXED_JOINED_ROOM_ID,
1553                                "type": "m.receipt"
1554                            },
1555                        ]
1556                    },
1557                    "state": {
1558                        "events": [
1559                            {
1560                                "content": {
1561                                    "alias": "#tutorial:localhost"
1562                                },
1563                                "event_id": "$15139375513VdeRF:localhost",
1564                                "origin_server_ts": 151393755000000_u64,
1565                                "sender": "@example:localhost",
1566                                "state_key": "",
1567                                "type": "m.room.canonical_alias",
1568                                "unsigned": {
1569                                    "age": 703422
1570                                }
1571                            },
1572                        ]
1573                    },
1574                    "timeline": {
1575                        "events": [
1576                            {
1577                                "content": {
1578                                    "body": "baba",
1579                                    "format": "org.matrix.custom.html",
1580                                    "formatted_body": "<strong>baba</strong>",
1581                                    "msgtype": "m.text"
1582                                },
1583                                "event_id": "$152037280074GZeOm:localhost",
1584                                "origin_server_ts": 152037280000000_u64,
1585                                "sender": "@example:localhost",
1586                                "type": "m.room.message",
1587                                "unsigned": {
1588                                    "age": 598971425
1589                                }
1590                            }
1591                        ],
1592                        "limited": true,
1593                        "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1594                    },
1595                    "unread_notifications": {
1596                        "highlight_count": 0,
1597                        "notification_count": 11
1598                    }
1599                }
1600            },
1601            "invite": {
1602                *MIXED_INVITED_ROOM_ID: {
1603                  "invite_state": {
1604                    "events": [
1605                      {
1606                        "sender": "@alice:example.com",
1607                        "type": "m.room.name",
1608                        "state_key": "",
1609                        "content": {
1610                          "name": "My Room Name"
1611                        }
1612                      },
1613                      {
1614                        "sender": "@alice:example.com",
1615                        "type": "m.room.member",
1616                        "state_key": "@bob:example.com",
1617                        "content": {
1618                          "membership": "invite"
1619                        }
1620                      }
1621                    ]
1622                  }
1623                }
1624            },
1625            "knock": {
1626                *MIXED_KNOCKED_ROOM_ID: {
1627                  "knock_state": {
1628                    "events": [
1629                      {
1630                        "sender": "@alice:example.com",
1631                        "type": "m.room.name",
1632                        "state_key": "",
1633                        "content": {
1634                          "name": "My Room Name"
1635                        }
1636                      },
1637                      {
1638                        "sender": "@bob:example.com",
1639                        "type": "m.room.member",
1640                        "state_key": "@bob:example.com",
1641                        "content": {
1642                          "membership": "knock"
1643                        }
1644                      }
1645                    ]
1646                  }
1647                }
1648            },
1649            "leave": {
1650                *MIXED_LEFT_ROOM_ID: {
1651                    "timeline": {
1652                        "events": [
1653                            {
1654                                "content": {
1655                                    "membership": "leave"
1656                                },
1657                                "origin_server_ts": 158957809000000_u64,
1658                                "sender": "@example:localhost",
1659                                "state_key": "@example:localhost",
1660                                "type": "m.room.member",
1661                                "unsigned": {
1662                                    "replaces_state": "$blahblah",
1663                                    "prev_content": {
1664                                        "avatar_url": null,
1665                                        "displayname": "me",
1666                                        "membership": "invite"
1667                                    },
1668                                    "prev_sender": "@2example:localhost",
1669                                    "age": 1757
1670                                },
1671                                "event_id": "$lQQ116Y-XqcjpSUGpuz36rNntUvOSpTjuaIvmtQ2AwA"
1672                            }
1673                        ],
1674                        "prev_batch": "toktok",
1675                        "limited": false
1676                    },
1677                    "state": {
1678                        "events": []
1679                    },
1680                    "account_data": {
1681                        "events": []
1682                    }
1683                }
1684            }
1685        },
1686        "groups": {
1687            "join": {},
1688            "invite": {},
1689            "leave": {}
1690        },
1691        "device_one_time_keys_count": {
1692            "signed_curve25519": 50
1693        },
1694        "next_batch": "s1380317562_757269739_1655566_503953763_334052043_1209862_55290918_65705002_101146"
1695    })
1696});
1697
1698pub static VOIP_SYNC: Lazy<JsonValue> = Lazy::new(|| {
1699    json!({
1700        "device_one_time_keys_count": {},
1701        "next_batch": "s526_47314_0_7_1_1_1_11444_1",
1702        "device_lists": {
1703            "changed": [
1704                "@example:example.org"
1705            ],
1706            "left": []
1707        },
1708        "rooms": {
1709            "invite": {},
1710            "join": {
1711                *DEFAULT_TEST_ROOM_ID: {
1712                    "summary": {},
1713                    "account_data": {
1714                        "events": []
1715                    },
1716                    "ephemeral": {
1717                        "events": [ ]
1718                    },
1719                    "state": {
1720                        "events": []
1721                    },
1722                    "timeline": {
1723                        "events": [
1724                            {
1725                                "content": {
1726                                    "call_id": "12345",
1727                                    "lifetime": 60000,
1728                                    "offer": {
1729                                        "sdp": "v=0\r\no=- 6584580628695956864 2 IN IP4 127.0.0.1[...]",
1730                                        "type": "offer"
1731                                    },
1732                                    "version": 0
1733                                },
1734                                "event_id": "$143273582443PhrSn:example.org",
1735                                "origin_server_ts": 143273582000000_u64,
1736                                "room_id": "!jEsUZKDJdhlrceRyVU:example.org",
1737                                "sender": "@example:example.org",
1738                                "type": "m.call.invite",
1739                                "unsigned": {
1740                                    "age": 1234
1741                                }
1742                            },
1743                            {
1744                                "content": {
1745                                    "answer": {
1746                                        "sdp": "v=0\r\no=- 6584580628695956864 2 IN IP4 127.0.0.1[...]",
1747                                        "type": "answer"
1748                                    },
1749                                    "call_id": "12345",
1750                                    "lifetime": 60000,
1751                                    "version": 0
1752                                },
1753                                "event_id": "$143273582443PhrSn:example.org",
1754                                "origin_server_ts": 143273582000000_u64,
1755                                "room_id": "!jEsUZKDJdhlrceRyVU:example.org",
1756                                "sender": "@example:example.org",
1757                                "type": "m.call.answer",
1758                                "unsigned": {
1759                                    "age": 1234
1760                                }
1761                            },
1762                            {
1763                                "content": {
1764                                    "call_id": "12345",
1765                                    "candidates": [
1766                                        {
1767                                            "candidate": "candidate:863018703 1 udp 2122260223 10.9.64.156 43670 type host generation 0",
1768                                            "sdpMLineIndex": 0,
1769                                            "sdpMid": "audio"
1770                                        }
1771                                    ],
1772                                    "version": 0
1773                                },
1774                                "event_id": "$143273582443PhrSn:example.org",
1775                                "origin_server_ts": 143273582000000_u64,
1776                                "room_id": "!jEsUZKDJdhlrceRyVU:example.org",
1777                                "sender": "@example:example.org",
1778                                "type": "m.call.candidates",
1779                                "unsigned": {
1780                                    "age": 1234
1781                                }
1782                            },
1783                            {
1784                                "content": {
1785                                    "call_id": "12345",
1786                                    "version": 0
1787                                },
1788                                "event_id": "$143273582443PhrSn:example.org",
1789                                "origin_server_ts": 143273582000000_u64,
1790                                "room_id": "!jEsUZKDJdhlrceRyVU:example.org",
1791                                "sender": "@example:example.org",
1792                                "type": "m.call.hangup",
1793                                "unsigned": {
1794                                    "age": 1234
1795                                }
1796                            }
1797                        ],
1798                        "limited": true,
1799                        "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1800                    },
1801                    "unread_notifications": {
1802                        "highlight_count": 0,
1803                        "notification_count": 11
1804                    }
1805                }
1806            },
1807            "leave": {}
1808        },
1809        "to_device": {
1810            "events": []
1811        },
1812        "presence": {
1813            "events": []
1814        }
1815    })
1816});
1817
1818pub static SYNC_ADMIN_AND_MOD: Lazy<JsonValue> = Lazy::new(|| {
1819    json!({
1820        "device_one_time_keys_count": {},
1821        "next_batch": "s526_47314_0_7_1_1_1_11444_1",
1822        "device_lists": {
1823            "changed": [
1824                "@admin:example.org"
1825            ],
1826            "left": []
1827        },
1828        "rooms": {
1829            "invite": {},
1830            "join": {
1831                *DEFAULT_TEST_ROOM_ID: {
1832                    "summary": {
1833                        "m.heroes": [
1834                          "@example2:localhost"
1835                        ],
1836                        "m.joined_member_count": 2,
1837                        "m.invited_member_count": 0
1838                      },
1839                    "account_data": {
1840                        "events": []
1841                    },
1842                    "ephemeral": {
1843                        "events": []
1844                    },
1845                    "state": {
1846                        "events": [
1847                            {
1848                                "content": {
1849                                    "join_rule": "public"
1850                                },
1851                                "event_id": "$15139375514WsgmR:localhost",
1852                                "origin_server_ts": 151393755000000_u64,
1853                                "sender": "@admin:localhost",
1854                                "state_key": "",
1855                                "type": "m.room.join_rules",
1856                                "unsigned": {
1857                                    "age": 7034220
1858                                }
1859                            },
1860                            {
1861                                "content": {
1862                                    "avatar_url": null,
1863                                    "displayname": "admin",
1864                                    "membership": "join"
1865                                },
1866                                "event_id": "$151800140517rfvjc:localhost",
1867                                "membership": "join",
1868                                "origin_server_ts": 151800140000000_u64,
1869                                "sender": "@admin:localhost",
1870                                "state_key": "@admin:localhost",
1871                                "type": "m.room.member",
1872                                "unsigned": {
1873                                    "age": 297036,
1874                                    "replaces_state": "$151800111315tsynI:localhost"
1875                                }
1876                            },
1877                            {
1878                                "content": {
1879                                    "avatar_url": null,
1880                                    "displayname": "mod",
1881                                    "membership": "join"
1882                                },
1883                                "event_id": "$151800140518rfvjc:localhost",
1884                                "membership": "join",
1885                                "origin_server_ts": 1518001450000000_u64,
1886                                "sender": "@mod:localhost",
1887                                "state_key": "@mod:localhost",
1888                                "type": "m.room.member",
1889                                "unsigned": {
1890                                    "age": 297035,
1891                                }
1892                            },
1893                            {
1894                                "content": {
1895                                    "history_visibility": "shared"
1896                                },
1897                                "event_id": "$15139375515VaJEY:localhost",
1898                                "origin_server_ts": 151393755000000_u64,
1899                                "sender": "@admin:localhost",
1900                                "state_key": "",
1901                                "type": "m.room.history_visibility",
1902                                "unsigned": {
1903                                    "age": 703422
1904                                }
1905                            },
1906                            {
1907                                "content": {
1908                                    "creator": "@example:localhost"
1909                                },
1910                                "event_id": "$15139375510KUZHi:localhost",
1911                                "origin_server_ts": 151393755000000_u64,
1912                                "sender": "@admin:localhost",
1913                                "state_key": "",
1914                                "type": "m.room.create",
1915                                "unsigned": {
1916                                    "age": 703422
1917                                }
1918                            },
1919                            {
1920                                "content": {
1921                                    "topic": "room topic"
1922                                },
1923                                "event_id": "$151957878228ssqrJ:localhost",
1924                                "origin_server_ts": 151957878000000_u64,
1925                                "sender": "@admin:localhost",
1926                                "state_key": "",
1927                                "type": "m.room.topic",
1928                                "unsigned": {
1929                                    "age": 1392989709,
1930                                    "prev_content": {
1931                                        "topic": "test"
1932                                    },
1933                                    "prev_sender": "@example:localhost",
1934                                    "replaces_state": "$151957069225EVYKm:localhost"
1935                                }
1936                            },
1937                            {
1938                                "content": {
1939                                    "ban": 50,
1940                                    "events": {
1941                                        "m.room.avatar": 50,
1942                                        "m.room.canonical_alias": 50,
1943                                        "m.room.history_visibility": 100,
1944                                        "m.room.name": 50,
1945                                        "m.room.power_levels": 100
1946                                    },
1947                                    "events_default": 0,
1948                                    "invite": 0,
1949                                    "kick": 50,
1950                                    "redact": 50,
1951                                    "state_default": 50,
1952                                    "users": {
1953                                        "@admin:localhost": 100,
1954                                        "@mod:localhost": 50
1955                                    },
1956                                    "users_default": 0
1957                                },
1958                                "event_id": "$15139375512JaHAW:localhost",
1959                                "origin_server_ts": 151393755000000_u64,
1960                                "sender": "@admin:localhost",
1961                                "state_key": "",
1962                                "type": "m.room.power_levels",
1963                                "unsigned": {
1964                                    "age": 703422
1965                                }
1966                            }
1967                        ]
1968                    },
1969                    "timeline": {
1970                        "events": [
1971                            {
1972                                "content": {
1973                                    "body": "baba",
1974                                    "format": "org.matrix.custom.html",
1975                                    "formatted_body": "<strong>baba</strong>",
1976                                    "msgtype": "m.text"
1977                                },
1978                                "event_id": "$152037280074GZeOm:localhost",
1979                                "origin_server_ts": 152037280000000_u64,
1980                                "sender": "@admin:localhost",
1981                                "type": "m.room.message",
1982                                "unsigned": {
1983                                    "age": 598971425
1984                                }
1985                            }
1986                        ],
1987                        "limited": true,
1988                        "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1989                    },
1990                    "unread_notifications": {
1991                        "highlight_count": 0,
1992                        "notification_count": 11
1993                    }
1994                }
1995            },
1996            "leave": {}
1997        },
1998        "to_device": {
1999            "events": []
2000        },
2001        "presence": {
2002            "events": []
2003        }
2004    })
2005});
2006
2007pub static CUSTOM_ROOM_POWER_LEVELS: Lazy<JsonValue> = Lazy::new(|| {
2008    json!({
2009        "device_one_time_keys_count": {},
2010        "next_batch": "s526_47314_0_7_1_1_1_11444_1",
2011        "device_lists": {
2012            "changed": [
2013                "@admin:example.org"
2014            ],
2015            "left": []
2016        },
2017        "rooms": {
2018            "invite": {},
2019            "join": {
2020                *DEFAULT_TEST_ROOM_ID: {
2021                    "summary": {
2022                        "m.heroes": [
2023                          "@example2:localhost"
2024                        ],
2025                        "m.joined_member_count": 1,
2026                        "m.invited_member_count": 0
2027                      },
2028                    "account_data": {
2029                        "events": []
2030                    },
2031                    "ephemeral": {
2032                        "events": []
2033                    },
2034                    "state": {
2035                        "events": [
2036                            {
2037                                "content": {
2038                                    "join_rule": "public"
2039                                },
2040                                "event_id": "$15139375514WsgmR:localhost",
2041                                "origin_server_ts": 151393755000000_u64,
2042                                "sender": "@admin:localhost",
2043                                "state_key": "",
2044                                "type": "m.room.join_rules",
2045                                "unsigned": {
2046                                    "age": 7034220
2047                                }
2048                            },
2049                            {
2050                                "content": {
2051                                    "avatar_url": null,
2052                                    "displayname": "admin",
2053                                    "membership": "join"
2054                                },
2055                                "event_id": "$151800140517rfvjc:localhost",
2056                                "membership": "join",
2057                                "origin_server_ts": 151800140000000_u64,
2058                                "sender": "@admin:localhost",
2059                                "state_key": "@admin:localhost",
2060                                "type": "m.room.member",
2061                                "unsigned": {
2062                                    "age": 297036,
2063                                    "replaces_state": "$151800111315tsynI:localhost"
2064                                }
2065                            },
2066                            {
2067                                "content": {
2068                                    "creator": "@example:localhost"
2069                                },
2070                                "event_id": "$15139375510KUZHi:localhost",
2071                                "origin_server_ts": 151393755000000_u64,
2072                                "sender": "@admin:localhost",
2073                                "state_key": "",
2074                                "type": "m.room.create",
2075                                "unsigned": {
2076                                    "age": 703422
2077                                }
2078                            },
2079                            {
2080                                "content": {
2081                                    "ban": 100,
2082                                    "events": {
2083                                        "m.room.avatar": 100,
2084                                        "m.room.canonical_alias": 50,
2085                                        "m.room.history_visibility": 100,
2086                                        "m.room.name": 50,
2087                                        "m.room.power_levels": 100
2088                                    },
2089                                    "events_default": 0,
2090                                    "invite": 0,
2091                                    "kick": 50,
2092                                    "redact": 50,
2093                                    "state_default": 50,
2094                                    "users": {
2095                                        "@admin:localhost": 100
2096                                    },
2097                                    "users_default": 0
2098                                },
2099                                "event_id": "$15139375512JaHAW:localhost",
2100                                "origin_server_ts": 151393755000000_u64,
2101                                "sender": "@admin:localhost",
2102                                "state_key": "",
2103                                "type": "m.room.power_levels",
2104                                "unsigned": {
2105                                    "age": 703422
2106                                }
2107                            }
2108                        ]
2109                    },
2110                    "timeline": {
2111                        "events": [
2112                            {
2113                                "content": {
2114                                    "body": "baba",
2115                                    "format": "org.matrix.custom.html",
2116                                    "formatted_body": "<strong>baba</strong>",
2117                                    "msgtype": "m.text"
2118                                },
2119                                "event_id": "$152037280074GZeOm:localhost",
2120                                "origin_server_ts": 152037280000000_u64,
2121                                "sender": "@admin:localhost",
2122                                "type": "m.room.message",
2123                                "unsigned": {
2124                                    "age": 598971425
2125                                }
2126                            }
2127                        ],
2128                        "limited": true,
2129                        "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
2130                    },
2131                    "unread_notifications": {
2132                        "highlight_count": 0,
2133                        "notification_count": 11
2134                    }
2135                }
2136            },
2137            "leave": {}
2138        },
2139        "to_device": {
2140            "events": []
2141        },
2142        "presence": {
2143            "events": []
2144        }
2145    })
2146});