Ejemplo n.º 1
0
class SentrySMTPTest(TestCase):
    def setUp(self):
        self.address = ('0.0.0.0', 0)
        self.server = SentrySMTPServer(*self.address)
        self.mailto = group_id_to_email(self.group.pk)
        self.event  # side effect of generating an event

    def test_decode_email_address(self):
        self.assertEqual(email_to_group_id(self.mailto), self.group.pk)

    def test_process_message(self):
        with self.tasks():
            self.assertEqual(self.server.process_message('', self.user.email, [self.mailto], fixture), STATUS[200])
        self.assertEqual(Activity.objects.filter(type=Activity.NOTE)[0].data, {'text': 'sup'})

    def test_process_message_no_recipients(self):
        with self.tasks():
            self.assertEqual(self.server.process_message('', self.user.email, [], fixture), STATUS[550])

    def test_process_message_too_long(self):
        with self.tasks():
            self.assertEqual(self.server.process_message('', self.user.email, [self.mailto], fixture * 100), STATUS[552])
        self.assertEqual(Activity.objects.count(), 0)

    def test_process_message_invalid_email(self):
        with self.tasks():
            self.assertEqual(self.server.process_message('', self.user.email, ['lol@localhost'], fixture), STATUS[550])
Ejemplo n.º 2
0
def smtp(bind, upgrade, noinput):
    "Run inbound email service."
    if upgrade:
        click.echo("Performing upgrade before service startup...")
        from sentry.runner import call_command

        call_command("sentry.runner.commands.upgrade.upgrade", verbosity=0, noinput=noinput)

    from sentry.services.smtp import SentrySMTPServer

    with managed_bgtasks(role="smtp"):
        SentrySMTPServer(host=bind[0], port=bind[1]).run()
Ejemplo n.º 3
0
def smtp(bind, upgrade, noinput):
    "Run inbound email service."
    if upgrade:
        click.echo('Performing upgrade before service startup...')
        from sentry.runner import call_command
        call_command(
            'sentry.runner.commands.upgrade.upgrade',
            verbosity=0, noinput=noinput,
        )

    from sentry.services.smtp import SentrySMTPServer
    SentrySMTPServer(
        host=bind[0],
        port=bind[1],
    ).run()
Ejemplo n.º 4
0
 def setUp(self):
     self.address = ('0.0.0.0', 0)
     self.server = SentrySMTPServer(*self.address)
     self.mailto = group_id_to_email(self.group.pk)
     self.event  # side effect of generating an event
Ejemplo n.º 5
0
 def setUp(self):
     self.address = ('0.0.0.0', 0)
     self.server = SentrySMTPServer(*self.address)
     self.mailto = group_id_to_email(self.group.pk)