Ejemplo n.º 1
0
    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"],
                         "*****@*****.**")
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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'], '*****@*****.**')