Ejemplo n.º 1
0
    def test_default_word_converter(self):
        rmap = Map()
        rmap.add(Rule('ping <host>', endpoint='ping'))

        adapter = rmap.bind()
        self.assertEqual(adapter.match('ping foo'), ('ping', {'host': 'foo'}))
        self.assertRaises(NotFound, adapter.match, 'ping foo bar')
Ejemplo n.º 2
0
    def test_default_word_converter(self):
        rmap = Map()
        rmap.add(Rule('ping <host>', endpoint='ping'))

        adapter = rmap.bind()
        self.assertEqual(adapter.match('ping foo'), ('ping', {'host': 'foo'}))
        self.assertRaises(NotFound, adapter.match, 'ping foo bar')
Ejemplo n.º 3
0
    def test_route_filtered_by_sender_jid(self):
        rmap = Map()
        rmap.add(Rule('ping', from_jid='.*@xmpp.ru', endpoint='ping'))
        rmap.add(Rule('pong', from_jid='foo@bar', endpoint='pong'))

        adapter = rmap.bind()
        self.assertEqual(
            adapter.match('ping', from_jid='*****@*****.**'),
            ('ping', {}))
        self.assertEqual(
            adapter.match('ping', from_jid='*****@*****.**'),
            ('ping', {}))
        self.assertEqual(
            adapter.match('pong', from_jid='foo@bar'),
            ('pong', {}))
        self.assertEqual(
            adapter.match('pong', from_jid='*****@*****.**'),
            ('pong', {}))

        self.assertRaises(NotFound, adapter.match, 'ping', from_jid='foo@bar')
        self.assertRaises(NotFound, adapter.match, 'ping', from_jid='bar')
        self.assertRaises(NotFound, adapter.match, 'ping', from_jid='bar@foo')
        self.assertRaises(NotFound, adapter.match, 'pong',
                          from_jid='*****@*****.**')
        self.assertRaises(NotFound, adapter.match, 'pong', from_jid='_foo@bar')
Ejemplo n.º 4
0
    def test_aliases(self):
        def ping():
            return 'pong'

        rmap = Map()
        rmap.add(Rule('ping', endpoint=ping))
        rmap.add(Rule('pong', endpoint=ping))
        rmap.update()
Ejemplo n.º 5
0
    def test_string_converter(self):
        rmap = Map()
        rmap.add(Rule('ping <string:host>', endpoint='ping'))

        adapter = rmap.bind()
        self.assertEqual(adapter.match('ping foo'), ('ping', {'host': 'foo'}))
        self.assertEqual(adapter.match('ping foo bar'),
                         ('ping', {'host': 'foo bar'}))
Ejemplo n.º 6
0
    def test_aliases(self):
        def ping():
            return 'pong'

        rmap = Map()
        rmap.add(Rule('ping', endpoint=ping))
        rmap.add(Rule('pong', endpoint=ping))
        rmap.update()
Ejemplo n.º 7
0
    def test_string_converter(self):
        rmap = Map()
        rmap.add(Rule('ping <string:host>', endpoint='ping'))

        adapter = rmap.bind()
        self.assertEqual(adapter.match('ping foo'), ('ping', {'host': 'foo'}))
        self.assertEqual(adapter.match('ping foo bar'), ('ping', {
            'host': 'foo bar'
        }))
Ejemplo n.º 8
0
    def test_route_filtered_by_type(self):
        rmap = Map()
        rmap.add(Rule('ping', type='foo', endpoint='ping'))
        rmap.add(Rule('pong', type='bar', endpoint='pong'))

        adapter = rmap.bind()
        self.assertEqual(adapter.match('ping', type='foo'), ('ping', {}))
        self.assertEqual(adapter.match('pong', type='bar'), ('pong', {}))

        self.assertRaises(NotFound, adapter.match, 'pong', type='foo')
        self.assertRaises(NotFound, adapter.match, 'ping', type='bar')
Ejemplo n.º 9
0
    def test_route_filtered_by_type(self):
        rmap = Map()
        rmap.add(Rule('ping', type='foo', endpoint='ping'))
        rmap.add(Rule('pong', type='bar', endpoint='pong'))

        adapter = rmap.bind()
        self.assertEqual(adapter.match('ping', type='foo'), ('ping', {}))
        self.assertEqual(adapter.match('pong', type='bar'), ('pong', {}))

        self.assertRaises(NotFound, adapter.match, 'pong', type='foo')
        self.assertRaises(NotFound, adapter.match, 'ping', type='bar')
Ejemplo n.º 10
0
    def test_diff_of_strict_and_non_strict_rules(self):
        rmap = Map()
        rmap.add(Rule('ping <host>', endpoint='ping'))
        rmap.add(Rule('pong <host>', endpoint='pong', strict=False))

        adapter = rmap.bind()
        self.assertEqual(adapter.match('ping example.com.'),
                         ('ping', {'host': 'example.com.'}))
        self.assertRaises(NotFound, adapter.match, 'ping foo bar')

        self.assertEqual(adapter.match('pong example.com.'),
                         ('pong', {'host': 'example.com.'}))
        self.assertEqual(adapter.match('pong foo tail'),
                         ('pong', {'host': 'foo'}))
Ejemplo n.º 11
0
    def test_diff_of_strict_and_non_strict_rules(self):
        rmap = Map()
        rmap.add(Rule('ping <host>', endpoint='ping'))
        rmap.add(Rule('pong <host>', endpoint='pong', strict=False))

        adapter = rmap.bind()
        self.assertEqual(adapter.match('ping example.com.'),
                         ('ping', {
                             'host': 'example.com.'
                         }))
        self.assertRaises(NotFound, adapter.match, 'ping foo bar')

        self.assertEqual(adapter.match('pong example.com.'),
                         ('pong', {
                             'host': 'example.com.'
                         }))
        self.assertEqual(adapter.match('pong foo tail'), ('pong', {
            'host': 'foo'
        }))
Ejemplo n.º 12
0
    def test_route_filtered_by_sender_jid(self):
        rmap = Map()
        rmap.add(Rule('ping', from_jid='.*@xmpp.ru', endpoint='ping'))
        rmap.add(Rule('pong', from_jid='foo@bar', endpoint='pong'))

        adapter = rmap.bind()
        self.assertEqual(adapter.match('ping', from_jid='*****@*****.**'),
                         ('ping', {}))
        self.assertEqual(adapter.match('ping', from_jid='*****@*****.**'),
                         ('ping', {}))
        self.assertEqual(adapter.match('pong', from_jid='foo@bar'),
                         ('pong', {}))
        self.assertEqual(adapter.match('pong', from_jid='*****@*****.**'),
                         ('pong', {}))

        self.assertRaises(NotFound, adapter.match, 'ping', from_jid='foo@bar')
        self.assertRaises(NotFound, adapter.match, 'ping', from_jid='bar')
        self.assertRaises(NotFound, adapter.match, 'ping', from_jid='bar@foo')
        self.assertRaises(NotFound,
                          adapter.match,
                          'pong',
                          from_jid='*****@*****.**')
        self.assertRaises(NotFound, adapter.match, 'pong', from_jid='_foo@bar')