Beispiel #1
0
def test_RoutingBase():
    # check that Router is in a pristine state
    assert_equal(len(Router.ORDER), 0)
    assert_equal(len(Router.REGISTERED), 0)

    setup_router(['salmon_tests.handlers.simple_fsm_mod'])
    from .handlers import simple_fsm_mod

    assert_equal(len(Router.ORDER), 5)
    assert_equal(len(Router.REGISTERED), 5)

    message = MailRequest('fakepeer', 'zedshaw@localhost',
                          'users-subscribe@localhost', "")
    Router.deliver(message)
    assert Router.in_state(simple_fsm_mod.CONFIRM, message)

    confirm = MailRequest('fakepeer', '"Zed Shaw" <zedshaw@localhost>',
                          'users-confirm-1@localhost', "")
    Router.deliver(confirm)
    assert Router.in_state(simple_fsm_mod.POSTING, message)

    Router.deliver(message)
    assert Router.in_state(simple_fsm_mod.NEXT, message)

    Router.deliver(message)
    assert Router.in_state(simple_fsm_mod.END, message)

    Router.deliver(message)
    assert Router.in_state(simple_fsm_mod.START, message)

    Router.clear_states()
    Router.LOG_EXCEPTIONS = True
    explosion = MailRequest('fakepeer', '<hacker@localhost>',
                            'start-explode@localhost', "")
    Router.deliver(explosion)

    assert Router.in_error(simple_fsm_mod.END, explosion)

    Router.clear_states()
    Router.LOG_EXCEPTIONS = False
    explosion = MailRequest('fakepeer', 'hacker@localhost',
                            'start-explode@localhost', "")
    assert_raises(RuntimeError, Router.deliver, explosion)

    Router.reload()
    assert 'salmon_tests.handlers.simple_fsm_mod' in Router.HANDLERS
    assert_equal(len(Router.ORDER), 5)
    assert_equal(len(Router.REGISTERED), 5)
Beispiel #2
0
def test_RoutingBase():
    # check that Router is in a pristine state
    assert len(Router.ORDER) == 0
    assert len(Router.REGISTERED) == 0

    setup_router(['salmon_tests.handlers.simple_fsm_mod'])
    from handlers import simple_fsm_mod

    assert len(Router.ORDER) > 0
    assert len(Router.REGISTERED) > 0

    message = MailRequest('fakepeer', 'zedshaw@localhost', 'users-subscribe@localhost', "")
    Router.deliver(message)
    assert Router.in_state(simple_fsm_mod.CONFIRM, message)

    confirm = MailRequest('fakepeer', '"Zed Shaw" <zedshaw@localhost>',  'users-confirm-1@localhost', "")
    Router.deliver(confirm)
    assert Router.in_state(simple_fsm_mod.POSTING, message)

    Router.deliver(message)
    assert Router.in_state(simple_fsm_mod.NEXT, message)

    Router.deliver(message)
    assert Router.in_state(simple_fsm_mod.END, message)

    Router.deliver(message)
    assert Router.in_state(simple_fsm_mod.START, message)

    Router.clear_states()
    Router.LOG_EXCEPTIONS = True
    explosion = MailRequest('fakepeer', '<hacker@localhost>', 'start-explode@localhost', "")
    Router.deliver(explosion)

    assert Router.in_error(simple_fsm_mod.END, explosion)

    Router.clear_states()
    Router.LOG_EXCEPTIONS = False
    explosion = MailRequest('fakepeer',  'hacker@localhost', 'start-explode@localhost', "")
    assert_raises(RuntimeError, Router.deliver, explosion)

    Router.reload()
    assert 'salmon_tests.handlers.simple_fsm_mod' in Router.HANDLERS
    assert len(Router.ORDER)
    assert len(Router.REGISTERED)
Beispiel #3
0
def test_reload_raises():
    Router.LOG_EXCEPTIONS = True
    Router.reload()
    assert routing.LOG.exception.called

    Router.LOG_EXCEPTIONS = False
    routing.LOG.exception.reset_mock()
    assert_raises(ImportError, Router.reload)
    assert not routing.LOG.exception.called

    routing.LOG.exception.reset_mock()
    Router.LOG_EXCEPTIONS = True
    Router.load(['fake.handler'])
    assert routing.LOG.exception.called

    Router.LOG_EXCEPTIONS = False
    routing.LOG.exception.reset_mock()
    assert_raises(ImportError, Router.load, ['fake.handler'])
    assert not routing.LOG.exception.called
Beispiel #4
0
def test_reload_raises():
    Router.LOG_EXCEPTIONS = True
    Router.reload()
    assert_equal(routing.LOG.exception.call_count, 1)

    Router.LOG_EXCEPTIONS = False
    routing.LOG.exception.reset_mock()
    assert_raises(ImportError, Router.reload)
    assert_equal(routing.LOG.exception.call_count, 0)

    routing.LOG.exception.reset_mock()
    Router.LOG_EXCEPTIONS = True
    Router.load(['fake.handler'])
    assert_equal(routing.LOG.exception.call_count, 1)

    Router.LOG_EXCEPTIONS = False
    routing.LOG.exception.reset_mock()
    assert_raises(ImportError, Router.load, ['fake.handler'])
    assert_equal(routing.LOG.exception.call_count, 0)
Beispiel #5
0
    def test_reload_raises(self):
        Router.LOG_EXCEPTIONS = True
        Router.reload()
        self.assertEqual(routing.LOG.exception.call_count, 1)

        Router.LOG_EXCEPTIONS = False
        routing.LOG.exception.reset_mock()
        with self.assertRaises(ImportError):
            Router.reload()
        self.assertEqual(routing.LOG.exception.call_count, 0)

        routing.LOG.exception.reset_mock()
        Router.LOG_EXCEPTIONS = True
        Router.load(['fake.handler'])
        self.assertEqual(routing.LOG.exception.call_count, 1)

        Router.LOG_EXCEPTIONS = False
        routing.LOG.exception.reset_mock()
        with self.assertRaises(ImportError):
            Router.load(['fake.handler'])
        self.assertEqual(routing.LOG.exception.call_count, 0)
Beispiel #6
0
def setup_router(handlers):
    Router.clear_routes()
    Router.clear_states()
    Router.HANDLERS.clear()
    Router.load(handlers)
    Router.reload()
Beispiel #7
0
 def setUp(self):
     super(BounceTestCase, self).setUp()
     Router.load(["tests.handlers.bounce_filtered_mod"])
     Router.reload()
Beispiel #8
0
 def tearDown(self):
     super(BounceTestCase, self).tearDown()
     Router.HANDLERS.clear()
     Router.reload()
Beispiel #9
0
 def tearDown(self):
     super().tearDown()
     Router.HANDLERS.clear()
     Router.reload()