matrix_sdk_test/test_json/sync.rs
1//! Complete sync responses.
2
3use std::sync::LazyLock;
4
5use ruma::{RoomId, room_id};
6use serde_json::{Value as JsonValue, json};
7
8use crate::DEFAULT_TEST_ROOM_ID;
9
10pub static SYNC: LazyLock<JsonValue> = LazyLock::new(|| {
11 json!({
12 "device_one_time_keys_count": {},
13 "next_batch": "s526_47314_0_7_1_1_1_11444_1",
14 "device_lists": {
15 "changed": [
16 "@example:example.org"
17 ],
18 "left": []
19 },
20 "account_data": {
21 "events": [
22 {
23 "content": {
24 "ignored_users": {
25 "@someone:example.org": {}
26 }
27 },
28 "type": "m.ignored_user_list"
29 }
30 ]
31 },
32 "rooms": {
33 "invite": {},
34 "join": {
35 *DEFAULT_TEST_ROOM_ID: {
36 "summary": {},
37 "account_data": {
38 "events": [
39 {
40 "content": {
41 "event_id": "$someplace:example.org"
42 },
43 "room_id": "!roomid:room.com",
44 "type": "m.fully_read"
45 }
46 ]
47 },
48 "ephemeral": {
49 "events": [
50 {
51 "content": {
52 "$151680659217152dPKjd:localhost": {
53 "m.read": {
54 "@example:localhost": {
55 "ts": 151680989
56 }
57 }
58 }
59 },
60 "room_id": *DEFAULT_TEST_ROOM_ID,
61 "type": "m.receipt"
62 },
63 ]
64 },
65 "state": {
66 "events": [
67 {
68 "content": {
69 "join_rule": "public"
70 },
71 "event_id": "$15139375514WsgmR:localhost",
72 "origin_server_ts": 1784626598,
73 "sender": "@example:localhost",
74 "state_key": "",
75 "type": "m.room.join_rules",
76 "unsigned": {
77 "age": 7034220
78 }
79 },
80 {
81 "content": {
82 "avatar_url": null,
83 "displayname": "example",
84 "membership": "join"
85 },
86 "event_id": "$151800140517rfvjc:localhost",
87 "membership": "join",
88 "origin_server_ts": 1784626598,
89 "sender": "@example:localhost",
90 "state_key": "@example:localhost",
91 "type": "m.room.member",
92 "unsigned": {
93 "age": 2970366,
94 "replaces_state": "$151800111315tsynI:localhost"
95 }
96 },
97 {
98 "content": {
99 "history_visibility": "shared"
100 },
101 "event_id": "$15139375515VaJEY:localhost",
102 "origin_server_ts": 1784626598,
103 "sender": "@example:localhost",
104 "state_key": "",
105 "type": "m.room.history_visibility",
106 "unsigned": {
107 "age": 7034220
108 }
109 },
110 {
111 "content": {
112 "creator": "@example:localhost"
113 },
114 "event_id": "$15139375510KUZHi:localhost",
115 "origin_server_ts": 1784626598,
116 "sender": "@example:localhost",
117 "state_key": "",
118 "type": "m.room.create",
119 "unsigned": {
120 "age": 703422
121 }
122 },
123 {
124 "content": {
125 "aliases": [
126 "#tutorial:localhost"
127 ]
128 },
129 "event_id": "$15139375516NUgtD:localhost",
130 "origin_server_ts": 1784626598,
131 "sender": "@example:localhost",
132 "state_key": "localhost",
133 "type": "m.room.aliases",
134 "unsigned": {
135 "age": 703422
136 }
137 },
138 {
139 "content": {
140 "topic": "room topic"
141 },
142 "event_id": "$151957878228ssqrJ:localhost",
143 "origin_server_ts": 1784626598,
144 "sender": "@example:localhost",
145 "state_key": "",
146 "type": "m.room.topic",
147 "unsigned": {
148 "age": 1392989709,
149 "prev_content": {
150 "topic": "test"
151 },
152 "prev_sender": "@example:localhost",
153 "replaces_state": "$151957069225EVYKm:localhost"
154 }
155 },
156 {
157 "content": {
158 "ban": 50,
159 "events": {
160 "m.room.avatar": 50,
161 "m.room.canonical_alias": 50,
162 "m.room.history_visibility": 100,
163 "m.room.name": 50,
164 "m.room.power_levels": 100
165 },
166 "events_default": 0,
167 "invite": 0,
168 "kick": 50,
169 "redact": 50,
170 "state_default": 50,
171 "users": {
172 "@example:localhost": 100
173 },
174 "users_default": 0
175 },
176 "event_id": "$15139375512JaHAW:localhost",
177 "origin_server_ts": 1784626598,
178 "sender": "@example:localhost",
179 "state_key": "",
180 "type": "m.room.power_levels",
181 "unsigned": {
182 "age": 703422
183 }
184 },
185 {
186 "content": {
187 "alias": "#tutorial:localhost"
188 },
189 "event_id": "$15139375513VdeRF:localhost",
190 "origin_server_ts": 1784626598,
191 "sender": "@example:localhost",
192 "state_key": "",
193 "type": "m.room.canonical_alias",
194 "unsigned": {
195 "age": 703422
196 }
197 },
198 {
199 "content": {
200 "avatar_url": null,
201 "displayname": "example2",
202 "membership": "join"
203 },
204 "event_id": "$152034824468gOeNB:localhost",
205 "membership": "join",
206 "origin_server_ts": 1784626598,
207 "sender": "@example2:localhost",
208 "state_key": "@example2:localhost",
209 "type": "m.room.member",
210 "unsigned": {
211 "age": 623527289,
212 "prev_content": {
213 "membership": "leave"
214 },
215 "prev_sender": "@example:localhost",
216 "replaces_state": "$152034819067QWJxM:localhost"
217 }
218 },
219 ]
220 },
221 "timeline": {
222 "events": [
223 {
224 "content": {
225 "body": "baba",
226 "format": "org.matrix.custom.html",
227 "formatted_body": "<strong>baba</strong>",
228 "msgtype": "m.text"
229 },
230 "event_id": "$152037280074GZeOm:localhost",
231 "origin_server_ts": 1784626598,
232 "sender": "@example:localhost",
233 "type": "m.room.message",
234 "unsigned": {
235 "age": 598971425
236 }
237 }
238 ],
239 "limited": true,
240 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
241 },
242 "unread_notifications": {
243 "highlight_count": 0,
244 "notification_count": 11
245 }
246 }
247 },
248 "leave": {}
249 },
250 "to_device": {
251 "events": []
252 },
253 "presence": {
254 "events": [
255 {
256 "content": {
257 "avatar_url": "mxc://localhost/wefuiwegh8742w",
258 "currently_active": false,
259 "last_active_ago": 1,
260 "presence": "online",
261 "status_msg": "Making cupcakes"
262 },
263 "sender": "@example:localhost",
264 "type": "m.presence"
265 }
266 ]
267 }
268 })
269});
270
271pub static DEFAULT_SYNC_SUMMARY: LazyLock<JsonValue> = LazyLock::new(|| {
272 json!({
273 "device_one_time_keys_count": {},
274 "next_batch": "s526_47314_0_7_1_1_1_11444_1",
275 "device_lists": {
276 "changed": [
277 "@example:example.org"
278 ],
279 "left": []
280 },
281 "rooms": {
282 "invite": {},
283 "join": {
284 *DEFAULT_TEST_ROOM_ID: {
285 "summary": {
286 "m.heroes": [
287 "@example2:localhost"
288 ],
289 "m.joined_member_count": 2,
290 "m.invited_member_count": 0
291 },
292 "account_data": {
293 "events": [
294 {
295 "content": {
296 "ignored_users": {
297 "@someone:example.org": {}
298 }
299 },
300 "type": "m.ignored_user_list"
301 }
302 ]
303 },
304 "ephemeral": {
305 "events": [
306 {
307 "content": {
308 "$151680659217152dPKjd:localhost": {
309 "m.read": {
310 "@example:localhost": {
311 "ts": 151680989
312 }
313 }
314 }
315 },
316 "type": "m.receipt"
317 },
318 {
319 "content": {
320 "event_id": "$someplace:example.org"
321 },
322 "room_id": "!roomid:room.com",
323 "type": "m.fully_read"
324 }
325 ]
326 },
327 "state": {
328 "events": [
329 {
330 "content": {
331 "join_rule": "public"
332 },
333 "event_id": "$15139375514WsgmR:localhost",
334 "origin_server_ts": 1784626598,
335 "sender": "@example:localhost",
336 "state_key": "",
337 "type": "m.room.join_rules",
338 "unsigned": {
339 "age": 7034220
340 }
341 },
342 {
343 "content": {
344 "avatar_url": null,
345 "displayname": "example",
346 "membership": "join"
347 },
348 "event_id": "$151800140517rfvjc:localhost",
349 "membership": "join",
350 "origin_server_ts": 1784626598,
351 "sender": "@example:localhost",
352 "state_key": "@example:localhost",
353 "type": "m.room.member",
354 "unsigned": {
355 "age": 297036,
356 "replaces_state": "$151800111315tsynI:localhost"
357 }
358 },
359 {
360 "content": {
361 "history_visibility": "shared"
362 },
363 "event_id": "$15139375515VaJEY:localhost",
364 "origin_server_ts": 1784626598,
365 "sender": "@example:localhost",
366 "state_key": "",
367 "type": "m.room.history_visibility",
368 "unsigned": {
369 "age": 703422
370 }
371 },
372 {
373 "content": {
374 "creator": "@example:localhost"
375 },
376 "event_id": "$15139375510KUZHi:localhost",
377 "origin_server_ts": 1784626598,
378 "sender": "@example:localhost",
379 "state_key": "",
380 "type": "m.room.create",
381 "unsigned": {
382 "age": 703422
383 }
384 },
385 {
386 "content": {
387 "topic": "room topic"
388 },
389 "event_id": "$151957878228ssqrJ:localhost",
390 "origin_server_ts": 1784626598,
391 "sender": "@example:localhost",
392 "state_key": "",
393 "type": "m.room.topic",
394 "unsigned": {
395 "age": 1392989709,
396 "prev_content": {
397 "topic": "test"
398 },
399 "prev_sender": "@example:localhost",
400 "replaces_state": "$151957069225EVYKm:localhost"
401 }
402 },
403 {
404 "content": {
405 "ban": 50,
406 "events": {
407 "m.room.avatar": 50,
408 "m.room.canonical_alias": 50,
409 "m.room.history_visibility": 100,
410 "m.room.name": 50,
411 "m.room.power_levels": 100
412 },
413 "events_default": 0,
414 "invite": 0,
415 "kick": 50,
416 "redact": 50,
417 "state_default": 50,
418 "users": {
419 "@example:localhost": 100
420 },
421 "users_default": 0
422 },
423 "event_id": "$15139375512JaHAW:localhost",
424 "origin_server_ts": 1784626598,
425 "sender": "@example:localhost",
426 "state_key": "",
427 "type": "m.room.power_levels",
428 "unsigned": {
429 "age": 703422
430 }
431 },
432 {
433 "content": {
434 "avatar_url": null,
435 "displayname": "example2",
436 "membership": "join"
437 },
438 "event_id": "$152034824468gOeNB:localhost",
439 "membership": "join",
440 "origin_server_ts": 1784626598,
441 "sender": "@example2:localhost",
442 "state_key": "@example2:localhost",
443 "type": "m.room.member",
444 "unsigned": {
445 "age": 623527289,
446 "prev_content": {
447 "membership": "leave"
448 },
449 "prev_sender": "@example:localhost",
450 "replaces_state": "$152034819067QWJxM:localhost"
451 }
452 },
453 {
454 "content": {
455 "membership": "leave",
456 "reason": "offline",
457 "avatar_url": "avatar.com",
458 "displayname": "example"
459 },
460 "event_id": "$1585345508297748AIUBh:matrix.org",
461 "origin_server_ts": 1784626598,
462 "sender": "@example:localhost",
463 "state_key": "@example:localhost",
464 "type": "m.room.member",
465 "unsigned": {
466 "replaces_state": "$1585345354296486IGZfp:localhost",
467 "prev_content": {
468 "avatar_url": "avatar.com",
469 "displayname": "example",
470 "membership": "join"
471 },
472 "prev_sender": "@example2:localhost",
473 "age": 6992
474 },
475 "room_id": "!roomid:room.com"
476 }
477 ]
478 },
479 "timeline": {
480 "events": [
481 {
482 "content": {
483 "body": "baba",
484 "format": "org.matrix.custom.html",
485 "formatted_body": "<strong>baba</strong>",
486 "msgtype": "m.text"
487 },
488 "event_id": "$152037280074GZeOm:localhost",
489 "origin_server_ts": 1784626598,
490 "sender": "@example:localhost",
491 "type": "m.room.message",
492 "unsigned": {
493 "age": 598971425
494 }
495 }
496 ],
497 "limited": true,
498 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
499 },
500 "unread_notifications": {
501 "highlight_count": 0,
502 "notification_count": 11
503 }
504 }
505 },
506 "leave": {}
507 },
508 "to_device": {
509 "events": []
510 },
511 "presence": {
512 "events": [
513 {
514 "content": {
515 "avatar_url": "mxc://localhost/wefuiwegh8742w",
516 "currently_active": false,
517 "last_active_ago": 1,
518 "presence": "online",
519 "status_msg": "Making cupcakes"
520 },
521 "sender": "@example:localhost",
522 "type": "m.presence"
523 }
524 ]
525 }
526 })
527});
528
529pub static INVITE_SYNC: LazyLock<JsonValue> = LazyLock::new(|| {
530 json!({
531 "device_one_time_keys_count": {},
532 "next_batch": "s526_47314_0_7_1_1_1_11444_2",
533 "device_lists": {
534 "changed": [
535 "@example:example.org"
536 ],
537 "left": []
538 },
539 "rooms": {
540 "invite": {
541 "!696r7674:example.com": {
542 "invite_state": {
543 "events": [
544 {
545 "sender": "@alice:example.com",
546 "type": "m.room.name",
547 "state_key": "",
548 "content": {
549 "name": "My Room Name"
550 }
551 },
552 {
553 "sender": "@alice:example.com",
554 "type": "m.room.member",
555 "state_key": "@bob:example.com",
556 "content": {
557 "membership": "invite"
558 }
559 }
560 ]
561 }
562 }
563 },
564 "join": {},
565 "leave": {}
566 },
567 "to_device": {
568 "events": []
569 },
570 "presence": {
571 "events": [
572 {
573 "content": {
574 "avatar_url": "mxc://localhost/wefuiwegh8742w",
575 "currently_active": false,
576 "last_active_ago": 1,
577 "presence": "online",
578 "status_msg": "Making cupcakes"
579 },
580 "sender": "@example:localhost",
581 "type": "m.presence"
582 }
583 ]
584 }
585 })
586});
587
588pub static LEAVE_SYNC: LazyLock<JsonValue> = LazyLock::new(|| {
589 json!({
590 "device_one_time_keys_count": {},
591 "next_batch": "s526_47314_0_7_1_1_1_11444_1",
592 "device_lists": {
593 "changed": [
594 "@example:example.org"
595 ],
596 "left": []
597 },
598 "rooms": {
599 "invite": {},
600 "join": {},
601 "leave": {
602 *DEFAULT_TEST_ROOM_ID: {
603 "summary": {},
604 "account_data": {
605 "events": []
606 },
607 "ephemeral": {
608 "events": [
609 {
610 "content": {
611 "$151680659217152dPKjd:localhost": {
612 "m.read": {
613 "@example:localhost": {
614 "ts": 151680989
615 }
616 }
617 }
618 },
619 "type": "m.receipt"
620 },
621 {
622 "content": {
623 "event_id": "$someplace:example.org"
624 },
625 "room_id": "!roomid:room.com",
626 "type": "m.fully_read"
627 }
628 ]
629 },
630 "state": {
631 "events": [
632 {
633 "content": {
634 "join_rule": "public"
635 },
636 "event_id": "$15139375514WsgmR:localhost",
637 "origin_server_ts": 1784626598,
638 "sender": "@example:localhost",
639 "state_key": "",
640 "type": "m.room.join_rules",
641 "unsigned": {
642 "age": 703422
643 }
644 },
645 {
646 "content": {
647 "avatar_url": null,
648 "displayname": "example",
649 "membership": "join"
650 },
651 "event_id": "$151800140517rfvjc:localhost",
652 "membership": "join",
653 "origin_server_ts": 1784626598,
654 "sender": "@example:localhost",
655 "state_key": "@example:localhost",
656 "type": "m.room.member",
657 "unsigned": {
658 "age": 297036,
659 "replaces_state": "$151800111315tsynI:localhost"
660 }
661 },
662 {
663 "content": {
664 "history_visibility": "shared"
665 },
666 "event_id": "$15139375515VaJEY:localhost",
667 "origin_server_ts": 1784626598,
668 "sender": "@example:localhost",
669 "state_key": "",
670 "type": "m.room.history_visibility",
671 "unsigned": {
672 "age": 703422
673 }
674 },
675 {
676 "content": {
677 "creator": "@example:localhost"
678 },
679 "event_id": "$15139375510KUZHi:localhost",
680 "origin_server_ts": 1784626598,
681 "sender": "@example:localhost",
682 "state_key": "",
683 "type": "m.room.create",
684 "unsigned": {
685 "age": 703422
686 }
687 },
688 {
689 "content": {
690 "aliases": [
691 "#tutorial:localhost"
692 ]
693 },
694 "event_id": "$15139375516NUgtD:localhost",
695 "origin_server_ts": 1784626598,
696 "sender": "@example:localhost",
697 "state_key": "localhost",
698 "type": "m.room.aliases",
699 "unsigned": {
700 "age": 703422
701 }
702 },
703 {
704 "content": {
705 "topic": "room topic"
706 },
707 "event_id": "$151957878228ssqrJ:localhost",
708 "origin_server_ts": 1784626598,
709 "sender": "@example:localhost",
710 "state_key": "",
711 "type": "m.room.topic",
712 "unsigned": {
713 "age": 1392989709,
714 "prev_content": {
715 "topic": "test"
716 },
717 "prev_sender": "@example:localhost",
718 "replaces_state": "$151957069225EVYKm:localhost"
719 }
720 },
721 {
722 "content": {
723 "ban": 50,
724 "events": {
725 "m.room.avatar": 50,
726 "m.room.canonical_alias": 50,
727 "m.room.history_visibility": 100,
728 "m.room.name": 50,
729 "m.room.power_levels": 100
730 },
731 "events_default": 0,
732 "invite": 0,
733 "kick": 50,
734 "redact": 50,
735 "state_default": 50,
736 "users": {
737 "@example:localhost": 100
738 },
739 "users_default": 0
740 },
741 "event_id": "$15139375512JaHAW:localhost",
742 "origin_server_ts": 1784626598,
743 "sender": "@example:localhost",
744 "state_key": "",
745 "type": "m.room.power_levels",
746 "unsigned": {
747 "age": 703422
748 }
749 },
750 {
751 "content": {
752 "alias": "#tutorial:localhost"
753 },
754 "event_id": "$15139375513VdeRF:localhost",
755 "origin_server_ts": 1784626598,
756 "sender": "@example:localhost",
757 "state_key": "",
758 "type": "m.room.canonical_alias",
759 "unsigned": {
760 "age": 703422
761 }
762 },
763 {
764 "content": {
765 "avatar_url": null,
766 "displayname": "example2",
767 "membership": "join"
768 },
769 "event_id": "$152034824468gOeNB:localhost",
770 "membership": "join",
771 "origin_server_ts": 1784626598,
772 "sender": "@example2:localhost",
773 "state_key": "@example2:localhost",
774 "type": "m.room.member",
775 "unsigned": {
776 "age": 623527289,
777 "prev_content": {
778 "membership": "leave"
779 },
780 "prev_sender": "@example:localhost",
781 "replaces_state": "$152034819067QWJxM:localhost"
782 }
783 },
784 {
785 "content": {
786 "membership": "leave",
787 "reason": "offline",
788 "avatar_url": "mxc://avatar.com/ursn982srs2S",
789 "displayname": "example"
790 },
791 "event_id": "$1585345508297748AIUBh:matrix.org",
792 "origin_server_ts": 1784626598,
793 "sender": "@example:localhost",
794 "state_key": "@example:localhost",
795 "type": "m.room.member",
796 "unsigned": {
797 "replaces_state": "$1585345354296486IGZfp:localhost",
798 "prev_content": {
799 "avatar_url": "mxc://avatar.com/ursn982srs2S",
800 "displayname": "example",
801 "membership": "join"
802 },
803 "prev_sender": "@example2:localhost",
804 "age": 6992
805 },
806 "room_id": "!roomid:room.com"
807 }
808 ]
809 },
810 "timeline": {
811 "events": [
812 {
813 "content": {
814 "body": "baba",
815 "format": "org.matrix.custom.html",
816 "formatted_body": "<strong>baba</strong>",
817 "msgtype": "m.text"
818 },
819 "event_id": "$152037280074GZeOm:localhost",
820 "origin_server_ts": 1784626598,
821 "sender": "@example:localhost",
822 "type": "m.room.message",
823 "unsigned": {
824 "age": 598971425
825 }
826 }
827 ],
828 "limited": true,
829 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
830 },
831 "unread_notifications": {
832 "highlight_count": 0,
833 "notification_count": 11
834 }
835 }
836 }
837 },
838 "to_device": {
839 "events": []
840 },
841 "presence": {
842 "events": [
843 {
844 "content": {
845 "avatar_url": "mxc://localhost/wefuiwegh8742w",
846 "currently_active": false,
847 "last_active_ago": 1,
848 "presence": "online",
849 "status_msg": "Making cupcakes"
850 },
851 "sender": "@example:localhost",
852 "type": "m.presence"
853 }
854 ]
855 }
856 })
857});
858
859pub static LEAVE_SYNC_EVENT: LazyLock<JsonValue> = LazyLock::new(|| {
860 json!({
861 "account_data": {
862 "events": []
863 },
864 "to_device": {
865 "events": []
866 },
867 "device_lists": {
868 "changed": [],
869 "left": []
870 },
871 "presence": {
872 "events": []
873 },
874 "rooms": {
875 "join": {},
876 "invite": {},
877 "leave": {
878 *DEFAULT_TEST_ROOM_ID: {
879 "timeline": {
880 "events": [
881 {
882 "content": {
883 "membership": "leave"
884 },
885 "origin_server_ts": 1784626598,
886 "sender": "@example:localhost",
887 "state_key": "@example:localhost",
888 "type": "m.room.member",
889 "unsigned": {
890 "replaces_state": "$blahblah",
891 "prev_content": {
892 "avatar_url": null,
893 "displayname": "me",
894 "membership": "invite"
895 },
896 "prev_sender": "@2example:localhost",
897 "age": 1757
898 },
899 "event_id": "$lQQ116Y-XqcjpSUGpuz36rNntUvOSpTjuaIvmtQ2AwA"
900 }
901 ],
902 "prev_batch": "tokenTOKEN",
903 "limited": false
904 },
905 "state": {
906 "events": []
907 },
908 "account_data": {
909 "events": []
910 }
911 }
912 }
913 },
914 "groups": {
915 "join": {},
916 "invite": {},
917 "leave": {}
918 },
919 "device_one_time_keys_count": {
920 "signed_curve25519": 50
921 },
922 "next_batch": "s1380317562_757269739_1655566_503953763_334052043_1209862_55290918_65705002_101146"
923 })
924});
925
926pub static JOIN_SPACE_SYNC: LazyLock<JsonValue> = LazyLock::new(|| {
927 json!({
928 "device_one_time_keys_count": {},
929 "next_batch": "s526_47314_0_7_1_1_1_11444_1",
930 "device_lists": {
931 "changed": [
932 "@example:example.org"
933 ],
934 "left": []
935 },
936 "account_data": {
937 "events": [
938 {
939 "content": {
940 "ignored_users": {
941 "@someone:example.org": {}
942 }
943 },
944 "type": "m.ignored_user_list"
945 }
946 ]
947 },
948 "rooms": {
949 "invite": {},
950 "join": {
951 *DEFAULT_TEST_ROOM_ID: {
952 "summary": {},
953 "account_data": {
954 "events": [
955 {
956 "content": {
957 "event_id": "$someplace:example.org"
958 },
959 "room_id": "!roomid:room.com",
960 "type": "m.fully_read"
961 }
962 ]
963 },
964 "ephemeral": {
965 "events": [
966 {
967 "content": {
968 "$151680659217152dPKjd:localhost": {
969 "m.read": {
970 "@example:localhost": {
971 "ts": 151680989
972 }
973 }
974 }
975 },
976 "room_id": *DEFAULT_TEST_ROOM_ID,
977 "type": "m.receipt"
978 },
979 ]
980 },
981 "state": {
982 "events": [
983 {
984 "content": {
985 "join_rule": "public"
986 },
987 "event_id": "$15139375514WsgmR:localhost",
988 "origin_server_ts": 1784626598,
989 "sender": "@example:localhost",
990 "state_key": "",
991 "type": "m.room.join_rules",
992 "unsigned": {
993 "age": 7034220
994 }
995 },
996 {
997 "content": {
998 "avatar_url": null,
999 "displayname": "example",
1000 "membership": "join"
1001 },
1002 "event_id": "$151800140517rfvjc:localhost",
1003 "membership": "join",
1004 "origin_server_ts": 1784626598,
1005 "sender": "@example:localhost",
1006 "state_key": "@example:localhost",
1007 "type": "m.room.member",
1008 "unsigned": {
1009 "age": 2970366,
1010 "replaces_state": "$151800111315tsynI:localhost"
1011 }
1012 },
1013 {
1014 "content": {
1015 "history_visibility": "shared"
1016 },
1017 "event_id": "$15139375515VaJEY:localhost",
1018 "origin_server_ts": 1784626598,
1019 "sender": "@example:localhost",
1020 "state_key": "",
1021 "type": "m.room.history_visibility",
1022 "unsigned": {
1023 "age": 7034220
1024 }
1025 },
1026 {
1027 "content": {
1028 "creator": "@example:localhost",
1029 "type": "m.space"
1030 },
1031 "event_id": "$15139375510KUZHi:localhost",
1032 "origin_server_ts": 1784626598,
1033 "sender": "@example:localhost",
1034 "state_key": "",
1035 "type": "m.room.create",
1036 "unsigned": {
1037 "age": 703422
1038 }
1039 },
1040 {
1041 "content": {
1042 "aliases": [
1043 "#tutorial:localhost"
1044 ]
1045 },
1046 "event_id": "$15139375516NUgtD:localhost",
1047 "origin_server_ts": 1784626598,
1048 "sender": "@example:localhost",
1049 "state_key": "localhost",
1050 "type": "m.room.aliases",
1051 "unsigned": {
1052 "age": 703422
1053 }
1054 },
1055 {
1056 "content": {
1057 "topic": "room topic"
1058 },
1059 "event_id": "$151957878228ssqrJ:localhost",
1060 "origin_server_ts": 1784626598,
1061 "sender": "@example:localhost",
1062 "state_key": "",
1063 "type": "m.room.topic",
1064 "unsigned": {
1065 "age": 1392989709,
1066 "prev_content": {
1067 "topic": "test"
1068 },
1069 "prev_sender": "@example:localhost",
1070 "replaces_state": "$151957069225EVYKm:localhost"
1071 }
1072 },
1073 {
1074 "content": {
1075 "ban": 50,
1076 "events": {
1077 "m.room.avatar": 50,
1078 "m.room.canonical_alias": 50,
1079 "m.room.history_visibility": 100,
1080 "m.room.name": 50,
1081 "m.room.power_levels": 100
1082 },
1083 "events_default": 0,
1084 "invite": 0,
1085 "kick": 50,
1086 "redact": 50,
1087 "state_default": 50,
1088 "users": {
1089 "@example:localhost": 100
1090 },
1091 "users_default": 0
1092 },
1093 "event_id": "$15139375512JaHAW:localhost",
1094 "origin_server_ts": 1784626598,
1095 "sender": "@example:localhost",
1096 "state_key": "",
1097 "type": "m.room.power_levels",
1098 "unsigned": {
1099 "age": 703422
1100 }
1101 },
1102 {
1103 "content": {
1104 "alias": "#tutorial:localhost"
1105 },
1106 "event_id": "$15139375513VdeRF:localhost",
1107 "origin_server_ts": 1784626598,
1108 "sender": "@example:localhost",
1109 "state_key": "",
1110 "type": "m.room.canonical_alias",
1111 "unsigned": {
1112 "age": 703422
1113 }
1114 },
1115 {
1116 "content": {
1117 "avatar_url": null,
1118 "displayname": "example2",
1119 "membership": "join"
1120 },
1121 "event_id": "$152034824468gOeNB:localhost",
1122 "membership": "join",
1123 "origin_server_ts": 1784626598,
1124 "sender": "@example2:localhost",
1125 "state_key": "@example2:localhost",
1126 "type": "m.room.member",
1127 "unsigned": {
1128 "age": 623527289,
1129 "prev_content": {
1130 "membership": "leave"
1131 },
1132 "prev_sender": "@example:localhost",
1133 "replaces_state": "$152034819067QWJxM:localhost"
1134 }
1135 },
1136 ]
1137 },
1138 "timeline": {
1139 "events": [
1140 {
1141 "content": {
1142 "body": "baba",
1143 "format": "org.matrix.custom.html",
1144 "formatted_body": "<strong>baba</strong>",
1145 "msgtype": "m.text"
1146 },
1147 "event_id": "$152037280074GZeOm:localhost",
1148 "origin_server_ts": 1784626598,
1149 "sender": "@example:localhost",
1150 "type": "m.room.message",
1151 "unsigned": {
1152 "age": 598971425
1153 }
1154 }
1155 ],
1156 "limited": true,
1157 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1158 },
1159 "unread_notifications": {
1160 "highlight_count": 0,
1161 "notification_count": 11
1162 }
1163 }
1164 },
1165 "leave": {}
1166 },
1167 "to_device": {
1168 "events": []
1169 },
1170 "presence": {
1171 "events": [
1172 {
1173 "content": {
1174 "avatar_url": "mxc://localhost/wefuiwegh8742w",
1175 "currently_active": false,
1176 "last_active_ago": 1,
1177 "presence": "online",
1178 "status_msg": "Making cupcakes"
1179 },
1180 "sender": "@example:localhost",
1181 "type": "m.presence"
1182 }
1183 ]
1184 }
1185 })
1186});
1187
1188/// In the [`MIXED_SYNC`], the room id of the joined room.
1189pub static MIXED_JOINED_ROOM_ID: LazyLock<&RoomId> =
1190 LazyLock::new(|| room_id!("!SVkFJHzfwvuaIEawgC:localhost"));
1191/// In the [`MIXED_SYNC`], the room id of the left room.
1192pub static MIXED_LEFT_ROOM_ID: LazyLock<&RoomId> =
1193 LazyLock::new(|| room_id!("!SVkFJHzfwvuaIEawgD:localhost"));
1194/// In the [`MIXED_SYNC`], the room id of the invited room.
1195pub static MIXED_INVITED_ROOM_ID: LazyLock<&RoomId> =
1196 LazyLock::new(|| room_id!("!SVkFJHzfwvuaIEawgE:localhost"));
1197/// In the [`MIXED_SYNC`], the room id of the knocked room.
1198pub static MIXED_KNOCKED_ROOM_ID: LazyLock<&RoomId> =
1199 LazyLock::new(|| room_id!("!SVkFJHzfwvuaIEawgF:localhost"));
1200
1201/// A sync that contains updates to joined/invited/knocked/left rooms.
1202pub static MIXED_SYNC: LazyLock<JsonValue> = LazyLock::new(|| {
1203 json!({
1204 "account_data": {
1205 "events": []
1206 },
1207 "to_device": {
1208 "events": []
1209 },
1210 "device_lists": {
1211 "changed": [],
1212 "left": []
1213 },
1214 "presence": {
1215 "events": []
1216 },
1217 "rooms": {
1218 "join": {
1219 *MIXED_JOINED_ROOM_ID: {
1220 "summary": {},
1221 "account_data": {
1222 "events": [
1223 {
1224 "content": {
1225 "event_id": "$someplace:example.org"
1226 },
1227 "room_id": "!roomid:room.com",
1228 "type": "m.fully_read"
1229 }
1230 ]
1231 },
1232 "ephemeral": {
1233 "events": [
1234 {
1235 "content": {
1236 "$151680659217152dPKjd:localhost": {
1237 "m.read": {
1238 "@example:localhost": {
1239 "ts": 151680989
1240 }
1241 }
1242 }
1243 },
1244 "room_id": *MIXED_JOINED_ROOM_ID,
1245 "type": "m.receipt"
1246 },
1247 ]
1248 },
1249 "state": {
1250 "events": [
1251 {
1252 "content": {
1253 "alias": "#tutorial:localhost"
1254 },
1255 "event_id": "$15139375513VdeRF:localhost",
1256 "origin_server_ts": 1784626598,
1257 "sender": "@example:localhost",
1258 "state_key": "",
1259 "type": "m.room.canonical_alias",
1260 "unsigned": {
1261 "age": 703422
1262 }
1263 },
1264 ]
1265 },
1266 "timeline": {
1267 "events": [
1268 {
1269 "content": {
1270 "body": "baba",
1271 "format": "org.matrix.custom.html",
1272 "formatted_body": "<strong>baba</strong>",
1273 "msgtype": "m.text"
1274 },
1275 "event_id": "$152037280074GZeOm:localhost",
1276 "origin_server_ts": 1784626598,
1277 "sender": "@example:localhost",
1278 "type": "m.room.message",
1279 "unsigned": {
1280 "age": 598971425
1281 }
1282 }
1283 ],
1284 "limited": true,
1285 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1286 },
1287 "unread_notifications": {
1288 "highlight_count": 0,
1289 "notification_count": 11
1290 }
1291 }
1292 },
1293 "invite": {
1294 *MIXED_INVITED_ROOM_ID: {
1295 "invite_state": {
1296 "events": [
1297 {
1298 "sender": "@alice:example.com",
1299 "type": "m.room.name",
1300 "state_key": "",
1301 "content": {
1302 "name": "My Room Name"
1303 }
1304 },
1305 {
1306 "sender": "@alice:example.com",
1307 "type": "m.room.member",
1308 "state_key": "@bob:example.com",
1309 "content": {
1310 "membership": "invite"
1311 }
1312 }
1313 ]
1314 }
1315 }
1316 },
1317 "knock": {
1318 *MIXED_KNOCKED_ROOM_ID: {
1319 "knock_state": {
1320 "events": [
1321 {
1322 "sender": "@alice:example.com",
1323 "type": "m.room.name",
1324 "state_key": "",
1325 "content": {
1326 "name": "My Room Name"
1327 }
1328 },
1329 {
1330 "sender": "@bob:example.com",
1331 "type": "m.room.member",
1332 "state_key": "@bob:example.com",
1333 "content": {
1334 "membership": "knock"
1335 }
1336 }
1337 ]
1338 }
1339 }
1340 },
1341 "leave": {
1342 *MIXED_LEFT_ROOM_ID: {
1343 "timeline": {
1344 "events": [
1345 {
1346 "content": {
1347 "membership": "leave"
1348 },
1349 "origin_server_ts": 1784626598,
1350 "sender": "@example:localhost",
1351 "state_key": "@example:localhost",
1352 "type": "m.room.member",
1353 "unsigned": {
1354 "replaces_state": "$blahblah",
1355 "prev_content": {
1356 "avatar_url": null,
1357 "displayname": "me",
1358 "membership": "invite"
1359 },
1360 "prev_sender": "@2example:localhost",
1361 "age": 1757
1362 },
1363 "event_id": "$lQQ116Y-XqcjpSUGpuz36rNntUvOSpTjuaIvmtQ2AwA"
1364 }
1365 ],
1366 "prev_batch": "toktok",
1367 "limited": false
1368 },
1369 "state": {
1370 "events": []
1371 },
1372 "account_data": {
1373 "events": []
1374 }
1375 }
1376 }
1377 },
1378 "groups": {
1379 "join": {},
1380 "invite": {},
1381 "leave": {}
1382 },
1383 "device_one_time_keys_count": {
1384 "signed_curve25519": 50
1385 },
1386 "next_batch": "s1380317562_757269739_1655566_503953763_334052043_1209862_55290918_65705002_101146"
1387 })
1388});
1389
1390pub static SYNC_ADMIN_AND_MOD: LazyLock<JsonValue> = LazyLock::new(|| {
1391 json!({
1392 "device_one_time_keys_count": {},
1393 "next_batch": "s526_47314_0_7_1_1_1_11444_1",
1394 "device_lists": {
1395 "changed": [
1396 "@admin:example.org"
1397 ],
1398 "left": []
1399 },
1400 "rooms": {
1401 "invite": {},
1402 "join": {
1403 *DEFAULT_TEST_ROOM_ID: {
1404 "summary": {
1405 "m.heroes": [
1406 "@example2:localhost"
1407 ],
1408 "m.joined_member_count": 2,
1409 "m.invited_member_count": 0
1410 },
1411 "account_data": {
1412 "events": []
1413 },
1414 "ephemeral": {
1415 "events": []
1416 },
1417 "state": {
1418 "events": [
1419 {
1420 "content": {
1421 "join_rule": "public"
1422 },
1423 "event_id": "$15139375514WsgmR:localhost",
1424 "origin_server_ts": 1784626598,
1425 "sender": "@admin:localhost",
1426 "state_key": "",
1427 "type": "m.room.join_rules",
1428 "unsigned": {
1429 "age": 7034220
1430 }
1431 },
1432 {
1433 "content": {
1434 "avatar_url": null,
1435 "displayname": "admin",
1436 "membership": "join"
1437 },
1438 "event_id": "$151800140517rfvjc:localhost",
1439 "membership": "join",
1440 "origin_server_ts": 1784626598,
1441 "sender": "@admin:localhost",
1442 "state_key": "@admin:localhost",
1443 "type": "m.room.member",
1444 "unsigned": {
1445 "age": 297036,
1446 "replaces_state": "$151800111315tsynI:localhost"
1447 }
1448 },
1449 {
1450 "content": {
1451 "avatar_url": null,
1452 "displayname": "mod",
1453 "membership": "join"
1454 },
1455 "event_id": "$151800140518rfvjc:localhost",
1456 "membership": "join",
1457 "origin_server_ts": 1784626598,
1458 "sender": "@mod:localhost",
1459 "state_key": "@mod:localhost",
1460 "type": "m.room.member",
1461 "unsigned": {
1462 "age": 297035,
1463 }
1464 },
1465 {
1466 "content": {
1467 "history_visibility": "shared"
1468 },
1469 "event_id": "$15139375515VaJEY:localhost",
1470 "origin_server_ts": 1784626598,
1471 "sender": "@admin:localhost",
1472 "state_key": "",
1473 "type": "m.room.history_visibility",
1474 "unsigned": {
1475 "age": 703422
1476 }
1477 },
1478 {
1479 "content": {
1480 "creator": "@example:localhost"
1481 },
1482 "event_id": "$15139375510KUZHi:localhost",
1483 "origin_server_ts": 1784626598,
1484 "sender": "@admin:localhost",
1485 "state_key": "",
1486 "type": "m.room.create",
1487 "unsigned": {
1488 "age": 703422
1489 }
1490 },
1491 {
1492 "content": {
1493 "topic": "room topic"
1494 },
1495 "event_id": "$151957878228ssqrJ:localhost",
1496 "origin_server_ts": 1784626598,
1497 "sender": "@admin:localhost",
1498 "state_key": "",
1499 "type": "m.room.topic",
1500 "unsigned": {
1501 "age": 1392989709,
1502 "prev_content": {
1503 "topic": "test"
1504 },
1505 "prev_sender": "@example:localhost",
1506 "replaces_state": "$151957069225EVYKm:localhost"
1507 }
1508 },
1509 {
1510 "content": {
1511 "ban": 50,
1512 "events": {
1513 "m.room.avatar": 50,
1514 "m.room.canonical_alias": 50,
1515 "m.room.history_visibility": 100,
1516 "m.room.name": 50,
1517 "m.room.power_levels": 100
1518 },
1519 "events_default": 0,
1520 "invite": 0,
1521 "kick": 50,
1522 "redact": 50,
1523 "state_default": 50,
1524 "users": {
1525 "@admin:localhost": 100,
1526 "@mod:localhost": 50
1527 },
1528 "users_default": 0
1529 },
1530 "event_id": "$15139375512JaHAW:localhost",
1531 "origin_server_ts": 1784626598,
1532 "sender": "@admin:localhost",
1533 "state_key": "",
1534 "type": "m.room.power_levels",
1535 "unsigned": {
1536 "age": 703422
1537 }
1538 }
1539 ]
1540 },
1541 "timeline": {
1542 "events": [
1543 {
1544 "content": {
1545 "body": "baba",
1546 "format": "org.matrix.custom.html",
1547 "formatted_body": "<strong>baba</strong>",
1548 "msgtype": "m.text"
1549 },
1550 "event_id": "$152037280074GZeOm:localhost",
1551 "origin_server_ts": 1784626598,
1552 "sender": "@admin:localhost",
1553 "type": "m.room.message",
1554 "unsigned": {
1555 "age": 598971425
1556 }
1557 }
1558 ],
1559 "limited": true,
1560 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1561 },
1562 "unread_notifications": {
1563 "highlight_count": 0,
1564 "notification_count": 11
1565 }
1566 }
1567 },
1568 "leave": {}
1569 },
1570 "to_device": {
1571 "events": []
1572 },
1573 "presence": {
1574 "events": []
1575 }
1576 })
1577});
1578
1579pub static CUSTOM_ROOM_POWER_LEVELS: LazyLock<JsonValue> = LazyLock::new(|| {
1580 json!({
1581 "device_one_time_keys_count": {},
1582 "next_batch": "s526_47314_0_7_1_1_1_11444_1",
1583 "device_lists": {
1584 "changed": [
1585 "@admin:example.org"
1586 ],
1587 "left": []
1588 },
1589 "rooms": {
1590 "invite": {},
1591 "join": {
1592 *DEFAULT_TEST_ROOM_ID: {
1593 "summary": {
1594 "m.heroes": [
1595 "@example2:localhost"
1596 ],
1597 "m.joined_member_count": 1,
1598 "m.invited_member_count": 0
1599 },
1600 "account_data": {
1601 "events": []
1602 },
1603 "ephemeral": {
1604 "events": []
1605 },
1606 "state": {
1607 "events": [
1608 {
1609 "content": {
1610 "join_rule": "public"
1611 },
1612 "event_id": "$15139375514WsgmR:localhost",
1613 "origin_server_ts": 1784626598,
1614 "sender": "@admin:localhost",
1615 "state_key": "",
1616 "type": "m.room.join_rules",
1617 "unsigned": {
1618 "age": 7034220
1619 }
1620 },
1621 {
1622 "content": {
1623 "avatar_url": null,
1624 "displayname": "admin",
1625 "membership": "join"
1626 },
1627 "event_id": "$151800140517rfvjc:localhost",
1628 "membership": "join",
1629 "origin_server_ts": 1784626598,
1630 "sender": "@admin:localhost",
1631 "state_key": "@admin:localhost",
1632 "type": "m.room.member",
1633 "unsigned": {
1634 "age": 297036,
1635 "replaces_state": "$151800111315tsynI:localhost"
1636 }
1637 },
1638 {
1639 "content": {
1640 "creator": "@example:localhost"
1641 },
1642 "event_id": "$15139375510KUZHi:localhost",
1643 "origin_server_ts": 1784626598,
1644 "sender": "@admin:localhost",
1645 "state_key": "",
1646 "type": "m.room.create",
1647 "unsigned": {
1648 "age": 703422
1649 }
1650 },
1651 {
1652 "content": {
1653 "ban": 100,
1654 "events": {
1655 "m.room.avatar": 100,
1656 "m.room.canonical_alias": 50,
1657 "m.room.history_visibility": 100,
1658 "m.room.name": 50,
1659 "m.room.power_levels": 100
1660 },
1661 "events_default": 0,
1662 "invite": 0,
1663 "kick": 50,
1664 "redact": 50,
1665 "state_default": 50,
1666 "users": {
1667 "@admin:localhost": 100
1668 },
1669 "users_default": 0
1670 },
1671 "event_id": "$15139375512JaHAW:localhost",
1672 "origin_server_ts": 1784626598,
1673 "sender": "@admin:localhost",
1674 "state_key": "",
1675 "type": "m.room.power_levels",
1676 "unsigned": {
1677 "age": 703422
1678 }
1679 }
1680 ]
1681 },
1682 "timeline": {
1683 "events": [
1684 {
1685 "content": {
1686 "body": "baba",
1687 "format": "org.matrix.custom.html",
1688 "formatted_body": "<strong>baba</strong>",
1689 "msgtype": "m.text"
1690 },
1691 "event_id": "$152037280074GZeOm:localhost",
1692 "origin_server_ts": 1784626598,
1693 "sender": "@admin:localhost",
1694 "type": "m.room.message",
1695 "unsigned": {
1696 "age": 598971425
1697 }
1698 }
1699 ],
1700 "limited": true,
1701 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1702 },
1703 "unread_notifications": {
1704 "highlight_count": 0,
1705 "notification_count": 11
1706 }
1707 }
1708 },
1709 "leave": {}
1710 },
1711 "to_device": {
1712 "events": []
1713 },
1714 "presence": {
1715 "events": []
1716 }
1717 })
1718});