def test_message_files(self) -> None: alice_id = 7 alice = dict( id=alice_id, profile=dict(email="*****@*****.**", ), ) files = [ dict( url_private="files.slack.com/apple.png", title="Apple", name="apple.png", mimetype="image/png", timestamp=9999, created=8888, size=3000000, ), dict( url_private="example.com/banana.zip", title="banana", ), ] message = dict( user=alice_id, files=files, ) domain_name = "example.com" realm_id = 5 message_id = 99 slack_user_id = "alice" users = [alice] slack_user_id_to_zulip_user_id = { "alice": alice_id, } zerver_attachment: List[Dict[str, Any]] = [] uploads_list: List[Dict[str, Any]] = [] info = process_message_files( message=message, domain_name=domain_name, realm_id=realm_id, message_id=message_id, slack_user_id=slack_user_id, users=users, slack_user_id_to_zulip_user_id=slack_user_id_to_zulip_user_id, zerver_attachment=zerver_attachment, uploads_list=uploads_list, ) self.assert_length(zerver_attachment, 1) self.assert_length(uploads_list, 1) image_path = zerver_attachment[0]["path_id"] self.assertIn("/SlackImportAttachment/", image_path) expected_content = f"[Apple](/user_uploads/{image_path})\n[banana](example.com/banana.zip)" self.assertEqual(info["content"], expected_content) self.assertTrue(info["has_link"]) self.assertTrue(info["has_image"]) self.assertEqual(uploads_list[0]["s3_path"], image_path) self.assertEqual(uploads_list[0]["realm_id"], realm_id) self.assertEqual(uploads_list[0]["user_profile_email"], "*****@*****.**")
def test_message_files(self) -> None: alice_id = 7 alice = dict( id=alice_id, profile=dict( email='*****@*****.**', ), ) files = [ dict( url_private='files.slack.com/apple.png', title='Apple', name='apple.png', mimetype='image/png', timestamp=9999, created=8888, size=3000000, ), dict( url_private='example.com/banana.zip', title='banana', ), ] message = dict( user=alice_id, files=files, ) domain_name = 'example.com' realm_id = 5 message_id = 99 slack_user_id = 'alice' users = [alice] slack_user_id_to_zulip_user_id = { 'alice': alice_id, } zerver_attachment = [] # type: List[Dict[str, Any]] uploads_list = [] # type: List[Dict[str, Any]] info = process_message_files( message=message, domain_name=domain_name, realm_id=realm_id, message_id=message_id, slack_user_id=slack_user_id, users=users, slack_user_id_to_zulip_user_id=slack_user_id_to_zulip_user_id, zerver_attachment=zerver_attachment, uploads_list=uploads_list, ) self.assertEqual(len(zerver_attachment), 1) self.assertEqual(len(uploads_list), 1) image_path = zerver_attachment[0]['path_id'] self.assertIn('/SlackImportAttachment/', image_path) expected_content = '[Apple](/user_uploads/{image_path})\n[banana](example.com/banana.zip)'.format(image_path=image_path) self.assertEqual(info['content'], expected_content) self.assertTrue(info['has_link']) self.assertTrue(info['has_image']) self.assertEqual(uploads_list[0]['s3_path'], image_path) self.assertEqual(uploads_list[0]['realm_id'], realm_id) self.assertEqual(uploads_list[0]['user_profile_email'], '*****@*****.**') def test_get_guest(self) -> None: user_data = [{'is_restricted' : True, 'is_ultra_restricted' : True}, {'is_restricted' : True, 'is_ultra_restricted' : False}, {'is_restricted' : False, 'is_ultra_restricted' : True}, {'is_restricted' : False, 'is_ultra_restricted' : False} ] self.assertEqual(get_guest(user_data[0]), True) self.assertEqual(get_guest(user_data[1]), True) self.assertEqual(get_guest(user_data[2]), True) self.assertEqual(get_guest(user_data[3]), False)
def test_message_files(self) -> None: alice_id = 7 alice = dict( id=alice_id, profile=dict( email='*****@*****.**', ), ) files = [ dict( url_private='files.slack.com/apple.png', title='Apple', name='apple.png', mimetype='image/png', timestamp=9999, created=8888, size=3000000, ), dict( url_private='example.com/banana.zip', title='banana', ), ] message = dict( user=alice_id, files=files, ) domain_name = 'example.com' realm_id = 5 message_id = 99 user = '******' users = [alice] added_users = { 'alice': alice_id, } zerver_attachment = [] # type: List[Dict[str, Any]] uploads_list = [] # type: List[Dict[str, Any]] info = process_message_files( message=message, domain_name=domain_name, realm_id=realm_id, message_id=message_id, user=user, users=users, added_users=added_users, zerver_attachment=zerver_attachment, uploads_list=uploads_list, ) self.assertEqual(len(zerver_attachment), 1) self.assertEqual(len(uploads_list), 1) image_path = zerver_attachment[0]['path_id'] self.assertIn('/SlackImportAttachment/', image_path) expected_content = '[Apple](/user_uploads/{image_path})\n[banana](example.com/banana.zip)'.format(image_path=image_path) self.assertEqual(info['content'], expected_content) self.assertTrue(info['has_link']) self.assertTrue(info['has_image']) self.assertEqual(uploads_list[0]['s3_path'], image_path) self.assertEqual(uploads_list[0]['realm_id'], realm_id) self.assertEqual(uploads_list[0]['user_profile_email'], '*****@*****.**')