class TestPluginModuleRoutes(TestCase):
    def setUp(self):
        self.plugin = Plugin('My Plugin', 'my.plugin.id')
        self.module = Module('mymodule')

    def test_routes(self):
        @self.module.route('/')
        def mock_view():
            return 'foo'

        @self.plugin.route('/')
        def mock_view2():
            return 'bar'

        self.plugin.register_module(self.module, '/module')

        self.assertEqual(self.plugin.dispatch('/'), 'bar')
        self.assertEqual(self.plugin.dispatch('/module/'), 'foo')
        self.assertEqual(self.plugin.url_for('mock_view2'),
                         'special://my.plugin.id/')
        self.assertEqual(self.plugin.url_for('mymodule.mock_view'),
                         'special://my.plugin.id/module/')
        self.assertEqual(self.module.url_for('mock_view'),
                         'special://my.plugin.id/module/')
        print 'here?'
Example #2
0
class TestPluginModuleRoutes(TestCase):
    def setUp(self):
        self.plugin = Plugin("My Plugin", "my.plugin.id")
        self.module = Module("mymodule")

    def test_routes(self):
        @self.module.route("/")
        def mock_view():
            return "foo"

        @self.plugin.route("/")
        def mock_view2():
            return "bar"

        self.plugin.register_module(self.module, "/module")

        self.assertEqual(self.plugin.dispatch("/"), "bar")
        self.assertEqual(self.plugin.dispatch("/module/"), "foo")
        self.assertEqual(self.plugin.url_for("mock_view2"), "special://my.plugin.id/")
        self.assertEqual(self.plugin.url_for("mymodule.mock_view"), "special://my.plugin.id/module/")
        self.assertEqual(self.module.url_for("mock_view"), "special://my.plugin.id/module/")
        print "here?"
class TestPluginRoutes(TestCase):
    def setUp(self):
        self.plugin = Plugin('My Plugin', 'my.plugin.id')

    def test_single_route(self):
        @self.plugin.route('/')
        def mock_view():
            return 'foo'

        self.assertEqual(self.plugin.dispatch('/'), 'foo')
        self.assertEqual(self.plugin.url_for('mock_view'),
                         'special://my.plugin.id/')

    def test_multi_routes(self):
        @self.plugin.route('/')
        def mock_view():
            return 'foo'

        @self.plugin.route('/bar')
        def mock_view2():
            return 'bar'

        self.assertEqual(self.plugin.dispatch('/'), 'foo')
        self.assertEqual(self.plugin.url_for('mock_view'),
                         'special://my.plugin.id/')
        self.assertEqual(self.plugin.dispatch('/bar'), 'bar')
        self.assertEqual(self.plugin.url_for('mock_view2'),
                         'special://my.plugin.id/bar')

    def test_multi_route_view(self):
        @self.plugin.route('/')
        @self.plugin.route('/bar')
        def mock_view():
            return 'foo'

        self.assertEqual(self.plugin.dispatch('/'), 'foo')
        self.assertEqual(self.plugin.dispatch('/bar'), 'foo')
        self.assertRaises(AmbiguousUrlException, self.plugin.url_for,
                          'mock_view')

    def test_multi_route_view_names(self):
        @self.plugin.route('/foo', name='foo')
        @self.plugin.route('/bar', name='bar')
        def mock_view():
            return 'baz'

        self.assertEqual(self.plugin.dispatch('/foo'), 'baz')
        self.assertEqual(self.plugin.dispatch('/bar'), 'baz')
        self.assertEqual(self.plugin.url_for('foo'),
                         'special://my.plugin.id/foo')
        self.assertEqual(self.plugin.url_for('bar'),
                         'special://my.plugin.id/bar')

    def test_multi_route_keywords(self):
        @self.plugin.route('/foo/<var1>')
        def mock_view(var1):
            return var1

        @self.plugin.route('/bar/', var2='bar')
        def mock_view2(var2):
            return var2

        self.assertEqual(self.plugin.dispatch('/foo/baz'), 'baz')
        self.assertEqual(self.plugin.url_for('mock_view', var1='baz'),
                         'special://my.plugin.id/foo/baz')
        self.assertEqual(self.plugin.dispatch('/bar/'), 'bar')
        self.assertEqual(self.plugin.url_for('mock_view2'),
                         'special://my.plugin.id/bar/')

    def test_optional_keyword_routes(self):
        @self.plugin.route('/foo/', name='noarg', var1='bar')
        @self.plugin.route('/foo/<var1>', name='1arg')
        def mock_view(var1):
            return var1

        self.assertEqual(self.plugin.dispatch('/foo/'), 'bar')
        self.assertEqual(self.plugin.url_for('noarg'),
                         'special://my.plugin.id/foo/')
        self.assertEqual(self.plugin.dispatch('/foo/biz'), 'biz')
        self.assertEqual(self.plugin.url_for('1arg', var1='biz'),
                         'special://my.plugin.id/foo/biz')
Example #4
0
class TestPluginRoutes(TestCase):
    def setUp(self):
        self.plugin = Plugin("My Plugin", "my.plugin.id")

    def test_single_route(self):
        @self.plugin.route("/")
        def mock_view():
            return "foo"

        self.assertEqual(self.plugin.dispatch("/"), "foo")
        self.assertEqual(self.plugin.url_for("mock_view"), "special://my.plugin.id/")

    def test_multi_routes(self):
        @self.plugin.route("/")
        def mock_view():
            return "foo"

        @self.plugin.route("/bar")
        def mock_view2():
            return "bar"

        self.assertEqual(self.plugin.dispatch("/"), "foo")
        self.assertEqual(self.plugin.url_for("mock_view"), "special://my.plugin.id/")
        self.assertEqual(self.plugin.dispatch("/bar"), "bar")
        self.assertEqual(self.plugin.url_for("mock_view2"), "special://my.plugin.id/bar")

    def test_multi_route_view(self):
        @self.plugin.route("/")
        @self.plugin.route("/bar")
        def mock_view():
            return "foo"

        self.assertEqual(self.plugin.dispatch("/"), "foo")
        self.assertEqual(self.plugin.dispatch("/bar"), "foo")
        self.assertRaises(AmbiguousUrlException, self.plugin.url_for, "mock_view")

    def test_multi_route_view_names(self):
        @self.plugin.route("/foo", name="foo")
        @self.plugin.route("/bar", name="bar")
        def mock_view():
            return "baz"

        self.assertEqual(self.plugin.dispatch("/foo"), "baz")
        self.assertEqual(self.plugin.dispatch("/bar"), "baz")
        self.assertEqual(self.plugin.url_for("foo"), "special://my.plugin.id/foo")
        self.assertEqual(self.plugin.url_for("bar"), "special://my.plugin.id/bar")

    def test_multi_route_keywords(self):
        @self.plugin.route("/foo/<var1>")
        def mock_view(var1):
            return var1

        @self.plugin.route("/bar/", var2="bar")
        def mock_view2(var2):
            return var2

        self.assertEqual(self.plugin.dispatch("/foo/baz"), "baz")
        self.assertEqual(self.plugin.url_for("mock_view", var1="baz"), "special://my.plugin.id/foo/baz")
        self.assertEqual(self.plugin.dispatch("/bar/"), "bar")
        self.assertEqual(self.plugin.url_for("mock_view2"), "special://my.plugin.id/bar/")

    def test_optional_keyword_routes(self):
        @self.plugin.route("/foo/", name="noarg", var1="bar")
        @self.plugin.route("/foo/<var1>", name="1arg")
        def mock_view(var1):
            return var1

        self.assertEqual(self.plugin.dispatch("/foo/"), "bar")
        self.assertEqual(self.plugin.url_for("noarg"), "special://my.plugin.id/foo/")
        self.assertEqual(self.plugin.dispatch("/foo/biz"), "biz")
        self.assertEqual(self.plugin.url_for("1arg", var1="biz"), "special://my.plugin.id/foo/biz")