diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-05-31 21:14:06 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-05-31 21:14:06 +0000 |
| commit | 22a2b1f024fb4b3336cde2cadace7e47e3bf2e14 (patch) | |
| tree | 5e014dc4820c1bcbdf324210f965a4531a8707e8 | |
| parent | f71ec1bba387ab820ed42407781b40fe798420b5 (diff) | |
| download | pyramid-22a2b1f024fb4b3336cde2cadace7e47e3bf2e14.tar.gz pyramid-22a2b1f024fb4b3336cde2cadace7e47e3bf2e14.tar.bz2 pyramid-22a2b1f024fb4b3336cde2cadace7e47e3bf2e14.zip | |
Test string request type in bfg_view decorators.
| -rw-r--r-- | repoze/bfg/tests/grokkedapp/__init__.py | 12 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_integration.py | 29 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_view.py | 24 | ||||
| -rw-r--r-- | repoze/bfg/view.py | 7 |
4 files changed, 41 insertions, 31 deletions
diff --git a/repoze/bfg/tests/grokkedapp/__init__.py b/repoze/bfg/tests/grokkedapp/__init__.py index aeedd4dba..598d3be64 100644 --- a/repoze/bfg/tests/grokkedapp/__init__.py +++ b/repoze/bfg/tests/grokkedapp/__init__.py @@ -1,12 +1,12 @@ from repoze.bfg.view import bfg_view -from zope.interface import Interface -class INothing(Interface): - pass - -@bfg_view(for_=INothing) +@bfg_view() def grokked(context, request): """ """ + +@bfg_view(request_type='POST') +def grokked_post(context, request): + """ """ class grokked_klass(object): """ """ @@ -23,4 +23,4 @@ class grokked_klass(object): # class grokked_class(object): # .... # -grokked_klass = bfg_view(for_=INothing, name='grokked_klass')(grokked_klass) +grokked_klass = bfg_view(name='grokked_klass')(grokked_klass) diff --git a/repoze/bfg/tests/test_integration.py b/repoze/bfg/tests/test_integration.py index 3630a2778..9c2d87135 100644 --- a/repoze/bfg/tests/test_integration.py +++ b/repoze/bfg/tests/test_integration.py @@ -1,5 +1,4 @@ import os -import sys import unittest from repoze.bfg.push import pushpage @@ -139,6 +138,9 @@ class TestGrokkedApp(unittest.TestCase): def test_it(self): import inspect + from repoze.bfg.interfaces import IPOSTRequest + from repoze.bfg.interfaces import IRequest + from repoze.bfg.interfaces import IView import repoze.bfg.tests.grokkedapp as package from zope.configuration import config from zope.configuration import xmlconfig @@ -147,14 +149,35 @@ class TestGrokkedApp(unittest.TestCase): context.package = package xmlconfig.include(context, 'configure.zcml', package) actions = context.actions - klassview = actions[-1] + + postview = actions[-1] + self.assertEqual(postview[0][1], None) + self.assertEqual(postview[0][2], '') + self.assertEqual(postview[0][3], IPOSTRequest) + self.assertEqual(postview[0][4], IView) + self.assertEqual(postview[2][1], package.grokked_post) + self.assertEqual(postview[2][2], (None, IPOSTRequest)) + self.assertEqual(postview[2][3], IView) + + klassview = actions[-2] + self.assertEqual(klassview[0][1], None) self.assertEqual(klassview[0][2], 'grokked_klass') + self.assertEqual(klassview[0][3], IRequest) + self.assertEqual(klassview[0][4], IView) self.assertEqual(klassview[2][1], package.grokked_klass) + self.assertEqual(klassview[2][2], (None, IRequest)) + self.assertEqual(klassview[2][3], IView) self.failUnless(inspect.isfunction(package.grokked_klass)) self.assertEqual(package.grokked_klass(None, None), None) - funcview = actions[-2] + + funcview = actions[-3] + self.assertEqual(funcview[0][1], None) self.assertEqual(funcview[0][2], '') + self.assertEqual(funcview[0][3], IRequest) + self.assertEqual(funcview[0][4], IView) self.assertEqual(funcview[2][1], package.grokked) + self.assertEqual(funcview[2][2], (None, IRequest)) + self.assertEqual(funcview[2][3], IView) class DummyContext: pass diff --git a/repoze/bfg/tests/test_view.py b/repoze/bfg/tests/test_view.py index cc293d6ef..55e9ecffa 100644 --- a/repoze/bfg/tests/test_view.py +++ b/repoze/bfg/tests/test_view.py @@ -361,12 +361,10 @@ class TestBFGViewDecorator(unittest.TestCase): return self._getTargetClass()(*arg, **kw) def test_create_defaults(self): - from repoze.bfg.interfaces import IRequest - from zope.interface import Interface decorator = self._makeOne() self.assertEqual(decorator.name, '') - self.assertEqual(decorator.request_type, IRequest) - self.assertEqual(decorator.for_, Interface) + self.assertEqual(decorator.request_type, None) + self.assertEqual(decorator.for_, None) self.assertEqual(decorator.permission, None) def test_create_nondefaults(self): @@ -378,8 +376,6 @@ class TestBFGViewDecorator(unittest.TestCase): self.assertEqual(decorator.permission, 'foo') def test_call_function(self): - from repoze.bfg.interfaces import IRequest - from zope.interface import Interface decorator = self._makeOne() def foo(): """ docstring """ @@ -387,13 +383,11 @@ class TestBFGViewDecorator(unittest.TestCase): self.failUnless(wrapped is foo) self.assertEqual(wrapped.__is_bfg_view__, True) self.assertEqual(wrapped.__permission__, None) - self.assertEqual(wrapped.__for__, Interface) - self.assertEqual(wrapped.__request_type__, IRequest) + self.assertEqual(wrapped.__for__, None) + self.assertEqual(wrapped.__request_type__, None) def test_call_oldstyle_class(self): import inspect - from repoze.bfg.interfaces import IRequest - from zope.interface import Interface decorator = self._makeOne() class foo: """ docstring """ @@ -407,8 +401,8 @@ class TestBFGViewDecorator(unittest.TestCase): self.failUnless(inspect.isfunction(wrapped)) self.assertEqual(wrapped.__is_bfg_view__, True) self.assertEqual(wrapped.__permission__, None) - self.assertEqual(wrapped.__for__, Interface) - self.assertEqual(wrapped.__request_type__, IRequest) + self.assertEqual(wrapped.__for__, None) + self.assertEqual(wrapped.__request_type__, None) self.assertEqual(wrapped.__module__, foo.__module__) self.assertEqual(wrapped.__name__, foo.__name__) self.assertEqual(wrapped.__doc__, foo.__doc__) @@ -418,8 +412,6 @@ class TestBFGViewDecorator(unittest.TestCase): def test_call_newstyle_class(self): import inspect - from repoze.bfg.interfaces import IRequest - from zope.interface import Interface decorator = self._makeOne() class foo(object): """ docstring """ @@ -433,8 +425,8 @@ class TestBFGViewDecorator(unittest.TestCase): self.failUnless(inspect.isfunction(wrapped)) self.assertEqual(wrapped.__is_bfg_view__, True) self.assertEqual(wrapped.__permission__, None) - self.assertEqual(wrapped.__for__, Interface) - self.assertEqual(wrapped.__request_type__, IRequest) + self.assertEqual(wrapped.__for__, None) + self.assertEqual(wrapped.__request_type__, None) self.assertEqual(wrapped.__module__, foo.__module__) self.assertEqual(wrapped.__name__, foo.__name__) self.assertEqual(wrapped.__doc__, foo.__doc__) diff --git a/repoze/bfg/view.py b/repoze/bfg/view.py index 1698bc470..e6cd11939 100644 --- a/repoze/bfg/view.py +++ b/repoze/bfg/view.py @@ -4,10 +4,6 @@ from paste.urlparser import StaticURLParser from zope.component import queryMultiAdapter from zope.deprecation import deprecated -from zope.interface import Interface - - -from repoze.bfg.interfaces import IRequest from repoze.bfg.interfaces import IView from repoze.bfg.path import caller_path from repoze.bfg.security import view_execution_permitted @@ -221,8 +217,7 @@ class bfg_view(object): <scan package="."/> """ - def __init__(self, name='', request_type=IRequest, for_=Interface, - permission=None): + def __init__(self, name='', request_type=None, for_=None, permission=None): self.name = name self.request_type = request_type self.for_ = for_ |
