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": 151393755000000_u64,
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": 151800140000000_u64,
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": 151393755000000_u64,
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": 151393755000000_u64,
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": 151393755000000_u64,
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": 151957878000000_u64,
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": 151393755000000_u64,
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": 151393755000000_u64,
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": 152034824000000_u64,
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": 152037280000000_u64,
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": 151393755000000_u64,
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": 151800140000000_u64,
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": 151393755000000_u64,
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": 151393755000000_u64,
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": 151957878000000_u64,
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": 151393755000000_u64,
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": 152034824000000_u64,
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": 158534550000000_u64,
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": 152037280000000_u64,
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 "account_data": {
599 "events": [
600 {
601 "content": {
602 "ignored_users": {
603 "@someone:example.org": {}
604 }
605 },
606 "type": "m.ignored_user_list"
607 }
608 ]
609 },
610 "rooms": {
611 "invite": {},
612 "join": {},
613 "leave": {
614 *DEFAULT_TEST_ROOM_ID: {
615 "summary": {},
616 "account_data": {
617 "events": []
618 },
619 "ephemeral": {
620 "events": [
621 {
622 "content": {
623 "$151680659217152dPKjd:localhost": {
624 "m.read": {
625 "@example:localhost": {
626 "ts": 151680989
627 }
628 }
629 }
630 },
631 "type": "m.receipt"
632 },
633 {
634 "content": {
635 "event_id": "$someplace:example.org"
636 },
637 "room_id": "!roomid:room.com",
638 "type": "m.fully_read"
639 }
640 ]
641 },
642 "state": {
643 "events": [
644 {
645 "content": {
646 "join_rule": "public"
647 },
648 "event_id": "$15139375514WsgmR:localhost",
649 "origin_server_ts": 151393755000000_u64,
650 "sender": "@example:localhost",
651 "state_key": "",
652 "type": "m.room.join_rules",
653 "unsigned": {
654 "age": 703422
655 }
656 },
657 {
658 "content": {
659 "avatar_url": null,
660 "displayname": "example",
661 "membership": "join"
662 },
663 "event_id": "$151800140517rfvjc:localhost",
664 "membership": "join",
665 "origin_server_ts": 151800140000000_u64,
666 "sender": "@example:localhost",
667 "state_key": "@example:localhost",
668 "type": "m.room.member",
669 "unsigned": {
670 "age": 297036,
671 "replaces_state": "$151800111315tsynI:localhost"
672 }
673 },
674 {
675 "content": {
676 "history_visibility": "shared"
677 },
678 "event_id": "$15139375515VaJEY:localhost",
679 "origin_server_ts": 151393755000000_u64,
680 "sender": "@example:localhost",
681 "state_key": "",
682 "type": "m.room.history_visibility",
683 "unsigned": {
684 "age": 703422
685 }
686 },
687 {
688 "content": {
689 "creator": "@example:localhost"
690 },
691 "event_id": "$15139375510KUZHi:localhost",
692 "origin_server_ts": 151393755000000_u64,
693 "sender": "@example:localhost",
694 "state_key": "",
695 "type": "m.room.create",
696 "unsigned": {
697 "age": 703422
698 }
699 },
700 {
701 "content": {
702 "aliases": [
703 "#tutorial:localhost"
704 ]
705 },
706 "event_id": "$15139375516NUgtD:localhost",
707 "origin_server_ts": 151393755000000_u64,
708 "sender": "@example:localhost",
709 "state_key": "localhost",
710 "type": "m.room.aliases",
711 "unsigned": {
712 "age": 703422
713 }
714 },
715 {
716 "content": {
717 "topic": "room topic"
718 },
719 "event_id": "$151957878228ssqrJ:localhost",
720 "origin_server_ts": 151957878000000_u64,
721 "sender": "@example:localhost",
722 "state_key": "",
723 "type": "m.room.topic",
724 "unsigned": {
725 "age": 1392989709,
726 "prev_content": {
727 "topic": "test"
728 },
729 "prev_sender": "@example:localhost",
730 "replaces_state": "$151957069225EVYKm:localhost"
731 }
732 },
733 {
734 "content": {
735 "ban": 50,
736 "events": {
737 "m.room.avatar": 50,
738 "m.room.canonical_alias": 50,
739 "m.room.history_visibility": 100,
740 "m.room.name": 50,
741 "m.room.power_levels": 100
742 },
743 "events_default": 0,
744 "invite": 0,
745 "kick": 50,
746 "redact": 50,
747 "state_default": 50,
748 "users": {
749 "@example:localhost": 100
750 },
751 "users_default": 0
752 },
753 "event_id": "$15139375512JaHAW:localhost",
754 "origin_server_ts": 151393755000000_u64,
755 "sender": "@example:localhost",
756 "state_key": "",
757 "type": "m.room.power_levels",
758 "unsigned": {
759 "age": 703422
760 }
761 },
762 {
763 "content": {
764 "alias": "#tutorial:localhost"
765 },
766 "event_id": "$15139375513VdeRF:localhost",
767 "origin_server_ts": 151393755000000_u64,
768 "sender": "@example:localhost",
769 "state_key": "",
770 "type": "m.room.canonical_alias",
771 "unsigned": {
772 "age": 703422
773 }
774 },
775 {
776 "content": {
777 "avatar_url": null,
778 "displayname": "example2",
779 "membership": "join"
780 },
781 "event_id": "$152034824468gOeNB:localhost",
782 "membership": "join",
783 "origin_server_ts": 152034824000000_u64,
784 "sender": "@example2:localhost",
785 "state_key": "@example2:localhost",
786 "type": "m.room.member",
787 "unsigned": {
788 "age": 623527289,
789 "prev_content": {
790 "membership": "leave"
791 },
792 "prev_sender": "@example:localhost",
793 "replaces_state": "$152034819067QWJxM:localhost"
794 }
795 },
796 {
797 "content": {
798 "membership": "leave",
799 "reason": "offline",
800 "avatar_url": "mxc://avatar.com/ursn982srs2S",
801 "displayname": "example"
802 },
803 "event_id": "$1585345508297748AIUBh:matrix.org",
804 "origin_server_ts": 158534550000000_u64,
805 "sender": "@example:localhost",
806 "state_key": "@example:localhost",
807 "type": "m.room.member",
808 "unsigned": {
809 "replaces_state": "$1585345354296486IGZfp:localhost",
810 "prev_content": {
811 "avatar_url": "mxc://avatar.com/ursn982srs2S",
812 "displayname": "example",
813 "membership": "join"
814 },
815 "prev_sender": "@example2:localhost",
816 "age": 6992
817 },
818 "room_id": "!roomid:room.com"
819 }
820 ]
821 },
822 "timeline": {
823 "events": [
824 {
825 "content": {
826 "body": "baba",
827 "format": "org.matrix.custom.html",
828 "formatted_body": "<strong>baba</strong>",
829 "msgtype": "m.text"
830 },
831 "event_id": "$152037280074GZeOm:localhost",
832 "origin_server_ts": 152037280000000_u64,
833 "sender": "@example:localhost",
834 "type": "m.room.message",
835 "unsigned": {
836 "age": 598971425
837 }
838 }
839 ],
840 "limited": true,
841 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
842 },
843 "unread_notifications": {
844 "highlight_count": 0,
845 "notification_count": 11
846 }
847 }
848 }
849 },
850 "to_device": {
851 "events": []
852 },
853 "presence": {
854 "events": [
855 {
856 "content": {
857 "avatar_url": "mxc://localhost/wefuiwegh8742w",
858 "currently_active": false,
859 "last_active_ago": 1,
860 "presence": "online",
861 "status_msg": "Making cupcakes"
862 },
863 "sender": "@example:localhost",
864 "type": "m.presence"
865 }
866 ]
867 }
868 })
869});
870
871pub static LEAVE_SYNC_EVENT: LazyLock<JsonValue> = LazyLock::new(|| {
872 json!({
873 "account_data": {
874 "events": []
875 },
876 "to_device": {
877 "events": []
878 },
879 "device_lists": {
880 "changed": [],
881 "left": []
882 },
883 "presence": {
884 "events": []
885 },
886 "rooms": {
887 "join": {},
888 "invite": {},
889 "leave": {
890 *DEFAULT_TEST_ROOM_ID: {
891 "timeline": {
892 "events": [
893 {
894 "content": {
895 "membership": "leave"
896 },
897 "origin_server_ts": 158957809000000_u64,
898 "sender": "@example:localhost",
899 "state_key": "@example:localhost",
900 "type": "m.room.member",
901 "unsigned": {
902 "replaces_state": "$blahblah",
903 "prev_content": {
904 "avatar_url": null,
905 "displayname": "me",
906 "membership": "invite"
907 },
908 "prev_sender": "@2example:localhost",
909 "age": 1757
910 },
911 "event_id": "$lQQ116Y-XqcjpSUGpuz36rNntUvOSpTjuaIvmtQ2AwA"
912 }
913 ],
914 "prev_batch": "tokenTOKEN",
915 "limited": false
916 },
917 "state": {
918 "events": []
919 },
920 "account_data": {
921 "events": []
922 }
923 }
924 }
925 },
926 "groups": {
927 "join": {},
928 "invite": {},
929 "leave": {}
930 },
931 "device_one_time_keys_count": {
932 "signed_curve25519": 50
933 },
934 "next_batch": "s1380317562_757269739_1655566_503953763_334052043_1209862_55290918_65705002_101146"
935 })
936});
937
938pub static JOIN_SPACE_SYNC: LazyLock<JsonValue> = LazyLock::new(|| {
939 json!({
940 "device_one_time_keys_count": {},
941 "next_batch": "s526_47314_0_7_1_1_1_11444_1",
942 "device_lists": {
943 "changed": [
944 "@example:example.org"
945 ],
946 "left": []
947 },
948 "account_data": {
949 "events": [
950 {
951 "content": {
952 "ignored_users": {
953 "@someone:example.org": {}
954 }
955 },
956 "type": "m.ignored_user_list"
957 }
958 ]
959 },
960 "rooms": {
961 "invite": {},
962 "join": {
963 *DEFAULT_TEST_ROOM_ID: {
964 "summary": {},
965 "account_data": {
966 "events": [
967 {
968 "content": {
969 "event_id": "$someplace:example.org"
970 },
971 "room_id": "!roomid:room.com",
972 "type": "m.fully_read"
973 }
974 ]
975 },
976 "ephemeral": {
977 "events": [
978 {
979 "content": {
980 "$151680659217152dPKjd:localhost": {
981 "m.read": {
982 "@example:localhost": {
983 "ts": 151680989
984 }
985 }
986 }
987 },
988 "room_id": *DEFAULT_TEST_ROOM_ID,
989 "type": "m.receipt"
990 },
991 ]
992 },
993 "state": {
994 "events": [
995 {
996 "content": {
997 "join_rule": "public"
998 },
999 "event_id": "$15139375514WsgmR:localhost",
1000 "origin_server_ts": 151393755000000_u64,
1001 "sender": "@example:localhost",
1002 "state_key": "",
1003 "type": "m.room.join_rules",
1004 "unsigned": {
1005 "age": 7034220
1006 }
1007 },
1008 {
1009 "content": {
1010 "avatar_url": null,
1011 "displayname": "example",
1012 "membership": "join"
1013 },
1014 "event_id": "$151800140517rfvjc:localhost",
1015 "membership": "join",
1016 "origin_server_ts": 151800140000000_u64,
1017 "sender": "@example:localhost",
1018 "state_key": "@example:localhost",
1019 "type": "m.room.member",
1020 "unsigned": {
1021 "age": 2970366,
1022 "replaces_state": "$151800111315tsynI:localhost"
1023 }
1024 },
1025 {
1026 "content": {
1027 "history_visibility": "shared"
1028 },
1029 "event_id": "$15139375515VaJEY:localhost",
1030 "origin_server_ts": 151393755000000_u64,
1031 "sender": "@example:localhost",
1032 "state_key": "",
1033 "type": "m.room.history_visibility",
1034 "unsigned": {
1035 "age": 7034220
1036 }
1037 },
1038 {
1039 "content": {
1040 "creator": "@example:localhost",
1041 "type": "m.space"
1042 },
1043 "event_id": "$15139375510KUZHi:localhost",
1044 "origin_server_ts": 151393755000000_u64,
1045 "sender": "@example:localhost",
1046 "state_key": "",
1047 "type": "m.room.create",
1048 "unsigned": {
1049 "age": 703422
1050 }
1051 },
1052 {
1053 "content": {
1054 "aliases": [
1055 "#tutorial:localhost"
1056 ]
1057 },
1058 "event_id": "$15139375516NUgtD:localhost",
1059 "origin_server_ts": 151393755000000_u64,
1060 "sender": "@example:localhost",
1061 "state_key": "localhost",
1062 "type": "m.room.aliases",
1063 "unsigned": {
1064 "age": 703422
1065 }
1066 },
1067 {
1068 "content": {
1069 "topic": "room topic"
1070 },
1071 "event_id": "$151957878228ssqrJ:localhost",
1072 "origin_server_ts": 151957878000000_u64,
1073 "sender": "@example:localhost",
1074 "state_key": "",
1075 "type": "m.room.topic",
1076 "unsigned": {
1077 "age": 1392989709,
1078 "prev_content": {
1079 "topic": "test"
1080 },
1081 "prev_sender": "@example:localhost",
1082 "replaces_state": "$151957069225EVYKm:localhost"
1083 }
1084 },
1085 {
1086 "content": {
1087 "ban": 50,
1088 "events": {
1089 "m.room.avatar": 50,
1090 "m.room.canonical_alias": 50,
1091 "m.room.history_visibility": 100,
1092 "m.room.name": 50,
1093 "m.room.power_levels": 100
1094 },
1095 "events_default": 0,
1096 "invite": 0,
1097 "kick": 50,
1098 "redact": 50,
1099 "state_default": 50,
1100 "users": {
1101 "@example:localhost": 100
1102 },
1103 "users_default": 0
1104 },
1105 "event_id": "$15139375512JaHAW:localhost",
1106 "origin_server_ts": 151393755000000_u64,
1107 "sender": "@example:localhost",
1108 "state_key": "",
1109 "type": "m.room.power_levels",
1110 "unsigned": {
1111 "age": 703422
1112 }
1113 },
1114 {
1115 "content": {
1116 "alias": "#tutorial:localhost"
1117 },
1118 "event_id": "$15139375513VdeRF:localhost",
1119 "origin_server_ts": 151393755000000_u64,
1120 "sender": "@example:localhost",
1121 "state_key": "",
1122 "type": "m.room.canonical_alias",
1123 "unsigned": {
1124 "age": 703422
1125 }
1126 },
1127 {
1128 "content": {
1129 "avatar_url": null,
1130 "displayname": "example2",
1131 "membership": "join"
1132 },
1133 "event_id": "$152034824468gOeNB:localhost",
1134 "membership": "join",
1135 "origin_server_ts": 152034824000000_u64,
1136 "sender": "@example2:localhost",
1137 "state_key": "@example2:localhost",
1138 "type": "m.room.member",
1139 "unsigned": {
1140 "age": 623527289,
1141 "prev_content": {
1142 "membership": "leave"
1143 },
1144 "prev_sender": "@example:localhost",
1145 "replaces_state": "$152034819067QWJxM:localhost"
1146 }
1147 },
1148 ]
1149 },
1150 "timeline": {
1151 "events": [
1152 {
1153 "content": {
1154 "body": "baba",
1155 "format": "org.matrix.custom.html",
1156 "formatted_body": "<strong>baba</strong>",
1157 "msgtype": "m.text"
1158 },
1159 "event_id": "$152037280074GZeOm:localhost",
1160 "origin_server_ts": 152037280000000_u64,
1161 "sender": "@example:localhost",
1162 "type": "m.room.message",
1163 "unsigned": {
1164 "age": 598971425
1165 }
1166 }
1167 ],
1168 "limited": true,
1169 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1170 },
1171 "unread_notifications": {
1172 "highlight_count": 0,
1173 "notification_count": 11
1174 }
1175 }
1176 },
1177 "leave": {}
1178 },
1179 "to_device": {
1180 "events": []
1181 },
1182 "presence": {
1183 "events": [
1184 {
1185 "content": {
1186 "avatar_url": "mxc://localhost/wefuiwegh8742w",
1187 "currently_active": false,
1188 "last_active_ago": 1,
1189 "presence": "online",
1190 "status_msg": "Making cupcakes"
1191 },
1192 "sender": "@example:localhost",
1193 "type": "m.presence"
1194 }
1195 ]
1196 }
1197 })
1198});
1199
1200/// In the [`MIXED_SYNC`], the room id of the joined room.
1201pub static MIXED_JOINED_ROOM_ID: LazyLock<&RoomId> =
1202 LazyLock::new(|| room_id!("!SVkFJHzfwvuaIEawgC:localhost"));
1203/// In the [`MIXED_SYNC`], the room id of the left room.
1204pub static MIXED_LEFT_ROOM_ID: LazyLock<&RoomId> =
1205 LazyLock::new(|| room_id!("!SVkFJHzfwvuaIEawgD:localhost"));
1206/// In the [`MIXED_SYNC`], the room id of the invited room.
1207pub static MIXED_INVITED_ROOM_ID: LazyLock<&RoomId> =
1208 LazyLock::new(|| room_id!("!SVkFJHzfwvuaIEawgE:localhost"));
1209/// In the [`MIXED_SYNC`], the room id of the knocked room.
1210pub static MIXED_KNOCKED_ROOM_ID: LazyLock<&RoomId> =
1211 LazyLock::new(|| room_id!("!SVkFJHzfwvuaIEawgF:localhost"));
1212
1213/// A sync that contains updates to joined/invited/knocked/left rooms.
1214pub static MIXED_SYNC: LazyLock<JsonValue> = LazyLock::new(|| {
1215 json!({
1216 "account_data": {
1217 "events": []
1218 },
1219 "to_device": {
1220 "events": []
1221 },
1222 "device_lists": {
1223 "changed": [],
1224 "left": []
1225 },
1226 "presence": {
1227 "events": []
1228 },
1229 "rooms": {
1230 "join": {
1231 *MIXED_JOINED_ROOM_ID: {
1232 "summary": {},
1233 "account_data": {
1234 "events": [
1235 {
1236 "content": {
1237 "event_id": "$someplace:example.org"
1238 },
1239 "room_id": "!roomid:room.com",
1240 "type": "m.fully_read"
1241 }
1242 ]
1243 },
1244 "ephemeral": {
1245 "events": [
1246 {
1247 "content": {
1248 "$151680659217152dPKjd:localhost": {
1249 "m.read": {
1250 "@example:localhost": {
1251 "ts": 151680989
1252 }
1253 }
1254 }
1255 },
1256 "room_id": *MIXED_JOINED_ROOM_ID,
1257 "type": "m.receipt"
1258 },
1259 ]
1260 },
1261 "state": {
1262 "events": [
1263 {
1264 "content": {
1265 "alias": "#tutorial:localhost"
1266 },
1267 "event_id": "$15139375513VdeRF:localhost",
1268 "origin_server_ts": 151393755000000_u64,
1269 "sender": "@example:localhost",
1270 "state_key": "",
1271 "type": "m.room.canonical_alias",
1272 "unsigned": {
1273 "age": 703422
1274 }
1275 },
1276 ]
1277 },
1278 "timeline": {
1279 "events": [
1280 {
1281 "content": {
1282 "body": "baba",
1283 "format": "org.matrix.custom.html",
1284 "formatted_body": "<strong>baba</strong>",
1285 "msgtype": "m.text"
1286 },
1287 "event_id": "$152037280074GZeOm:localhost",
1288 "origin_server_ts": 152037280000000_u64,
1289 "sender": "@example:localhost",
1290 "type": "m.room.message",
1291 "unsigned": {
1292 "age": 598971425
1293 }
1294 }
1295 ],
1296 "limited": true,
1297 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1298 },
1299 "unread_notifications": {
1300 "highlight_count": 0,
1301 "notification_count": 11
1302 }
1303 }
1304 },
1305 "invite": {
1306 *MIXED_INVITED_ROOM_ID: {
1307 "invite_state": {
1308 "events": [
1309 {
1310 "sender": "@alice:example.com",
1311 "type": "m.room.name",
1312 "state_key": "",
1313 "content": {
1314 "name": "My Room Name"
1315 }
1316 },
1317 {
1318 "sender": "@alice:example.com",
1319 "type": "m.room.member",
1320 "state_key": "@bob:example.com",
1321 "content": {
1322 "membership": "invite"
1323 }
1324 }
1325 ]
1326 }
1327 }
1328 },
1329 "knock": {
1330 *MIXED_KNOCKED_ROOM_ID: {
1331 "knock_state": {
1332 "events": [
1333 {
1334 "sender": "@alice:example.com",
1335 "type": "m.room.name",
1336 "state_key": "",
1337 "content": {
1338 "name": "My Room Name"
1339 }
1340 },
1341 {
1342 "sender": "@bob:example.com",
1343 "type": "m.room.member",
1344 "state_key": "@bob:example.com",
1345 "content": {
1346 "membership": "knock"
1347 }
1348 }
1349 ]
1350 }
1351 }
1352 },
1353 "leave": {
1354 *MIXED_LEFT_ROOM_ID: {
1355 "timeline": {
1356 "events": [
1357 {
1358 "content": {
1359 "membership": "leave"
1360 },
1361 "origin_server_ts": 158957809000000_u64,
1362 "sender": "@example:localhost",
1363 "state_key": "@example:localhost",
1364 "type": "m.room.member",
1365 "unsigned": {
1366 "replaces_state": "$blahblah",
1367 "prev_content": {
1368 "avatar_url": null,
1369 "displayname": "me",
1370 "membership": "invite"
1371 },
1372 "prev_sender": "@2example:localhost",
1373 "age": 1757
1374 },
1375 "event_id": "$lQQ116Y-XqcjpSUGpuz36rNntUvOSpTjuaIvmtQ2AwA"
1376 }
1377 ],
1378 "prev_batch": "toktok",
1379 "limited": false
1380 },
1381 "state": {
1382 "events": []
1383 },
1384 "account_data": {
1385 "events": []
1386 }
1387 }
1388 }
1389 },
1390 "groups": {
1391 "join": {},
1392 "invite": {},
1393 "leave": {}
1394 },
1395 "device_one_time_keys_count": {
1396 "signed_curve25519": 50
1397 },
1398 "next_batch": "s1380317562_757269739_1655566_503953763_334052043_1209862_55290918_65705002_101146"
1399 })
1400});
1401
1402pub static SYNC_ADMIN_AND_MOD: LazyLock<JsonValue> = LazyLock::new(|| {
1403 json!({
1404 "device_one_time_keys_count": {},
1405 "next_batch": "s526_47314_0_7_1_1_1_11444_1",
1406 "device_lists": {
1407 "changed": [
1408 "@admin:example.org"
1409 ],
1410 "left": []
1411 },
1412 "rooms": {
1413 "invite": {},
1414 "join": {
1415 *DEFAULT_TEST_ROOM_ID: {
1416 "summary": {
1417 "m.heroes": [
1418 "@example2:localhost"
1419 ],
1420 "m.joined_member_count": 2,
1421 "m.invited_member_count": 0
1422 },
1423 "account_data": {
1424 "events": []
1425 },
1426 "ephemeral": {
1427 "events": []
1428 },
1429 "state": {
1430 "events": [
1431 {
1432 "content": {
1433 "join_rule": "public"
1434 },
1435 "event_id": "$15139375514WsgmR:localhost",
1436 "origin_server_ts": 151393755000000_u64,
1437 "sender": "@admin:localhost",
1438 "state_key": "",
1439 "type": "m.room.join_rules",
1440 "unsigned": {
1441 "age": 7034220
1442 }
1443 },
1444 {
1445 "content": {
1446 "avatar_url": null,
1447 "displayname": "admin",
1448 "membership": "join"
1449 },
1450 "event_id": "$151800140517rfvjc:localhost",
1451 "membership": "join",
1452 "origin_server_ts": 151800140000000_u64,
1453 "sender": "@admin:localhost",
1454 "state_key": "@admin:localhost",
1455 "type": "m.room.member",
1456 "unsigned": {
1457 "age": 297036,
1458 "replaces_state": "$151800111315tsynI:localhost"
1459 }
1460 },
1461 {
1462 "content": {
1463 "avatar_url": null,
1464 "displayname": "mod",
1465 "membership": "join"
1466 },
1467 "event_id": "$151800140518rfvjc:localhost",
1468 "membership": "join",
1469 "origin_server_ts": 1518001450000000_u64,
1470 "sender": "@mod:localhost",
1471 "state_key": "@mod:localhost",
1472 "type": "m.room.member",
1473 "unsigned": {
1474 "age": 297035,
1475 }
1476 },
1477 {
1478 "content": {
1479 "history_visibility": "shared"
1480 },
1481 "event_id": "$15139375515VaJEY:localhost",
1482 "origin_server_ts": 151393755000000_u64,
1483 "sender": "@admin:localhost",
1484 "state_key": "",
1485 "type": "m.room.history_visibility",
1486 "unsigned": {
1487 "age": 703422
1488 }
1489 },
1490 {
1491 "content": {
1492 "creator": "@example:localhost"
1493 },
1494 "event_id": "$15139375510KUZHi:localhost",
1495 "origin_server_ts": 151393755000000_u64,
1496 "sender": "@admin:localhost",
1497 "state_key": "",
1498 "type": "m.room.create",
1499 "unsigned": {
1500 "age": 703422
1501 }
1502 },
1503 {
1504 "content": {
1505 "topic": "room topic"
1506 },
1507 "event_id": "$151957878228ssqrJ:localhost",
1508 "origin_server_ts": 151957878000000_u64,
1509 "sender": "@admin:localhost",
1510 "state_key": "",
1511 "type": "m.room.topic",
1512 "unsigned": {
1513 "age": 1392989709,
1514 "prev_content": {
1515 "topic": "test"
1516 },
1517 "prev_sender": "@example:localhost",
1518 "replaces_state": "$151957069225EVYKm:localhost"
1519 }
1520 },
1521 {
1522 "content": {
1523 "ban": 50,
1524 "events": {
1525 "m.room.avatar": 50,
1526 "m.room.canonical_alias": 50,
1527 "m.room.history_visibility": 100,
1528 "m.room.name": 50,
1529 "m.room.power_levels": 100
1530 },
1531 "events_default": 0,
1532 "invite": 0,
1533 "kick": 50,
1534 "redact": 50,
1535 "state_default": 50,
1536 "users": {
1537 "@admin:localhost": 100,
1538 "@mod:localhost": 50
1539 },
1540 "users_default": 0
1541 },
1542 "event_id": "$15139375512JaHAW:localhost",
1543 "origin_server_ts": 151393755000000_u64,
1544 "sender": "@admin:localhost",
1545 "state_key": "",
1546 "type": "m.room.power_levels",
1547 "unsigned": {
1548 "age": 703422
1549 }
1550 }
1551 ]
1552 },
1553 "timeline": {
1554 "events": [
1555 {
1556 "content": {
1557 "body": "baba",
1558 "format": "org.matrix.custom.html",
1559 "formatted_body": "<strong>baba</strong>",
1560 "msgtype": "m.text"
1561 },
1562 "event_id": "$152037280074GZeOm:localhost",
1563 "origin_server_ts": 152037280000000_u64,
1564 "sender": "@admin:localhost",
1565 "type": "m.room.message",
1566 "unsigned": {
1567 "age": 598971425
1568 }
1569 }
1570 ],
1571 "limited": true,
1572 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1573 },
1574 "unread_notifications": {
1575 "highlight_count": 0,
1576 "notification_count": 11
1577 }
1578 }
1579 },
1580 "leave": {}
1581 },
1582 "to_device": {
1583 "events": []
1584 },
1585 "presence": {
1586 "events": []
1587 }
1588 })
1589});
1590
1591pub static CUSTOM_ROOM_POWER_LEVELS: LazyLock<JsonValue> = LazyLock::new(|| {
1592 json!({
1593 "device_one_time_keys_count": {},
1594 "next_batch": "s526_47314_0_7_1_1_1_11444_1",
1595 "device_lists": {
1596 "changed": [
1597 "@admin:example.org"
1598 ],
1599 "left": []
1600 },
1601 "rooms": {
1602 "invite": {},
1603 "join": {
1604 *DEFAULT_TEST_ROOM_ID: {
1605 "summary": {
1606 "m.heroes": [
1607 "@example2:localhost"
1608 ],
1609 "m.joined_member_count": 1,
1610 "m.invited_member_count": 0
1611 },
1612 "account_data": {
1613 "events": []
1614 },
1615 "ephemeral": {
1616 "events": []
1617 },
1618 "state": {
1619 "events": [
1620 {
1621 "content": {
1622 "join_rule": "public"
1623 },
1624 "event_id": "$15139375514WsgmR:localhost",
1625 "origin_server_ts": 151393755000000_u64,
1626 "sender": "@admin:localhost",
1627 "state_key": "",
1628 "type": "m.room.join_rules",
1629 "unsigned": {
1630 "age": 7034220
1631 }
1632 },
1633 {
1634 "content": {
1635 "avatar_url": null,
1636 "displayname": "admin",
1637 "membership": "join"
1638 },
1639 "event_id": "$151800140517rfvjc:localhost",
1640 "membership": "join",
1641 "origin_server_ts": 151800140000000_u64,
1642 "sender": "@admin:localhost",
1643 "state_key": "@admin:localhost",
1644 "type": "m.room.member",
1645 "unsigned": {
1646 "age": 297036,
1647 "replaces_state": "$151800111315tsynI:localhost"
1648 }
1649 },
1650 {
1651 "content": {
1652 "creator": "@example:localhost"
1653 },
1654 "event_id": "$15139375510KUZHi:localhost",
1655 "origin_server_ts": 151393755000000_u64,
1656 "sender": "@admin:localhost",
1657 "state_key": "",
1658 "type": "m.room.create",
1659 "unsigned": {
1660 "age": 703422
1661 }
1662 },
1663 {
1664 "content": {
1665 "ban": 100,
1666 "events": {
1667 "m.room.avatar": 100,
1668 "m.room.canonical_alias": 50,
1669 "m.room.history_visibility": 100,
1670 "m.room.name": 50,
1671 "m.room.power_levels": 100
1672 },
1673 "events_default": 0,
1674 "invite": 0,
1675 "kick": 50,
1676 "redact": 50,
1677 "state_default": 50,
1678 "users": {
1679 "@admin:localhost": 100
1680 },
1681 "users_default": 0
1682 },
1683 "event_id": "$15139375512JaHAW:localhost",
1684 "origin_server_ts": 151393755000000_u64,
1685 "sender": "@admin:localhost",
1686 "state_key": "",
1687 "type": "m.room.power_levels",
1688 "unsigned": {
1689 "age": 703422
1690 }
1691 }
1692 ]
1693 },
1694 "timeline": {
1695 "events": [
1696 {
1697 "content": {
1698 "body": "baba",
1699 "format": "org.matrix.custom.html",
1700 "formatted_body": "<strong>baba</strong>",
1701 "msgtype": "m.text"
1702 },
1703 "event_id": "$152037280074GZeOm:localhost",
1704 "origin_server_ts": 152037280000000_u64,
1705 "sender": "@admin:localhost",
1706 "type": "m.room.message",
1707 "unsigned": {
1708 "age": 598971425
1709 }
1710 }
1711 ],
1712 "limited": true,
1713 "prev_batch": "t392-516_47314_0_7_1_1_1_11444_1"
1714 },
1715 "unread_notifications": {
1716 "highlight_count": 0,
1717 "notification_count": 11
1718 }
1719 }
1720 },
1721 "leave": {}
1722 },
1723 "to_device": {
1724 "events": []
1725 },
1726 "presence": {
1727 "events": []
1728 }
1729 })
1730});