Beispiel #1
0
    def test_jabber_mirror(self) -> None:
        reset_emails_in_zulip_realm()
        client = get_client(name="jabber_mirror")

        sender = self.example_user("hamlet")
        user = sender

        recipients = [
            self.nonreg_email("alice"),
            self.nonreg_email("bob"),
            self.nonreg_email("cordelia"),
        ]

        # Now make the request.
        Request = namedtuple("Request", ["POST", "client"])
        request = Request(POST=dict(sender=sender.email, type="private"),
                          client=client)

        mirror_sender = create_mirrored_message_users(request, user,
                                                      recipients)

        self.assertEqual(mirror_sender, sender)

        realm_users = UserProfile.objects.filter(realm=sender.realm)
        realm_emails = {user.email for user in realm_users}
        self.assertIn(self.nonreg_email("alice"), realm_emails)
        self.assertIn(self.nonreg_email("bob"), realm_emails)

        bob = get_user(self.nonreg_email("bob"), sender.realm)
        self.assertTrue(bob.is_mirror_dummy)
Beispiel #2
0
    def test_zephyr_mirror_new_recipient(self, ignored: object) -> None:
        """Test mirror dummy user creation for PM recipients"""
        client = get_client(name="zephyr_mirror")

        user = self.mit_user("starnine")
        sender = self.mit_user("sipbtest")
        new_user_email = "*****@*****.**"
        new_user_realm = get_realm("zephyr")

        recipients = [user.email, new_user_email]

        # Now make the request.
        Request = namedtuple("Request", ["POST", "client"])
        request = Request(POST=dict(sender=sender.email, type="private"),
                          client=client)

        mirror_sender = create_mirrored_message_users(request, user,
                                                      recipients)

        self.assertEqual(mirror_sender, sender)

        realm_users = UserProfile.objects.filter(realm=sender.realm)
        realm_emails = {user.email for user in realm_users}
        self.assertIn(user.email, realm_emails)
        self.assertIn(new_user_email, realm_emails)

        bob = get_user(new_user_email, new_user_realm)
        self.assertTrue(bob.is_mirror_dummy)
    def test_jabber_mirror(self) -> None:
        reset_emails_in_zulip_realm()
        client = get_client(name='jabber_mirror')

        sender = self.example_user('hamlet')
        user = sender

        recipients = [self.nonreg_email('alice'), self.nonreg_email('bob'), self.nonreg_email('cordelia')]

        # Now make the request.
        Request = namedtuple('Request', ['POST', 'client'])
        request = Request(POST = dict(sender=sender.email, type='private'),
                          client = client)

        mirror_sender = create_mirrored_message_users(request, user, recipients)

        self.assertEqual(mirror_sender, sender)

        realm_users = UserProfile.objects.filter(realm=sender.realm)
        realm_emails = {user.email for user in realm_users}
        self.assertIn(self.nonreg_email('alice'), realm_emails)
        self.assertIn(self.nonreg_email('bob'), realm_emails)

        bob = get_user(self.nonreg_email('bob'), sender.realm)
        self.assertTrue(bob.is_mirror_dummy)
Beispiel #4
0
 def _make_cordelia_present_on_web(self) -> None:
     cordelia = self.example_user('cordelia')
     UserPresence.objects.create(
         user_profile_id=cordelia.id,
         status=UserPresence.ACTIVE,
         client=get_client('web'),
         timestamp=timezone_now(),
     )
 def _make_cordelia_present_on_web(self) -> None:
     cordelia = self.example_user('cordelia')
     UserPresence.objects.create(
         user_profile_id=cordelia.id,
         status=UserPresence.ACTIVE,
         client=get_client('web'),
         timestamp=timezone_now(),
     )
Beispiel #6
0
 def set_presence(user: UserProfile, client_name: str, ago: int) -> None:
     when = timezone_now() - datetime.timedelta(seconds=ago)
     UserPresence.objects.create(
         user_profile_id=user.id,
         realm_id=user.realm_id,
         client=get_client(client_name),
         timestamp=when,
     )
Beispiel #7
0
    def test_invalid_client(self) -> None:
        client = get_client(name="banned_mirror")  # Invalid!!!

        user = self.example_user("hamlet")
        sender = user

        recipients: List[str] = []

        Request = namedtuple("Request", ["POST", "client"])
        request = Request(POST=dict(sender=sender.email, type="private"),
                          client=client)

        with self.assertRaises(InvalidMirrorInput):
            create_mirrored_message_users(request, user, recipients)
    def test_invalid_client(self) -> None:
        client = get_client(name='banned_mirror')  # Invalid!!!

        user = self.example_user('hamlet')
        sender = user

        recipients: List[str] = []

        Request = namedtuple('Request', ['POST', 'client'])
        request = Request(POST = dict(sender=sender.email, type='private'),
                          client = client)

        with self.assertRaises(InvalidMirrorInput):
            create_mirrored_message_users(request, user, recipients)
Beispiel #9
0
    def test_invalid_email(self) -> None:
        invalid_email = "alice AT example.com"
        recipients = [invalid_email]

        # We use an MIT user here to maximize code coverage
        user = self.mit_user("starnine")
        sender = user

        Request = namedtuple("Request", ["POST", "client"])

        for client_name in ["zephyr_mirror", "irc_mirror", "jabber_mirror"]:
            client = get_client(name=client_name)

            request = Request(POST=dict(sender=sender.email, type="private"),
                              client=client)

            with self.assertRaises(InvalidMirrorInput):
                create_mirrored_message_users(request, user, recipients)
    def test_invalid_email(self) -> None:
        invalid_email = 'alice AT example.com'
        recipients = [invalid_email]

        # We use an MIT user here to maximize code coverage
        user = self.mit_user('starnine')
        sender = user

        Request = namedtuple('Request', ['POST', 'client'])

        for client_name in ['zephyr_mirror', 'irc_mirror', 'jabber_mirror']:
            client = get_client(name=client_name)

            request = Request(POST = dict(sender=sender.email, type='private'),
                              client = client)

            with self.assertRaises(InvalidMirrorInput):
                create_mirrored_message_users(request, user, recipients)
    def test_zephyr_mirror_new_sender(self, ignored: object) -> None:
        """Test mirror dummy user creation for sender when sending to stream"""
        client = get_client(name='zephyr_mirror')

        user = self.mit_user('starnine')
        sender_email = '*****@*****.**'

        recipients = ['stream_name']

        # Now make the request.
        Request = namedtuple('Request', ['POST', 'client'])
        request = Request(POST = dict(sender=sender_email, type='stream'),
                          client = client)

        mirror_sender = create_mirrored_message_users(request, user, recipients)

        assert(mirror_sender is not None)
        self.assertEqual(mirror_sender.email, sender_email)
        self.assertTrue(mirror_sender.is_mirror_dummy)
Beispiel #12
0
    def test_zephyr_mirror_new_sender(self, ignored: object) -> None:
        """Test mirror dummy user creation for sender when sending to stream"""
        client = get_client(name="zephyr_mirror")

        user = self.mit_user("starnine")
        sender_email = "*****@*****.**"

        recipients = ["stream_name"]

        # Now make the request.
        Request = namedtuple("Request", ["POST", "client"])
        request = Request(POST=dict(sender=sender_email, type="stream"),
                          client=client)

        mirror_sender = create_mirrored_message_users(request, user,
                                                      recipients)

        assert mirror_sender is not None
        self.assertEqual(mirror_sender.email, sender_email)
        self.assertTrue(mirror_sender.is_mirror_dummy)
Beispiel #13
0
        def create_test_message(topic: str) -> int:
            # TODO: Clean this up to send messages the normal way.

            hamlet = self.example_user("hamlet")
            message = Message(
                sender=hamlet,
                recipient=recipient,
                content="whatever",
                date_sent=timezone_now(),
                sending_client=get_client("whatever"),
            )
            message.set_topic_name(topic)
            message.save()

            UserMessage.objects.create(
                user_profile=user_profile,
                message=message,
                flags=0,
            )

            return message.id