summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-05-31 21:14:06 +0000
committerChris McDonough <chrism@agendaless.com>2009-05-31 21:14:06 +0000
commit22a2b1f024fb4b3336cde2cadace7e47e3bf2e14 (patch)
tree5e014dc4820c1bcbdf324210f965a4531a8707e8
parentf71ec1bba387ab820ed42407781b40fe798420b5 (diff)
downloadpyramid-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__.py12
-rw-r--r--repoze/bfg/tests/test_integration.py29
-rw-r--r--repoze/bfg/tests/test_view.py24
-rw-r--r--repoze/bfg/view.py7
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_