summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-06-24 06:10:14 +0000
committerChris McDonough <chrism@agendaless.com>2009-06-24 06:10:14 +0000
commit5a11c03834cf4aedf2c21c050d2dea0b2d229076 (patch)
tree9f0caf887678c0248d59a35f38597a3c50e6c32e /repoze/bfg/tests
parent5e3e39bfb3fe6d5252e428f2eea4e34498b24ba1 (diff)
downloadpyramid-5a11c03834cf4aedf2c21c050d2dea0b2d229076.tar.gz
pyramid-5a11c03834cf4aedf2c21c050d2dea0b2d229076.tar.bz2
pyramid-5a11c03834cf4aedf2c21c050d2dea0b2d229076.zip
Change the implementation and the signature for ``route_url``.
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_url.py77
1 files changed, 48 insertions, 29 deletions
diff --git a/repoze/bfg/tests/test_url.py b/repoze/bfg/tests/test_url.py
index e42089173..3c5bd7559 100644
--- a/repoze/bfg/tests/test_url.py
+++ b/repoze/bfg/tests/test_url.py
@@ -158,48 +158,41 @@ class UrlEncodeTests(unittest.TestCase):
self.assertEqual(result, 'a=1')
class TestRouteUrl(unittest.TestCase):
+ def setUp(self):
+ cleanUp()
+
+ def tearDown(self):
+ cleanUp()
+
def _callFUT(self, *arg, **kw):
from repoze.bfg.url import route_url
return route_url(*arg, **kw)
def test_it(self):
- from routes import Mapper
- mapper = Mapper(controller_scan=None, directory=None,
- explicit=True, always_scan=False)
+ from repoze.bfg.interfaces import IRoutesMapper
+ mapper = DummyRoutesMapper({'flub':DummyRoute({})})
+ from zope.component import getSiteManager
+ sm = getSiteManager()
+ sm.registerUtility(mapper, IRoutesMapper)
args = {'a':'1', 'b':'2', 'c':'3'}
- mapper.connect('flub', ':a/:b/:c')
- mapper.create_regs([])
environ = {'SERVER_NAME':'example.com', 'wsgi.url_scheme':'http',
'SERVER_PORT':'80', 'wsgiorg.routing_args':((), args)}
- mapper.environ = environ
- from routes import request_config
- config = request_config()
- config.environ = environ
- config.mapper = mapper
- config.redirect = None
- request = DummyRequest()
- request.environ = environ
- result = self._callFUT('flub', a=1, b=2, c=3)
+ request = DummyRequest(environ)
+ result = self._callFUT(request, 'flub', a=1, b=2, c=3)
self.assertEqual(result, 'http://example.com/1/2/3')
def test_it_generation_error(self):
- from routes import Mapper
- mapper = Mapper(controller_scan=None, directory=None,
- explicit=True, always_scan=False)
+ from repoze.bfg.interfaces import IRoutesMapper
+ mapper = DummyRoutesMapper({'flub':DummyRoute({})})
+ from zope.component import getSiteManager
+ sm = getSiteManager()
+ sm.registerUtility(mapper, IRoutesMapper)
args = {'a':'1', 'b':'2', 'c':'3'}
- mapper.connect('flub', ':a/:b/:c')
- mapper.create_regs([])
+ mapper.raise_exc = True
environ = {'SERVER_NAME':'example.com', 'wsgi.url_scheme':'http',
'SERVER_PORT':'80', 'wsgiorg.routing_args':((), args)}
- mapper.environ = environ
- from routes import request_config
- config = request_config()
- config.environ = environ
- config.mapper = mapper
- config.redirect = None
- request = DummyRequest()
- request.environ = environ
- self.assertRaises(ValueError, self._callFUT, 'flub', a=1)
+ request = DummyRequest(environ)
+ self.assertRaises(ValueError, self._callFUT, request, 'flub', a=1)
class DummyContext(object):
def __init__(self, next=None):
@@ -207,4 +200,30 @@ class DummyContext(object):
class DummyRequest:
application_url = 'http://example.com:5432' # app_url never ends with slash
-
+ def __init__(self, environ=None):
+ if environ is None:
+ environ = {}
+ self.environ = environ
+
+class DummyRoutesMapper:
+ encoding = 'utf-8'
+ hardcode_names = False
+ sub_domains = []
+ raise_exc = False
+ def __init__(self, routes, generate_result='/1/2/3', raise_exc=False):
+ self._routenames = routes
+ self.generate_result = generate_result
+
+ def generate(self, *route_args, **newargs):
+ if self.raise_exc:
+ from routes.util import GenerationException
+ raise GenerationException
+ return self.generate_result
+
+class DummyRoute:
+ filter = None
+ static = False
+ def __init__(self, defaults):
+ self.defaults = defaults
+
+