summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-01-06 18:53:17 +0000
committerChris McDonough <chrism@agendaless.com>2009-01-06 18:53:17 +0000
commitd20d094da95456e7939f9e77cc51f71d2d4561db (patch)
tree5b1b8fb4aa5549599b39249f8ebafbc390e3a7d4 /repoze/bfg/tests
parentd9423b6f9adbce7f8fdc9153644bd88be9a5b6c8 (diff)
downloadpyramid-d20d094da95456e7939f9e77cc51f71d2d4561db.tar.gz
pyramid-d20d094da95456e7939f9e77cc51f71d2d4561db.tar.bz2
pyramid-d20d094da95456e7939f9e77cc51f71d2d4561db.zip
- A ``static`` helper class was added to the ``repoze.bfg.views``
module. Instances of this class are willing to act as BFG views which return static resources using files on disk. See the :mod:`repoze.bfg.view` docs for more info.
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_view.py49
1 files changed, 42 insertions, 7 deletions
diff --git a/repoze/bfg/tests/test_view.py b/repoze/bfg/tests/test_view.py
index 46687e904..389c00cc5 100644
--- a/repoze/bfg/tests/test_view.py
+++ b/repoze/bfg/tests/test_view.py
@@ -1,13 +1,13 @@
import unittest
-from zope.component.testing import PlacelessSetup
+from zope.testing.cleanup import cleanUp
-class BaseTest(PlacelessSetup):
+class BaseTest(object):
def setUp(self):
- PlacelessSetup.setUp(self)
+ cleanUp()
def tearDown(self):
- PlacelessSetup.tearDown(self)
+ cleanUp()
def _registerView(self, app, name, *for_):
import zope.component
@@ -30,6 +30,7 @@ class BaseTest(PlacelessSetup):
def _makeEnviron(self, **extras):
environ = {
'wsgi.url_scheme':'http',
+ 'wsgi.version':(1,0),
'SERVER_NAME':'localhost',
'SERVER_PORT':'8080',
'REQUEST_METHOD':'GET',
@@ -372,12 +373,12 @@ class TestIsResponse(unittest.TestCase):
f = self._getFUT()
self.assertEqual(f(response), False)
-class TestViewExecutionPermitted(unittest.TestCase, PlacelessSetup):
+class TestViewExecutionPermitted(unittest.TestCase):
def setUp(self):
- PlacelessSetup.setUp(self)
+ cleanUp()
def tearDown(self):
- PlacelessSetup.tearDown(self)
+ cleanUp()
def _callFUT(self, *arg, **kw):
from repoze.bfg.view import view_execution_permitted
@@ -433,6 +434,40 @@ class TestViewExecutionPermitted(unittest.TestCase, PlacelessSetup):
result = self._callFUT(context, request, '')
self.failUnless(result is True)
+class TestStaticView(unittest.TestCase, BaseTest):
+ def setUp(self):
+ cleanUp()
+
+ def tearDown(self):
+ cleanUp()
+
+ def _getTargetClass(self):
+ from repoze.bfg.view import static
+ return static
+
+ def _getStaticDir(self):
+ import os
+ here = os.path.abspath(os.path.normpath(os.path.dirname(__file__)))
+ fixtureapp = os.path.join(here, 'fixtureapp')
+ return fixtureapp
+
+ def _makeOne(self):
+ static_dir = self._getStaticDir()
+ return self._getTargetClass()(static_dir)
+
+ def test_it(self):
+ view = self._makeOne()
+ context = DummyContext()
+ request = DummyRequest()
+ request.subpath = ['__init__.py']
+ request.environ = self._makeEnviron()
+ response = view(context, request)
+ result = ''.join(list(response.app_iter))
+ static_dir = self._getStaticDir()
+ import os
+ filedata = open(os.path.join(static_dir, '__init__.py')).read()
+ self.assertEqual(result, filedata)
+
class DummyContext:
pass