summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-01-27 01:24:35 +0000
committerChris McDonough <chrism@agendaless.com>2009-01-27 01:24:35 +0000
commit9259571f8bce01374060c198e990b1650b5e257e (patch)
tree7ce3eb7138d3d5237c0b287fa1ebc1819ce52d6f /repoze/bfg/tests
parent01132b859acb3850eb6d9de6a1d8c2d005165fe3 (diff)
downloadpyramid-9259571f8bce01374060c198e990b1650b5e257e.tar.gz
pyramid-9259571f8bce01374060c198e990b1650b5e257e.tar.bz2
pyramid-9259571f8bce01374060c198e990b1650b5e257e.zip
- There is an indirection in ``repoze.bfg.url.model_url`` now that
consults a utility to generate the base model url (without extra elements or a query string). Eventually this will service virtual hosting; for now it's undocumented and should not be hooked.
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_url.py47
1 files changed, 46 insertions, 1 deletions
diff --git a/repoze/bfg/tests/test_url.py b/repoze/bfg/tests/test_url.py
index 90118bd34..a1aa84890 100644
--- a/repoze/bfg/tests/test_url.py
+++ b/repoze/bfg/tests/test_url.py
@@ -1,5 +1,51 @@
import unittest
+class DefaultURLGeneratorTests(unittest.TestCase):
+ def _makeOne(self):
+ return self._getTargetClass()()
+
+ def _getTargetClass(self):
+ from repoze.bfg.url import DefaultURLGenerator
+ return DefaultURLGenerator
+
+ def test_class_conforms_to_IURLGenerator(self):
+ from zope.interface.verify import verifyClass
+ from repoze.bfg.interfaces import IURLGenerator
+ verifyClass(IURLGenerator, self._getTargetClass())
+
+ def test_instance_conforms_to_IURLGenerator(self):
+ from zope.interface.verify import verifyObject
+ from repoze.bfg.interfaces import IURLGenerator
+ context = DummyContext()
+ verifyObject(IURLGenerator, self._makeOne())
+
+ def test_model_url_withlineage(self):
+ baz = DummyContext()
+ bar = DummyContext(baz)
+ foo = DummyContext(bar)
+ root = DummyContext(foo)
+ root.__parent__ = None
+ root.__name__ = None
+ foo.__parent__ = root
+ foo.__name__ = 'foo '
+ bar.__parent__ = foo
+ bar.__name__ = 'bar'
+ baz.__parent__ = bar
+ baz.__name__ = 'baz'
+ request = DummyRequest()
+ gen = self._makeOne()
+ result = gen.model_url(baz, request)
+ self.assertEqual(result, 'http://example.com:5432/foo%20/bar/baz/')
+
+ def test_model_url_nolineage(self):
+ context = DummyContext()
+ context.__name__ = ''
+ context.__parent__ = None
+ request = DummyRequest()
+ gen = self._makeOne()
+ result = gen.model_url(context, request)
+ self.assertEqual(result, 'http://example.com:5432/')
+
class ModelURLTests(unittest.TestCase):
def _callFUT(self, model, request, *elements, **kw):
from repoze.bfg.url import model_url
@@ -20,7 +66,6 @@ class ModelURLTests(unittest.TestCase):
baz.__name__ = 'baz'
request = DummyRequest()
result = self._callFUT(baz, request, 'this/theotherthing', 'that')
-
self.assertEqual(
result,
'http://example.com:5432/foo%20/bar/baz/this/theotherthing/that')