20
20
process_message_attachment ,
21
21
process_users ,
22
22
rocketchat_data_to_dict ,
23
- separate_channel_and_private_messages ,
23
+ separate_channel_private_and_livechat_messages ,
24
24
)
25
25
from zerver .data_import .sequencer import IdMapper
26
26
from zerver .data_import .user_handler import UserHandler
@@ -40,11 +40,11 @@ def test_rocketchat_data_to_dict(self) -> None:
40
40
self .assertEqual (rocketchat_data ["user" ][2 ]["username" ], "harry.potter" )
41
41
self .assert_length (rocketchat_data ["user" ][2 ]["__rooms" ], 10 )
42
42
43
- self .assert_length (rocketchat_data ["room" ], 14 )
43
+ self .assert_length (rocketchat_data ["room" ], 16 )
44
44
self .assertEqual (rocketchat_data ["room" ][0 ]["_id" ], "GENERAL" )
45
45
self .assertEqual (rocketchat_data ["room" ][0 ]["name" ], "general" )
46
46
47
- self .assert_length (rocketchat_data ["message" ], 73 )
47
+ self .assert_length (rocketchat_data ["message" ], 87 )
48
48
self .assertEqual (rocketchat_data ["message" ][1 ]["msg" ], "Hey everyone, how's it going??" )
49
49
self .assertEqual (rocketchat_data ["message" ][1 ]["rid" ], "GENERAL" )
50
50
self .assertEqual (rocketchat_data ["message" ][1 ]["u" ]["username" ], "priyansh3133" )
@@ -186,6 +186,7 @@ def test_categorize_channels_and_map_with_id(self) -> None:
186
186
dsc_id_to_dsc_map : Dict [str , Dict [str , Any ]] = {}
187
187
direct_id_to_direct_map : Dict [str , Dict [str , Any ]] = {}
188
188
huddle_id_to_huddle_map : Dict [str , Dict [str , Any ]] = {}
189
+ livechat_id_to_livechat_map : Dict [str , Dict [str , Any ]] = {}
189
190
190
191
categorize_channels_and_map_with_id (
191
192
channel_data = rocketchat_data ["room" ],
@@ -194,15 +195,17 @@ def test_categorize_channels_and_map_with_id(self) -> None:
194
195
dsc_id_to_dsc_map = dsc_id_to_dsc_map ,
195
196
direct_id_to_direct_map = direct_id_to_direct_map ,
196
197
huddle_id_to_huddle_map = huddle_id_to_huddle_map ,
198
+ livechat_id_to_livechat_map = livechat_id_to_livechat_map ,
197
199
)
198
200
199
- self .assert_length (rocketchat_data ["room" ], 14 )
201
+ self .assert_length (rocketchat_data ["room" ], 16 )
200
202
# Teams are a subset of rooms.
201
203
self .assert_length (room_id_to_room_map , 6 )
202
204
self .assert_length (team_id_to_team_map , 1 )
203
205
self .assert_length (dsc_id_to_dsc_map , 5 )
204
206
self .assert_length (direct_id_to_direct_map , 2 )
205
207
self .assert_length (huddle_id_to_huddle_map , 1 )
208
+ self .assert_length (livechat_id_to_livechat_map , 2 )
206
209
207
210
room_id = rocketchat_data ["room" ][0 ]["_id" ]
208
211
self .assertIn (room_id , room_id_to_room_map )
@@ -224,6 +227,10 @@ def test_categorize_channels_and_map_with_id(self) -> None:
224
227
self .assertIn (huddle_id , huddle_id_to_huddle_map )
225
228
self .assertEqual (huddle_id_to_huddle_map [huddle_id ], rocketchat_data ["room" ][12 ])
226
229
230
+ livechat_id = rocketchat_data ["room" ][14 ]["_id" ]
231
+ self .assertIn (livechat_id , livechat_id_to_livechat_map )
232
+ self .assertEqual (livechat_id_to_livechat_map [livechat_id ], rocketchat_data ["room" ][14 ])
233
+
227
234
def test_convert_channel_data (self ) -> None :
228
235
fixture_dir_name = self .fixture_file_name ("" , "rocketchat_fixtures" )
229
236
rocketchat_data = rocketchat_data_to_dict (fixture_dir_name )
@@ -236,6 +243,7 @@ def test_convert_channel_data(self) -> None:
236
243
dsc_id_to_dsc_map : Dict [str , Dict [str , Any ]] = {}
237
244
direct_id_to_direct_map : Dict [str , Dict [str , Any ]] = {}
238
245
huddle_id_to_huddle_map : Dict [str , Dict [str , Any ]] = {}
246
+ livechat_id_to_livechat_map : Dict [str , Dict [str , Any ]] = {}
239
247
240
248
categorize_channels_and_map_with_id (
241
249
channel_data = rocketchat_data ["room" ],
@@ -244,16 +252,9 @@ def test_convert_channel_data(self) -> None:
244
252
dsc_id_to_dsc_map = dsc_id_to_dsc_map ,
245
253
direct_id_to_direct_map = direct_id_to_direct_map ,
246
254
huddle_id_to_huddle_map = huddle_id_to_huddle_map ,
255
+ livechat_id_to_livechat_map = livechat_id_to_livechat_map ,
247
256
)
248
257
249
- # Add a dummy livechat channel
250
- room_id_to_room_map ["2t6Lyzd2KAD3nS8Ch" ] = {
251
- "_id" : "2t6Lyzd2KAD3nS8Ch" ,
252
- "fname" : "guest" ,
253
- "t" : "l" ,
254
- "ts" : datetime .datetime (2019 , 11 , 6 , 0 , 38 , 42 , 796000 ),
255
- }
256
-
257
258
zerver_stream = convert_channel_data (
258
259
room_id_to_room_map = room_id_to_room_map ,
259
260
team_id_to_team_map = team_id_to_team_map ,
@@ -262,8 +263,8 @@ def test_convert_channel_data(self) -> None:
262
263
)
263
264
264
265
# Only rooms are converted to streams.
265
- self .assert_length (room_id_to_room_map , 7 )
266
- self .assert_length (zerver_stream , 7 )
266
+ self .assert_length (room_id_to_room_map , 6 )
267
+ self .assert_length (zerver_stream , 6 )
267
268
268
269
# Normal public stream
269
270
self .assertEqual (zerver_stream [0 ]["name" ], "general" )
@@ -299,14 +300,6 @@ def test_convert_channel_data(self) -> None:
299
300
self .assertEqual (zerver_stream [5 ]["stream_post_policy" ], 1 )
300
301
self .assertEqual (zerver_stream [5 ]["realm" ], realm_id )
301
302
302
- # Livechat channel
303
- self .assertEqual (zerver_stream [6 ]["name" ], "guest" )
304
- self .assertEqual (zerver_stream [6 ]["invite_only" ], False )
305
- self .assertEqual (zerver_stream [6 ]["description" ], "" )
306
- self .assertEqual (zerver_stream [6 ]["rendered_description" ], "" )
307
- self .assertEqual (zerver_stream [6 ]["stream_post_policy" ], 1 )
308
- self .assertEqual (zerver_stream [6 ]["realm" ], realm_id )
309
-
310
303
def test_convert_stream_subscription_data (self ) -> None :
311
304
fixture_dir_name = self .fixture_file_name ("" , "rocketchat_fixtures" )
312
305
rocketchat_data = rocketchat_data_to_dict (fixture_dir_name )
@@ -334,6 +327,7 @@ def test_convert_stream_subscription_data(self) -> None:
334
327
dsc_id_to_dsc_map : Dict [str , Dict [str , Any ]] = {}
335
328
direct_id_to_direct_map : Dict [str , Dict [str , Any ]] = {}
336
329
huddle_id_to_huddle_map : Dict [str , Dict [str , Any ]] = {}
330
+ livechat_id_to_livechat_map : Dict [str , Dict [str , Any ]] = {}
337
331
338
332
categorize_channels_and_map_with_id (
339
333
channel_data = rocketchat_data ["room" ],
@@ -342,6 +336,7 @@ def test_convert_stream_subscription_data(self) -> None:
342
336
dsc_id_to_dsc_map = dsc_id_to_dsc_map ,
343
337
direct_id_to_direct_map = direct_id_to_direct_map ,
344
338
huddle_id_to_huddle_map = huddle_id_to_huddle_map ,
339
+ livechat_id_to_livechat_map = livechat_id_to_livechat_map ,
345
340
)
346
341
347
342
zerver_stream = convert_channel_data (
@@ -438,6 +433,7 @@ def test_convert_huddle_data(self) -> None:
438
433
dsc_id_to_dsc_map : Dict [str , Dict [str , Any ]] = {}
439
434
direct_id_to_direct_map : Dict [str , Dict [str , Any ]] = {}
440
435
huddle_id_to_huddle_map : Dict [str , Dict [str , Any ]] = {}
436
+ livechat_id_to_livechat_map : Dict [str , Dict [str , Any ]] = {}
441
437
442
438
categorize_channels_and_map_with_id (
443
439
channel_data = rocketchat_data ["room" ],
@@ -446,6 +442,7 @@ def test_convert_huddle_data(self) -> None:
446
442
dsc_id_to_dsc_map = dsc_id_to_dsc_map ,
447
443
direct_id_to_direct_map = direct_id_to_direct_map ,
448
444
huddle_id_to_huddle_map = huddle_id_to_huddle_map ,
445
+ livechat_id_to_livechat_map = livechat_id_to_livechat_map ,
449
446
)
450
447
451
448
zerver_huddle = convert_huddle_data (
@@ -536,6 +533,7 @@ def test_map_receiver_id_to_recipient_id(self) -> None:
536
533
dsc_id_to_dsc_map : Dict [str , Dict [str , Any ]] = {}
537
534
direct_id_to_direct_map : Dict [str , Dict [str , Any ]] = {}
538
535
huddle_id_to_huddle_map : Dict [str , Dict [str , Any ]] = {}
536
+ livechat_id_to_livechat_map : Dict [str , Dict [str , Any ]] = {}
539
537
540
538
categorize_channels_and_map_with_id (
541
539
channel_data = rocketchat_data ["room" ],
@@ -544,6 +542,7 @@ def test_map_receiver_id_to_recipient_id(self) -> None:
544
542
dsc_id_to_dsc_map = dsc_id_to_dsc_map ,
545
543
direct_id_to_direct_map = direct_id_to_direct_map ,
546
544
huddle_id_to_huddle_map = huddle_id_to_huddle_map ,
545
+ livechat_id_to_livechat_map = livechat_id_to_livechat_map ,
547
546
)
548
547
549
548
zerver_stream = convert_channel_data (
@@ -604,7 +603,7 @@ def test_map_receiver_id_to_recipient_id(self) -> None:
604
603
huddle_id_to_recipient_id [zerver_recipient [12 ]["type_id" ]], zerver_recipient [12 ]["id" ]
605
604
)
606
605
607
- def test_separate_channel_and_private_messages (self ) -> None :
606
+ def test_separate_channel_private_and_livechat_messages (self ) -> None :
608
607
fixture_dir_name = self .fixture_file_name ("" , "rocketchat_fixtures" )
609
608
rocketchat_data = rocketchat_data_to_dict (fixture_dir_name )
610
609
@@ -613,6 +612,7 @@ def test_separate_channel_and_private_messages(self) -> None:
613
612
dsc_id_to_dsc_map : Dict [str , Dict [str , Any ]] = {}
614
613
direct_id_to_direct_map : Dict [str , Dict [str , Any ]] = {}
615
614
huddle_id_to_huddle_map : Dict [str , Dict [str , Any ]] = {}
615
+ livechat_id_to_livechat_map : Dict [str , Dict [str , Any ]] = {}
616
616
617
617
categorize_channels_and_map_with_id (
618
618
channel_data = rocketchat_data ["room" ],
@@ -621,23 +621,28 @@ def test_separate_channel_and_private_messages(self) -> None:
621
621
dsc_id_to_dsc_map = dsc_id_to_dsc_map ,
622
622
direct_id_to_direct_map = direct_id_to_direct_map ,
623
623
huddle_id_to_huddle_map = huddle_id_to_huddle_map ,
624
+ livechat_id_to_livechat_map = livechat_id_to_livechat_map ,
624
625
)
625
626
626
627
channel_messages : List [Dict [str , Any ]] = []
627
628
private_messages : List [Dict [str , Any ]] = []
629
+ livechat_messages : List [Dict [str , Any ]] = []
628
630
629
- separate_channel_and_private_messages (
631
+ separate_channel_private_and_livechat_messages (
630
632
messages = rocketchat_data ["message" ],
631
633
dsc_id_to_dsc_map = dsc_id_to_dsc_map ,
632
634
direct_id_to_direct_map = direct_id_to_direct_map ,
633
635
huddle_id_to_huddle_map = huddle_id_to_huddle_map ,
636
+ livechat_id_to_livechat_map = livechat_id_to_livechat_map ,
634
637
channel_messages = channel_messages ,
635
638
private_messages = private_messages ,
639
+ livechat_messages = livechat_messages ,
636
640
)
637
641
638
- self .assert_length (rocketchat_data ["message" ], 73 )
639
- self .assert_length (channel_messages , 62 )
642
+ self .assert_length (rocketchat_data ["message" ], 87 )
643
+ self .assert_length (channel_messages , 68 )
640
644
self .assert_length (private_messages , 11 )
645
+ self .assert_length (livechat_messages , 8 )
641
646
642
647
self .assertIn (rocketchat_data ["message" ][0 ], channel_messages )
643
648
self .assertIn (rocketchat_data ["message" ][1 ], channel_messages )
@@ -647,6 +652,10 @@ def test_separate_channel_and_private_messages(self) -> None:
647
652
self .assertIn (rocketchat_data ["message" ][12 ], private_messages )
648
653
self .assertIn (rocketchat_data ["message" ][50 ], private_messages ) # Huddle message
649
654
655
+ self .assertIn (rocketchat_data ["message" ][79 ], livechat_messages )
656
+ self .assertIn (rocketchat_data ["message" ][83 ], livechat_messages )
657
+ self .assertIn (rocketchat_data ["message" ][86 ], livechat_messages )
658
+
650
659
# Message in a Discussion originating from a direct channel
651
660
self .assertIn (rocketchat_data ["message" ][70 ], private_messages )
652
661
self .assertIn (rocketchat_data ["message" ][70 ]["rid" ], direct_id_to_direct_map )
@@ -677,19 +686,23 @@ def test_separate_channel_and_private_messages(self) -> None:
677
686
678
687
channel_messages = []
679
688
private_messages = []
689
+ livechat_messages = []
680
690
681
- separate_channel_and_private_messages (
691
+ separate_channel_private_and_livechat_messages (
682
692
messages = rocketchat_data ["message" ],
683
693
dsc_id_to_dsc_map = dsc_id_to_dsc_map ,
684
694
direct_id_to_direct_map = direct_id_to_direct_map ,
685
695
huddle_id_to_huddle_map = huddle_id_to_huddle_map ,
696
+ livechat_id_to_livechat_map = livechat_id_to_livechat_map ,
686
697
channel_messages = channel_messages ,
687
698
private_messages = private_messages ,
699
+ livechat_messages = livechat_messages ,
688
700
)
689
701
690
- # No new message added to channel or private messages
691
- self .assert_length (channel_messages , 62 )
702
+ # No new message added to channel, private or livechat messages
703
+ self .assert_length (channel_messages , 68 )
692
704
self .assert_length (private_messages , 11 )
705
+ self .assert_length (livechat_messages , 8 )
693
706
694
707
def test_map_upload_id_to_upload_data (self ) -> None :
695
708
fixture_dir_name = self .fixture_file_name ("" , "rocketchat_fixtures" )
0 commit comments