summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_url.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-06-24 19:23:43 +0000
committerChris McDonough <chrism@agendaless.com>2009-06-24 19:23:43 +0000
commit05c02322f5a09c14f49c529d6fd885153e52c66f (patch)
treec09c43dc7b82d6cc475648c33313d1c1e495311e /repoze/bfg/tests/test_url.py
parentaedb399ccb4da1d055163708894f690bb96685c0 (diff)
downloadpyramid-05c02322f5a09c14f49c529d6fd885153e52c66f.tar.gz
pyramid-05c02322f5a09c14f49c529d6fd885153e52c66f.tar.bz2
pyramid-05c02322f5a09c14f49c529d6fd885153e52c66f.zip
Merge noroutes branch to trunk.
Diffstat (limited to 'repoze/bfg/tests/test_url.py')
-rw-r--r--repoze/bfg/tests/test_url.py61
1 files changed, 29 insertions, 32 deletions
diff --git a/repoze/bfg/tests/test_url.py b/repoze/bfg/tests/test_url.py
index 3c5bd7559..5f0fde872 100644
--- a/repoze/bfg/tests/test_url.py
+++ b/repoze/bfg/tests/test_url.py
@@ -168,31 +168,40 @@ class TestRouteUrl(unittest.TestCase):
from repoze.bfg.url import route_url
return route_url(*arg, **kw)
- def test_it(self):
+ def test_with_elements(self):
from repoze.bfg.interfaces import IRoutesMapper
- mapper = DummyRoutesMapper({'flub':DummyRoute({})})
+ mapper = DummyRoutesMapper(result='/1/2/3')
from zope.component import getSiteManager
sm = getSiteManager()
sm.registerUtility(mapper, IRoutesMapper)
- args = {'a':'1', 'b':'2', 'c':'3'}
- environ = {'SERVER_NAME':'example.com', 'wsgi.url_scheme':'http',
- 'SERVER_PORT':'80', 'wsgiorg.routing_args':((), args)}
- request = DummyRequest(environ)
- result = self._callFUT(request, 'flub', a=1, b=2, c=3)
- self.assertEqual(result, 'http://example.com/1/2/3')
+ request = DummyRequest()
+ result = self._callFUT('flub', request, 'extra1', 'extra2',
+ a=1, b=2, c=3, _query={'a':1},
+ _anchor=u"foo")
+ self.assertEqual(result,
+ 'http://example.com:5432/1/2/3/extra1/extra2?a=1#foo')
+
+ def test_no_elements(self):
+ from repoze.bfg.interfaces import IRoutesMapper
+ mapper = DummyRoutesMapper(result='/1/2/3')
+ from zope.component import getSiteManager
+ sm = getSiteManager()
+ sm.registerUtility(mapper, IRoutesMapper)
+ request = DummyRequest()
+ result = self._callFUT('flub', request, a=1, b=2, c=3, _query={'a':1},
+ _anchor=u"foo")
+ self.assertEqual(result,
+ 'http://example.com:5432/1/2/3?a=1#foo')
def test_it_generation_error(self):
from repoze.bfg.interfaces import IRoutesMapper
- mapper = DummyRoutesMapper({'flub':DummyRoute({})})
+ mapper = DummyRoutesMapper(raise_exc=KeyError)
from zope.component import getSiteManager
sm = getSiteManager()
sm.registerUtility(mapper, IRoutesMapper)
- args = {'a':'1', 'b':'2', 'c':'3'}
- mapper.raise_exc = True
- environ = {'SERVER_NAME':'example.com', 'wsgi.url_scheme':'http',
- 'SERVER_PORT':'80', 'wsgiorg.routing_args':((), args)}
- request = DummyRequest(environ)
- self.assertRaises(ValueError, self._callFUT, request, 'flub', a=1)
+ mapper.raise_exc = KeyError
+ request = DummyRequest()
+ self.assertRaises(KeyError, self._callFUT, 'flub', request, a=1)
class DummyContext(object):
def __init__(self, next=None):
@@ -206,24 +215,12 @@ class DummyRequest:
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
+ raise_exc = None
+ def __init__(self, result='/1/2/3', raise_exc=False):
+ self.result = result
def generate(self, *route_args, **newargs):
if self.raise_exc:
- from routes.util import GenerationException
- raise GenerationException
- return self.generate_result
+ raise self.raise_exc
+ return self.result
-class DummyRoute:
- filter = None
- static = False
- def __init__(self, defaults):
- self.defaults = defaults
-
-