From 22a2b1f024fb4b3336cde2cadace7e47e3bf2e14 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sun, 31 May 2009 21:14:06 +0000 Subject: Test string request type in bfg_view decorators. --- repoze/bfg/tests/grokkedapp/__init__.py | 12 ++++++------ repoze/bfg/tests/test_integration.py | 29 ++++++++++++++++++++++++++--- repoze/bfg/tests/test_view.py | 24 ++++++++---------------- 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): """ - 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_ -- cgit v1.2.3